algoritmi, scheme logice si pseudocod

73
s.l.dr.ing.Ciprian-Bogdan Chirila [email protected] http://www.cs.upt.ro/~chirila ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Upload: lethuan

Post on 31-Dec-2016

278 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

s.l.dr.ing.Ciprian-Bogdan Chirila

[email protected]

http://www.cs.upt.ro/~chirila

ALGORITMI, SCHEME LOGICE SIPSEUDOCOD

Page 2: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Structura cursului•Notiunea de algoritm

•Operatii de baza

•Structuri de control de baza

Page 3: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Notiunea de algoritm•provine din limba arabă

•vine de la numele matematicianului şi astrologului arab Al-Khowarizmi care a trăit în secolul IX

•un tipar de gândire pentru rezolvarea unei problemeintr-un numar finit de pasi

•un mod de gândire adică gândirea algoritmică

Page 4: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Exemplu de algoritm•Pasii calculul mediei artimetice a două numere sunt:

• 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.

Page 5: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 6: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Schemele logice•Schemele logice sunt notaţii grafice formate din blocuri

legate între ele prin săgeţi

•O schemă logică descrie grafic paşii unui algoritm

•Totodată ea specifică prelucrările care se execută asupra datelor

Page 7: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Datele din schemele logice• variabile• sunt zone de memorie care îşi schimbă valoarea şi care se

caracterizează printr-un nume

• numele poate fi format dintr-o înşiruire de

• litere mari

• litere mici

• cifre

• semnul underscore “_”

• numele unei variabile începe în mod obligatoriu cu literă

• exemple:

• Aria

• aria

• perimetru

• delta

Page 8: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Datele din schemele logice• constante explicite

• zone de memorie cu valori fixe, dar fără nume

• apar in textul schemei in atribuirea i=1

• constante simbolice

• zone de memorie cu valori fixe şi cu nume

• de exemplu in PI*r*r

• evident ca ele trebuiesc definite undeva

Page 9: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Operatii de baza - blocurile•Blocul de start

•Blocul de stop

•Blocul de citire

•Blocul de scriere

•Blocul de atribuire

•Blocul de decizie

Page 10: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

• Conectori intre pagini• leaga blocuri aflate pe foi de hartie diferite

• sagetute pline cu numere in ele

Page 11: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 12: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Blocul de stop•este unic in cadrul unei scheme logice

• trebuie atins intr-un numar finit de pasi

Page 13: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 14: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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”

• “am luat examenul la UPC cu nota”

Page 15: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Exemple de utilizare

• citeste de la tastatura variabile simple x,y,z in ordine

• citeste de la tastatura elementul a[i] al unui sir sautablou unidimensional

• citeste de la tastatura elementul a[i][j] care este

• elementul unei matrici

• i reprezinta linia, iar j coloana elementului citit

•Tablourile si matricile se citesc element cu element!!!

Page 16: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 17: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

•Tablourile si matricile se afiseaza element cu element!!!

Page 18: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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 primeşte 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 dupaatribuire i va avea valoarea 8

•este simbolizat prin dreptunghi

Page 19: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Componentele unei atribuiri

• in partea stângă a semnului egal al unei atribuiri se află

• obligatoriu o variabila ce va primi noua valoare

• în partea dreaptă a semnului egal se află

• o expresie care va fi evaluată iar valoarea rezultată se atribuie variabilei

Page 20: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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”

Page 21: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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ţicorespunzătoare celor două căi de execuţie a algoritmului

Page 22: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Blocul de decizie•are rolul de a ramifica cursul de execuţie ale unui

algoritm

•algoritmul se va executa după acest bloc doar pe unadin 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

Page 23: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 24: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 25: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Exemple de utilizare

Page 26: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Exemple de utilizare

Page 27: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Structuri de control•Secventa

•Selectia

•Ciclul cu test initial

•Ciclul cu test final

•Ciclul cu contor

Page 28: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Secventa

Page 29: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Secventa• cea mai simplă structură de control

•este o notatie abstracta folosita pentru a defini altestructuri 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

Page 30: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Selectia

Page 31: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 32: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Selectia cu o singura secventa

Page 33: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test initial

Page 34: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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

Page 35: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Functionare

• cât timp condiţia este adevărată

• se va executa secvenţa în mod repetat

• reamintim că secvenţa reprezintă un şir ordonat de operaţii de bază

Page 36: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Reprezentare grafica•nu apar forme noi

•apar blocurile corespunzătoare• blocului decizional

• secvenţa

• sunt aranjate astfel încât • prima dată să se execute condiţia

• apoi dacă este adevărată, pe ramura DA să avem secvenţa

• pe urmă să revenim în punctul iniţial unde evaluăm condiţia din nou

• procesul se repeta

•putem spune că aranjamentul blocurilor formează o buclă

Page 37: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test intial• Scopul unei astfel de construţii este:

• să avem o condiţie adevărată când traversăm iniţial blocul condiţional

• se execută secvenţa care are rolul de a modifica variabilele condiţiei

• după un număr finit de treceri condiţia trebuie să devină falsă

