Sunteți pe pagina 1din 32

Algoritmi si

Limbajul Pseudocod
Structura cursului:
Reprezentarea algoritmilor
• Notiunea de algoritm.
• Scheme logice.
• Operatii de baza.
• Caracteristici fundamentale
• Structuri de control

Limbajul Pseudocod
• Reprezentarea algoritmilor prin limbajul pseudocod.
• Instructiuni in pseudocod
• Exemple
Reprezentarea algoritmilor folosind
scheme logice
 Algoritmul este un concept folosit pentru a desemna o mulțime finită de
operații, complet ordonată în timp, care pornind de la date de intrare
produce într-un timp finit date de ieșire. Cu alte cuvinte, algoritmul redă
metoda de rezolvare a unei probleme într-un număr finit de paşi
 Programul este reprezentarea unui algoritm într-un limbaj de programare.
 Programarea este activitatea de elaborare a unui produs program.
Ea are două ramuri importante:
descrierea algoritmilor;
codificarea algoritmilor într-un anumit limbaj de programare
Descrierea unui algoritm

 Descrierea unui algoritm pentru rezolvarea unei probleme se poate face prin
scheme logice sau într-un limbaj de descriere a algoritmilor, numit şi
pseudocod

Exemplu: 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.
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
 Limbajul Pseudocod- propozitii scurte cu cuvinte cheie predefinite exprimate
in engleza sau romana
Scheme logice
 Schemele logice sunt notaţii grafice formate din blocuri legate între ele prin
săgeţi
 Schemă logică descrie grafic paşii unui algoritm
 Schemă logică specifică prelucrările care se execută asupra datelor

Orice algoritm poate fi descris într-o schemă logică folosind următoarele doua structuri de control
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 de variabile:
x
Aria
perimetru
delta
Operatii de baza - blocurile

 Blocul de start
 Blocul de stop
 Blocul de citire
 Blocul de scriere
 Blocul de atribuire
 Blocul de decizie
Blocul start

este unicpunctul
in
are
de
forma
reprezinta
cadrul unei
pornire al
ovala logice
schemei
scheme

sc
ri
e
in
el
cu
va
nt
ul
pr
ed
ef
in
it
st
ar
t
Blocul de stop

 este unic in cadrul unei scheme logice


 trebuie atins intr-un numar finit de pasi
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


Tipuri de variabile ce pot fi citite
 
Numere intregi-1, 77, 25
Numere reale-1.5, 6.7
Siruri de caractere-se citesc toate impreuna-“nota de la TIBP
este”;“am luat examenul la TIBP cu nota”
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
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 dupa atribuire i va avea valoarea 8
 Este simbolizat prin dreptunghi.
Blocul de decizie
 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
 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 sau ramura NU
 decizia de a alege o ramură sau pe cealaltă se face pe baza evaluării
condiţiei din bloc
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
Orice algoritm trebuie să îndeplinească şase caracteristici

 1. generalitate - un algoritm trebuie sa ofere o metodă generală


de rezolvare a unui anumit tip de probleme, pentru date iniţiale
arbitrare
 2. precizie (claritate) - descrierea algoritmului trebuie facută
fără ambiguităţi, iar comenzile trebuie să exprime operaţii
cunoscute calculatorului, care pot fi executate de către
procesor.
Caracteristici
 3. determinare - la fiecare pas, acţiunea care urmează a fi
executată trebuie să poată fi determinată fără echivoc şi unic pe
fundamentale
baza acţiunilor precedente
 4. finitudinea - un algoritm trebuie să conducă la obţinerea
rezultatelor într-un număr finit de paşi
 5. eficienţă - un algoritm trebuie să fie construit în aşa fel încât
să folosească resurse hard cât mai puţine şi să necesită un timp
minim de execuţie
 6. executabilitate - algoritmul ca întreg şi fiecare pas al său
trebuie să poată fi executat.
Structuri de control

Secventa

Selectia

Iteratia cu test initial

Iteratia cu test final


Secventa
 cea mai simplă structură de control
 este o notatie abstracta folosita pentru a
defini alte structuri de control
 presupune execuţia unui şir ordonat de
