Vous êtes sur la page 1sur 12

1.

Algoritmi
1.1 Etapele rezolvării unei probleme

Ex. Presupunem ca fiecare elev dintr-o clasă are 4 note la informatică si o a cincea notă in teză. Determinaţi un
algoritm pentru calculul mediei fiecărui elev.

media_arit × 3 + teza a+b+ c+ d


Rezolvare . media = ; media_arit =
4 4
înterg a, b, c, d, teza;
real media_arit, media;
citeşte a, b, c, d, teza;
media_arit ← (a + b + c + d ) ∕ 4;
media ← (media_arit*3 + teza) ∕ 4;
scrie media;

date de intrare prelucrări date de ieşire

un algoritm arată modul de soluţionare al unei probleme

Pentru rezolvarea unei probleme cu ajutorul calculatorului trebuie parcurse următoarele etape: analiza
problemei
1. găsirea unei metode de rezolvare a problemei
2. implementarea metodei de rezolvare intr-un limbaj de programare
3. testarea programului si corectarea erorilor

1.2 Noţiunea de algoritm


DEFINITIE: Prin algoritm înţelegem o metodă de soluţionare a unei clase de probleme reprezentata de o
succesiune finita de operaţii bine definite numite instrucţiuni.

Caracteristicile unui algoritm


a) claritatea – sunt descrise precis toate etapele ce trebuie parcurse până la obţinerea soluţiei.
b) universalitatea – metoda ce rezolva problema pe orice fel de date de intare.
c) finitatea – sa se termine după un număr finit de paşi.
d) realizabilitatea – paşii ce compun algoritmul trebuie sa reprezinte operaţii ce se pot executa pe calculator.

1.3 Date

Orice algoritm lucrează cu date. Data este un modul de reprezentare a informaţiei accesibil calculatorului cu
care se poate opera pentru a obţine noi informaţii.
Data = ( identificator, valoare, tip)

numele datei valoare ce se memorează tipul datei


în data respectiva
întreg a; // declarat o data cu nume a
a←1;
a – identificator, 1 – valoare, întreg – tip
întreg a12a ; întreg 1a1 - prima litera nu are voie sa fie cifra
Clasificarea datelor

1. -de intrare
-intermediare
-de ieşire
2. - constante (date a căror valoare rămâne constantă ori de câte ori rulăm programul/algoritmul
- variabile

Problemă: Fie R raza unui cerc. Calculaţi aria.


constanta real pi = 3,14;
real R, aria;
citeşte R;
aria←pi*R*R;
scrie aria;

1. Înainte de a folosi o variabilă in algoritm ea trebuie declarată, adică precizat tipul ei.
2. O variabilă poate fi referită printr-un nume si are asociată o valoare. Numele variabilei nu se schimbă pe
parcursul algoritmului dar valoarea acesteia se poate modifica.
3. O variabilă poate reţine numai valori de tipul declarat.

tipul numeric

Tipuri de date tipul logic ( A/F, T/F)

tipul caracter : caracter a


a←”A”

1.4 Expresia

Expresia este o combinaţie validă de operatori şi operanzi.


Operanzii sunt sume de date variabile sau constante sau funcţii ce furnizează un rezultat prin chiar numele lor.

a ← a + 3 expresie

operanzi operatori

sqrt(4)=2 //funcţie ce calculează √ x


întreg x;
x←1;
x←x+1; // x=2
x←x+2; // x=4
scrie x;

Operatorii sunt caractere speciale (+, -, /, etc.) sau cuvinte cheie (mod, end, etc.) prin intermediul cărora se
reprezintă operaţiile ce se efectuează in cadrul unui algoritm.
Cuvintele cheie sunt cuvinte rezervate ce nu mai pot fi folosite ca identificatori pentru date deoarece au un
înţeles bine stabilit în cadrul reprezentării unui algoritm.
A. Operatori de atribuire: nume ←expresie
întreg n
n←100 //n=100
n←n+100 //n=200

B. Operatori matematici: sunt operatori binari (acţionează asupra doi operanzi) şi se aplica pe date de tip numeric si
furnizează un rezultat de tip numeric.

+, -, *, / (împărţire reala)

real a;
a←0;
a←a+4;
a←5-8;
a←a*6
a←a/2 //a=-9

div → împărţire întreagă (câtul împărţirii)


mod→ împărţire întreagă (restul împărţirii)
- operatorii div si mod se atribuie numai pe tip întreg
a←3
a←a mod a //a=1
a←a div 2 //a=0

C. Operatori raţionali (de comparaţie): <, >, <=, >=, <> diferit, = (egalitate)
a←1 a←2
a=1 →true a=1 →false
- sunt operatori binari ce se aplică pe operanzi de tip numeric şi logic

D. Operatori logici
- se aplica pe operanzi de tip logic şi furnizează un rezultat de tip logic (F/T sau 0,1)
not – negaţie logica
and – „şi” logic or – „sau” logic
a b a and b a b a or b
T T T T T T
T F F T F T
F T F F T T
F F F F F F

Probleme:

1. Sa se evalueze expresiile:
a) 5*7*4 + 4 div 2 – 8 mod 2 div 4= 140 + 2 – 0 div 4 = 142
b) 32735 mod 10 + 32735 div 10 mod 10 + 32735 div 100 mod 10= 5 + 3 + 7= 15
c) (3<=5) and not (7>8)= T and T= T
d) (4<3) or (7>9 mod sqrt(4)) = F or T = T

