Documente Academic
Documente Profesional
Documente Cultură
PCLP1
Algoritmi
2
1. ALGORITMI
1. Noţiunea de algoritm
2. Reprezentarea unui algoritm
3. Concepţia unui algoritm
4. Obiectele cu care lucrează algoritmii
5. Exemple de algoritmi elementari
3
Introducere
o Comportamentul uman şi gândirea sunt
caracterizate de secvenţe logice
o Atunci când ordonăm un proces, îl programăm
o Acest curs se referă la programarea unui aparat:
calculatorul
o Calculatorul este un dispoztiv programabil care
poate păstra, regăsi şi procesa date
Introducere
două faze:
o rezolvarea problemei
o implementarea problemei
Cum scriem un program?
Rezolvarea problemei
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
Ce este un limbaj de programare?
Limbajele de nivel înalt
22
1.1. Noţiunea de algoritm
25
1.1. Noţiunea de algoritm
26
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 TRANSPUS
SAU DE TIPUL DE CALCULATOR PE CARE ESTE
EXECUTAT.
27
1. ALGORITMI
1. Noţiunea de algoritm
2. Reprezentarea unui algoritm
3. Concepţia unui algoritm
4. Obiectele cu care lucrează algoritmii
5. Exemple de algoritmi elementari
28
1.2. Reprezentarea unui algoritm
În general, un algoritm poate fi considerat ca o
descriere a prelucrărilor efectuate asupra unui flux de
date, prelucrări care au loc cu un scop bine
determinat.
Modul de descriere a unui algoritm, este
independent de un limbaj de programare, existând
două metode clasice:
1. metoda schemei logice
2. metoda pseudocod-ului
29
1.2. Reprezentarea unui algoritm
30
1.2. Reprezentarea unui algoritm
Start
Stop
Bloc de atribuire Nu Da
conditie
31
1.2. Reprezentarea unui algoritm
Să analizăm un Start
algoritm de calcul a
Citire nota1, nota2, nota3
mediei pentru trei note
şi să vedem cum ar media <-(nota1+nota2+nota3)/3
apărea descris prin
această metodă. Scriere media
Stop
32
1.2. Reprezentarea unui algoritm
2. Metoda pseudocod-ului
Există mai multe variante de limbaje
algoritmice, 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 un
cuvânt cheie care defineşte operaţia de bază din
algoritm şi care va fi evidenţiat prin utilizarea
aldinelor (cuvintelor îngroşateͿ) 33
1.2. Reprezentarea unui algoritm
34
1.2. Reprezentarea unui algoritm
35
1.2. Reprezentarea unui algoritm
2) Comanda de citire
- are forma: citeşte listă de variabile
- este comanda care corespunde unei operaţii de citire
3) Comanda de scriere
- are forma: scrie listă de expresii
- este comanda care corespunde unei operaţii de scriere
36
1.2. Reprezentarea unui algoritm
37
1.2. Reprezentarea unui algoritm
38
1.2. Reprezentarea unui algoritm
39
1.2. Reprezentarea unui algoritm
6) Structura
repetă până când repetă
- are forma: instructiune1
…
instructiunen
40
1.2. Reprezentarea unui algoritm
7) Structura pentru
- are forma:
pentru variabilavaloare initiala, valoare finala executa
instructiune1
…
instructiunen
sfârşit pentru
42
1.2. Reprezentarea unui algoritm
43
1.2. Reprezentarea unui algoritm
Start
44
1. ALGORITMI
1. Noţiunea de algoritm
2. Reprezentarea unui algoritm
3. Concepţia unui algoritm
4. Obiectele cu care lucrează algoritmii
5. Exemple de algoritmi elementari
45
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 necesare
obţinerii rezultatelor dorite.
Pentru a crea un algoritm eficient trebuie
evidenţiate datele de intrare şi datele de ieşire.
46
1.3. Conceptia unui algoritm
ALGORITM
Date de Date de
intrare ieșire
47
1. ALGORITMI
1. Noţiunea de algoritm
2. Reprezentarea unui algoritm
3. Concepţia unui algoritm
4. Obiectele cu care lucrează algoritmii
5. Exemple de algoritmi elementari
48
1.4. Obiectele cu care lucrează algoritmii
a) Constante
b) Variabile
c) Operaţii
d) Expresii
49
1.4. Obiectele cu care lucrează algoritmii
50
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.
51
1.4. Obiectele cu care lucrează
algoritmii
Operatori aritmetici Operator Semnificaţie
c) Operatorii sunt cei + Adunare
- Scădere
folosiţi uzuali în
* Înmulţire
matematică: / Împărţire
1. Operatori aritmetici Operatori relaţioŶali < Mai mic
2. Operatori relaţionali <= Mai mic sau egal
3. Operatori logici > Mai mare
>= Mai mare sau egal
= Egal
<> Diferit
Operatori logici not Negaţie
si Şi ; conjuncție
sau Sau ;disjuncție
1.4. Obiectele cu care lucrează algoritmii
53
1.4. Obiectele cu care lucrează algoritmii
54
1.4. Obiectele cu care lucrează algoritmii
56
1.4. Obiectele cu care lucrează algoritmii
57
1. ALGORITMI
1. Noţiunea de algoritm
2. Reprezentarea unui algoritm
3. Concepţia unui algoritm
4. Obiectele cu care lucrează algoritmii
5. Exemple de algoritmi elementari
58
1.5. Exemple de algoritmi elementari
Enunţ:
Să se calculeze perimetrul şi aria unui triunghi oarecare
dacă se cunosc laturile triunghiului.
Pas 1: Stabilim care sunt datele de intrare si datele de
iesire, adică cele care vor fi prelucrate cu ajutorul
algoritmului.
Î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
59
1.5. Exemple de algoritmi elementari
real a, b, c, p, S
Pas 3: citeşte a, b, c
p a+b+c
Scrierea
Scrie ‘Perimetrul triunghiului este ‘, p
algoritmului în p p/2
pseudocod:
S p(p a)(p b)(p c)
scrie ‘Aria triunghiului este’, S
stop
61
1.5. Exemple de algoritmi elementari
62
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
45
1.5. Exemple de algoritmi elementari
Pas 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 nedeterminata
3) Daca a ≠ 0 si b ≠ 0, atunci ecuatia are o singura solutie si
anume:
x = -b/a 46
1.5. Exemple de algoritmi elementari
real a, b, x
citeşte a, b
Pas 3: dacă a = 0 atunci
Scrierea scrie ‘Ecuaţia are o infinitate de soluţii’
altfel
algoritmului în dacă b = 0 atunci
pseudocod: scrie ‘Ecuaţia este nedeterminată’
altfel
x - b / a
scrie x
sfârşit dacă
sfarşit dacă
stop
47
1.5. Exemple de algoritmi
elementari
Pas 4: Implementarea algoritmului în limbajul de
programare 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++.
48