• se blocheaza astfel execuţia secvenţei

• se continua cu rularea schemei logice prin blocurile care ar urma mai jos

Page 38: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test intial•dacă condiţia este falsă la prima trecere prin blocul

decizional

• atunci secvenţa nu va ajunge să fie executată niciodată

•dacă condiţia este tot timpul adevărată

• algoritmul se va bloca într-o buclă infinită, fără a mai putea ajunge vreodată la blocul de stop

Page 39: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test final

Page 40: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test final•Structura de control ciclu cu test final este format dintr-

o secvenţă şi o condiţie organizate în această ordine ca în figura

•Această structură este considerată a fi una derivată din structura de control ciclu cu test iniţial.

•Din punct de vedere al funcţionării structura se comportă astfel:

• se execută secvenţa

• după aceea se evaluează condiţia

• dacă condiţia este adevărată se merge din nou şi se execută secvenţa

Page 41: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test final•Din punct de vedere grafic nu apar elemente noi

•Sunt aceleasi elemente exact ca în cazul structurii de control cu test initial

•aranjamentul blocurilor legat prin săgeţi este făcut de asemenea natură încât

• prima să fie secvenţa

• după ea să fie plasată condiţia.

•evident că apare şi fenomenul de buclă pe ramura DA a condiţiei care ne conduce din nou la secvenţă când valoarea logică din condiţie este adevărată

Page 42: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclul cu test final•Se poate observa că această structură va permite

execuţia secvenţei cel puţin o dată indiferent de ce valoarea logică conţine condiţia

•nu este strict necesară

•orice algoritm se poate concepe folosind numai structuri de control ciclu cu test iniţial

• în practică sunt situaţii când structura cu test final oferă o soluţie mai elegantă din punct de vedere al concepţiei algoritmului

Page 43: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclu cu contor

Page 44: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclu cu contor• structura de control ciclu cu contor este una mai

complexă

• se bazează pe un contor care

• primeşte o valoare iniţială

• parcurge toate valorile unui interval continu

• până se atinge o valoare finală

• se executa la fiecare pas o aceeaşi secvenţă

Page 45: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclu cu contor•Primul bloc este unul de atribuire care are rolul de a

iniţializa contorul cu o valoare iniţială

•Apoi se poate observa că urmează un bloc de decizie care verifică dacă contorul este mai mic decât valoarea finală

• În caz afirmativ se merge pe ramura DA şi se execută secvenţa

•Reamintim ca secvenţa poate conţine o subschema formată din blocuri pentru a face diverse calcule

Page 46: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

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 număr pozitiv sau un număr negativ, întreg sau zecimal.

•Dacă pasul este pozitiv înseamnă că valoarea contorului va creşte la fiecare trecere prin blocul de incrementare.

• Evident că pentru ca o astfel de structură de control să funcţioneze trebuie ca valoarea iniţială să fie mai mică decât valoarea finală.

•Dacă pasul este negativ atunci contorul va descreşte şi e recomandat ca valoarea iniţială să fie mai mare ca cea finală.

Page 47: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ciclu cu contor•Dacă în blocul decizional contorul a atins valoarea finală

se iese cu execuţia pe ramura NU de unde se poate continua cu alte blocuri ale algoritmului.

Page 48: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Suma a doua numere•Citim primul numar de

la tastatura

•Citim al 2-lea numarde la tastatura

•Calculam suma celordoua numere

•Afisam pe ecran sumacalculata

citeste a

citeste b

s=a+b

scrie s

Page 49: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aria unui dreptunghi•Citim lungimea de la

tastatura

•Citim latimea de la tastatura

•Calculam aria ca fiindegala cu lungimeainmultita cu latimea

•Afisam pe ecran aria calculata

citeste lung

citeste lat

aria=lung*lat

scrie aria

Page 50: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Volumul unui cilindru•Citim raza bazei de la

tastatura

•Citim inaltimea de la tastatura

•Calculam volumul ca fiindprodus intre 3.14, raza la patrat si inaltimea

•Afisam pe ecran volumulcalculat

citeste r

citeste h

a=PI*r*r

v=a*h

scrie v

Page 51: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Functia modul•Citim un numar de la

tastatura

•Daca numarul estepozitiv

•Atunci modulul esteegal cu numarul

•Altfel modulul esteegal cu numarulnegat

•Afisam pe ecranmodulul numarului

citeste x

daca x>0

atunci m=x

altfel m=-x

scrie m

Page 52: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Functia signum• Citim un numar de la

tastatura

• Daca numarul estepozitiv

• atunci signum este egalcu 1

• altfel daca numarul estenul

• atunci signum este zero

• altfel signum este -1

• Afisam pe ecran functiasignum

citeste x

daca x>0

atunci s=1

altfel

daca x==0

atunci s=0

altfel s=-1

scrie m

Page 53: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ce este un sir ?• sir = secventa de elemente de acelasi tip

• se mai numeste si• vector

• tablou unidimensional

• accesul la un element se face prin• numele sirului

• index - orice expresie matematica, incepe de la zero, se pune intreparanteze drepte

• exemple: a[0], b[7], c[i+j],d[a[0]]