2. Scrieţi condiţia prin care testaţi dacǎ valoarea unui număr întreg n este:
a) Un număr impar;
n mod 2 = 1
n mod 2 <> 0
b) Un număr divizibil cu 3 sau cu 5;
(n mod 3 = 0) or (n mod 5 = 0)
c) Un număr divizibil cu 3 şi cu 5;
(n mod 3 = 0) and (n mod 5 = 0)
d ) Un număr divizibil cu 3 dar nu şi cu 5.
n mod 3= 0 and not(n mod 5 = 0)
3. Scrieţi condiţiile în care se pot efectua următoarele calcule:
a) a) a/b b) (x+y) mod z c) sqrt (a+1) d) sqrt (a*a +b*b)
b<>0 y<>0 si (x+z), z întregi a+1>=0 nici o condiţie

4. Precizaţi condiţia pe care trebuie sa o îndeplinească trei date ca sa reprezinte lungimile laturilor unui triunghi.
(a+b>c) and (b+c>a) and (a+c>b)

5. Dacǎ a, b, c reprezintă laturile unui triunghi precizaţi condiţia pe care trebuie sa o îndeplinească aceste date pentru ca
triunghiul să fie:
a) echilateral b) isoscel
(a=b) and (b=c) (a=b) and (b<>c) or )b=c) and (c<>a) or (a=c) and (b<>c)
c) dreptunghic
(a*a+b*b=c*c and a<c and b<c) or (b*b+c*c=a*a and b<a and c<a) or (a*a+c*c=b*b and a<b and c<b)
d) dreptunghic isoscel
(a*a+b*b=c*c and a<c and b<c and a=b) or (b*b+c*c=a*a and b<a and c<a and b=c) or (a*a+c*c=b*b and a<b and c<b and
a=c)

6. Pentru a testa ultima cifra a unui număr întreg n, aceasta se extrage cu expresia cifra n mod 10. Scrieţi condiţia prin care
testaţi dacǎ ultima cifra a unui număr n este:
a) egala cu 2 c) diferită de 3 sau 5 d)para
n mod 10=2 n mod 10<>3 or n mod 10 <>5 n←n mod 10;
n mod 2 <> 1 or n mod 2=0

7. Scrieţi o expresie care are valoarea adevărat dacǎ şi numai dacǎ:


