Documente Academic
Documente Profesional
Documente Cultură
Algoritmi.
Reprezentarea Algoritmilor
Pentru Programarea
Calculatoarelor
Componenta Soft
Software de baz
Software utilitar
Software de aplicaie
Comunicarea cu calculatorul
i prin programe de aplicaie programe care
sunt realizate pentru rezolvarea unei
probleme pe calculator.
Trebuie sa comunicm cu calculatorul n
msur s i spunem ce s fac, s creem
programe specifice pe care calculatorul s le
poat prelucra, executa i la urm s afieze
date sau s interacioneze ntr-un anume mod
cu utilizatorul.
3
Ce face calculatorul?
instruciunea se incarc
de UCC(Unitatea de
Comand i Control)
decodificare instruciune
si emitere ordin ctre
UAL
(Unitatea
aritmetic logic )
citire date
prelucrare
rezultate
4
Ce face omul?
Etape de baz care trebuie urmate pentru rezolvarea unei
probleme pe calculator:
CE
Problema care
trebuie rezolvat
CUM
Reprezentarea
problemei
Rezolvarea
problemei
folosind un
limbaj de
programare
Informatica
O disciplin care ncearc s construiasc o baz
tiinific pentru un numr mare de domenii
Proiectarea i programarea calculatoarelor
Prelucrarea informaiilor
Rezolvarea algoritmic a problemelor
tiina algoritmilor
Domenii: matematic, inginerie, psihologie,
management, lingvistic, etc.
Programare principii de baz ale instrumentelor
de programare utilizate n prezent, evoluie i
probleme
7
Algoritm
Set de pai prin care se definete modul n care
poate fi dus la ndeplinire o anumit sarcin
Un set ordonat de pai executabili, care
definesc un proces finit
Reprezentarea algoritmilor n calculator ->
program -> software
8
Algoritmi
Capteaz i transmit informaie
Rezolv o problem
Sunt n form conceptual - trebuie s
reprezentate ntr-o form n care pot s
comunicate unui calculator prin setul
instruciuni (gramatic i limbaj) limbaj
programare
Paradigme de programare
fie
fie
de
de
Limbaje de programare
Dup modul de abordare a rezolvrii problemelor cu
calculatorul limbajele pot fi:
procedurale - atunci cnd rezolvarea problemei
urmeaz anumite etape i utilizeaz nite structuri
fundamentale (cum sunt: Pascal, C, etc.)
neprocedurale - ele se bazeaz pe reguli i sunt mai
apropiate de limbajul i modul de raionare natural
(cum sunt limbajele pentru inteligen artificial:
Prolog, Lisp).
10
Algoritm
Pentru a nelege noiunea de algoritm vom
porni de la un exemplu.
Exemplu:
S presupunem c mama ne roag s
cumprm pine.
Ce trebuie s facem?
11
11
12
13
Algoritmul:
Def.
Se numete algoritm o secven finit de
operaii ordonat i complet definit care
pornind de la datele de intrare produce
rezultatele.
14
14
Proprietatile algoritmului
Generalitatea const n aceea c un algoritm
nu rezolv o singur problem ci o clas de
probleme de acelai tip;
Finititudinea numrul transformrilor ce
trebuie aplicat unei informaii de intrare
pentru a obine imformaia final este finit;
Unicitatea toate transformrile prin care
trece informaia final sunt univoc
determinate de regulile algoritmului.
15
Un alt exemplu:
Presupunem c vrem s citim un numr ntreg (pe care noi l
introducem de la tastatur) i l tiprim (pe ecranul monitorului).
irul aciunilor ce trebuie executate este urmtorul:
- citete numrul
- tiprete numrul
i n acest caz am obinut un algoritm. Aciunile trebuie
executate n ordinea n care au fost puse. Astfel, nu putem tipri
numrul nainte ca acesta s fie cunoscut (citit).
16
16
Tem:
Scriei un algoritm care calculeaz suma a
dou numere ntregi a i b.
17
17
Rezolvare:
Algoritmul problemei
1. Solicit valori pentru a i b
2. Calculeaz S=a+b
3. Furnizeaz rezultatul pentru S
18
18
19
Metode de reprezentare
a algoritmilor
21
21
Limbajul pseudocod;
Schemele logice.
22
22
23
23
Exemplu:
S se calculeze suma a dou numere naturale
a i b.
Rezolvare:
a) Algoritmul:
24
24
b)
Pseudocodul:
citete a,b
S=a+b
scrie S
stop
25
25
26
Lista variabile
27
27
28
3. Bloc de calcul
(bloc de atribuire)
V = expresie
29
4. Bloc de decizie
(bloc decizional)
TRUE
condiie
FALSE
30
5. Bloc de nceput
(bloc de start)
START
31
6. Bloc de sfrit
(bloc de stop)
STOP
32
32
Exemplu:
33
b) Pseudocodul:
citete a,b
S=a+b
scrie S
stop
34
34
c) Schema logic:
START
a, b
S=a+b
S
STOP
35
35
Structuri de control
36
Structura secvenial
n care Secvena
transformare de date.
reprezint
o
37
37
EXEMPLU:
38
b) Pseudocodul:
citete x, y, z
S=x+y+z
P=x*y*z
D=x-y-z
scrie S, P, D
stop
39
39
c) Schema logic:
START
x,y,z
S=x+y+z
P=x*y*z
D=x-y-z
S, P, D
STOP
40
40
Structura decizional
Decizia reprezint alegerea unei operaii sau
a unei secvene de operaii dintre dou alternative
posibile. Forma structurii decizionale este
urmtoarea:
true
Secvena A
condiie
false
Secvena B
41
41
42
EXEMPLU:
b) Pseudocodul:
citete a, b
dac a>b atunci
max=a
altfel
max=b
scrie max
stop
44
44
c) Schema logic:
start
a, b
true
a>b
max=a
false
max=b
max
stop
45
45
true
condiie
false
Secvena A
46
46
limbaj
natural,
descris astfel:
execuia
poate
fi
- se evaluez condiia;
- dac condiia este adevrat, se execut Secvena
A apoi execuia structurii decizionale se ncheie;
- n caz contrar (dac condiia este fals) execuia
structurii decizionale se ncheie.
n pseudocod, execuia se descrie astfel:
dac condiie atunci
Secvena A
47
47
EXEMPLU:
Se citete o valoare ntreag a. n cazul n care aceasta este
egal cu 0 se va tipri mesajul am citit zero. Altfel, nu se va
da mesaj.
Rezolvare:
a) Algoritmul:
1. Se d valoare lui a
2. Se determin dac a este zero:
dac a este egal cu zero atunci se va tipri
am citit zero
48
48
b) Pseudocodul:
citete a
dac a=0 atunci
scrie am citit zero
stop
49
49
c) Schema logic:
start
a
true
a=0
false
am citit zero
stop
50
50
Structura repetitiv
Repetiia (bucla sau iteraia) asigur
execuia unei secvene n mod repetat
n funcie de o anumit condiie.
Exist trei tipuri de structuri repetitive:
- bucla cu test iniial;
- bucla cu test final;
- bucla cu contor.
51
51
false
true
Secvena A
52
52
53
53
Exprimarea n pseudocod:
54
54
Exemplu:
S se calculeze suma primelor n numere naturale.
Rezolvare:
a) Algoritmul:
1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Ct timp I este mai mic sau egal cu n se calculeaz suma dup
formula S=S+I
i I ia valoarea urmtorului termen al sumei, dup formula
I=I+1
4. Se afieaz valoarea sumei S.
55
55
b) Peudocodul:
citete n
S=0
I=1
ct timp I<=n execut
S=S+I
I=I+1
scrie S
stop
56
56
c) Schema logic:
start
n
s=0
i=1
i<=n
true
s=s+i
false
s
stop
i=i+1
57
57
Secvena A
condiie
false
true
58
58
1. Se execut secvena A
2. Se evalueaz condiia; dac rezultatul este fals,
se continu cu pasul 1), n caz contrar, se ncheie
execuia buclei.
59
59
Pseudocodul:
repet
Secvena A
pn cnd condiie
60
60
Exemplu:
S se calculeze suma primelor n numere naturale.
Rezolvare:
a) Algoritmul:
1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Se calculeaz suma dup formula S=S+I
i I ia valoarea I=I+1, pn cnd I>n.
4. Se afieaz valoarea sumei.
61
61
b) Pseudocodul:
citete n
S=0
I=1
repet
S=S+I
I=I+1
pn cnd I>n
scrie S
stop
62
62
start
n
s=0
i=1
s=s+i
i=i+1
i>n
true
false
c) Schema logic:
stop
63
63
contor<=vf
true
secvena A
contor=contor +pas
64
64
65
Pseudocod:
66
66
Exemplu:
S se calculeze suma primelor n numere naturale.
Rezolvare:
a) Algoritmul:
1. Se d valoare lui n;
2. Se d lui S valoarea 0 i lui I valoarea 1
3. Pentru I lund valori de la 1 pn la n se calculeaz
suma dup formula S=S+I
4. Se afieaz valoarea sumei.
67
67
b) Pseudocodul:
citete n
S=0
pentru I=1, n execut
S=S+I
scrie S
stop
68
68
c) Schema logic:
start
n
s=0
i=1
false
s
stop
i<=n
true
i=i+1
s=s+i
69
69
TEM:
1) S se calculeze aria si perimterul unui
dreptunghi
2) Sa se calculeze minimul dintre trei numere
naturale
Se cer:
- algoritmul;
- pseudocodul;
- schema logic.
70
70
Intrati la adresa:
cadredidactice.ub.ro/simonavarlan
cutai n stnga BTI i avei acolo cursurile
n format electronic.
Parola arhivei este bti2013
72
73