Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Catedra de Automatică şi Ştiinţe Aplicate
Programarea
calculatoarelor
Curs 2
Algoritmi
(continuare)
Pas 3: real l, L, p, A
citeşte l, L
Scrierea p 2*(l+L)
algoritmului în scrie „Perimetrul dreptunghiului este „, p
pseudocod: A l*L
scrie „Aria dreptunghiului este‟, A
stop
Pas 3: real x, y, A, B, C
citeşte x, y
Scrierea A 2 + x - y
algoritmului în Scrie „Valoarea expresiei A este „, A
pseudocod: B x*A+y
Scrie „Valoarea expresiei B este „, B
C A – 2 * B + x
Scrie „Valoarea expresiei C este „, C
stop
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de ieşire.
În cazul problemei date, avem:
Date de intrare: x număr real
Date de iesire: f număr real, reprezentând valoarea funcţiei date.
27.04.2011 Programarea calculatoarelor 11
2.2. Algoritmi cu structura de
decizie
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,
verificăm condiţiile date în expresia funcţiei:
1) Dacă x <= -7, atunci funcţia are valoarea: -6x + 20
2) Daca x > -7 si x <= 0, atunci funcţia are valoarea:
x+30
3) Daca x > 0, atunci funcţia are valoarea: sqrt(x) + 2
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: număr prim sau nu.
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de
ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: s şi p.
27.04.2011 Programarea calculatoarelor 25
2.3. Algoritmi cu structura
repetitivă cu test iniţial
Pas 2: Analiza problemei
La începutul problemei, vom iniţializa
două valori, s pentru sumă cu 0 şi p pentru
produs cu 1.
Apoi vom verifica, pe rând, toate valorile
naturale de la 1 la n şi le vom însuma,
respectiv înmulţi.
Soluţiile obţinute le vom afişa.
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de
ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: numerele perfecte mai mici sau egale decât n.
27.04.2011 Programarea calculatoarelor 29
2.4 Algoritmi cu structura
repetitivă cu test final
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor fi
prelucrate cu ajutorul algoritmului, împreună cu datele de ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: numerele din şirul lui Fibonacci.
27.04.2011 Programarea calculatoarelor 32
2.4 Algoritmi cu structura
repetitivă cu test final
Pas 2: Analiza problemei
La începutul problemei, vom iniţializa
două valori (a şi b) cu primele două
elemente ale şirului lui Fibonacci, adică cu
valori de 1.
Apoi, într-un ciclu repetitiv vom calcula
cu ajutorul unei a treia valori (variabila c)
suma lor şi vom da următoarele valori
variabilelor a şi b.
27.04.2011 Programarea calculatoarelor 33
2.4 Algoritmi cu structura
repetitivă cu test final
natural n, i, a, b, c
citeşte n
i 1
Pas 3: a 1
b 1
Scrierea repetă
algoritmului în c a+b
scrie c
pseudocod: a b
b c
i i+1
până când i > n
stop
27.04.2011 Programarea calculatoarelor 34
2.4 Algoritmi cu structura
repetitivă cu test final
PROBLEMA 10
Enunţ:
Fie un număr natural n de cinci cifre. Să se scrie un
algoritm care să calculeze suma cifrelor numărului dat.
Exemplu: Pentru n = 2178, se va afişa valoarea s =
2+1+7+8=18.
Pas 1: Stabilim care sunt datele de intrare, adică cele care vor
fi prelucrate cu ajutorul algoritmului, împreună cu datele de
ieşire.
În cazul problemei date, avem:
Date de intrare: n număr natural
Date de ieşire: suma cifrelor - s
27.04.2011 Programarea calculatoarelor 35
2.4 Algoritmi cu structura
repetitivă cu test final
Pas 2: Analiza problemei
La începutul problemei, vom iniţializa
valoarea sumei cifrelor numărului n dat cu
0.
Apoi, într-un ciclu repetitiv vom calcula
suma cifrelor numărului, ştiind că o cifră a
unui număr scris în baza 10 este dată de
n%10, iar câtul este dat de n/10.
natural n, s
citeşte n
Pas 3: s 0
repetă
Scrierea s s + n%10
algoritmului în n n/10
până când n = 0
pseudocod: scrie n
stop