Sunteți pe pagina 1din 5

ANEXĂ

Descrierea algoritmilor în pseudocod

Ce este un algoritm? O definiţie matematică, riguroasă, este greu de dat, chiar


imposibilă fără a introduce şi alte noţiuni (Giumale [2004]). Vom încerca în continuare o
descriere a ceea ce se înţelege prin algoritm.
Vom constata că un algoritm este un text finit, o succesiune finită de propoziţii ale unui
limbaj. Acesta presupune executarea unor calcule într-o anumită ordine. Din cauză că este
inventat special în acest scop, un astfel de limbaj este numit limbaj de descriere a algoritmilor.
Fiecare propoziţie a limbajului precizează o anumită regulă de calcul, aşa cum se va observa
atunci când vom prezenta limbajul Pseudocod. Algoritmii au următoarele caracteristici:
generalitate, finitudine şi unicitate (Livovschi [1980])
Pentru ca o secvenţă de operaţii să constituie un algoritm, ea trebuie să fie clară, adică
la orice moment operaţia care urmează a fi executată trebuie să fie unic determinată, definită
şi realizabilă – să poată fi efectuată la momentul respectiv, cu mijloacele disponibile. De-a
lungul timpului s-au impus două modalităţi de reprezentare a algoritmilor : schemele logice şi
limbajele de tip pseudocod.
Schemele logice constituie o metodă de reprezentare grafică, foarte sugestivă, dar cu o
serie de dezavantaje : se dă o egală importanţă componentelor principale ca şi detaliului, prin
urmare schemele logice devin deosebit de stufoase şi greu de urmărit; pentru aplicaţiile mai
complexe, când este necesară modularizarea, este practic imposibil de pus în evidenţă
legăturile dintre module în cadrul schemei logice.
Regulile de calcul ale algoritmului sunt descrise prin blocuri – figuri geometrice,
reprezentând operaţiile – paşii algoritmului, iar ordinea lor de aplicare – succesiunea
operaţiilor, este indicată prin săgeţi. Fiecărui tip de operaţie îi este consacrată o figură
geometrică – un bloc tip, în interiorul căreia se va înscrie operaţia din pasul respectiv
(Livovschi [1980).
Prin execuţia unui algoritm descris printr-o schemă logică se înţelege efectuarea
tuturor operaţiilor precizate prin blocurile schemei logice, în ordinea indicată de săgeţi.
În descrierea unui algoritm, deci şi într-o schemă logică, intervin variabile care
marchează atât datele cunoscute iniţial, cât şi rezultatele dorite, precum şi alte rezultate
intermediare necesare în rezolvarea problemei. Variabila defineşte o mărime care îşi poate

1
schimba valoarea în timp. Ea are un nume şi o valoare. Este posibil ca variabila încă să nu
aibă asignată o valoare, situaţie în care vom spune că ea este neiniţializată.
Valorile pe care le poate lua variabila aparţin unei mulţimi pe care o vom numi
domeniul variabilei. Variabila este folosită cu un anumit scop, ea notează o anumită mărime,
cu o anumită semnificaţie. În concluzie o variabilă este cunoscută prin (nume, domeniu,
valoare, semnificaţie), unde valoarea aparţine domeniului.
Pentru claritatea textului unui algoritm este important să se cunoască semnificaţia
fiecărei variabile, să fie menţionată expres această semnificaţie. În nici un caz nu se
recomandă să se folosească acelaşi nume pentru variabile cu semnificaţii diferite, caz care
provocă confuzii şi chiar erori grave.
În Tabelul 1 prezentăm tipurile de blocuri folosite în reprezentarea algoritmilor.
Tabelul 1. Tipurile de blocuri folosite în reprezentarea algoritmilor

Sursa: profainfo9.wikispaces.com/.../Metode+de+reprezentare+a+algoritmilor.p...

2
Din considerentele prezentate mai sus, s-a impus treptat o altă metodă de reprezentere
a algoritmilor: pseudocodul. Un limbaj de tip pseudocod este un ansamblu de convenţii,
respectate în mod sistematic, care definesc operaţiile permise (denumite şi instrucţiuni) pentru
reprezentarea algoritmilor.
Limbajul Pseudocod a fost conceput pentru descrierea algoritmilor. Cuvântul
pseudocod provine din pseudo, care înseamnă fals,  şi cod care se referă la textul scris într-un
limbaj de programare. Deci pseudocod înseamnă un aşa-zis limbaj de programare.
Pseudocodul foloseste aceeaşi operatori şi o exprimare relaxată faţă de un limbaj consacrat,
care cere rigurozitate. Pseudocodul, ca orice limbaj de programare, foloseşte date, variabile,
operaţii şi instrucţiuni. Limbajul pseudocod, faţă de limbajul natural, este o formă de
reprezentare mai exactă, ajungându-se la nivel de detaliu.
Limbajul Pseudocod are două tipuri de propoziţii:
 standard (care au o structură fixă şi este formată cu ajutorul unor cuvinte
cheie);
 propoziţii nestandard (care descriu părţi ale algoritmului încă incomplet
elaborate, nefinisate, asupra cărora urmează să se revină).
Propoziţiile limbajului Pseudocod se vor executa în ordinea întâlnirii lor în text,
asemenea oricărui text al limbii române. Limbajul Pseudocod mai cuprinde şi comentarii
(texte scrise între acolade utilizate pentru documentarea algoritmului).
Tabelul 2. Corespondenţa între instrucţiunile pseudocod şi blocurile din schemele logice

Sursa: profainfo9.wikispaces.com/.../Metode+de+reprezentare+a+algoritmilor.p...

3
În descrierea algoritmilor se recomanda o scriere structurată prin utilizarea
urmatoarelor structuri:
 Secvenţială – formată dintr-o succesiune de propoziţii simple;
 Alternativă – permite executarea anumitor ramuri în funcţie de anumite
condiţii;
 Repetitivă – prin care putem executa aceleasi propozitii de mai multe ori.
Propoziţiile standard ale limbajului Pseudocod corespund structurilor de calcul
prezentate în Figura 1. În această figură, prin A, B s-au notat subscheme logice, adică
secvenţe de oricâte structuri construite conform celor trei reguli menţionate în continuare.
Structura secvenţială (Figura 1.a) este redată prin concatenarea propoziţiilor, simple
sau compuse, ale limbajului Pseudocod, care vor fi executate în ordinea întâlnirii lor în text.
Propoziţiile simple din limbajul Pseudocod sunt CITEŞTE, TIPAREŞTE, FIE şi
apelul de subprogram. Propoziţiile compuse corespund structurilor alternative şi repetitive.
Structura alternativă din Figura 1.b este redată în Pseudocod prin propoziţia DACĂ
(IF), iar structura repetitivă din Figura 1.c este redată în Pseudocod prin propoziţia CÂTTIMP
(WHILE).

Figura 1. Structuri de calcul ale limbajului Pseudocod

Sursa: http://cs.upm.ro/_users/cursuri_on_line/Alte_documentatii/Carte_algoritmi_partea1_20_12_04.doc

În concluzie, algoritmii pe care îi descriem ar trebui:


 să fie cât mai generali – să rezolve o clasă de probleme de acelaşi tip;
 să dea rezultate într-un anumit timp finit – adică să se termine oricare ar fi
datele de intrare;
 să asigure unicitatea rezutatelor ori de câte ori se dau aceleaşi date de intrare.
Aceste trei caracteristici generalitate, finitudine şi unicitate trebuie să fie obiectul

4
preocupărilor noastre ori de câte ori scriem un algoritm, indiferent de forma (scheme logice
sau limbaj Pseudocod) în care este prezentat acesta.

profainfo9.wikispaces.com/.../Metode+de+reprezentare+a+algoritmilor.p...
http://calculatoaresielectronice.files.wordpress.com/2011/11/cursul-02-algoritmi1.pdf
http://cs.upm.ro/_users/cursuri_on_line/Alte_documentatii/Carte_algoritmi_partea1_20_12_04.do
c

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