Documente Academic
Documente Profesional
Documente Cultură
Structura cursului
Notiunea de algoritm
Operatii de baza
Structuri de control de baza
Notiunea de algoritm
provine din limba arab
vine de la numele matematicianului i astrologului arab Al-Khowarizmi care a trit n secolul IX un tipar de gndire pentru rezolvarea unei probleme intr-un numar finit de pasi un mod de gndire adic gndirea algoritmic
Exemplu de algoritm
Pasii calculul mediei artimetice a dou numere sunt:
1 - start; 2 - citete primul numr; 3 - citete al doilea numr; 4 - calculeaz suma lor; 5 - mparte rezultatul la 2; 6 - afieaz rezultatul calculat; 7 - stop.
Scheme logice
diagrame de blocuri
Pseudocod
propozitii scurte cu cuvinte cheie predefinite exprimate in engleza sau romana
Schemele logice
Schemele logice sunt notaii grafice formate din blocuri legate ntre ele prin sgei O schem logic descrie grafic paii unui algoritm
constante simbolice
zone de memorie cu valori fixe i cu nume de exemplu in PI*r*r evident ca ele trebuiesc definite undeva
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
Sunt legate intre ele prin sageti directionale Conectori de pagina
leaga blocuri aflate pe aceeasi foaie de hartie cerculete cu numere in ele
Blocurile de start
este unic in cadrul unei scheme logice reprezinta punctul de pornire al schemei are forma ovala scrie in el cuvantul predefinit start
Blocul de stop
este unic in cadrul unei scheme logice
Blocul de intrare
se mai numeste si bloc de citire opreste executia unui program citeste de la tastatura valori pe care le stocheaza in variabile tastatura dispozitiv de intrare este simbolizat printr-un trapez cu baza mare sus
Blocul de intrare
Tipuri de variabile ce pot fi cititte
Numere intregi
1, 77, 25
Numere reale
1.5, 6.7
Siruri de caractere
se citesc toate impreuna nota de la UPC este
Exemple de utilizare
citeste de la tastatura variabile simple x,y,z in ordine citeste de la tastatura elementul a[i] al unui sir sau tablou unidimensional citeste de la tastatura elementul a[i][j] care este
elementul unei matrici i reprezinta linia, iar j coloana elementului citit
Blocul de iesire
Se mai numeste si bloc de scriere
Are ca efect afisarea valorilor unor variabile pe ecran Ecranul - dispozitiv de iesire
Reprezentat printr-un trapez cu baza mare jos
Exemple de utilizare
Afiseaza variabilele simple x,y,z Afiseaza elementul a[i] al sirului a Afiseaza a[i][j] care este
elementul unei matrici a i reprezinta linia, iar j coloana elementului afisat
Blocul de atribuire
are rolul de a da valori noi unor variabile valorile anterioare ale acelor variabile se vor pierde unele atribuiri se pot folosi de valorile vechi ale variabilei ce primete noua valoare
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
Exemplu de utilizare
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 iei n orice direcii dou sgei corespunztoare celor dou ci de execuie a algoritmului
Blocul de decizie
are rolul de a ramifica cursul de execuie 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 evalurii condiiei din bloc
spre exemplu
7, -1, 22, 107 se consider toate valori adevrate o (zero) se consider fals
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 test initial Ciclul cu test final 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 execuia unui ir ordonat de operaii de baz din cele prezentate anterior de exemplu o secven poate cuprinde
o citire dou atribuiri o decizie
din punct de vedere grafic secvena este reprezentat printr-un dreptunghi marcat pe margini cu dou linii verticale
Selectia
Selectia
are rolul de a selecta o secven din dou pentru execuie n funcie de valoarea condiiei conine
un bloc de selecie cele dou secvene ce se execut atunci cand condiia evaluat este adevrat respectiv fals
Din punct de vedere grafic structura de control nu implic vre-un element grafic nou deoarece este reprezentat prin elementele grafice corespunztoare blocului de decizie
Functionare
ct timp condiia este adevrat
se va executa secvena n mod repetat
Reprezentare grafica
nu apar forme noi apar blocurile corespunztoare
blocului decizional secvena
evident c apare i fenomenul de bucl pe ramura DA a condiiei care ne conduce din nou la secven cnd valoarea logic din condiie este adevrat
n practic sunt situaii cnd structura cu test final ofer o soluie mai elegant din punct de vedere al concepiei algoritmului
Ciclu cu contor
Ciclu cu contor
structura de control ciclu cu contor este una mai complex se bazeaz pe un contor care
primete o valoare iniial parcurge toate valorile unui interval continu pn se atinge o valoare final se executa la fiecare pas o aceeai secven
Ciclu cu contor
Primul bloc este unul de atribuire care are rolul de a iniializa contorul cu o valoare iniial Apoi se poate observa c urmeaz un bloc de decizie care verific dac contorul este mai mic dect valoarea final n caz afirmativ se merge pe ramura DA i se execut secvena
Reamintim ca secvena poate conine o subschema format din blocuri pentru a face diverse calcule
Ciclu cu contor
Dup secven avem un bloc de atribuire care incrementeaz sau altfel spus adun la valoarea contorului valoarea unui pas.
Acest pas poate s fie un numr pozitiv sau un numr negativ, ntreg sau zecimal. Dac pasul este pozitiv nseamn c valoarea contorului va crete la fiecare trecere prin blocul de incrementare. Evident c pentru ca o astfel de structur de control s funcioneze trebuie ca valoarea iniial s fie mai mic dect valoarea final. Dac pasul este negativ atunci contorul va descrete i e recomandat ca valoarea iniial s fie mai mare ca cea final.
Ciclu cu contor
Dac n blocul decizional contorul a atins valoarea final se iese cu execuia pe ramura NU de unde se poate continua cu alte blocuri ale algoritmului.
Functia modul
Citim un numar de la tastatura Daca numarul este pozitiv Atunci modulul este egal cu numarul Altfel modulul este egal cu numarul negat Afisam pe ecran modulul numarului
citeste x daca x>0 atunci m=x altfel m=-x scrie m
Functia signum
Citim un numar de la tastatura Daca numarul este pozitiv atunci signum este egal cu 1 altfel daca numarul este nul
atunci signum este zero altfel signum este -1
citeste x daca x>0 atunci s=1 altfel daca x==0 atunci s=0 altfel s=-1 scrie m
Ce este un sir ?
sir = secventa de elemente de acelasi tip se mai numeste si
vector tablou unidimensional
operatii
citire x=a[0], y=a[0]+b[7] atribuire a[0]=1, a[7]=a[0], a[i+j]=c[i]
Deci c[i]=a[i]+b[i] pt fiecare i=0,n-1 Afisam vectorul c, anterior calculat, element cu element
i=0 cat timp i<n c[i]=a[i]+b[i] i=i+1 sfarsit cat timp i=0 cat timp i<n afiseaza c[i] i=i+1 sfarsit cat timp
sfarsit cat timp min=a[0] i=0 cat timp i<n daca a[i]<min atunci min=a[i] sfarsit cat timp afiseaza min
Ce este o matrice ?
matrice = secventa de elemente de acelasi tip grupate pe doua dimensiuni se mai numeste si
tablou bidimensional
operatii
citire x=a[0][0], y=a[0][0]+b[7][8] atribuire a[0][0]=1, a[7][8]=a[0][0]