8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 1/57
Programareacalculatoarelor
Universitatea “Constantin Brâncuşi” din T ârgu-Jiu Facultatea de Inginerie
Departamentul de Automatic ă , Energie şi Mediu
Lect.dr. Adrian Runceanu
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 2/57
Câteva precizări
Structura cursului
3 ore curs – titular curs: Lector dr. Adrian Runceanu
2 ore laborator – titular aplicaţii practice:• Asist.ing. Constantin Cercel
• Prep.ing. Alina Dinca
03.03.2013 Curs - Programarea Calculatoarelor 2
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 3/57
Câteva precizări
Bibliografia necesară cursului:
1. Adrian Runceanu, Mihaela Runceanu, Noțiuni de programare înlimbajul C++, Academica Brâncuşi, Târgu-Jiu, 2012, ISBN 978-973-144-550-2, 483 pagini
2. Adrian Runceanu, Programarea şi utilizarea calculatoarelor,Editura Academică Brâncuși Targu-Jiu, 2003
3. Octavian Dogaru, C++ - Teorie şi practică, volumul I, EdituraMirton, Timişoara, 2004
4. O.Catrina, I.Cojocaru, Turbo C+, Editura Teora, Bucureşti, 19935. D.Costea, Iniţiere în limbajul C, Editura Teora, Bucureşti, 19966. K.Jamsa, C++, Editura Teora,19997. K.Jamsa & L.Klander, Totul despre C si C++, Teora, 2004
03.03.2013 Curs - Programarea Calculatoarelor 3
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 4/57
Câteva precizări
Referinţele bibliografice nr. 1, 2 şi 3 se pot împrumuta de la Biblioteca Facultăţii de Inginerie, Str.Geneva nr.3, Etaj I – lângă Decanat.
1. Suport curs - varianta electronică disponibilă pe site-ul:
www.runceanu.ro/adrian
2. Îndrumar de laborator - varianta electronică disponibilă pe site pentru fiecare lucrare de laborator.
Notă: Actualizarea site-ului se face săptămânal.03.03.2013 Curs - Programarea Calculatoarelor 4
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 5/57
Câteva precizări
Forme de examinare:
Examen final = 60%
Evaluare pe parcursulsemestrului a activităţii delaborator = 30%
Verificare finală lucrări delaborator = 10%
03.03.2013 Curs - Programarea Calculatoarelor 5
30
1060
Procentaje evaluare
Evaluare pe parcursul semestruluiPrezenta curs si laboratorExamen final
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 6/57
Mod de lucru
Curs:Se prezintă noţiuni teoretice şi exemple de
aplicare practică a acestoraNu ezitaţi să puneţi întrebări
Laborator:Se elaborează şi se depanează programe relativ
simple sau se dezvoltă programe preexistente Se aplică ceea ce s-a predat la curs
03.03.2013 Curs - Programarea Calculatoarelor 6
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 7/57
Câteva recomandări
Citiţi cu maximă atenţie enunţurile temelor şirespectaţi-le în totalitate.
Analizaţi în detaliu problema de rezolvat.
Identificaţi şi trataţi adecvat toate cazurilespeciale care pot să apară.
Notaţi-vă toate întrebările la care nu aţi găsitsinguri răspunsul şi adresaţi-le cadrelor didactice,la curs sau laborator.
03.03.2013 Curs - Programarea Calculatoarelor 7
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 8/57
Curs 1Algoritmi
03.03.2013 Curs - Programarea Calculatoarelor 8
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 9/57
1. ALGORITMI
1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 9
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 10/57
1.1. Noţiunea de algoritm
În procesul de rezolvare a unei probleme folosindcalculatorul există două etape:
1. Definirea şi analiza problemei2. Proiectarea şi implementarea unui algoritm care
rezolvă problema1. Definirea şi analiza problemei poate fi la rândul ei
descompusă în: specificarea datelor de intrare specificarea datelor de ieşire
03.03.2013 Curs - Programarea Calculatoarelor 10
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 11/57
1.1. Noţiunea de algoritm
Specificarea datelor de intrare constă în: 1. Ce date vor fi primite la intrare2. Care este formatul (forma lor de reprezentare) datelor
de intrare3. Care sunt valorile permise sau nepermise pentrudatele de intrare
4. Există unele restricţii (altele decât la 3) privind valorilede intrare
5. Câte valori vor fi la intrare, sau dacă nu se poatespecifica un număr fix de valori, cum se va şti când s-au terminat de introdus datele de intrare
03.03.2013 Curs - Programarea Calculatoarelor 11
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 12/57
1.1. Noţiunea de algoritm
Specificarea datelor de ieşire trebuie să ţină cont deurmătoarele aspecte:
1. Care din valorile rezultate în cursul aplicării algoritmului
de calcul, asupra datelor de intrare, vor fi afişate (necesare utilizatorului), în acest pas se facediferenţierea clară între date intermediare şi date de
ieşire
2. Care va fi formatul datelor de ieşire (de exemplu unnumăr real poate fi afişat cu trei sau cu cinci zecimale,sau un text poate fi afişat integral sau parţial)
03.03.2013 Curs - Programarea Calculatoarelor 12
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 13/57
1.1. Noţiunea de algoritm
3. Sunt sau nu necesare explicaţii suplimentarepentru utilizator în afara datelor de ieşire
4. Care este numărul de date de ieşire care trebuietransmise către ieşire
03.03.2013 Curs - Programarea Calculatoarelor 13
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 14/57
1.1. Noţiunea de algoritm
O definiţie a noţiunii de algoritm poate fi: înlănţuirea de paşi simpli, operaţii distincte care
descriu modul de prelucrare a unor date de intrare
în scopul rezolvării unei probleme.Un exemplu simplu de algoritm ar fi suita de
operaţii matematice făcută în rezolvarea unei ecuaţii
matematice de gradul II:aX2+bX+c=0, coeficienţii a, b, c se schimbă darmodul de procesare a valorilor lor, nu.
03.03.2013 Curs - Programarea Calculatoarelor 14
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 15/57
1.1. Noţiunea de algoritm
Proprietăţile unui algoritm sunt:1. Este compus din instrucţiuni simple şi clare.2. Operaţiunile specificate de instrucţiuni se execută
într-o anumită secvenţă.3. Soluţia trebuie obţinută într-un număr finit de paşi.Concluzia care rezultă este că:UN ALGORITM ESTE INDEPENDENT DE
TIPUL DE LIMBAJ ÎN CARE ESTE TRANSPUSSAU DE TIPUL DE CALCULATOR PE CARE ESTEEXECUTAT.
03.03.2013 Curs - Programarea Calculatoarelor 15
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 16/57
1. ALGORITMI
1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 16
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 17/57
1.2. Reprezentarea unui algoritm
În general, un algoritm poate fi considerat ca odescriere a prelucrărilor efectuate asupra unui flux dedate, prelucrări care au loc cu un scop binedeterminat.
Modul de descriere a unui algoritm, esteindependent de un limbaj de programare, existânddouă metode clasice:
1. metoda schemei logice 2. metoda pseudocod-ului
03.03.2013 Curs - Programarea Calculatoarelor 17
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 18/57
1.2. Reprezentarea unui algoritm
1. Metoda schemei logice În cadrul acestei metode se foloseşte un set de
simboluri, prezentat în figura 1, pentru descrierea
paşilor ce trebuie executaţi pentru ca algoritmulrezultat să ne rezolve o anumită problemă.Deşi a fost extrem de folosită, până nu de mult,
această metodă a pierdut teren în faţa reprezentării
de tip pseudocod, poate şi datorită timpuluisuplimentar pierdut de utilizator cu executareasimbolurilor grafice.
03.03.2013 Curs - Programarea Calculatoarelor 18
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 19/57
1.2. Reprezentarea unui algoritm
03.03.2013 Curs - Programarea Calculatoarelor 19
Start
Bloc de atribuire
Bloc citire variabile
conditie
Stop
Bloc scriere variabile
Nu Da
Figura 1. Reprezentarea algoritmilor prin metoda schemei logice
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 20/57
1.2. Reprezentarea unui algoritm
Să analizăm unalgoritm de calcul a
mediei pentru trei noteşi să vedem cum arapărea descris prinaceastă metodă.
03.03.2013 Curs - Programarea Calculatoarelor 20
Start
Citire nota1, nota2, nota3
media <-(nota1+nota2+nota3)/3
Scriere media
Stop
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 21/57
1.2. Reprezentarea unui algoritm
2. Metoda pseudocod-ului Există mai multe variante de limbajealgoritmice, care însă nu diferă esenţial.
Am ales forma în care cuvintele cheie sunt în
limba română şi operatorii sunt cei uzuali din
matematică.Pseudocod-ul are în componenţă mai multe
comenzi standard care încep, în general cu uncuvânt cheie care defineşte operaţia de bază dinalgoritm şi care va fi evidenţiat prin utilizarea
aldinelor (cuvintelor îngroşate).03.03.2013 Curs - Programarea Calculatoarelor 21
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 22/57
1.2. Reprezentarea unui algoritm
Comenzilor standard ale pseudocod-ului le
corespund instrucţiuni din limbajele deprogramare, fapt care uşurează implementareaalgoritmului în limbaj.
03.03.2013 Curs - Programarea Calculatoarelor 22
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 23/57
1.2. Reprezentarea unui algoritm
Comenzile standard de bază ale pseudocod-uluisunt:
1) Comanda de atribuire
- are forma:- este comanda care nu conţine cuvinte cheie şi
corespunde unei operaţii de atribuire
03.03.2013 Curs - Programarea Calculatoarelor 23
variabilă expresie
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 24/57
1.2. Reprezentarea unui algoritm
2) Comanda de citire- are forma:
- este comanda care corespunde unei operaţii de citire
3) Comanda de scriere- are forma:
- este comanda care corespunde unei operaţii de scriere
03.03.2013 Curs - Programarea Calculatoarelor 24
citeşte listă de variabile
scrie listă de expresii
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 25/57
1.2. Reprezentarea unui algoritm
4) Structura de decizie- are două forme
corespunzătoare celordouă forme alestructurii alternative
(structurii de decizie):
03.03.2013 Curs - Programarea Calculatoarelor 25
dacă condiţie atunciinstructiune1 … instructiunen
altfelinstructiune1
… instructiunen
sfârşit dacă
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 26/57
1.2. Reprezentarea unui algoritm
A doua formă astructurii dedecizie:
03.03.2013 Curs - Programarea Calculatoarelor 26
dacă condiţie atunci
instructiune1 …
instructiunen
sfârşit dacă
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 27/57
1.2. Reprezentarea unui algoritm
5) Structura cât timp- are forma:
- corespunde ciclului
repetitiv cu test ini ţial
03.03.2013 Curs - Programarea Calculatoarelor 27
cât timp condiţie execută
instructiune1 … instructiunen
sfârşit cât timp
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 28/57
1.2. Reprezentarea unui algoritm
6) Structurarepetă până când
- are forma:
- corespunde cicluluirepetitiv cu test final
03.03.2013 Curs - Programarea Calculatoarelor 28
repetă instructiune1
… instructiunen
până când condiţie
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 29/57
1.2. Reprezentarea unui algoritm
7) Structura pentru- are forma:
- corespunde ciclului repetitiv cu numar cunoscut
de pasi03.03.2013 Curs - Programarea Calculatoarelor 29
pentru variabila<-valoare initiala, valoare finala executa
instructiune1 …
instructiunen
sfârşit pentru
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 30/57
1.2. Reprezentarea unui algoritm
8) Structura de oprire a algoritmului
- are forma:
03.03.2013 Curs - Programarea Calculatoarelor 30
stop
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 31/57
1.2. Reprezentarea unui algoritm
Reluăm exemplul cu media a trei note pe
care îl vom scrie atât cu ajutorul schemelorlogice, cât şi cu ajutorul pseudocod-ului.
03.03.2013 Curs - Programarea Calculatoarelor 31
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 32/57
1.2. Reprezentarea unui algoritm
real nota1, nota2, nota3, mediaciteşte nota1, nota2, nota3media (nota1+nota2+nota3)/3scrie mediastop
03.03.2013 Curs - Programarea Calculatoarelor 32
Start
Citire nota1, nota2, nota3
media <-(nota1+nota2+nota3)/3
Scriere media
Stop
Se observă că este multmai uşor să se redacteze un
algoritm cu ajutorulpseudocod-ului, decât cuajutorul schemelor logice.
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 33/57
1. ALGORITMI
1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii
1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 33
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 34/57
1.3. Conceptia unui algoritm
Pași necesari:1. Problema care va fi rezolvată, trebuie citită cu
atenţie.
2. Apoi se stabilesc prelucrările care sunt necesareobţinerii rezultatelor dorite.
Pentru a crea un algoritm eficient trebuie
evidenţiate datele de intrare şi datele de ieşire.
03.03.2013 Curs - Programarea Calculatoarelor 34
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 35/57
1.3. Conceptia unui algoritm
03.03.2013 Curs - Programarea Calculatoarelor 35
Date deintrare
Date deieșire
ALGORITM
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 36/57
1. ALGORITMI
1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii
1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 36
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 37/57
1.4. Obiectele cu care lucrează algoritmii
Obiectele cu care lucrează algoritmii sunt:
a) Constante
b) Variabilec) Operaţii d) Expresii
03.03.2013 Curs - Programarea Calculatoarelor 37
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 38/57
1.4. Obiectele cu care lucrează algoritmii
a) Constantele sunt date de un anumit tip care nuse modifică pe parcursul execuţiei unui algoritm.
Pot fi:
1. Constante numerice, adică numere întregi saureale
2. Constante nenumerice, adică şiruri de
caractere cuprinse între apostrofuri3. Constante logice, adevărat şi fals
03.03.2013 Curs - Programarea Calculatoarelor 38
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 39/57
1.4. Obiectele cu care lucrează algoritmii
b) Variabilele sunt date ale căror valori se modifică pe parcursul execuţiei unui algoritm.
Ele se utilizează pentru a păstra datele
iniţiale, sau pentru a păstra rezultatele parţiale sau finale ale algoritmului.Fiecare variabilă va avea o locaţie de
memorie asociată ei, unde i se păstrează
valoarea.
Variabilele pot: naturale, întregi , reale, logice sau şiruri de caractere.
03.03.2013 Curs - Programarea Calculatoarelor 39
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 40/57
1.4. Obiectele cu care lucrează algoritmii
c) Operatorii sunt ceifolosiţi uzuali înmatematică:
1. Operatori aritmetici2. Operatori relaţ ionali
3. Operatori logici
Operatori aritmetici
Operator Semnificaţie
+ Adunare
- Scădere
* Înmulţire
/ Împărţire
Operatori relaţionali
< Mai mic
<= Mai mic sau egal
> Mai mare
>= Mai mare sau egal
= Egal
<> Diferit
Operatori logici
not Negaţie
si Şi (conjuncţie)
sau Sau (disjuncţie) 03.03.2013 Curs - Programarea Calculatoarelor 40
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 41/57
1.4. Obiectele cu care lucrează algoritmii
d) Expresiile sunt formate din constante şi variabilelegate între ele cu ajutorul operatorilor.
Pot fi de mai multe tipuri, în funcţie de tipul
operatorilor si a operanzilor:1. Expresii aritmetice
2. Expresii relaţ ionale
3. Expresii logice
03.03.2013 Curs - Programarea Calculatoarelor 41
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 42/57
1.4. Obiectele cu care lucrează algoritmii
O expresie aritmetică este o expresie care
cuprinde:1. constante2. variabile3. sau funcţii aritmetice elementare legate,
eventual, prin operatori aritmetici.
03.03.2013 Curs - Programarea Calculatoarelor 42
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 43/57
1.4. Obiectele cu care lucrează algoritmii
O expresie relaţională poate fi formată din:Două expresii aritmetice legate printr-un singur
operator relaţional (de exemplu: b2 > 4*a*c)Două variabile nenumerice legate printr-un
operator relaţional (de exemplu:nume1<>nume2)
O variabil ă şi o constantă nenumerice legate printr-un operator relaţional (de exemplu:raspuns=‘da’)
03.03.2013 Curs - Programarea Calculatoarelor 43
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 44/57
1.4. Obiectele cu care lucrează algoritmii
O expresie logică cuprinde:
1. constante2. variabile3. sau expresii relaţionale legate prin operatori
logici a cărei valoare este fie adevărat, fie fals.
03.03.2013 Curs - Programarea Calculatoarelor 44
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 45/57
1.4. Obiectele cu care lucrează algoritmii
Condi ţ iile care apar în algoritmi vor fi întotdeauna exprimate prin expresii
relaţionale sau logice.
03.03.2013 Curs - Programarea Calculatoarelor 45
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 46/57
1. ALGORITMI
1.1. Noţiunea de algoritm1.2. Reprezentarea unui algoritm1.3. Concepţia unui algoritm 1.4. Obiectele cu care lucrează algoritmii
1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 46
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 47/57
1.5. Exemple de algoritmi elementari
Enunţ:Să se calculeze perimetrul şi aria unui triunghi oarecaredacă se cunosc laturile triunghiului.
Pas 1: Stabilim care sunt datele de intrare si datele deiesire, adică cele care vor fi prelucrate cu ajutorulalgoritmului.
În cazul problemei date, avem:
Date de intrare: a, b, şi c numere reale ce reprezintă laturile triunghiului.
Date de iesire: p = perimetrul si s = aria triunghiului
03.03.2013 Curs - Programarea Calculatoarelor 47
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 48/57
1.5. Exemple de algoritmi elementari
Pas 2: Analiza problemeiStabilim condiţiile pe care trebuie să le
îndeplinească datele de intrare pentru a fiprelucrate în cadrul algoritmului.
În cadrul problemei pe care o avem de rezolvat,cunoaştem formula lui Heron pentru calculul ariei
unui triunghi dacă se cunosc laturile sale:
unde p reprezintă semiperimetrul triunghiului.
03.03.2013 Curs - Programarea Calculatoarelor 48
))()(( c pb pa p pS
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 49/57
1.5. Exemple de algoritmi elementari
Pas 3:Scriereaalgoritmului înpseudocod:
03.03.2013 Curs - Programarea Calculatoarelor 49
real a, b, c, p, S
citeşte a, b, c
p a + b + cScrie ‘Perimetrul triunghiului este ‘, p
p p / 2
scrie ‘ Aria triunghiului este’, S
stop
c) b)(pa)(p p(pS
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 50/57
1.5. Exemple de algoritmi elementari
Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utiliza
limbajul C++.Pas 5: Testarea algoritmului pe date de intrare
diferite şi verificarea rezultatelor.
Ultimii doi paşi îi vom scrie după prezentarea limbajului C++.
03.03.2013 Curs - Programarea Calculatoarelor 50
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 51/57
1.5. Exemple de algoritmi elementari
Enunţ:Considerăm ecuaţia de gradul I de forma:
ax + b = 0, unde a şi b sunt numere reale.
Să se scrie un algoritm care să rezolve ecuaţia dată pentru
orice două valori a şi b date.Pas 1: Stabilim care sunt datele de intrare si de iesire, adică
cele care vor fi prelucrate cu ajutorul algoritmului.
În cazul problemei date, avem:
Date de intrare: a, b - numere reale
Date de iesire: x - solutia ecuatiei
03.03.2013 Curs - Programarea Calculatoarelor 51
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 52/57
1.5. Exemple de algoritmi elementariPas 2: Analiza problemei
Stabilim condiţiile pe care trebuie să le îndeplinească datele de intrare pentru a fi prelucrate în cadrul algoritmului.Căutăm cazurile particulare.
În cadrul problemei pe care o avem de rezolvat,cunoaştem următoarele:
Ecuaţia ax+b=0, are solutii reale daca a si b sunt diferite de 0.Cazurile particulare sunt:1) Daca a = 0, atunci ecuatia data are o infinitate de solutii.
2) Daca a = 0 si b = 0, atunci ecuatia este nedeterminata3) Daca a ≠ 0 si b ≠ 0, atunci ecuatia are o singura solutie si
anume:
x = -b/a03.03.2013 Curs - Programarea Calculatoarelor 52
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 53/57
1.5. Exemple de algoritmi elementari
Pas 3:Scrierea
algoritmului înpseudocod:
03.03.2013 Curs - Programarea Calculatoarelor 53
real a, b, xciteşte a, b
dacă a = 0 atunci
scrie ‘Ecuaţia are o infinitate de soluţii’
altfel
dacă b = 0 atunci
scrie ‘Ecuaţia este nedeterminată’
altfel
x - b / a
scrie x
sfârşit dacă
sfarşit dacă
stop
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 54/57
1.5. Exemple de algoritmi elementari
Pas 4: Implementarea algoritmului în limbajul deprogramare dorit - în cazul nostru vom utiliza
limbajul C++.Pas 5: Testarea algoritmului pe date de intrare
diferite şi verificarea rezultatelor.
Ultimii doi paşi îi vom scrie după prezentarea limbajului C++.
03.03.2013 Curs - Programarea Calculatoarelor 54
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 55/57
Recapitulare
1. Ce este un algoritm?2. Cum se pot reprezenta algoritmii?3. Folosind metoda pseudocod-ului de reprezentare a
algoritmilor, cum se reprezintă structura de decizie?4. Folosind metoda pseudocod-ului de reprezentare a
algoritmilor, cum se reprezintă structura repetitivă cu
test iniţial?
03.03.2013 Curs - Programarea Calculatoarelor 55
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 56/57
Enunţuri de probleme ce pot fi rezolvate
1. Să se calculeze perimetrul şi aria unui
dreptunghi, ştiind laturile sale.2. Să se calculeze unghiurile(in radiani) unuitriunghi, ştiind laturile sale.
03.03.2013 Curs - Programarea Calculatoarelor 56
8/16/2019 curs1-PC2
http://slidepdf.com/reader/full/curs1-pc2 57/57
Întrebări?