Documente Academic
Documente Profesional
Documente Cultură
Upc12 Algoritmi PDF
Upc12 Algoritmi PDF
LOGICE SI
PSEUDOCOD
s.l.dr.ing.Ciprian-Bogdan Chirila
chirila@cs.upt.ro
http://www.cs.upt.ro/~chirila
Structura cursului
• Notiunea de algoritm
• Operatii de baza
• 1 - start;
• 2 - citeşte primul număr;
• 3 - citeşte al doilea număr;
• 4 - calculează suma lor;
• 5 - împarte rezultatul la 2;
• 6 - afişează rezultatul calculat;
• 7 - stop.
Moduri de exprimare a algoritmilor
• Limbaj natural
• fraze coerente in limba romana care permit obtinerea unei
solutii pentru o problema data.
• Scheme logice
• diagrame de blocuri
• Pseudocod
• propozitii scurte
• cu cuvinte cheie predefinite
• exprimate in engleza sau romana
Schemele logice
• Schemele logice sunt notaţii grafice formate din blocuri
legate între ele prin săgeţi
• constante simbolice
• zone de memorie cu valori fixe şi cu nume
• de exemplu in PI*r*r
• evident ca ele trebuiesc definite undeva
Operatii de baza - blocurile
• Blocul de start
• Blocul de stop
• Blocul de citire
• Blocul de scriere
• Blocul de atribuire
• Blocul de decizie
Orientarea blocurilor
• “Curg” pe pagina de sus in jos
• Se dezvolta arborescent
• Conectori de pagina
• leaga blocuri aflate pe aceeasi foaie de hartie
• cerculete cu numere in ele
• De exemplu in i=i+1
• inseamna ca noul i va fi egal cu vechiul i plus o unitate
• daca i avea valoarea 7 inainte de atribuire atunci dupa
atribuire i va avea valoarea 8
• i=i+1
• a[i]=7.5
• elementul al i-lea din sirul de reale devine egal cu 7.5
• a[i][j]=70
• elementul de pe linia i si coloana j devine 70
• s=“upc”
• variabila s ia valoarea sirului de caractere “upc”
Blocul de decizie
• din puncte de vedere grafic este reprezentat printr-un
romb
• din el pot ieşi în orice direcţii două săgeţi
corespunzătoare celor două căi de execuţie a
algoritmului
Blocul de decizie
• are rolul de a ramifica cursul de execuţie ale unui
algoritm
• algoritmul se va executa după acest bloc doar pe una
din ramurile sale
• fie pe ramura cu DA
• fie pe ramura cu NU
• decizia de a alege o ramură sau pe cealaltă se face pe
baza evaluării condiţiei din bloc
Conditia unui bloc de decizie
• o condiţie este o expresie matematică care
• dacă este evaluată la valoarea zero se consideră falsă
• dacă e evaluată la orice altă valoare diferită de zero se
consideră adevărată
• spre exemplu
• 7, -1, 22, 107 se consideră toate valori adevărate
• o (zero) se consideră fals
Conditia unui bloc de decizie
• Pentru exprimarea conditiei se pot folosi operatori
matematici
• Relationali
• Mai mic <, Mai mare >
• Mai mic sau egal <=, Mai mare sau egal >=,
• egal==, diferit!=
• Logici
• SI &&, SAU ||
• Paranteze pentru expresii logice complexe
• Rezultatul trebuie sa fie boolean adica adevarat sau fals
Exemple de utilizare
Exemple de utilizare
Structuri de control
• Secventa
• Selectia
• Ciclul cu contor
Secventa
Secventa
• cea mai simplă structură de control
• este o notatie abstracta folosita pentru a defini alte
structuri de control
• nu se foloseste direct in schemele logice
• presupune execuţia unui şir ordonat de operaţii de bază
din cele prezentate anterior
• de exemplu o secvenţă poate cuprinde
• o citire
• două atribuiri
• o decizie
• din punct de vedere grafic secvenţa este reprezentată
printr-un dreptunghi marcat pe margini cu două linii
verticale
Selectia
Selectia
• are rolul de a selecta o secvenţă din două pentru execuţie în
funcţie de valoarea condiţiei
• conţine
• un bloc de selecţie
• cele două secvenţe ce se execută atunci cand condiţia evaluată
este adevărată respectiv falsă
• Diferenţa între un bloc de selecţie şi o structură de selecţie
• este aceea că o structură de selecţie totdeauna va include un bloc
de selecţie
• adică blocul de selecţie este parte componentă a structurii de
selecţie pe lângă cele două secvenţe
• Din punct de vedere grafic structura de control nu implică
vre-un element grafic nou deoarece este reprezentată prin
elementele grafice corespunzătoare blocului de decizie
Selectia cu o singura secventa
Ciclul cu test initial
Ciclul cu test intial
• este formată dintr-o
• condiţie
• secvenţă
• conectate ca in figura
• împreună cu secvenţa şi selecţia pot fi folosite pentru a
scrie orice algoritm
Functionare
• cât timp condiţia este adevărată
• se va executa secvenţa în mod repetat
• min=10 10 5 4 3 11 12 88 90 2 100