programare structurata

download programare structurata

of 2

Transcript of programare structurata

PRINCIPIILE PROGRAMARII STRUCTURATE OBS: - algoritmii lucreaza cu trei tipuri de operatii (de intrare-iesire, de atribuire, de decizie) - un concept foarte important in scrierea algoritmilor il constitue programarea structurata (avantaje algoritmii se scriu si se inteleg mai usor) - prin structura intelegem o anumita forma de imbinare a operatiilor cu care lucreaza algoritmii - structurile de baza utilizate in descrierea algoritmilor sunt de trei feluri: I) STRUCTURA LINIARA II) STRUCTURA ALTERNATIVA III) STRUCTURA REPETITIVA - Bohm si Jacopini au formulat principiul programarii structurate sub forma unei teoreme care afirma ca cele trei structuri sunt suficiente pentru a descrie orice algoritm I) STRUCTURA LINIARA Orice operatie (intrare-iesire, atribuire, de decizie luata in ansamblul ei) constitue o structura liniara Daca S1 si S2 sunt structuri (de orice tip) atunci combinatia S1 reprezinta o structura liniara S2

-

II) STRUCTURA ALTERNATIVA Daca S1 si S2 sunt structuri si C este o conditie, atunci if C then daca cond atunci S1 stru1 altfel else stru2 S2 este o structura alternative - mecanismul de executie: se evalueaza conditia; daca este indeplinita se executa S1 altfel se executa S2 - forma simplificata if C then S1daca cond atunci stru1

III) STRUCTURA REPETITIVA - apare in urmatoarele variante: A) conditionata anterior (cu test initial) a) whiledo cat timpexecuta b) fordo pentruexecuta B) conditionata posterior (cu test final) a) repeatuntil repetapana cand b) dowhile (apare doar in C++) - singura structura indispensabila este structura whiledo

while C do cat timp C executa a) S S - Daca C este o conditie si S o structura atunci este o structura cu test initial. - Mecanismul de executie: P1 se evalueaza conditia; daca este indeplinita, se executa S si se trece la pasul P2, altfel executarea se incheie si se trece la urmatoarea linie in program P2 se reia P1 - se trag urmatoarele concluzii: S se executa numai daca este indeplinita conditia; nu se stie initial de cate ori se va repeta structura

b) - Daca I este o variabila de tip intreg numita variabila de ciclare si a si b doua variabile tot de tip intreg (avaloare initiala; b- valoare finala) si S o structura, atunci for i:= a to b do S este o structura conditionata anterior (cu contor sau cu numar cunoscut de pasi)

pentru i a,b executa S - Mecanismul de executie: P1 variabila de ciclare ia valoarea initiala P2 daca i este mai mic sau egal cu b, se executa S, se aduna 1 la i si se reia P2; altfel executarea se incheie - se cunoaste initial de cate ori se va repeat structura - putem sa transformam Obs: - exista o alta forma in care apare structura repetitiva cu numar cunoscut de pasi for i:=a downto b do S pentru i a,b, -1 executa S

- Mecanismul de executie: P1 - variabila de ciclare ia valoarea initiala P2 daca i este mai mic sau egal cu b, se executa S, se aduna 1 la i si se reia P2; altfel executarea se incheie - se cunoaste initial de cate ori se va repeat structura - putem sa transformam c) - Daca C este o conditie si S este o structura atunci repeat S until C

este o structura repetitiva cu test final (conditionata posterior)

repeta S pana cand C

- Mecanismul de executie: P1 se executa structura P2 se verifica conditia; daca nu este indeplinita se repeta P1; daca este indeplinita se iese din structura repetitiva si se trece la urmatoarea linie in program