• un sir de 10 elemente are indecsi de la 0 la 9 inclusiv

• operatii• citire x=a[0], y=a[0]+b[7]

• atribuire a[0]=1, a[7]=a[0], a[i+j]=c[i]

Page 54: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

citeste n

i=0

cat timp i<n

citeste a[i]

i=i+1

sfarsit cat timp

Citirea unui sir de la tastatura

Page 55: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Citirea si afisarea unui sir

citeste n

i=0

cat timp i<n

citeste a[i]

i=i+1

sfarsit cat timp

i=0

cat timp i<n

afiseaza a[i]

i=i+1

sfarsit cat timp

Page 56: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Suma a doi vectori (siruri)•Citim vectorul a element cu element

•Citim vectorul b element cu element

•Calculam vectorul c pe elemente

• Fiecare element este egala cu suma elementelorcorespondente din a si b

• c[0]=a[0]+b[0]

• c[1]=a[1]+b[1]

•…

• c[n-1]=a[n-1]+b[n-1]

•Deci c[i]=a[i]+b[i] pt fiecare i=0,n-1

•Afisam vectorul c, anterior calculat, element cu element

Page 57: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Suma a doi vectori (siruri)

Page 58: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Suma a doi vectori (siruri)

citeste n

i=0

cat timp i<n

citeste a[i]

i=i+1

sfarsit cat timp

i=0

cat timp i<n

citeste b[i]

i=i+1

sfarsit cat timp

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

Page 59: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aflarea minimului dintr-un sir•Se citesc elementele vectorului

•Se initializeaza minimul cu primul element

•Se compara minimul cu toate elementele pe rand

•Daca cumva vre-un element este mai mic decat minimulatunci minimul ia valoarea acelui element

Page 60: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aflarea minimului dintr-un sir

• a

• min=10

• La pasul i=1 a[1]<min ? 5<10 ? da! deci min=5

• La pasul i=2 a[2]<min ? 4<5 ? da! deci min=4

• La pasul i=3 a[3]<min ? 3<4 ? da! deci min=3

• La pasul i=4 a[4]<min ? 11<3 ? nu!

• La pasul i=5 a[5]<min ? 12<3 ? nu!

• La pasul i=6 a[6]<min ? 88<3 ? nu!

• La pasul i=7 a[7]<min ? 90<3 ? nu!

• La pasul i=8 a[8]<min ? 2<3 ? da! deci min=2

• La pasul i=9 a[9]<min ? 100<2 ? nu!

0 1 2 3 4 5 6 7 8 9

10 5 4 3 11 12 88 90 2 100

Page 61: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aflarea minimului dintr-un sir

Page 62: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aflarea minimului dintr-un sirciteste n

i=0

cat timp i<nciteste a[i]

i=i+1

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

Page 63: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Aflarea maximului dintr-un sir• ce se schimba la algoritmul anterior ?

• tema de casa …

Page 64: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor

Prima trecere

• 10 7 5 4 12 8

• 10 7 5 4 12 8

• 7 10 5 4 12 8

• 7 5 10 4 12 8

• 7 5 4 10 12 8

• 7 5 4 10 12 8

• 7 5 4 10 8 12

• 4 interschimbari

Page 65: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor

A doua trecere

• 7 5 4 10 8 12

• 5 7 4 10 8 12

• 5 4 7 10 8 12

• 5 4 7 10 8 12

• 5 4 7 8 10 12

• 3 interschimbari

Page 66: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor

A treia trecere

• 5 4 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 1 interschimbare

Page 67: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor

A patra trecere

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 4 5 7 8 10 12

• 0 zero interschimbari

Page 68: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor

Page 69: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelorciteste n

i=0

cat timp i<n

citeste a[i]

i=i+1

sfarsit cat timp

Page 70: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor• executa• ni=0• i=0• cat timp i<n-1• daca a[i]>a[i+1]• atunci • temp=a[i] • a[i]=a[i+1] • a[i+1]=temp • ni=ni+1• i=i+1• sfarsit cat timp• cat timp ni!=0

Page 71: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ordonarea unui sir prin metoda bulelor• citeste n

• i=0

• cat timp i<n

• afiseaza a[i]

• i=i+1

• sfarsit cat timp

Page 72: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Ce este o matrice ?•matrice = secventa de elemente de acelasi tip grupate pe

doua dimensiuni• se mai numeste si• tablou bidimensional

• accesul la un element se face prin• numele matricii• index de linie, de coloana• incep de la zero, se pun intre paranteze drepte • prima linia, a doua coloana• exemple: a[0][0], b[7][7], c[i+j][i-j]• indecsii incep de la 0

• operatii• citire x=a[0][0], y=a[0][0]+b[7][8]• atribuire a[0][0]=1, a[7][8]=a[0][0]

Page 73: ALGORITMI, SCHEME LOGICE SI PSEUDOCOD

Citirea unei matriciciteste m

citeste n

i=0

cat timp i<m

j=0

cat timp j<n

citeste a[i][j]

j=j+1

sfarsit cat timp

i=i+1

sfarsit cat timp