Upload
razvan-capra
View
26
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Fundamental Programing
Citation preview
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
.
......
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