operaţii de bază din cele prezentate
anterior
=
 de exemplu o secvenţă poate cuprinde
 • două citire
 • o atribuire
 din punct de vedere grafic secvenţa este
reprezentată printr-un dreptunghi marcat
pe margini cu două linii verticale
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ă
Iteratia cu test
initial
 Iteraţia cu test iniţial este i<5
numită şi structura WHILE-DO
(În cadrul acestei structuri se
evaluează mai întâi valoarea
expresiei logice)
 Instrucţiune se execută în mod
repetat atât timp cât valoarea
expresiei logice este
adevărată (True).
i=i+1
 În caz contrar (False) se trece
la secvenţa următoare din
schema logică
Iteratia cu test final
i=i+1
 Iteraţia cu test final este numită şi
structura DO-WHILE
 mai întâi se execută Instrucţiunea (cel
putin odată)
i<5  Apoi se evaluează expresia logică
 Cît timp expresia logică este adevărată
(True) se execută din nou Instrucţiunea
 În caz contrar (False) se trece la secvenţa
următoare.
Exemplu
Calculam suma a doua numere

 Citim primul numar de la tastatura


 Citim al 2-lea numar de la tastatura
 Calculam suma celor doua numere
 Afisam pe ecran suma calculata
Exemplu
Calculam 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
Exemplu
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
 •Afisam pe ecran functia signum
Reprezentarea algoritmilor prin limbaj pseudocod

Limbajul pseudocod este o modalitate de reprezentare a algoritmului care,


desi este independent de un anumit limbaj de programare, respecta reguli de
scriere si o anumita sintaxa in descrierea operatiilor ce-l compun.

Moduri de exprimare

 propozitii scurte
 cu cuvinte cheie predefinite
 exprimate in engleza sau romana
Instructiuni

 În limbajul pseudocod, corespunzator operatiilor de intrare / iesire de la


schemele logice avem definite instructiuni de intrare – iesire
Citeste <lista de variabile>
Scrie <lista de variabile>

 Instructiunea de atribuire
v: = < expresie>
Structura alternativa
 Structura alternativa este descrisa in limbaj pseudocod prin
intermediul instructiunii de decizie cu urmatorul format general

 daca < conditie > (x>0)


 atunci
 instructiune_a (m=x)
 altfel
 instructiune_f (m=-x)
 sf-daca
Instructiune de decizie 
Sunt situatii in care trebuie descrisa in
program modalitatea de luare a unei
decizii in care ne intereseaza decat
situatia de adevarat a conditiei

 daca <conditie>
          atunci
 <instructiune>
 sf-daca
Structura repetitiva 
 cat timp <conditie> executa
                  <instructiuni>
 sf-cat_timp

Efectul instructiunii este urmatorul: se repeta grupul de instructiuni pana la


intalnirea cuvantului “sf_cat_timp”, atata timp cat conditia “conditie” este
adevarata. Corespunde repetitivei anterior conditionata prezentata in
paragraful anterior si este cunoscuta sub numele de WHILE-DO
Structura repetitiva 

 repeta
                    <instructiuni>
 pana cand    <conditie>

Efectul instructiunii este urmatorul: repetarea grupului de instructiuni ce


constitue corpul repetitivei pana cand conditia ce apare in final devine
adevarata. Corespunde structurii repetitive posterior conditionata si este
cunoscuta sub numele de REPEAT-UNTIL (DO-WHILE)
Exemplu Pseudocod

Suma a 2 numere Pseudocod


 Citim primul numar de la tastatura citeste a
 Citimal 2-lea numarde la tastatura citeste b
 Calculam suma celor doua numere s=a+b
 Afisam pe ecran suma calculata scrie s
Exemplu Pseudocod
Funcia signum Pseudocod

 Citim un numar de la tastatura citeste x


 Daca numarul este pozitiv daca x>0
 Atunci si gnumeste egal cu 1 atunci s=1
 Altfel daca numarul este nul altfel
 Atunci signum este zero daca x==0
 Altfel signum este -1 atunci s=0
 Afisam pe ecran functia signum altfel s=-1
scrie m

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