curs4 - fundamental programing
DESCRIPTION
Fundamental ProgramingTRANSCRIPT
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.
......
Fundamentele programriiCurs 4
ef lucr.dr.ing. GENGE Bla
Universitatea Petru Maior, Departamentul de InformaticTrgu Mure, [email protected]
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Algoritmi i scheme logice
Ciclul de via a unui program (sau a unui sistem n general) urmeazn general urmtoarele faze:
Analiza problemeiProiectarea algoritmului (intrri, ieiri, secvena pailor)Implementarea algoritmuluiVericarea corectitudinii implementriiTestare, mentenan
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Descrierea algoritmilor
Algoritmii pot descrii prin intermediul:Limbajului naturalPseudocoduluiSchemelor logice
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Elementele unei scheme logice
Blocul de nceput/sfritBlocul de instruciune, e.g., atribuire, incrementareBlocul de decizie, e.g., ifBlocul de citire/scriereElementul de legtur ntre blocuri
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exemplu - min/max dou numere
Se citesc dou numere de la tastatur. S se determine maximuldintre ele.
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exemplu - min/max dou numere
Se citesc dou numere de la tastatur. S se determine maximuldintre ele.
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Cicluri
Cicluri cu test iniialCicluri cu test nalExemplu: aarea numerelor de la 1 la n (citit de la tastatur)
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. CicluriCicluri cu test iniialCicluri cu test nalExemplu: aarea numerelor de la 1 la n (citit de la tastatur)
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exerciii
S se traseze schema logic i s se implementeze un program C caredetermin valoarea unei funcii f denit astfel:
f(x) =
8 02x; x < 01; x = 0
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exerciii
Ex. 1: S se traseze schema logic pentru un program ce determintoate numerele pare de la 1 la n (citit de la tastatur)Ex. 2: S se traseze schema logic pentru un program ce aeaztoate literele alfabetului (minuscule)
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exerciii
Ex. 1: S se traseze schema logic pentru un program ce determintoate numerele pare de la 1 la n (citit de la tastatur)Ex. 2: S se traseze schema logic pentru un program ce aeaztoate literele alfabetului (minuscule)
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Instruciuni de decizie multiplReprezint o generalizare a instruciunii de decizie simplModul de execuie este urmtorul:
Se evalueaz expresiaSe compar pe rnd val. expr cu val_1, ...Dac val. expr coincide cu una din valori, atunci se execut secv. Dacsecv. e terminat cu break, atunci se trece la instr. urmtoare dupswitch. Altfel, se execut secvena urmtoare.Dac val. expr. nu coincide cu nici o valoare se execut secv. default.
switch(expr){case val_1: secventa_1; [break;]case val_2: secventa_2; [break;]...case val_n: secventa_n; [break;]
[default: secventa]}
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exemplu
S se determine dac un caracter citit de la tastatur este o vocal(alfabetul Englezesc)
.Exemplu de cod..
......
scanf("%c", &c);switch(toupper(c)){case 'A':case 'E':case 'I':case 'O':case 'U': printf("Caracterul este o vocal\n"); break;
default: printf("Caracterul este o consoan\n");}
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exemple - care este corect (pentru aceeai problem)?.Exemplu 1..
......
switch(toupper(c)){case 'A': break;case 'E': break;case 'I': break;case 'O': break;case 'U': printf("Caracterul este o vocal\n"); break;}.Exemplu 2..
......
switch(toupper(c)){case 'A': printf("Caracterul este o vocal\n"); break;case 'E': printf("Caracterul este o vocal\n"); break;case 'I': printf("Caracterul este o vocal\n"); break;case 'O': printf("Caracterul este o vocal\n"); break;case 'U': printf("Caracterul este o vocal\n"); break;}
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exemple - este corect?
.Exemplu..
......
switch(toupper(c)){case 'A'==c&&'E'==c:case 'I'==c&&'O'==c:case 'U': printf("Caracterul este o vocal\n"); break;}
ef lucr.dr.ing. GENGE Bla Fundamentele programrii
-
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.. Exerciiu
S se implementeze secvena de cod ce veric dac un caracter cititde la tastatur este:
CifrVocalSemn de punctuaie
ntr-o prim faz se va construi schema logic.Implementarea se va realiza att cu if ct i cu switch.
ef lucr.dr.ing. GENGE Bla Fundamentele programrii