Sunteți pe pagina 1din 3

REPREZENTAREA ALGORITMILOR OBS: - scopul elaborarii algoritmului unei probleme este acela de a scrie un program intr-un anumit limbaj

de programare - daca problema este mai complexa, inainte de a scrie programul este bine sa se schiteze pasii algoritmului DEF: Algoritmii se pot reprezenta in doua moduri: a) prin limbaj pseudocod o tehnica textuala care se bazeaza pe asa numitele cuvinte cheie (cuvinte rezervate care nu pot fi folosite in alte scopuri; fiecare cuvant cheie identifica in mod unic un anumit tip de actiune) b) cu ajutorul schemei logice o tehnica grafica (foloseste figuri geometrice pentru a indica fiecare instructiune a programului) a) LIMBAJUL PSEUDOCOD - actiunile algoritmului se reprezinta in pseudocod prin ceea ce numim instructiuni - ansamblul cuvintelor cheie impreuna cu regulile care trebuie respectate in folosirea lor alcatuieste sintaxa limbajului pseudocod - exista o mare diversitate de limbaje pseudocod; fiecare programator isi poate proiecta propriul pseudocod, definind cuvintele cheie ale acestuia si impunand regulile de sintaxa - vom folosi o varianta de pseudocod in care cuvintele cheie sunt scrise in engleza iar regulile de sintaxa sunt cele pe care le impune limbajul Pascal - nu se face distinctie intre literele mari si mici atunci cand se vor scrie instructiunile - orice comentariu (prin care descriem pe scurt actiunile algoritmului) va fi cuprins intre acolade b) SCHEMA LOGICA - se vor folosi diferite figuri geometrice pentru fiecare instructiune folosita in algoritm; figurile geometrice sunt legate intre ele prin sageti - dreptunghiul simbolizeaza un bloc de prelucrare o succesiune de instructiuni care prelucreaza anumite date - rombul simbolizeaza un bloc de decizie in care se pune o intrebare o conditie care, daca e indeplinita, algoritmul continua cu o instructiune, iar daca nu e indeplinita, algoritmul va executa alta - paralelogramul (sau trapez) simbolizeaza operatiile de intrare si de iesire - dreptunghiuri racordate blocurile standard START si STOP care marcheaza inceputul, respectiv sfarsitul algoritmului OPERATIILE PE CARE LE EFECTUEAZA UN ALGORITM 1) OPERATIILE DE INTRARE-IESIRE 2) OPERATIA DE ATRIBUIRE 3) OPERATIA DE DECIZIE 1) OPERATIILE DE INTRARE-IESIRE - orice algoritm lucreaza cu date de intrare si date de iesire care pot fi citite (operatia de intrare) sau scrise (operatia de iesire) - prin operatia de intrare se intelege prelucrarea unei date de la un dispozitiv de intrare catre memoria interna a calculatorului in zona de memorie rezervata pentru aceasta adica in variabila - in pseudocod aceasta operatie va fi read (se asteapta introducerea de la tastatura a unei date) - in schema logica aceasta operatie va fi reprezentata astfel: read sau read 1

prin operatia de iesire se intelege prelucrarea unei date din memoria interna (dintr-o variabila) si transferul ei catre un dispozitiv de iesire (monitor, imprimanta) in pseudocod aceasta operatie va fi write (se afiseaza, de obicei pe ecran , continutul variabilei) in schema logica aceasta operatie va fi reprezentata astfel write sau write

EX: -

pentru a citi de la tastatura o variabila x vom scrie in pseudocod: read (x); pentru a afisa continutul unei variabile pe ecran: write (x);

2) OPERATIA DE ATRIBUIRE - prin operatia de atribuire se retine o anumita data intr-o variabila - operatorul de atribuire in pseudocod (ca si in limbajul Pascal) va fi :=
operatia de atribuire nu este comutativa

- se disting mai multe forme: a) o variabila v de un tip oarecare retine o data de acelasi tip cu variabila : v:= data (exceptie facand cazurile in care unei variabile de tip real i se asociaza o data de tip intreg sau unei variabile de tip sir de caractere i se asociaza o data de tip caracter un sir de caractere de lungime 1) b) o variabila v1 retine (i se atribuie) continutul unei alte variabile v2 de acelasi tip : v1:=v2 ( dupa atribuire, cele doua variabile vor avea acelasi continut continutul variabilei v2) c) o variabila v retine rezultatul intors de o expresie : v:=expresie (initial se evalueaza expresia, iar valoarea obtinuta este atribuita variabilei) - operatia de atribuire poate avea diferite roluri in programare a) in initializari - initializarea reprezinta stabilirea valorilor cu care anumite variabile intra in calcule ; ex: orice suma se va initializa cu 0: S:=0; orice produs se va initializa cu 1: P:=1 (elementele neutre la adunare si inmultire) b) in calcule atribuirea poate interveni in calcule sub doua forme : - forma directa unei variabile i se atribuie o expresie cu operanzi (variabile sau/si constante), altii decat variabila careia i se atribuie expresia respectiva ex: v:=2+4 v:=a*2+b v:=a-b*c - forma indirecta - unei variabile i se atribuie o expresie cu operanzi (variabile sau/si constante), in care intra si variabila careia i se atribuie expresia respective ex: v:=3+v*4 v:= v-2 c) in interschimbari inversarea continutului a doua variabile x si y - cu ajutorul unei variabile auxiliare aux:=x; x:=y; y:=aux - fara ajutorul variabilei auxiliare x:=x+y y:=x-y x:=x-y - in schema logica operatia de atribuire va fi reprezentata printr-un dreptunghi v:= 4 v:= 3+4*9 v:=v +9 2

3) OPERATIA DE DECIZIE - in pseudocod, operatia de atribuire are urmatoarea forma: if CONDITIE then
OPERATIE 1 daca CONDITIE atunci OPERATIE 1 altfel OPERATIE 2;

else -

OPERATIE 2; modul de executie: se testeaza conditia; daca aceasta conditie este indeplinita, se va executa operatia 1; daca nu este indeplinita conditia, se va executa operatia 2; in continuare se executa urmatoarea instructiune din program exista si o forma particulara a acestei operatii in care ramura inferioara dispare:

if CONDITIE then
OPERATIE1;

daca CONDITIE atunci OPERATIE 1;

EXEMPLU: Sa se realizeze un algoritm care sa calculeze media geometrica a doua numere intregi a si b folosind limbajul pseudocod si schema logica. program medie; var a, b:integer; m: real; begin read (a); read (b); if a*b >= 0 then begin m:=sqrt (a*b); write (m); end else write (Eroare!); end. program medie; var a, b:integer; m: real; inceput citeste (a); citeste (b); daca a*b >= 0 atunci inceput msqrt (a*b); scrie (m); sfarsit altfel scrie (Eroare!); sfarsit. NOTATII: - sqr (a)= a2 - sqrt (a) = a1/2 - a numar par: a mod 2=0 - a nr impar: a mod 2 <>0 - ultima cifra a unui nr: a mod 10 - nr fara ultima cifra: a div 10 3
m:=sqrt (a*b) START

read (a) read(b)

a*b>=0

Eroare!

write (m)

STOP

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