a) Valoarea memorata în variabila reala x este în intervalul [a, b] cu a şi b variabile reale
x>=a and x<=b
b) Valoarea memorata în variabila reala x este în intervalul [a, b] U [c, d] cu a, b, c şi d variabile reale.
x>=a and x<=a or x>=c and x<=d
c) Numărul natural memorat în variabila x este par şi are doua cifre.
(x>=a) and (x<=99) and (x mod 2=0)
d) Valorile variabilelor a, b şi c sunt în ordine strict crescătoare.
(a<b= and (b<c)
e) Numerele întregi memorate în variabilele x şi y sunt numere consecutive.
(x=y+1) or (y=x+1)
f) Numerele naturale memorate în variabilele x şi y sunt ambele nenule.
x<>0 and y<>0

8. Ce valori poate lua expresia e pentru a ∈ {−5 ,−10 ,−20} şi b ∈ {4 ,16 } cu e b+4>1 or a+b <0 ?
T

9. Ce va afişa următorul algoritm dacǎ se citesc valorile 7 şi 23?


întreg a, b;
citeşte a, b;
a←a+b //a=30
b←a-b //b=7 metoda de inversare a valorii a doua variabile fără a utiliza o variabilă auxiliară
a←a-b //a=23
scrie a, b;

10. Ce va afişa următorul algoritm dacǎ se citeşte valoarea 1234?


întreg a, b, c;
Citeşte a; //a=1234
b ← a mod 10; //b=4
a ←a div 100; //a=12
c ← b*100 +a; //c=412
Scrie c;

11. Ce valoare va avea variabila a la sfârşitul următoarei secvenţe de instrucţiuni?


întreg a, b;
a 3;
b 7;
b a + b/2; //b=6,5
a a – b/2 * a; //a=-7,25
12. Se introduc de la tastatura numerele reale a şi b. Sa se interschimbe valorile variabilelor a şi b, apoi sa se afişeze :
real a, b, aux
citeşte a, b
aux←a
b←a
aux←b
scrie a, b

13. Fie a, b,c trei numere reale ce reprezintă lungimile laturilor unui triunghi. Sa se scrie un algoritm care sa calculeze şi sa
afişeze perimetrul şi aria triunghiului.
real a, b, c, P, A;
citeşte a, b, c;
P←a+b+c
A←sqrt(P/2(P/2-a)*(P/2+b)*(P/2+c))
scrie P, A;

14. Fie A şi B doua puncte în plan, specificate prin coordonatele lor carteziene. Sa se scrie un algoritm prin care sa calculeze si
sa afişeze lungimea segmentului AB.
y
real AB, x1, x2, y1, y2;
citeste x1, x2, y1, y2;
AB←sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
A scrie AB;
y2
B
y1

x1 x2 x

15. Se citeşte de la tastatura un număr natural x cu exact 5 cifre. Scrieţi un algoritm ce afişează:
a) produsul cifrelor de rang impar. b) media aritmetica a cifrelor de rang par.
întreg a, b, c, d, e, x; întreg a, b, c, d, e, x;
citeşte x; citeşte x;
real P; real M;
e← x mod 10; e← x mod 10;
x← x div 10; x ←x div 10;
d← x mod 10; d← x mod 10;
x← x div 10; x←x div 10;
c ←x mod 10; c← x mod 10;
x← x div 10; x← x div 10;
b ←x mod 10; b ←x mod 10
x← x div 10; x← x div 10
a ← x mod 10; a← x mod 10
P←a*c*e; M←(b*2)/2
scrie P; scrie M;

16. Se citesc de la tastatura doua numere naturale a şi b. Scrieţi un algoritm care, fără a efectua înmulţirea numerelor afişează
ultima cifra a produsului a*b.
întreg a, b, x, y, P;
citeşte a, b;
a mod 10←x
b mod 10←y
P←x*y mod 10
scrie P;

