curs4 - fundamental programing

Upload: razvan-capra

Post on 17-Oct-2015

26 views

Category:

Documents


0 download

DESCRIPTION

Fundamental Programing

TRANSCRIPT

  • ..........

    .....

    ......

    .....

    .....

    .....

    ......

    .....

    .....

    .....

    ......

    .....

    .....

    .....

    ......

    .....

    ......

    .....

    .....

    .

    .

    ......

    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