Sunteți pe pagina 1din 18

Algoritmi în programare

Curs 2

01/24/23 1
Algoritmul
 O mulţime de reguli ce se pot aplica în
cadrul procesului de construcţie a soluţiei şi
pot fi executa fie manual, fie cu ajutorul
unei maşini de calcul;
 O mulţime de instrucţiuni , care, garantat,
conduc la obţinerea unei soluţii corecte
pentru orice instanţă a problemei
 O secvenţă de paşi care transformă
mulţimea datelor de intrare în rezultatele
dorite
 Este abstractizarea unui program care
trebuie executat pe o maşină fizică

01/24/23 2
Etapele alcătuirii unui algoritm
 Înţelegerea textului problemei;
 Precizarea datelor care sunt cunoscute (datele de
intrare);
 Precizarea mărimilor (datelor) cerute, a căror
valoare se calculează (datele de ieşire);
 Stabilirea relaţiei/relaţiilor de calcul pentru fiecare
mărime căutată, eventual şi pentru mărimile
intermediare;
 Alegerea identificatorului(numelui) pentru fiecare
mărime folosită;
 Reprezentarea algoritmului;
 Verificarea algoritmului prin parcurgerea unui tabel
de verificare şi compararea rezultatelor cu valorile
obţinute prin rezolvarea problemei folosind o
maşină de calcul

01/24/23 3
Proprietăţi
 Să posede date de intrare (input data);
 Să furnizeze date de ieşire (output data);
 Determinismul (la executarea oricărui pas, să
cunoaştem succesorul acestuia);
 Corectitudinea datelor de ieşire în raport cu datele
de intrare;
 Finitudinea (pentru orice set de date de intrare,
soluţia este furnizată într-un număr finit de paşi);
 Complexitatea (costuri- măsurate cu ajutorul
diferiţilor parametri, precum şi timpul de execuţie şi
spaţiul alocat necesar);
 Generalitatea (algoritmul este aplicabil unei clase
de probleme, cele ale căror date de intrare satisfac
anumite condiţii)

01/24/23 4
Reprezentarea algoritmilor

 Pseudocodul
 o reprezentare semantică a operaţiilor.
 este cea mai apropiată de programul
de calcul.
 Schema logică (organigrama)
 este reprezentarea algoritmului sub
forma unei succesiuni de simboluri
grafice interconectate.
 fiecare operaţie este indicată printr-un
simbol grafic distinct.

01/24/23 5
Pseudocod vs. schemă logică

01/24/23 6
Structuri elementare de calcul

01/24/23 7
Structura secvenţială

 Paşi:
 Citire date de intrare;
 Calcul valori, atribuire valori
variabile;
 Afişare rezultate.

 Algoritmul Viteza
 Să se determine viteza cu care a
mers un autovehicul ce a parcurs o
distanţă într-un anumit timp
01/24/23 8
Algoritmul Viteza-pseudocod

 Algoritm viteza
 citeste d,t// distanţa şi timpul
 afiseaza d,t
 v=d/t
 afiseaza v
 sfarsit algoritm

1. Să se reprezinte, prin schemă


logică, algoritmul descris mai sus.
01/24/23 9
Algoritm Viteza- tabel de
verificare
Instrucţiuni Pas

Citeste d,t d=500,t=8

Afiseaza d,t 500 8

v=d/t v=500/8=62.5

Afiseaza v 62.5

STOP STOP
01/24/23 10
Structura de decizie

 Structura alternativă sau


ramificată

01/24/23 11
Structura de decizie
 Condiţia de test poate fi o expresie :
 relaţională (x>0) ; (x<=-100) ;
 logică ((x>= 0) and (x<10)) ; ((x<0) or
(x>=10)) .
 Interpretarea instrucţiunii de
decizie:
 evaluarea condiţiei de decizie (test?);
 executarea subblocului de instrucţiuni
corespunzătoare valorii logice obţinute în
urma evaluării testului (acţiune 1 sau
acţiune 2);
 continuarea algoritmului cu instrucţiunea
imediat următoare structurii de selecţie.
01/24/23 12
Structura de decizie

 Ecuaţia de gradul I: a*x+b=0


 Date de intrare : a,b
 Date de ieşire: x
 x=-b/a.
 daca a 0 atunci x=-b/a
 dacă a=0, atunci:
 dacă b=0, ecuaţia devine 0*x+0=0,
ecuaţia are o infinitate de soluţii.
 dacă b0, ecuaţia nu are soluţii (este
o imposibilitate).
01/24/23 13
Structura de decizie
 Algoritm ecuatie1
 citeste a,b
 afiseaza a,b
 daca a=0 atunci
 daca b=0 atunci
 afiseaza “Ecuatia are o infinitate de solutii”
 altfel
 afiseaza “Ecuatia nu are solutii”
 sfarsit daca
 altfel
 x=-b/a
 afiseaza x
 sfarsit daca
 sfarsit algoritm

01/24/23 14
Structura de decizie

01/24/23 15
Structura de decizie

 Să se construiască tabelul de
verificare pentru algoritmul
“Ecuaţia de gradul I”

01/24/23 16
Structura repetitivă

 Cu contorizare
 Cu test iniţial (anterior)
 Cu test final (posterior)

01/24/23 17
Structura repetitivă

 Să se determine valoarea expresiei:


n
S   (i 3  i )
i 1
 Să se reprezinte algoritmul folosind
pseudocodul şi schema logică
 Să se verifice corectitudinea
algoritmului, folosind tabelul de
verificare

01/24/23 18

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