Sunteți pe pagina 1din 6

Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf.

Irina Maria Terfăloagă

Lucrarea de laborator nr. 2

Tema: Algoritmi. Reprezentarea algoritmilor prin scheme logice, pseudocod.

Scopul lucrării:

Dobândirea cunoștiințelor și competențelor necesare studenţilor pentru a se familiariza


cu reprezentarea algoritmilor prin scheme logice și pseudocod.

Consideraţiile teoretice necesare:

Definirea algoritmului:
Prin algoritm se înţelege un ansamblu de reguli (instrucţiuni) de prelucrare, împreună
cu ordinea în care se succed în vederea soluţionării unui tip de probleme.
Algoritmul este o formulă sau un set de paşi pentru rezolvarea unei probleme
particulare. Pentru ca un set de reguli să formeze un algoritm este necesar ca acestea
să nu fie ambigue şi să aibă un punct de oprire bine precizat. Algoritmii pot fi exprimaţi
în orice limbă, de la limbajele naturale (engleză, română, etc) la limbajele de programare
(C++, etc).
Algoritmii sunt folosiţi peste tot în viaţa de zi cu zi. Astfel reţeta de realizare a unei
prăjituri este un algoritm. Majoritatea programelor sunt formate din algoritmi. cea mai
importantă provocare din programare este aceea de a inventa un algoritm elegant care
să fie simplu şi să necesite un număr minim de paşi.

Scheme logice

Descrierea algoritmilor într-un limbaj natural prezintă serie de inconveniente care


se reflectă negativ asupra caracteristicilor acestora. De aceea a fost necesară
introducerea unor limbaje pentru descrierea algoritmilor, care să permită o prezentare
simplă, într-o formă apropiată de limbajul natural, dar în acelaşi timp având o structură
apropriată de cea a limbajelor de programare.

Schemele logice constituie un asemenea limbaj de descriere a algoritmilor, uşor


de învăţat, uşor de transpus într-un limbaj de programare.
1
Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf. Irina Maria Terfăloagă

Reprezentarea algoritmilor prin scheme logice


Reprezentarea algoritmilor prin scheme logice reprezintă una din cele mai
utilizate tehnici pentru exprimarea clară şi completă a modului de rezolvare a unei
probleme.

Prin schemă logică se înţelege forma grafică de reprezentare a unui algoritm utilizând
simbolurile prezentate anterior.

Pentru a obţine schema logică a unui algoritm se procedează astfel:

 se înlocuiesc regulile algoritmului prin simboluri adecvate reprezentând în noduri


operaţiile ce trebuie executate.
 se unesc simbolurile în sensul indicat de succesiunea regulilor algoritmului

Pentru exemplificare în continuare se vor prezenta schemele logice pentru doi


algoritmi:

Să se precizeze algoritmul de rezolvare a ecuaţiei de gradul I AX +B = 0, valorile


coeficienţilor A şi B fiind cunoscute. (Figura 1);

Să se precizeze algoritmul pentru calculul sumei primilor 50 de termeni ai şirului: 1,


4, 7, 10, 13, 16, … (Figura 2)
Notaţii:
 T pentru valoarea unui termen al şirului;
 I pentru rangul unui termen al şirului;
 S pentru suma primilor 50 de termeni.

Figura 1 Figura 2

ST A R T START

0 S
C IT E ST E
A, B 1 T

1 I
DA NU
A 0
NU DA I= I+ 1
B =0
X =-B /A
T=T+3

SC R IE : SC R IE : SC R IE :
S=S+T
X E C U A T IE E C U A T IE NU
IM P O SIB IL A NEDETERM I> 50

DA

ST O P
2 STO P
Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf. Irina Maria Terfăloagă

Scheme logice normalizate


O schemă logică se numeşte normalizată dacă îndeplineşte următoarele reguli:

 Are un singur arc de intrare (bloc terminal de început) şi un singur arc de ieşire (bloc
terminal de sfârşit);
 Există un traseu de la intrare către orice nod şi de la orice nod către ieşire.

Schemele logice normalizate prezintă interes prin faptul că pot fi înlocuite în


întregime prin noduri de tip prelucrare. Aceasta şi pentru că într-o accepţiune mai largă
nodurile de tip prelucrare pot prezenta un anumit stadiu de analiză a problemei, de
prelucrări foarte complexe ce pot fi detaliate ulterior. Uneori o asemenea schemă logică
se mai numeşte şi schemă funcţională sau program normalizat.

Figura 3. Schemă logică normalizată

3
Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf. Irina Maria Terfăloagă

Desfasurarea lucrarii:

1. Să se scrie algoritmul pentru interschimbarea valorilor a două


variabile a şi b.

start
citește a;
citește b;
aux = a;
a = b;
b = aux;
scrie a;
scrie b;
stop.

2. Considerând doua numere întregi determinati cmmdc folosind algorimul lui


Euclid.

Algoritmul lui Euclid:

start
citeste n1, n2
daca n1 > n2 atunci
deimp = n1
imp = n2
altfel
deimp = n2
imp = n1
sfdaca
rest=imp
cat_timp rest != 0 execută
rest = deimp modulo imp
deimp = imp
imp = rest
sfcat_timp
scrie deimp
stop

4
Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf. Irina Maria Terfăloagă

3. Să se scrie algoritmul de determinare a tuturor numerelor prime mai mici decat un


n citit:

start
citeste n
pentru i=2 to n execută
prim=1
pentru j=2 to i/2 execută
daca i modulo j=0 atunci prim=0
sfdaca
sfpentru
daca prim=1 atunci
scrie i,' '
sfdaca
sfpentru

4. Să se scrie algoritmul de descompunere a unui numar n in factori primi:

start
citeste n
i=2;
cat_timp i<n executa
c=0
daca n modulo i=0 atunci
cat_timp n modulo i=0 executa
c=c+1
n=n/i
sfcat_timp
scrie i,'^',c,' '
sfdaca
i=i+1
sfcat_timp
stop

Concluzii și observații:
Se vor prezenta rezultatele obținute de fiecare student.
Se vor consemna eventualele dificultăți și se vor face propuneri pentru evitarea
erorilor.

5
Programarea Calculatoarelor&Limbaje de Programare – Asis. drd. inf. Irina Maria Terfăloagă

Bibliografie:

1. Logofatu Doina – Bazele programarii in C. Aplicatii. Ed. Polirom, Iasi, 2006

2. Liviu Negrescu - „Limbajele C şi C++ pentru începători”, Editura MicroInformatica,


Cluj-Napoca, 1994.

3. Stoilescu D. – Manual de C/C++, Ed. Radial, Galati, 1999.

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