17. Scrieţi un algoritm ce citeşte un număr natural x cu exact patru cifre, apoi afişează media aritmetica a cifrelor sale.
întreg x, a, b, c, d;
citeşte x;
real M;
d← x mod 10;
x← x div 10;
c← x mod 10;
x← x div 10;
b← x mod 10;
x← x div 10;
a ←x mod 10;
M←(a+b+c+d)/4
scrie M;

18. Se citeşte de la tastatura un număr natural x de 4 cifre. Sa se afişeze numerele obţinute prin aplicarea următoarelor operaţii:
a) schimbarea primei cifre cu ultima; b) schimbarea cifrelor din mijloc intre ele.
întreg a, b, c, d, x; întreg a, b, c, d, x;
citeşte x; citeşte x;
d← x mod 10; d← x mod 10;
x← x div 10; x← x div 10;
c← x mod 10; c ←x mod 10;
x← x div 10; x ←x div 10;
b← x mod 10; b← x mod 10;
x← x div 10; x ←x div 10;
a← x mod 10 a← x mod 10;
x←d*1000+b*100+c*10+a; x←a*1000+c*100+b*10+d;
scrie x; scrie x;

19. Calculați:
a) 2*8*50 + 6 div 4 – 13 mod 7 div 4= 800+1-1=800 b) (6<=6) and (7<=8 or 11 mod 3 =1)= T and T=T

20. Scrieți o expresie (condiție) ce are valoarea adevărat (True) dacǎ și numai dacǎ:
a) Valorile variabilelor a, b și c sunt în ordine strict descrescătoare.
(a>b) and (b>c)
b) Valoarea memorata în variabila reala x este în intervalul [a, b] U [c, d] cu a, b, c și d variabile reale.
(x>=a and x<=b) or (x>=c and x<=d)

21. Ce va afișa următorul algoritm dacǎ se citește valoarea 5436?


întreg a, b, c;
citeşte a;
b←a mod 100 //b=36
a←a div 10 +3 //a=546
c←b*10+a div 2 //c=633
scrie a, b, c; //a=546, b=36, c=633

22. Scrieți un algoritm ce afișează aria și perimetrul unui dreptunghi dacǎ se citesc de la tastatura lungimea și lățimea.
întreg a, b;
real A, P;
citeşte a, b;
P←2*(a+b)
A←a*b
scrie A, P;

23. Scrieți un algoritm ce calculează și afișează cifra de control a unui număr n de cel mult 4 cifre citit de la tastatura. Cifra de
control a unui număr întreg se obține efectuând suma cifrelor sale, apoi suma cifrelor acestei sume etc. pana se obține o suma
formata dintr-o singura cifra. Exemplu: Cifra de control a numărului n= 1971 este 9. (1+9+7+1=18; 1+8=9)
întreg a, b, c, d, s, x, cifra;
citeşte x;
d←x mod 10
x←x div 10
c←x mod 10
x←x div 10
b←x mod 10
x←x div 10
a←x mod 10
s←a+b+c+d
cifra←(s mod 10)+(s div 10)
scrie cifra;
TEST nr.1

1) Calculaţi:
a) 20-3*13div7+26mod9div3 b)not(9=6) and(7>=7 or 13 mod 5=0)
raspuns: a) 17 b)A

a−b
6a
2) Cum scriem corect (la informatica)? y=x- 2
si z = x - y * x
b c−
y
raspuns y←x*x-6*a/b z←x-y*(a-b)/(c-x/y)

3)Scrieti o expresie logica (conditie) ce are valoarea adevarat (true) daca si numai daca:
a)Numarul întreg n are minimum 2 cifre
b) Numărul n nu aparţine intervalului [a, b) unde a<b
c) Numărul întreg n este par dar nu este diviyibil cu 3.
raspuns a) n>=10
b)n<a or n>=b
c)n mod 2 =0 and n mod 3<>0

