Documente Academic
Documente Profesional
Documente Cultură
Programarea Calculatoarelorcap 1
Programarea Calculatoarelorcap 1
CAPITOL 1
ALGORITMI
bloc delimitaror
bloc de citire/scriere
bloc de atribuire
bloc de decizie Nu Da
Condiţi
e
Nume
bloc de procedură procedură
săgeată
conector de blocuri
a)structura secvenţială
Operaţie 1
Operaţie 2
4 Algoritmi.
b)structura alternativă
Nu Da
Condiţi
e
Operaţii Operaţii
c)structura repetitivă
Nu
Condiţi
e
Da
Operaţii
Operaţii
Da Nu
Condiţi
e
Limbajul pseudocod
Limbajele de tip pseudocod folosesc o sintaxă mult mai liberă decât cele folosite de
limbajele de programare. Un algoritm scris în acest limbaj are avantajul că poate fi înţeles de
toţi programatorii, pe când un algoritm scris într-un limbaj de programare va fi înţeles doar de
cei care cunosc acel limbaj.
Limbajele de tip pseudocod folosesc diferite cuvinte cheie preluate dintr-un limbaj
natural. Exemple: dacă, atunci, altfel...
Expresiile aritmetice se vor scrie:
a x a^ x
a a /b
b
a mod b = restul împărţirii lui a la b;
a div b = câtul împărţirii lui a la b.
Algoritmi. 5
Aplicaţii
Aplicaţia 1:
Pentru funcţia:
x 3 2 x 1, x 0
f(x) =
x x 5, x 0
2
să se realizeze schema logică şi pseudocodul care calculează valoarea acestei funcţii într-un
punct x dat.
Citeşte x
Nu
x0 Da
f x2 x 5 f x3 2 x 1
Scrie f
Stop
6 Algoritmi.
Pseudocod:
Început algoritm
citeşte x
dacă x 0 atunci f← x 3 2 x 1
altfel f← x 2 x 5
sfârşit dacă
scrie f
Sfârşit algoritm
Aplicaţia 2:
Să se realizeze schema logică şi să se scrie pseudocodul care calculează media finală a
unui student cunoscând notele obţinute la analiză matematică (n1), fizică (n2), utilizarea
calculatoarelor (n3), precum şi creditele aferente acestor materii.
Formula cu care se calculează media este următoarea :
n1 * c1 n2 * c 2 n3 * c3
Media =
c1 c 2 c3
Start
Schema logică:
Citeşte n1, n2,
n3, c1, c2, c3
Media 9.5
Nu Da
Media 8.0 Da
Nu Scrie
“bursă de
merit”
Scrie Scrie
“nebursier” “bursă de
student”
Stop
STOP
Algoritmi. 7
Pseudocod:
Început algoritm
citeşte n1, n2, n3, c1, c2, c3
n1 * c1 n2 * c 2 n3 * c3
media ←
c1 c 2 c3
dacă media ≥ 9.5 atunci scrie ” bursă de merit”
altfel dacă media ≥ 8.0 atunci scrie ” bursă de student”
altfel scrie ” nebursier”
sfârşit dacă
sfârşit dacă
scrie media
Sfârşit algoritm
Aplicaţia 3:
Să se realizeze schema logică şi pseudocodul pentru rezolvarea ecuaţiei de gradul 2.
Ecuaţia de gradul 2 are următoarea formă:
ax2 + bx + c = 0
Citeşte a, b, c
NU DA
a
=
0
b 2 4ac
NU DA
b
=
0
c
0
NU NU DA
DA x c
b =
0
0 b
NU DA
x1 “Ecuaţia nu “Ecuaţia are o
b
2a are soluţii” infinitate de
b x1 soluţii”
Re 2a
2a x2 x1
b
x2
2a
Scrie x
Im
2a Scrie x1, x2
Scrie x1, x2
Scrie Re, Im
Stop
8 Algoritmi.
Pseudocod:
Început algoritm
citeşte a, b, c
dacă a=0 atunci
dacă b=0 atunci
dacă c=0 atunci scrie “Ecuaţia are o infinitate de soluţii”
altfel scrie “Ecuaţia nu are soluţii”
sfârşit dacă
c
altfel x←
b
scrie x
sfârşit dacă
altfel ∆← b 2 4ac
b
dacă ∆ > 0 atunci x1 ←
2a
b
x2 ←
2a
scrie x1, x2
b
altfel dacă ∆ = 0 atunci x1 ← -
2a
x2 ← x1
scrie x1, x2
b
altfel Re ← -
2a
Im ←
2a
scrie Re, Im
sfârşit dacă
sfârşit dacă
sfârşit dacă
Sfârşit algoritm
Aplicaţia 4:
Find date 3 numere reale să se determine dacă acestea pot fi lungimile laturilor unui
triunghi şi în caz afirmativ să se stabilească natura acestuia.
Avem următoarele condiţii:
- triunghi echilateral: a = b = c
- triunghi dreptunghic: a 2 b 2 c 2 sau b 2 c 2 a 2 sau c 2 a 2 b 2
- triunghi isoscel: a =b sau b = c sau a =c
Schema logică:
Algoritmi. 9
Start
Citeşte a, b, c
a,b,c>0 şi
a<b+c şi b<c+a
şi c<b+a
DA NU
a=b=c
Scrie a 2 b 2 c 2 sau
“echilateral” DA NU
b 2 a 2 c 2 sau
c 2 a 2 b2
Scrie
“dreptunghic”
DA a=b sau NU
b=c sau
c=a
Scrie
“isoscel”
Stop
Pseudocod:
Început algoritm
citeşte a, b , c
dacă a>0 şi b>0 şi c > 0 şi a < b+c şi b< c + a şi c< b+a atunci
dacă a = b = c atunci scrie ” echilateral”
altfel dacă a 2 b 2 c 2 sau b 2 c 2 a 2 sau
c2 a2 b2
atunci scrie ” dreptunghic”
sfârşit dacă
dacă a = b sau b = c sau a = c
atunci scrie ”isoscel”
sfârşit dacă
sfârşit dacă
sfârşit dacă
Sfârşit algoritm
Aplicaţia 5:
Să se realizeze schema logică şi pseudocodul care determină suma S şi produsul P pentru
un număr n citit.
10 Algoritmi.
S = 1 + 2 + 3 + …..+ n
P = 1 * 2 * 3 * ……* n
Schema logică:
Start
Citeşte n
S 0
P1
i 1
Nu
in
Da Scrie S, P
S S+i
PP * i
i i+1
Stop
Pseudocod:
Început algoritm
Citeşte n
S0
P1
i1
cât timp i n execută S S+i
P P*i
i i+1
sfârşit cât timp
scrie S, P
Sfârşit algoritm
Aplicaţia 6:
Să se realizeze schema logică şi pseudocodul care să determine media generală a unui
student cunoscând cele n note ale sale în cursul unui an de studiu.
Algoritmi. 11
Schema logică:
Start
Citeşte n
S 0
i 1
Nu
in
Da M=S/n
Citeşte nota
Scrie M
S S + nota
i i+1
Stop
Pseudocod:
Început algoritm
citeşte n
S←0
i ←1
cât timp i ≤ n execută citeşte nota
S ← S + nota
i ← i +1
sfârşit cât timp
M=S/n
Scrie M
Sfârşit algoritm
Aplicaţia 7:
Să se realizeze schema logică şi pseudocodul care calculează suma urmatoare pentru un
număr n citit.
12 Algoritmi.
S = 1 + 3 + 5 + ……..+ 2n-1
Schema logică:
Start
Citeşte n
S 0
i 1
Nu
i2n-1
Da Scrie S
S S+i
i i+2
Stop
Start
Pseudocod:
Început algoritm Citeşte n
citeşte n
S←0 S 0
i←1 nri0
cât timp i ≤ 2n-1 execută S←S+i nrd0
i1
i←i+2
sfârşit cât timp
scrie S
Sfârşit algoritm.
Nu
in
Aplicaţia 8:
Să se realizeze schema logică şi pseudocodul Da care determină :Scrie S, nrd,
-numărul elementelor impare Citeşte a
nri
nrinri+1 SS+a
Nu Da
a mod 5 =0
nrdnrd+1
Schema logică:
ii+1
Algoritmi. 13
Pseudocod
Început algoritm
citeşte n
i1
nri 0
nrd 0
S0
cât timp i n execută citeşte a
dacă a mod 2 = 0 atunci S S+a
altfel nri nri+1
sfârşit dacă
dacă a mod 5 = 0 atunci nrd=nrd+1
sfârşit dacă
i i+1
sfârşit cât timp
14 Algoritmi.
scrie S, nri, nrd
Sfărşit algoritm
Aplicaţia 9:
Să se realizeze schema logică şi pseudocodul care determină numărul elementelor
negative şi suma elementelor pozitive dintr-un şir de n numere citite.
Schema logică:
Start
Citeşte n
nr0
S0
i1
Nu
in
Da Scrie nr,S
Citeşte a
Stop
Nu Da
a<0
SS + a nrnr + 1
ii+1
Pseudocod:
Început algoritm
citeşte n
nr 0
S 0
i 1
cât timp i n execută citeşte a
dacă a<0 atunci nr nr+1
altfel S S+a
sfârşit dacă
i i+1
sfârşit cât timp
Sfârşit algoritm
Algoritmi. 15
Aplicaţia 10:
Să se realizeze schema logică şi pseudocodul care determină suma cifrelor unui număr
întreg n citit.
Schema logică:
Start
Citeşte n
S 0
Nu
n0
Da Scrie S
r n mod 10
SS+r
n[n/10]
Stop
Pseudocod:
Start
Început algoritm
citeşte n
S 0 Citeşte n, a
Stop
Nu Da
a > max
Nu maxa
a<min
Da
min a
Schemă logică:
ii+1
16 Algoritmi.
Pseudocod:
Început algoritm
Citeşte n, a
max a
min a
i 2
cât timp i n execută citeşte a
dacă a>max atunci max a
altfel dacă a<min atunci min a
sfârşit dacă
sfârşit dacă
i i+1
sfârşit cât timp
scrie max, min
Sfârşit algoritm
Aplicaţia 12:
Să se realizeze schema logică care să calculeze şi să se afişeze valoarea expresiei (a-m)^n/
(n-a)^m pentru a, m, n citite de la tastatură m, n 0 întregi şi a n.
Algoritmi. 17
Citeşte m
Nu m0 şi
m=[m]
Da
Citeşte n
Nu n0 şi
n=[n]
Da
Citeşte a
Nu an
Da
P1
i1
Nu
in
Da EP
PP*(a-m) P1
ii+1 i1
in
Da
EE / P
PP*(n-a)
ii+1
Scrie E
Stop