Sunteți pe pagina 1din 13

Algoritmi de programare

prof. Jiduc Gabriel


Algoritmi de programare
• Algoritmul:
– Reprezintă o mulțime ordonată și finită de pași executabili
prin care se definește fără echivoc modul în care se poate
rezolva o anumită sarcină
– Proprietățile algoritmilor:
• Claritate-să fie precis definit, fără ambiguități (interpretări
personale/diferite)
• Finitate-să fie format dintr-un număr finit de pași
• Succesiunea determinată a pașilor-pașii să fie executați într-o
anumită ordine
• Universalitate-să permită rezolvarea unei clase de probleme, care
sunt de același tip și care diferă între ele numai pribn datele de
intrare
• Realizabilitate-pașii algoritmului să poată fi executați cu mijloacele
disponibile
• Eficiență-soluția problemei să fie obținută după un număr minim de
pași, cu precizie prestabilită sau satisfăcătoare și să utilizeze un
număr minim de resurse
Algoritmi de programare
• Structura de control a algoritmului:
– Definește ordinea de executarea pașilor,adică un pas
executat la un moment dat cărui pas îi predă controlul
– Tipuri de structuri de control:
• Structura liniară
• Structura alternativă
• Structura repetitivă
• Structura liniară
– Ordinea executării pașilor este dată de ordinea scrierii
acestora în cadrul algoritmului (fiecare pas predă
controlul pasului următor)
– Structura liniară apare în cazul acțiunilor de comunicare
(introducere date/afișare rezultate) sau calcul
Algoritmi de programare
• Structura liniară
– Exemplu:
Pas1. Început
Pas2. Introducere valori pentru x,y
Pas3. Calculare ma<-(x+y)/2
Pas3. Calculare mg<-sqrt(x*y)
Pas5. Afișează valorile ma, mg
Pas5. Încheiere
– Dacă x=4 și y=9 algoritmul va afișa 6,5 și 6
Algoritmi de programare
• Structura alternativă
– Ordinea executării pașilor se face selectând între două variante,
în funcție de îndeplinirea sau neîndeplinirea unei condiții.
– Exemplu:
• Dacă afară este înnorat îmi iau umbrela, altfel îmi iau ochelarii de soare
– Condiția este existența norilor în momentul respectiv
– În funcție de răspunsul DA/NU la îndeplinirea condiției se execută o acțiune (”îmi
iau umbrela”) sau alta (”îmi iau ochelarii de soare”)
– Formă pseudocod:
• dacă condiție
– atunci acțiune1
– altfel acțiune2
• sfîrșit_dacă
– Dacă condiție este adevărată se execută acțiune1 apoi se sare la
pasul aflat după sfârșit_dacă
– Dacă condiție este falsă se execută acțiune2 apoi se sare la pasul
aflat după sfârșit_dacă
Algoritmi de programare
• Structura alternativă
– Exemplu:
Pas1. Început
Pas2. Introducere valori pentru x,y
Pas3. Dacă x!=0 atunci execută
Pas4. Calculare a<-y/x
Pas5. Afișează valoarea lui a
altfel execută
Pas6. Afișează ”Împărțire imposibilă”
Pas7. Încheiere
– Dacă x=3 și y=6 algoritmul va afișa 2
– Dacă x=0 și y are orice valoare algoritmul va afișa
Împărțire imposibilă
Algoritmi de programare
• Structura repetitivă
– Prin această structură se execută repetat o acțiune (unul sau mai
mulți pași), cât timp:
• Este îndeplinită o condiție (structură repetitivă cu număr necunoscut de
pași)
• Nu s-a ajuns la numărul de repetiții dorit (structură repetitivă cu număr
cunoscut de pași)
– Exemplu:
• Dacă nu este jumătatea orei prof-ul de info ascultă elevi
• Prof-ul de info ascultă 4 elevi într-o oră de curs
– Structura repetitivă cu număr necunoscut de pași poate fi cu test
inițial sau test final
– Structura repetitivă cu număr necunoscut de pași cu test inițial
verifică îndeplinirea condiției înainte de a începe repetiția
(acțiunea poate să nu fie executată niciodată)
– Structura repetitivă cu număr necunoscut de pași cu test final
verifică îndeplinirea condiției după executarea acțiunii (aceasta
este executată cel puțin o dată)
Algoritmi de programare
• Structura repetitivă cu număr cunoscut de pași
– Formă pseudocod:
• În acest caz algoritmul trebuie să fie prevăzut cu un contor
care ține evidența repetițiilor
• pentru contor <-vi,vf,p execută
– Acțiune
• sfârșit_pentru
– Inițial contorului i se atribuie valoarea vi (de obicei 1)
– Se verifică dacă valoarea contorului >vf
– Dacă nu :
• Se execută acțiune
• Se revine la pasul pentru și se mărește valoarea contorului cu
p și se trece din la verificarea valorii contorului
– Dacă da se sare la pasul aflat după sfârșit_pentru
Algoritmi de programare
• Structura repetitivă cu număr cunoscut de pași:
– Exemplu:
Pas1. Început
Pas2. Introducere valori pentru x,y
Pas3. Pentru contor<-x,y,1 execută
Pas4. Afișează valoarea lui contor
Pas7. Încheiere
– Dacă x=3 și y=8 algoritmul va determina afișarea
numerelor 3, 4, 5, 6, 7, 8
Algoritmi de programare
• Structura repetitivă cu număr necunoscut de pași
cu testare inițială
– Formă pseudocod:
• cât timp condiție execută
– Acțiune
• sfârșit_cât timp
– Se testează condiție:
• Dacă este adevărată:
– Se execută acțiune
– Se revine la pasul cât timp reluîndu-se acțiunea
• Dacă este falsă se sare la pasul aflat după sfârșit_cât timp
Algoritmi de programare
• Structura repetitivă cu număr necunoscut de pași
cu testare inițială:
– Exemplu:
Pas1. Început
Pas2. Introducere valori pentru x,y
Pas3. cât timp x<y execută
Pas4. Afișează valoarea lui x
Pas5. Incrementează x
Pas6. Sfârșit cât timp
Pas7. Încheiere
– Dacă x=3 și y=8 algoritmul va determina afișarea
numerelor 3, 4, 5, 6, 7
Algoritmi de programare
• Structura repetitivă cu număr necunoscut de pași
cu testare finală
– Formă pseudocod:
• repetă
– Acțiune
• până când condiție
– Se execută acțiune
– Se testează condiție
• Dacă este falsă:
– Se execută acțiune
– Se revine la pasul până când reluîndu-se acțiunea
• Dacă este adevărată se sare la pasul aflat după până când
Algoritmi de programare
• Structura repetitivă cu număr necunoscut de pași
cu testare finală:
– Exemplu:
Pas1. Început
Pas2. Introducere valori pentru x,y
Pas3. repetă
Pas4. Afișează valoarea lui x
Pas5. Incrementează x
Pas6. până când x>y
Pas7. Încheiere
– Dacă x=3 și y=8 algoritmul va determina afișarea
numerelor 3, 4, 5, 6, 7, 8

S-ar putea să vă placă și