4) Ce afişează următorul algoritm daca se citeşte valoarea 31752?


intreg a, b, c;
citeşte c;
b←c div 100
c←c*2 mod 10 + b div 7
a←b*10 + c mod 7
scrie a, b, c;
raspuns a=3170 b=317 c=49

5) Se citesc doua numere naturale a şi b, fiecare având cel mult 2 cifre( adică a<100 si b<100). Scrieţi un algoritm ce:
a) Calculează şi afişează suma cifrelor celor doua numere.
b) Formează şi afişează un nou numar alcătuit din ultima cifră a lui a şi ultima cifră a lui b, in această ordine.
raspuns întreg a, b, c, d, e, f
citeşte a, b;
d←a mod 10
c←a div 10
f←b mod 10
e←b div 10
scrie c+d+e+f;
scrie d*10+f

Principiile programării structurate

1. Reprezentarea algoritmilor: - prin scheme logice


- prin limbaj pseudocod
Limbajele de tip pseudocod folosesc diferite cuvinte numite cuvinte cheie prelucrate dintr-un limbaj natural ce au un
înţeles strict, ele neputând fi folosite in alt context
- declararea variabilelor→tip data, nume data
- citirea variabilelor→citeşte nume variabilă 1, nume variabilă 2, …

2.Structuri fundamentale in pseudocod


2.1) Structura liniară (secvenţa) – este structura in care paşii se execută in ordinea in care au fost scroşi. Un pas al structurii
se execută numai daca au fost executaşi toţi paşii care îl preced.
Ex. întreg a, b;
real m1;
citeşte a, b;
m1←(a+b)/2
scrie m1;
2.2) Structura alternativă (decizia) – prin structura alternativă se face selectarea intre doua acţiuni in funcţie de
îndeplinirea sau neîndeplinirea unei condiţii. Executarea uneia dintre cele două acţiuni posibile depinde de condiţia preciyată
printr+o expresie logică.
Ex. dacă (<condiţie>);
atunci instrucţiune 1;
[altfel instrucţiune 2 ];
sfârşit dacă;

efect:se evaluează condiţia dacă valoarea condiţiei este adevărat şi atunci se execută instrucţiune 1. Dacă valoarea este fals, se
execută instrucţiune 2.
Obs. 1."Dacă" marchează începutul structurii, iar "sfârşit dacă" sfârşitul ei.
2. Pe fiecare ramură pot exista mai multe instrucţiuni
3. Dacă pe ramura altfel nu este necesară efectuarea niciunei operaţii atunci ea poate lipsi.

Exerciţii 1. Se citește de la tastatura un număr întreg x. Scrieți un algoritm ce calculează și afișează modulul lui x.
întreg x;
citeşte x;
dacă (x>=0)
atunci scrie x;
altfel scrie –x;
sfârşit dacă

2. Scrieți un algoritm pentru rezolvarea ecuației de gradul II de forma ax2+bx+c=0, unde coeficienții a,b și c se citesc de la
tastatura. Se vor trata toate cazurile posibile (delta negativ, a=0 etc.)
real a, b, c, x, delta;
citeşte a, b, c, xş
daca (x=0)
atunci daca (b=0)
atunci daca(c=0)
atunci scire,,Ecuaţia are o infinitate de soluţii"
altfel scrie ,,Ecuaţia nu are soluţii"
sf.daca
altfel x←-c/b
scrie x
sf.daca
altfel delta←b*b-4*a*c
atunci scire "ecuaţia nu are soluţii reale"
altfel scrie(-b+sqrt(delta))/(2*a), (-b-sqrt(delta))/(2*a);
sf.daca

