Documente Academic
Documente Profesional
Documente Cultură
calculatoarelor
Universitatea Constantin Brncui din Trgu-Jiu
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Lect.dr. Adrian Runceanu
Cteva precizri
Structura cursului
3 ore curs titular curs: Lector dr. Adrian Runceanu
2 ore laborator titular aplicaii practice:
Asist.ing. Constantin Cercel
Prep.ing. Alina Dinca
03.03.2013 Curs - Programarea Calculatoarelor 2
Cteva precizri
Bibliografia necesar cursului:
1. Adrian Runceanu, Mihaela Runceanu, Noiuni de programare n
limbajul C++, Academica Brncui, Trgu-Jiu, 2012, ISBN 978-
973-144-550-2, 483 pagini
2. Adrian Runceanu, Programarea i utilizarea calculatoarelor,
Editura Academic Brncui Targu-Jiu, 2003
3. Octavian Dogaru, C++ - Teorie i practic, volumul I, Editura
Mirton, Timioara, 2004
4. O.Catrina, I.Cojocaru, Turbo C+, Editura Teora, Bucureti, 1993
5. D.Costea, Iniiere n limbajul C, Editura Teora, Bucureti, 1996
6. K.Jamsa, C++, Editura Teora,1999
7. K.Jamsa & L.Klander, Totul despre C si C++, Teora, 2004
03.03.2013 Curs - Programarea Calculatoarelor 3
Cteva precizri
Referinele bibliografice nr. 1, 2 i 3 se pot
mprumuta de la Biblioteca Facultii de Inginerie, Str.
Geneva nr.3, Etaj I lng 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 sptmnal.
03.03.2013 Curs - Programarea Calculatoarelor 4
Cteva precizri
Forme de examinare:
Examen final = 60%
Evaluare pe parcursul
semestrului a activitii de
laborator = 30%
Verificare final lucrri de
laborator = 10%
03.03.2013 Curs - Programarea Calculatoarelor 5
30
10
60
Procentaje evaluare
Evaluare pe parcursul semestrului
Prezenta curs si laborator
Examen final
Mod de lucru
Curs:
Se prezint noiuni teoretice i exemple de
aplicare practic a acestora
Nu ezitai s punei ntrebri
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
Cteva recomandri
Citii cu maxim atenie enunurile temelor i
respectai-le n totalitate.
Analizai n detaliu problema de rezolvat.
Identificai i tratai adecvat toate cazurile
speciale care pot s apar.
Notai-v toate ntrebrile la care nu ai gsit
singuri rspunsul i adresai-le cadrelor didactice,
la curs sau laborator.
03.03.2013 Curs - Programarea Calculatoarelor 7
Curs 1
Algoritmi
03.03.2013 Curs - Programarea Calculatoarelor 8
1. ALGORITMI
1.1. Noiunea de algoritm
1.2. Reprezentarea unui algoritm
1.3. Concepia unui algoritm
1.4. Obiectele cu care lucreaz algoritmii
1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 9
1.1. Noiunea de algoritm
n procesul de rezolvare a unei probleme folosind
calculatorul exist dou etape:
1. Definirea i analiza problemei
2. Proiectarea i implementarea unui algoritm care
rezolv problema
1. Definirea i analiza problemei poate fi la rndul ei
descompus n:
specificarea datelor de intrare
specificarea datelor de ieire
03.03.2013 Curs - Programarea Calculatoarelor 10
1.1. Noiunea de algoritm
Specificarea datelor de intrare const n:
1. Ce date vor fi primite la intrare
2. Care este formatul (forma lor de reprezentare) datelor
de intrare
3. Care sunt valorile permise sau nepermise pentru
datele de intrare
4. Exist unele restricii (altele dect la 3) privind valorile
de intrare
5. Cte valori vor fi la intrare, sau dac nu se poate
specifica un numr fix de valori, cum se va ti cnd s-
au terminat de introdus datele de intrare
03.03.2013 Curs - Programarea Calculatoarelor 11
1.1. Noiunea de algoritm
Specificarea datelor de ieire trebuie s in cont de
urmtoarele aspecte:
1. Care din valorile rezultate n cursul aplicrii algoritmului
de calcul, asupra datelor de intrare, vor fi afiate
(necesare utilizatorului), n acest pas se face
diferenierea clar ntre date intermediare i date de
ieire
2. Care va fi formatul datelor de ieire (de exemplu un
numr real poate fi afiat cu trei sau cu cinci zecimale,
sau un text poate fi afiat integral sau parial)
03.03.2013 Curs - Programarea Calculatoarelor 12
1.1. Noiunea de algoritm
3. Sunt sau nu necesare explicaii suplimentare
pentru utilizator n afara datelor de ieire
4. Care este numrul de date de ieire care trebuie
transmise ctre ieire
03.03.2013 Curs - Programarea Calculatoarelor 13
1.1. Noiunea de algoritm
O definiie a noiunii de algoritm poate fi:
nlnuirea de pai simpli, operaii distincte care
descriu modul de prelucrare a unor date de intrare
n scopul rezolvrii unei probleme.
Un exemplu simplu de algoritm ar fi suita de
operaii matematice fcut n rezolvarea unei ecuaii
matematice de gradul II:
aX
2
+bX+c=0, coeficienii a, b, c se schimb dar
modul de procesare a valorilor lor, nu.
03.03.2013 Curs - Programarea Calculatoarelor 14
1.1. Noiunea de algoritm
Proprietile unui algoritm sunt:
1. Este compus din instruciuni simple i clare.
2. Operaiunile specificate de instruciuni se execut
ntr-o anumit secven.
3. Soluia trebuie obinut ntr-un numr finit de pai.
Concluzia care rezult este c:
UN ALGORITM ESTE INDEPENDENT DE
TIPUL DE LIMBAJ N CARE ESTE TRANSPUS
SAU DE TIPUL DE CALCULATOR PE CARE ESTE
EXECUTAT.
03.03.2013 Curs - Programarea Calculatoarelor 15
1. ALGORITMI
1.1. Noiunea de algoritm
1.2. Reprezentarea unui algoritm
1.3. Concepia unui algoritm
1.4. Obiectele cu care lucreaz algoritmii
1.5. Exemple de algoritmi elementari
03.03.2013 Curs - Programarea Calculatoarelor 16
1.2. Reprezentarea unui algoritm
n general, un algoritm poate fi considerat ca o
descriere a prelucrrilor efectuate asupra unui flux de
date, prelucrri care au loc cu un scop bine
determinat.
Modul de descriere a unui algoritm, este
independent de un limbaj de programare, existnd
dou metode clasice:
1. metoda schemei logice
2. metoda pseudocod-ului
03.03.2013 Curs - Programarea Calculatoarelor 17
1.2. Reprezentarea unui algoritm
1. Metoda schemei logice
n cadrul acestei metode se folosete un set de
simboluri, prezentat n figura 1, pentru descrierea
pailor ce trebuie executai pentru ca algoritmul
rezultat s ne rezolve o anumit problem.
Dei a fost extrem de folosit, pn nu de mult,
aceast metod a pierdut teren n faa reprezentrii
de tip pseudocod, poate i datorit timpului
suplimentar pierdut de utilizator cu executarea
simbolurilor grafice.
03.03.2013 Curs - Programarea Calculatoarelor 18
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
1.2. Reprezentarea unui algoritm
S analizm un
algoritm de calcul a
mediei pentru trei note
i s vedem cum ar
aprea descris prin
aceast metod.
03.03.2013 Curs - Programarea Calculatoarelor 20
Start
Citire nota1, nota2, nota3
media <-(nota1+nota2+nota3)/3
Scriere media
Stop
1.2. Reprezentarea unui algoritm
2. Metoda pseudocod-ului
Exist mai multe variante de limbaje
algoritmice, care ns nu difer esenial.
Am ales forma n care cuvintele cheie sunt n
limba romn i operatorii sunt cei uzuali din
matematic.
Pseudocod-ul are n componen mai multe
comenzi standard care ncep, n general cu un
cuvnt cheie care definete operaia de baz din
algoritm i care va fi evideniat prin utilizarea
aldinelor (cuvintelor ngroate).
03.03.2013 Curs - Programarea Calculatoarelor 21
1.2. Reprezentarea unui algoritm
Comenzilor standard ale pseudocod-ului le
corespund instruciuni din limbajele de
programare, fapt care uureaz implementarea
algoritmului n limbaj.
03.03.2013 Curs - Programarea Calculatoarelor 22
1.2. Reprezentarea unui algoritm
Comenzile standard de baz ale pseudocod-ului
sunt:
1) Comanda de atribuire
- are forma:
- este comanda care nu conine cuvinte cheie i
corespunde unei operaii de atribuire
03.03.2013 Curs - Programarea Calculatoarelor 23
variabil
expresie
1.2. Reprezentarea unui algoritm
2) Comanda de citire
- are forma:
- este comanda care corespunde unei operaii de citire
3) Comanda de scriere
- are forma:
- este comanda care corespunde unei operaii de scriere
03.03.2013 Curs - Programarea Calculatoarelor 24
citete list de variabile
scrie list de expresii
1.2. Reprezentarea unui algoritm
4) Structura de decizie
- are dou forme
corespunztoare celor
dou forme ale
structurii alternative
(structurii de decizie):
03.03.2013 Curs - Programarea Calculatoarelor 25
dac condiie atunci
instructiune
1
instructiune
n
altfel
instructiune
1
instructiune
n
sfrit dac
1.2. Reprezentarea unui algoritm
A doua form a
structurii de
decizie:
03.03.2013 Curs - Programarea Calculatoarelor 26
dac condiie atunci
instructiune
1
instructiune
n
sfrit dac
1.2. Reprezentarea unui algoritm
5) Structura ct timp
- are forma:
- corespunde ciclului
repetitiv cu test iniial
03.03.2013 Curs - Programarea Calculatoarelor 27
ct timp condiie execut
instructiune
1
instructiune
n
sfrit ct timp
1.2. Reprezentarea unui algoritm
6) Structura
repet pn cnd
- are forma:
- corespunde ciclului
repetitiv cu test final
03.03.2013 Curs - Programarea Calculatoarelor 28
repet
instructiune
1
instructiune
n
pn cnd condiie
1.2. Reprezentarea unui algoritm
7) Structura pentru
- are forma:
- corespunde ciclului repetitiv cu numar cunoscut
de pasi
03.03.2013 Curs - Programarea Calculatoarelor 29
pentru variabila<-valoare initiala, valoare finala executa
instructiune
1
instructiune
n
sfrit pentru
1.2. Reprezentarea unui algoritm
8) Structura de oprire a algoritmului
- are forma:
03.03.2013 Curs - Programarea Calculatoarelor 30
stop
1.2. Reprezentarea unui algoritm
Relum exemplul cu media a trei note pe
care l vom scrie att cu ajutorul schemelor
logice, ct i cu ajutorul pseudocod-ului.
03.03.2013 Curs - Programarea Calculatoarelor 31
1.2. Reprezentarea unui algoritm
real nota1, nota2, nota3, media
citete nota1, nota2, nota3
media (nota1+nota2+nota3)/3
scrie media
stop