Sunteți pe pagina 1din 6

Programarea Calculatoarelor

Laboratorul I şi II
Adrian Liţă / Ovidiu Grigore / Anamaria Rădoi
2015

1 Scopul laboratorului
Laboratorul I al materiei Programarea Calculatoarelor are ca scop introducerea
noţiunilor elementare de şi iniţierea în programare. Laboratorul II are ca scop
aprofundarea acestor elemente prin exemple şi probleme.
În acest laborator se parcurg următoarele puncte:
• ce este programarea secvenţială ?

• ce este programarea procedurală ?


• scheme logice
• pseudocod

2 Desfăşurarea lucrării
Un sistem de calcul, fie că vorbim despre un calculator, tabletă, telefon sau
alt dispozitiv, toate conţin un microprocesor. Microprocesorul este dispozitivul
central al calculatorului, capabil să execute instrucţiuni, una după alta (secven-
ţial).
Programarea secvenţială este uneori folosită ca sinonim pentru programare
imperativă (cea în care se specifică paşii care trebuie urmaţi de program pentru
a se ajunge la starea dorită).
Programarea procedurală se referă la o paradigmă de programare bazată
pe conceptul de apel de procedură. Procedurile, numite şi rutine, subrutine,
metode sau funcţii (a nu se confunda cu funcţiile matematice), conţin o serie
de instrucţiuni care trebuiesc parcurse. Aceste instrucţiuni pot fi la rândul lor,
proceduri. Orice procedură poate fi apelată la orice moment din execuţia unui
program, inclusiv de alte proceduri sau chiar de către ea însăşi.

1
2.1 Algoritmul
Un algoritm reprezintă o înşiruire de instrucţiuni care împreună îndeplinesc un
scop, şi anume rezolvarea unei probleme. Pentru a înţelege mai bine progra-
marea procedurală, ne vom folosi de două unelte ce se dovedesc foarte utile în
înţelegerea algoritmilor: scheme logice şi pseudocod. Schemele logice repre-
zintă o înşiruire grafică de instrucţiuni, pornind de la START şi terminând cu
STOP, care alcătuiesc un program. Pseudocodul, pe de altă parte, reprezintă
scrierea unui algoritm într-o formă apropiată de cea folosită într-un limbaj de
programare precum C, Pascal, etc. dar folosind un limbaj universal.
Notă. Un algoritm se poate descrie printr-o schemă logică şi/sau prin pseudo-
cod. Atenţie: uneltele folosite în descrierea acestui program sunt doar instruc-
ţiunile de bază. Cu aceste instrucţiuni de bază putem crea orice algoritm,
oricât de complex este el.

2.2 Instrucţiuni
Instrucţiunile de bază utilizate în scheme logice şi pseudocod sunt prezentate în
1.

ATRIBUIRE
START STOP Variabila = expresie

SCRIERE
CITIRE DATE DECIZIE
DATE

PRELUCRARE
DATE

Figura 1: Instrucţiuni de bază ale unei schemei logice

Pe lângă instrucţiunile de bază mai există structurile repetitive, care sunt


reprezentate în schemă logică prin figurile de mai jos. În pseudocod acestea
sunt: cât timp, repetă până când şi pentru.

2
Contor = Val Inițială

da Secvență

Condiție

Contor <= Val finală da

Secvență

Condiție Secvență

nu

nu

Contor = Contor + Pas

Figura 2: Structuri repetitive într-o schemă logică

În figurile 1 şi 2 sunt prezentate toate uneltele necesare creării algoritmi-


lor folosind scheme logice. Echivalentul structurilor din figura 2 în pseudocod
reprezintă: structură repetitivă cu test iniţial (cât timp), structură repetitivă
cu test final (repetă până când) şi structură repetitivă cu contor (pentru
contor între valoare iniţială şi valoare finală).
Pentru a exemplifica cele două metode, vom crea primul algoritm: găsirea
maximului dintre două numere, A şi B.

3
START

CITIRE A și B

A>B da AFIȘEAZĂ A

nu

AFIȘEAZĂ B

STOP

Figura 3: Algoritm pentru găsirea maximului dintre două numere

În pseudocod, acest algoritm arată în felul următor:


1 START
2 citeste A
3 citeste B
4 daca A>B a t u n c i
5 {
6 afiseaza A
7 }
8 altfel
9 {
10 afiseaza B

4
11 }
12 STOP

Următorul exemplu este un algoritm pentru rezolvarea unei ecuaţii de gradul


I de forma ax+b = 0. Fiind citite de la tastatură a şi b, se caută soluţia ecuaţiei.

START

CITIRE A și B

Afișează
A=0 da B=0 da
ecuație nedeterm

nu
nu

X = -B/A
Afișează
ecuație imposibilă

AFIȘEAZĂ X

STOP

Figura 4: Algoritm pentru rezolvarea ecuaţiei de gradul I

1 START
2 citeste A
3 citeste B
4 daca a = 0 a t u n c i
5 {
6 daca b = 0 a t u n c i
7 {
8 a f i s e a z a ’ e c u a t i e nedeterminata ’
9 }

5
10 altfel
11 {
12 afiseaza ’ ecuatie imposibila ’
13 }
14 }
15 altfel
16 {
17 x = −b/ a ;
18 afiseaza x;
19 }
20 STOP

3 Probleme
1. Realizaţi un algoritm în pseudocod şi schemă logică pentru afişarea pe
ecran a numerelor între 1 şi 10.

2. Să se scrie un algoritm pentru determinarea produsului factorial al unui


număr n pozitiv (pseudocod şi schemă logică).
3. Să se scrie un algoritm recursiv pentru determinarea produsului factorial
al unui număr n pozitiv (pseudocod).
4. Realizaţi un algoritm care calculează media aritmetică a n numere citite
de la tastatură (pseudocod şi schemă logică).
5. Să se scrie un algoritm care să verifice dacă un număr n natural este prim
(pseudocod).
6. Scrieţi un algoritm pentru rezolvarea unei ecuaţii de gradul 2 (schemă
logică şi pseudocod).
7. Determinaţi printr-un algoritm cel mai mic număr dintr-un şir de numere
citit de la tastatură (schemă logică şi pseudocod).
8. Scrieţi un algoritm care calculează primele n numere ale şirului Fibonacci
(pseudocod).

9. Scrieţi un algoritm care calculează recursiv primele n numere ale şirului


Fibonacci (pseudocod).

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