3.Se citesc 3 numere întregi a, b și c. Scrieți un algoritm ce afișează suma nr. pare și cate dintre ele sunt impare.
întreg a, b, c, suma, nr;
citeşte a, b, c;
suma←0
nr←0
daca (a mod 2 =0)
atunci suma←suma+a
altfel nr←nr+1
sf.daca
daca (b mod 2=0)
atunci suma←suma+b
altfel nr←nr+1
sf.dacă
dacă (c mod 2=0)
atunci suma←suma+c
altfel nr←nr+1
sf.dacă
scrie suma, nr
TEST nr. 2

1) Fie următorul algoritm descris in pseudocod:


întreg n, a, b; a)Ce se afişează dacă n=8? Dar daca n=59?Dar dacă n=1?
citeşte n; b)Scrieţi un număr pentru care algoritmul va afişa mesajul: "Nu imi
daca n>10 or n mod 3=1 place numărul". Justificaţi alegerea numărului.
atunci a←n mod 10; b←n div 6
scrie a+b mod 4
altfel dacă n mod 2=0
atunci a←n mod 5 ; b←n div 5;
scrie a, b;
altfel scrie "nu imi place numărul";
sf. dacă
sf.daca
raspuns a)n=8 →3, 1 n=59→10 n=1→nu imi place numarul
b) ex:3 numărul trebuie sa fie impar, mai mic decât 10, si restul imparţirii la 3 sa nu fie 1.

2)Să se afişeze cel mai mare număr par dintre 2 numere introduse de la tastatură. Dacă numerele citite sunt ambele impare,
atunci să se afişeze suma lor.
raspuns
întreg a, b
citeşte a, b;
dacă (a mod 2 =1)
atunci dacă (b mod 2 =1)
atunci scrie a+b
altfel scrie b
sf.dacă
altfel dacă (b mod 2=1)
atunci scrie a
altfel dacă (a>b)
atunci scrie a
altfel scrie b
sf.dacă
sf.dacă
sf.dacă

3) Se consideră 2 mulţimi A şi B, fiecare fiind formată din elemente consecutive crescatoare. Cunoscându-se primul element din
fiecare mulţime şi nr. de elmente al mulţimii, determinaţi intersecţia lor. Dacă intersecţia este vidă se va afişa un mesaj.
Verificaţi ca nr. de elemente citite să fie pozitiv. Ex.: Intrare: 2(primul element al mulţimii A), 4(nr. de elemente al mulţimii),
5(primul element al mulţimii B), 3(nr. de elemente al celei de+a doua mulţimi).(A={2,3,4,5}, B={5,6,7}) Iesire: 5 1.
raspuns
întreg a, b, x, y, c, d, max, min
citeşte a, b, x, y
c←a+x
d←b+y
dacă(x>0 and y>0)
atunci dacă(a>b)
atunci max←a
altfel max←b
sf.dacă
dacă (c>d)
atunci min←d
altfel min←0
sf.dacă
dacă (max<=min)
atunci scrie max, min
altfel scrie "mţ. vidă"
sf.dacă
altfel scrie "nr. incorecte"
sf.dacă

2.3)Structuri repetitive

2.3.1) cu nr. necunoscut de paşi

2.3.1.1) condiţionate anterior (cu test iniţial)


cât timp (<condiţie>) execută
instrucţiuni
sf.cat timp

EFECTUL
I se evaluează condiţie
II dacă valoarea condiţiei este F, se iese din instrucţiunea cât timp
III dacă valoarea condiţiei este A se execută instrucţiuni apoi se revine la pasI

OBS
-instrucţiunile se execută repetat cât timp valoarea condiţiei este adevărată. Pentru ca ciclul să nu fie infinit este obligatoriu ca
instrucţiunile ce se execută să modifice cel puţin una din variabilele ce intervin în condiţie astfel încât aceasta să poată lua
valoarea F

Exerciţii
1. Se citesc numere întregi de la tastatura pana la întâlnirea lui 0. Scrieți un algoritm ce determina minimul/maximul dintre
numerele citite.
întreg n, min, max;
citeşte n;
min←n
cât timp (n<>=) execută
dacă (n<min) atunci min←n
sf.dacă
dacă (n>max) atunci max←n
sf.dacă
citeşte n
sf. cât timp
scrie min, max

2. Se citește de la tastatura un număr natural d, apoi se citesc succesiv numere naturale atâta timp cat suma nume-relor citite nu
depaseste valoarea d. Sa se afișeze suma numerelor ce se divid cu 5 dintre cele citite.
întreg d, n, ST, S5
citeşte d
citeşte n
ST←n
S5←0
cât timp (ST<d) execută
dacă ( n mod 5=0)
atunci S5←S5+n
sf.dacă
citeşte n
ST←ST+n
sf. cat timp
scrie S5

3. Sa se afișeze inversul lui n și sa se determine dacǎ n este palindrom (citit de la st->dr și de la dr->st este același).
Se citesc numere întregi de la tastatura pana la întâlnirea lui 0.
întreg n, inv, cifra, oldN
citeşte n
inv←0
oldN←n
cat timp (n<>0) execută
cifra←n mod 10
inv←inv*10+cifra
n←n div 10
sf. cat timp
daca (oldN=inv) atunci scrie "palindrom"
sf.daca
2.3.1.2)condiţionate posterior (cu test final)
repetă execută
instrucţiuni instrucţiuni
pana cand (<condiţie>) cât timp (<condiţie>)

EFECT EFECT
repetă grupul de instrucţiuni până când condiţia devine execută repetat grupul de instrucţiuni atâta timp cât condiţia
adevărată este adevărată

OBS
diferenţa dintre structurile repetitivă cu număr necunoscut de paşi condiţionate posterior si cele anterior este ca: grupul de
instrucţiuni se executa cel puţin o dată la structurile condiţionate posterior.

Exerciţiu
Să se citească n numere de la tastatură.
întreg n, a; întreg n, a;
citeşte n citeşte n
repetă execută
citeşte a citeşte a
n←n-1 n←n-1
până când (n=0) cat timp (n>0)

2.3.2) cu nr cunoscut de paşi


Pentru contor←vi, vf, [pasv] execută
instrucţiuni
sf.pentru

1. variabila contor(trebuie declarată) se foloseşte pentru a număra de câte ori s-a executat/repetat grupul de instrucţiuni
2. dacă incrementarea contorului se face cu 1, atunci pasv poate să lipsească.
3. EFECTUL
pasI – se atribuie variabilei contor valoarea lui vi. vi poate sa fie variabila sau constanta numaerica întreagă
pas II – dacă contorul este mai mare decât vf, unde vf-valoare finală(constantă sau variabilă), atunci se iese din structura
repetitivă. Dacă contorul este ≤ decât vf atunci se execută grupul de instrucţiuni şi apoi se incrementează (creşte) val. variabilei
contor cu v sau cu 1(dacă pasv liăseşte), după care se reia pasII

OBS: contor←5,4,-1√
contor de obicei i, j..

Exerciţii
1. Sa se afișeze primele n numere naturale divizibile cu 5.
întreg n; întreg n;
citeşte n; citeşte n;
pentru i←1,n execută i←1
scrie i*5 cât timp (i<=n) execută
sf.pentru scrie i*5
i←i+1
sf.cat timp

2. Calculați suma: S=1−a+ a2−a 3+ a4 + …+(−1)n × an cu a real și n natural citite de la tastatura.


întreg i,n
real S, a, p
citeşte n, a
S←1; p←1;
pentru i←1,n execută
dacă( i mod 2=0)
atunci S←S+p*a
altfel S←S-p*a
sf.dacă
p←p*a
sf.pentru
scrie S

3.Scrieți un algoritm ce determina suma tuturor resturilor impartirilor numerelor de 4 cifre la o valoare v citita.
întreg v, S, i
citeşte v;
S←0;
pentru i←1000,9999 execută
S←S+(i mod v)
sf.pentru

Vous aimerez peut-être aussi