ISTRUCTIUNEA

IF

PROBLEMA 1.1.1 Se considera trei numere intregi.Sa se scrie un program care determina numarul mai mare. Program P1_1; Uses crt; Var a,b,c,d,f:integer; Begin clrscr; Writeln('introdu numerele a,b,c:'); Readln(a,b,c); If a>b Then d:=a Else d:=b; If c>d Then f:=c Else f:=d; Writeln('f=', f); Readkey; End.

1

PROBLEMA 2.1.2 Se considera patru numere intregi.Sa se scrie un program care determina numarul mai mic. Program P1_2; Uses crt; Var a,b,c,d,f,e,g:integer; Begin clrscr; Writeln('introdu numerele a,b,c,d:'); Readln(a,b,c,d); If a<b Then f:=a Else f:=b; If c<d Then e:=c Else e:=d; If f<e Then g:=f Else g:=e; Writeln('g=', g); Readkey; End.

2

PROBLEMA 3.1.3 Se considera doua numere intregi.Daca primul numar este negativ , atunci suma lor se micsoreaza de 5 ori,in caz contrar-se mareste de 5 ori. Program P1_3; Uses crt; Var a,b:integer; x:real; Begin clrscr; Writeln('introdu numerele a,b:'); Readln(a,b); If a<0 Then x:=(a+b)/5 Else x:=5*(a+b); Writeln(x:5:4); Readkey; End.

3

PROBLEMA 4.1.4 Se considera doua numere intregi.Daca primul numar este mai mare decit modulul celui deal doi lea numar,atunci primul numar se micsoreaza de trei ori,in caz contrar numerele ramin neschimbate. Program P1_4; Uses crt; Var a,b:integer; x:real; Begin clrscr; Writeln('introdu numerele a,b:'); Readln(a,b); If a>abs(b) Then x:=a/3 Else Begin a:=a; b:=b; End; Writeln(x:5,a:5,b:5); Readkey; End.

4

b:5). End. 5 .b:integer. Readkey.PROBLEMA 5. Program P1_5. x:real. Uses crt.Daca primul numar este mai mare decit modulul celui deal doilea numar. Writeln('Introdu numerele a. Var a. Readln.1.in caz contrar numerele ramin neschimbate. Begin clrscr. Readln(a. b:').b).5 Se considera doua numere intregi. If a>abs(b) Then x:=a/3 Else Writeln(a:5.atunci primul numar se micsoreaza de trei ori. Writeln(x:5).

6. If a>0 Then Writeln(a+100. Readln(b). 6 . Writeln('Introdu numarul a=').b:integer.1.b).b) Else Writeln(a.Daca primul numar este pozitiv. Var a.' '. Readkey. Program P1_6. Writeln('Introdu numarul b='). Readln. Readln(a). atunci el se mareste cu 100. Se considera doua numere intregi.PROBLEMA 6.in caz contrar numerele ramin neschimbate. Uses crt. End.' '. Begin Clrscr.

b). Uses crt. b:=aux. a:=b. b:'). Readkey.PROBLEMA 7. Program P1_7. Writeln('Introdu numerele a. 7 .1. Readln(a.b). Var a.Sa se afiseze numerele in urmatoarea ordine:mai intii cel mai mare.aux:integer.' '. Readln.b. If a>b Then Begin aux:=a. Writeln(a. apoi cel mai mic. End.7 Se considera doua numere intregi diferite. Begin clrscr.

in caz contrar sa se afiseze ambele numere. Uses crt. Program P1_8. Var a. If a>b Then Write('a='.b:integer. Begin clrscr. daca el este mai mare decit al doilea.Sa se afise primul numar. PROBLEMA 8.End. b:'). End. 8 .1. Readkey.b). Writeln('Introdu numerele a.a) Else Writeln(a:5.b:5). Readln(a. Readln.8 Se considera doua numere intregi.

PROBLEMA 9.z:real.b.celelalte raminind neschimbate. Writeln(x:5:4).y. Uses crt. If a<0 Then Begin x:=a*a.c:integer. Begin clrscr. Program P1_9.1.c:'). Readln(a. b. x.b. Writeln('Introdu numerele a.Sa se ridice la patrat numerele negative.c). Var a. End 9 .9 Se considera trei numere intregi.

Writeln('Introdu numerele a.1.10 Se considera trei numere intregi. Readkey.b. Program P1_10. If c<0 Then Begin z:=c*c.c. Writeln(z:5:4). Writeln(y:5:4). End. Var a.b. PROBLEMA 10. b. Readln.c). Readln(a. If b<0 Then Begin y:=b*b. End Else Writeln(c:5).k:integer. Uses crt. Begin clrscr.Else Writeln(a:5). If (a>0) and (b>0) and (c>0) 10 .Daca toate sunt pozitive sa se afiseze numarul mai mare dintre al doilea si al treilea numar. s:real.in caz contrar sa se calculeze media aritmetica a primelor doua numere. End Else Writeln(b:5).c:').

Begin clrscr. Writeln(s:5:4). 11 .1.in caz contrar sa se afiseze numarul maxim dintre ultimele doua numere.t.Daca suma primelor doua este pozitiva. b.c:'). Var a.c. s:real. atunci sa se afiseze numerele in ordine crescatoare.Then Begin If b>c Then k:=b Else k:=c.b.k:integer.11 Se considera trei numere intregi. Writeln(k:5). Uses crt. End Else s:=a+b. Program P1_11. Readkey. End. Readln. Writeln('Introdu numerele a. PROBLEMA 11.

If a>b Then Begin t:=a.c:integer.End. If b>c Then Begin t:=b.End.1.c). PROBLEMA P12.b.b.12 Se considera trei numere intregi .b:=t.b:=c. End. Begin Clrscr. Uses crt. 12 . Readln. If s>0 Then Begin If a>b Then Begin t:=a. Readkey.doua dintre care sunt egale.Readln(a. End.a:=b.b:5.c:=t. Writeln('Intodu numerelea.b:=t.c:5) End Else Begin If b>c Then k:=b Else k:=c.c:').a:=b. Var a. s:=a+b. Writeln(a:5. Writeln(k:5). Sa se scrie un program care afiseaza numarul diferit de celelalte doua. Program P1_12.End.b.

c).c). Readkey.daca primul este mai mic decit al doilea si afiseaza 2.1. If c=b Then Write('Numarul diferit este:'a). PROBLEMA 13.13 Sa se scrie un program care citeste doua numere intregi x. Readln.daca numerele citite sunt egale. Program P1_13. If a=b Then Write('Numarul diferit este:'. 13 .y si afiseaza 0. End. daca primul numar este mai mare decit al doilea.Readln(a. If a=c Then Write('Numarul diferit este:'b).afiseaza 1.b.

y).D. Writeln('Introdu numerele x. Readkey.Sa se scrie un program care afiseaza numarul zecimal сores-punzator cifrei citite. End. Var x. 14 . y:').C. If x=y Then Writeln('0').X.Uses crt. If x>y Then Writeln('2').V. Readln(x.1. Problema14. Program P13_2.14 De la tastatura se citeste una din urmatoare-le cifre romane:I.y:integer.L. Readln.M. If x<y Then Writeln('1'). Begin clrscr.

If c='C' Then i:=100.Uses crt. End. Begin Clrscr.V. c:char. If c='I' Then i:=1.1.C. If c='X' Then i:=10.M:').15 De la tastatura se introduce o litera din alfabetul latin. Var i:integer.Sa se determine daca litera este vocala sau consoana.D. '-nu este o cifra romana') Else Writeln(i).L. If c='L' Then i:=50. If c='D' Then i:=500. 15 . PROBLEMA 15. If c='V' Then i:=5. Writeln('Intodu una din cifrele I. If i=0 Then Writeln(c. Readln. Readln(c). i:=0.X. If c='M' Then i:=1000.

End. Uses crt. If(c='B')or(c='C')or(c='D')or(c='E') or(c='F')or(c='G')or(c='H')or(c='J') or(c='K')or(c='L')or(c='M')or(c='N') or(c='P')or(c='Q')or(c='R')or(c='S') or(c='T')or(c='V')or(c='W')or(c='X') or(c='Y')or(c='Z')or(c='b')or(c='c') or(c='d')or(c='f')or(c='g')or(c='h') or(c='j')or(c='k')or(c='l')or(c='m') or(c='n')or(c='p')or(c='q')or(c='r') or(c='s')or(c='t')or(c='v')or(c='w') or(c='x')or(c='y')or(c='z')Then Writeln('Consoana'). Readln(c). PROBLEMA 16.16 De la tastatura se introduce o cifra.Sa se determine daca cifra este para. Begin clrscr. Readln. If (c='A')or(c='E')or(c='U')or(c='I') or(c='O')or (c='a')or( c='e')or(c='u') or(c='i')or(c='o')Then Writeln('Vocala') .Program P1_15. Var c:char. Writeln('Introdu caracterul c:').1. Readkey. 16 .

PROBLEMA 17. Readkey. Writeln('Introdu n:').. Readln(n).17 17 . If n mod 2=0 Then Writeln('Cifra este para') Else Writeln('Cifra este impara'). Uses crt.1. Begin clrscr. Var n:0. End.Program P1_16. Readln.9.

18 . Readkey.c:').Se considera trei numere reale.Sa se scrie un program care determina daca aceste numere reprezinta lungimile laturilor unui triungi si in caz afirmativ sa se: a)calculeze perimetrul triungiului. Uses crt. Writeln('Introdu numerele a. End. Readln(a. Var a. Readln. Program P1_17.b. Begin clrscr. If (a=b) or (b=c) or (a=c) Then Writeln('Isoscel'). If (a<>b) and (b<>c) and (a<>c) Then Writeln('Scalen').b. If((a+b)>c) and ((a+c)>b) and (b+c)>a) Then Begin p:=a+b+c. Writeln(p:6:4). b. If (a=b) and(b=c) and(a=c) Then Writeln('Echilateral').c:real.c). p:real. End. b)determine natura triungiului in dependenta de lungimile laturilor.

y3.d3:real.d1.B(x2.C(x3.x3.x3. d3:=sqrt(x3*x3+y3*y3).PROBLEMA 18. Program P1_18. If (d2<d1) and (d2<d3) Then Writeln('B'). d2:=sqrt(x2*x2+y2*y2).x3. End. Readln(x1.d2.y2.y1.y3). Var x1.y1).y3:').y1.y2). Readln. If (d3<d1) and (d3<d2) Then Writeln('C'). Writeln('Introdu x1. 19 .x2.x2.Sa se determine care din puncte se afla mai aproape de originea de coordonate. If (d1<d2) and (d1<d3) Then Writeln('A').y3).y2.18 Se considera trei puncte cu coordonatele date: A(x1.x2. Readkey. Uses crt.y2. d1:=sqrt(x1*x1+y1*y1).1. Begin Clrscr.y1.

5 lei.p2.w.e.y). Var p. Readkey. Writeln('Introdu numerele q. Begin Clrscr.cine din vinzatori a obtinut cea mai mare suma de la comercializarea portocalelor.Sa se scrie un program care calculeaza pretul mediu de comercializare.PROBLEMA 19.19 Trei vinzatori x. Readln(q. End.1. p2:=e*r.y.t. Uses crt.y:').r.t. p1:=q*w.y:real. Writeln(p:5:3).iar z-150 kg cu 9 lei chilogramul.e.t.w.p1. If (p2>p1) and (p2>p3) Then Writeln('y').y-350 kg cu 8. p:=(p1+p2+p3)/3.r.e. If (p3>p1) and (p3>p2) Then Writeln('z'). Readln.8 lei.p3:real.z au vindut portocale. q.w. 20 .X a vindut 170 kg la pretul de 8.r. p3:=t*y. If (p1>p2) and (p1>p3) Then Writeln('x'). Program P1_19.

Program P1_20. 21 . Readln.y. Writeln(max:6:3).z:real. Readkey.y*y+z*z)+4. If (x+y+z)>x*y*z Then max:=x+y+z Else max:=x*y*z.y. Var x. Uses crt. Readln(x.y. b)min(x*x+y*y.xyz). Begin clrscr. Writeln(min:6:3). End.z:').PROBLEMA 20.20 Se considera numerele reale x.y si z. max. Writeln('Introdu numerele x.1. If (x*x+y*y)<(y*y+z*z) Then min:=x*x+y*y+4 Else min:=y*y+z*z+4.Sa se calculeze: a)max(x+y+z.min:real.z).

Readkey. Var x. Writeln(f:6:4). Readln.pentru un x citit de la tastatura x*x .1. Program P1_21. If x>0 Then f:=0. End. Uses crt.21 Sa se calculeze valoarea functiei f definita pe multimea numerelor reale. If x<=0 Then f:=x*x.daca x>0.f:real. Readln(x). Begin clrscr. Writeln('Introdu x:'). 22 .daca x<=0.PROBLEMA 21. f= 0 .

PROBLEMA 22. If x<0 Then f:=x.f:real. f= 0 . Readln. Writeln(f:6:4). Readln(x). Uses crt. If (x>=0) and (x<=3) Then f:=0. Program P1_22.daca 0<=x<=3.daca x>3 . x-3 . Var x.22 Sa se calculeze valoarea functiei f definita pe multimea numerelor reale. Begin clrscr. 23 . Writeln('Introdu x:').1. End. If x>3 Then f:=x-3. Readkey.pentru un x citit de la tastatura x .daca x<0.

Writeln('Introdu a.a.b:'). End. 24 .23 Sa se scrie un program pentru rezolvarea ecuatiei liniare de forma: ax+b=0 . Writeln(x:6:4).b:real. Program P1_23. Readln.1. Readln(a. Var x. Begin clrscr.PROBLEMA 23. Uses crt.b). If a<>0 Then x:=-b/a. If a=0 Then Writeln('x n-are solutie'). Readkey.

Writeln('Introdu a. Readln. 25 . Writeln((-b+sqrt(d)/(2*a)):5:2).24 Sa se scrie un program pentru rezolvarea ecuatiei patrate a*x*x+b*x+c=0 cu coficienti reali.d:real. Var x.c:'). End.b.b. If d<0 Then Writeln('Ecuatia n-are slutie'). If d=0 Then Writeln(-b/(2*a):5:2). If d>0 Then Begin Writeln((-b+sqrt(d)/(2*a)):5:2).c). d:=b*b-4*a*c. Begin clrscr.b.1.a.PROBLEMA 24. Program P1_24.c. Readln(a. Uses crt.

c. If d>0 Then Begin t1:=(-b+sqrt(d)/(2*a)).c:'). If d<0 Then Writeln('Ecuatia n-are solutie').t2:real. Writeln('t='. If d=0 Then t:=(-b/(2*a)).t).25 Sa se scrie un program pentru rezolvarea ecuatiei bipatrate a*x*x*x*x+b*x*x+c=0 cu coficienti reali. Writeln('Introdu a. PROBLEMA 25.1. d:=b*b-4*a*c.d. Uses crt.b. Readln(a. t2:=(-b-sqrt(d)/(2*a)).b. 26 .t. End. Begin clrscr. Program P1_25.Readkey.b.t1. Var a.c).

Writeln(-sqrt(t)). Readkey. If t2>0 Then Begin Writeln(sqrt(t2)).1 Se citeste numarul de ordine al lunii. End.2. Readln.Writeln('t1= ' .12 :Write ('Iarna').4.5 :Write ('Primavara').12 :').Sa se scrie un program care afiseaza anotimpul corespunzator lunii. Program P2_1. Writeln('introdu un numar intre 1. t1 . Readln(n). Uses crt. End. Writeln('Raspuns'). Instructiunea Case PROBLEMA 26.t2 ) End.12. If t>0 Then Begin Writeln(sqrt(t)). Case n Of 1.2. If t1>0 Then Begin Writeln(sqrt(t1)).. Begin Clrscr. 27 . Writeln(-sqrt(t2)). Var n:1. End. End.' t2= . Writeln(-sqrt(t1)).. 3.

Readln(n).7. PROBLEMA 27.Sa se scrie un program care afiseaza numarul de lectii pe care le aveti in aceasta zi. End. End. Begin Clrscr. Uses crt. Program P2_2.5. Writeln('Raspuns'). Else Write('Nu exista asa luna '). Readkey. 9.8 :Write ('Vara').2 Se citeste de la tastatura numarul de ordine al zilei saptaminii. 28 .10. Case n Of 1 :Write ('Cinci').. Readln.2.6. Var n:1. Writeln('introdu un numar intre 1.11:Write ('Toamna').5 :')..

2 :Write ('Sase'); 3 :Write ('Patru'); 4 :Write ('Sapte'); 5 :Write ('Opt') ; Else Write('Zi de odihna '); End; Readkey; Readln; End.

PROBLEMA 28.2.3 Se citeste numarul de ordine al lunii.Sa se scrie un program care afiseaza numarul de zile corespunzator lunii. Program P2_3; Uses crt; Var n:1..12; Begin Clrscr; Writeln('introdu un numar intre 1..12 :'); Readln(n); Writeln('Raspuns'); Case n Of
29

1,3,5,7,8,10,12 :Write ('31'); 2 :Write ('28 sau 29'); 4,6,9,11 :Write ('30'); Else Write('Nu exista asa luna '); End; Readkey; Readln; End.

PROBLEMA 29.2.4 De la tastatura se citeste o cifra.Sa se scrie un program care afiseaza denumirea acesteia. Program P2_4; Uses crt; Var n:0..9; Begin Clrscr; Writeln('introdu un numar intre 0..9 :'); Readln(n);
30

Writeln('Raspuns'); Case n Of 0 :Write ('Zero'); 1 :Write ('Unu'); 2 :Write ('Doi'); 3 :Write ('Trei'); 4 :Write ('Patru'); 5 :Write ('Cinci'); 6 :Write ('Sase'); 7 :Write ('Sapte'); 8 :Write ('Opt'); 9 :Write ('Noua'); Else Write('Nu exista cifra '); End; Readkey; Readln; End.

PROBLEMA 30.2.5 De la tastatura se citeste o litera din alfabetul latin.Sa se scrie un program care determina daca litera introdusa reprezinta o vocala sau o consoana. Program P2_5; Uses crt; Var n:char; Begin Clrscr;
31

Writeln('introdu o litera :'); readln(n); Writeln('Raspuns:'); Case n Of 'A','a','E','e','U','u','I','i','O','o' :Write ('Vocala'); 'q','Q','w','W','R','r','T','t', 'P','p','S','d','D','f', 'F','g','G','h','H','j','J','k','K', 'l','Z','z','X','x', 'C','c','V','v','B','b','N', 'n','M','m' :Write ('Consoana'); Else Write('Nu exista asa litera '); End; Readkey; Readln; End.

PROBLEMA 31.2.6 De la tastatura se citasc doua numere intregi diferite de zero si una din operatiile aritmetice +,-,*,/.Daca a fost introdus semnul '+',sa se calculaze suma numerelor,daca a fost introdus semnul '-',sa se calculeze diferenta numerelor,daca a fost introdus semnul '*',sa se calculeze produsul lor,daca a fost introdus semnul '/',sa se calculeze
32

Program P2_6. Writeln('Introdu numerele a.X.b:').b). '-' :Write (a-b:5). Uses crt. Readln(a.V. End. Case n Of '+' :Write (a+b:5).Sa se scrie un program care afiseaza numarul zecimal corespunzator cifrei citite. '*' :Write (a*b:5). Begin Clrscr. Readkey. Writeln('introdu operatia :'). '/' :Write (a/b:5:3).b:integer.citul lor.C. 33 . Readln.D sau M. PROBLEMA 32.2. Readln(n). Program P2_7. End. Else Write('Nu exista operatie'). Writeln('Raspuns').7 De la tastatura se citeste urmatoarele cifre romane:I. a.L. Var n:char.

a.Uses crt. 'D' :Write ('500'). Readln. Writeln('Raspuns').2. 'L' :Write ('50'). Writeln('Introdu cifra:'). 34 .daca se stie ca 1 aprilie a fost simbata. 'X' :Write ('10'). End. PROBLEMA 33. 'C' :Write ('100'). End. Else Write('Nu exista asa cifra').b:integer. Readkey. Sa se determine ce zi a fost la aceasta data(denumirea zilei). 'V' :Write ('5'). Readln(n).8 De la tastatuta se introduce o data din luna aprilie (anul 2002). Case n Of 'I' :Write ('1'). Var n:char. Begin Clrscr. 'M' :Write ('1000').

Program P2_8; Uses crt; Var data:1..30; Begin Clrscr; Write('Itrodu un numar intre 1..30:'); Readln(data); Write('Raspuns: '); Case data Of 1,8,15,22,29:Writeln('Simbata'); 2,9,16,23,30:Writeln('Duminica'); 3,10,17,24 :Writeln('Luni'); 4,11,18,25 :Writeln('Marti'); 5,12,19,26 :Writeln('Miercuri'); 6,13,20,27 :Writeln('Joi'); 7,14,21,28 :Writeln('vineri') Else Writeln('N-ati introdus corect data'); End; Readln; Readkey; End.

PROBLEMA 34.2.9 De la tastatuta se citeste unul dintre urmatoarele numere:1,5,10,50,100,500 sau 1000.Sa
35

se scrie un program care afiseaza cifra romana corespunzatoare numarului citit. Program P2_9; Uses crt; Var x:1..1000; Begin Clrscr; Write('Itrodu 1,5,10,50,100,500 sau 1000:'); Readln(x); Write('Raspuns: '); Case x Of 1 :Writeln('I'); 5 :Writeln('V'); 10 :Writeln('X'); 50 :Writeln('L'); 100 :Writeln('C'); 500 :Writeln('D'); 1000:Writeln('M') End; Readln; Readkey; End.

36

Instructiunile For,Repeat,While
PROBLEMA 35.3.1 Sa se scrie un program care afiseaza pe ecran numerele naturale mai mici sau egale cu n. Program P3_1; Uses crt; Var i,n:integer; Begin Clrscr; Writeln('Introdu n:'); Readln(n); For i:=1 To n Do Writeln(i); Readkey; Readln; End.

37

PROBLEMA 36.3.2 Sa se scrie un program care afiseaza pe ecran numerele naturale impare mai mici sau egale cu n. Program P3_2; Uses crt; Var i,n:integer; Begin Clrscr; Writeln('Introdu n:'); Readln(n); For i:=1 To n Do If i mod 2<>0 Then Writeln(i); Readkey; Readln; End.

38

Uses crt.3 Sa se scrie un program care afiseaza pe ecran numerele naturale mai mici sau egale cu n.care-s divizibile cu 5. End. Readln. Readkey. Program P3_3. Var i. Begin Clrscr. Writeln('Introdu n:').3.PROBLEMA 37. Readln(n). 39 . For i:=1 To n Do If i mod 5=0 Then Writeln(i).n:integer.

Var i.t:integer. For i:=1 To n Do If i mod t=0 Then Writeln(i). Begin Clrscr.4 Sa se scrie un program care afiseaza pe ecran numerele naturale mai mici sau egale cu n si divizibila cu t(n. 40 . Writeln('Introdu t:').t ce citesc de la tastatura. End.PROBLEMA 38. Readln(t). Readkey. Writeln('Introdu n:').n<t).3.n.Numerele n. Readln. Uses crt. Program P3_4.t sunt numere naturale. Readln(n).

Readkey. Writeln('Introdu n:'). Writeln(s:4:2). For i:=1 To n Do If i mod 2=0 Then s:=s+i. Readln(n).3.PROBLEMA 39. Begin Clrscr. 41 . s:=0.5 Sa se scrie un program care calculeaza suma numerelor naturalea pare mai mici sau egale cu n.n:integer. Uses crt. Var i. s:real. Program P3_5. Readln. End.

s:=0. Writeln('Introdu n:'). For i:=1 To n Do If i mod 3=0 Then s:=s+i. Readkey. Readln. Program P3_6.3. Readln(n). End.n:integer.6 Sa se scrie un program care calculeaza suma numerelor naturale mai mici sau egale cu n care sunt divizibile cu 3. Writeln(s:4:2). Var i.PROBLEMA 40. 42 . Uses crt. s:real. Begin Clrscr.

Begin Clrscr. Uses crt.PROBLEMA 41. t:=0. Writeln(t:5). Readln(n). Readln(a). For i:=1 To n Do If i mod a=0 Then t:=t+1.t:integer. Readkey. Writeln('Introdu n:'). Writeln('Introdu a:'). Readln. Var i. 43 .Numerele N si A se citesc de la tastatura. End.7 Sa se scrie un program care calculeaza cite numerelor naturale mai mici sau egale cu N sunt divizibile cu A. Program P3_7.a.3.n.

PROBLEMA 42. Begin Clrscr. Program P3_8.8 Sa se scrie un program care calculeaza produsul numerelor naturale impare mai mici sau egale cu N (N<=10). Readln(n). Uses crt. p:real. Writeln('Introdu n:'). p:=1.n:integer. Readln. 44 . Writeln(p:5:3).3. Var i. Readkey. For i:=1 To n Do If i mod 2<>0 Then p:=p*i. End.

45 .x:').9 Se considera doua numere naturale X si N. Var i. P:=1. Writeln('Introdu n. Program P3_9.PROBLEMA 43. End. p:real. Uses crt. Readln. Begin Clrscr. For i:=1 To n Do P:=P*x. Writeln(p:5:3). Readln(n.n.Sa se scrie un program care calculeaza X^N.x:integer.x).3. Readkey.

Program P3_10. b) afiseaza divizorii numarului N si numarul acestora. s.PROBLEMA 44. Begin Clrscr. Readln(n).10 Se considera numarul natural N. Var i. Writeln('Introdu n:').3.Sa se scrie un program care : a) calculeaza suma si produsul divizorilor acestui numar.n:integer. Uses crt.p:real. 46 .

x:integer. Writeln(s:5:3).s:=0. Readkey. For i:=1 To n Do If n mod i = 0 Then Begin s:=s+i. Program P3_11. End. Readln(n). Readln.3. s:=0. Writeln(p:5:3). PROBLEMA 45. p:=1. Writeln('Introdu n:'). Begin Clrscr. End. For i:=1 To n Do 47 .n.Sa se scrie un program care calculeaza suma numerelor pozitive. p:=p*i.11 Se considera o segventa de n(n<=100)numere intregi.Writeln(i). s:real. Uses crt. Var i.

End. Readln. Readkey. 48 .x:real. Program P3_12. cite numere sunt negative si cite numere sunt nule. Var i.k. If x>0 Then s:=s+x. Writeln('Raspuns').3. Begin Clrscr.12 Se considera o segventa de n(n<=100) numere reale. End. PROBLEMA 46. Writeln('Introdu n:'). Read(x). Uses crt.Begin Write('Introdu numerele:').j:integer. Writeln(s:5:3). Sa se scrie un program care calculeaza cite numere sunt pozitive.n.l.

Readkey.med1.l:5 .l:integer.med2 49 .n.x. PROBLEMA 47. Writeln('Raspuns'). Uses crt. j:=0. If x>0 Then k:=k+1.s2. End. Program P3_13. k:=0. If x=0 Then l:=l+1. For i:=1 To n Do Begin Write('Introdu numerele:'). Writeln(k:5 .13 Se considera o segventa de n(n<=100)numere intregi. End. s1. If x<0 Then j:=j+1. Readln. Read(x).Sa se scrie un program care calculeaza media aritmetica a numerelor pozitive si media artimetica a numerelor negati-ve.Readln(n).j:5 ). l:=0.3. Var i.k.

l:=0. Readln(n). If x<0 Then Begin l:=l+1.3.med2:=s2/l. If x>0 Then Begin k:=k+1. End. Var i.14 Se considera o segventa de n(n<=100)numere reale.End. s1:=s1+x. Uses crt.End.:real. s2:=s2+x. k:=0.Sa se scrie un program care determina numarul minim . Readkey.n:integer. Begin Clrscr. Readln.med1:=s1/k. 50 . Read(x). PROBLEMA 48. End. For i:=1 To n Do Begin Write('Introdu numerele:'). Program P3_14. s2:=0. s1:=0. Writeln('Introdu n:'). Writeln(med1:5:3 . Writeln('Raspuns').med2:5:3).

Writeln('Introdu n:'). Readln. PROBLEMA 49.Sa se scrie un program care calculeaza cite flori au inflorit timp de o saptamina. In prima zi au inflorit 10 flori.15 Intr-o sera . If x<min Then min:=x. Writeln('Introdu primul numar:').in fiecare zi. End. Readkey. x:real. Begin Clrscr. 51 . Writeln(min:5:3). min:=x. End. Writeln('Raspuns'). Readln(x). Read(x). For i:=2 To n Do Begin Write('Introdu numerele:').3.infloresc cu 15 flori mai multe decit in ziua precedenta.min. Readln(n).

7.Program P3_15.s:integer. Var i. Readln. Begin Clrscr..3. Writeln('Raspuns'). End. PROBLEMA 50. s:=10.16 Se se scrie un program care citeste de la tastatura o segventa de caractere si afiseaza pe ecran: 52 . Readln(n). Uses crt. n:1. Writeln('Introdu n:'). For i:=2 To n Do s:=s+15. Readkey. Writeln(s:5).

Uses crt. End. End. Readln. k:=0. Writeln('Introdu n:'). '1'. Program P3_16. c)numarul cifrelor impare.'5'. b)numarul cifrelor pare.j:integer.k.'8':l:=l+1. Readln(n).'4'.3. Readkey.a)numarul cifrelor zecimale citite. Writeln(k:5). l:=0. case x of '0'. Writeln('Raspuns'). Var i. Readln(x). x:char. k:=l+j.Writeln( l:5).'7'. j:=0. End.17 Se considera o segventa de n(n<=100)numere 53 .l.n. PROBLEMA 51.'6'.'3'.'2'. Begin Clrscr. Writeln( j:5 ).'9':j:=j+1. For i:=1 To n Do Begin Write('Introdu caracterele:').

daca in acest sir exista cel putin un numar care se imparte la 7 fara rest in caz contrar-valoarea FALSE. End. Readln. If x mod 7=0 Then Writeln('TRUE') Else Writeln('FALSE').x:integer. Begin Clrscr.n. Uses crt. Program P3_17. End. 54 . Sa se scrie un program care atribuie unei variebilele valoarea TRUE . For i:=1 To n Do Begin Writeln('Introdu numerele:'). Read(x). Writeln('Introdu n:'). Readln(n).intregi pozitive. Readkey. Var i.

b) cu pasul 0. 55 . Readln.5.8] a) cu pasul 1. x:=x+h.18 Sa se scrie un program care calculeaza valorile functiei y=2x^2+7x pe segmentul [-2. Uses crt. Readkey.y). Var x. Writeln('Introdu pasul h:'). While x<=8 Do Begin y:=2*x*x+7*x.3. Program P3_18. Writeln('y='. End. x:=-2. Readln(h). End.h:real. Begin Clrscr.PROBLEMA 52.y.

Writeln(y:2:2).150. Readln. While x<=1000 Do Begin y:=0. 1000gr. Program P3_19.19 Sa se scrie un program care afiseaza costul unei portiuni de cascaval de 50.. x:=x+50. Var x..PROBLEMA 53.100..daca se stie ca un kilogram costa 46lei 20bani. x:=50.3.y:real. End.. Readkey. End.04620*x. 56 . Uses crt. Begin Clrscr.

While x<=10 Do Begin y:=10000*x.y:real.3. Readkey. End.PROBLEMA 54. x:=x+0.daca dobinda anuala este de 5% . End. 57 . Program P3_20. Var x. Readln. Uses crt. Begin Clrscr.20 Un cetatean a depus la o Banca Comerciala 10000 lei. Sa se scrie un program care calculeaza suma pe care o va avea cetateanul pes te 10 ani . x:=1.05. Writeln(y:6:2).

Readln(s.p). Begin Clrscr. x:=x+p/100. Writeln(t:4:2). Uses crt.Sa se un program care calculeaza peste cit ani suna se va mari cu cel mult 100%.h. Repeat h:=s*x.x. 58 .p:'). Writeln('Introdu s.3. Readkey.t:real. t:=h/10000000.p. Until x>100. Readln. End.21 Un cetatean a depus la o Banca Comerciala o suma egala cu S lei cu dobinda de P%. Program P3_21. x:=s.PROBLEMA 55. Var s.

. s:=0.22 Se considera un numar natural n(n<=10). Var s:real. 59 . Writeln('Introdu n:'). End. Readln.+1/(2n). Program P3_22. Uses crt. Readln(n). Begin Clrscr.Sa se scrie un program care calculeaza : 1+1/2+1/4+. Readkey.PROBLEMA 56.3. i. For i:=1 To n Do s:=s+1/i.. Writeln(s:4:5).n:integer.

3. For i:=1 To n Do s:=s+i*i.+n^2 .PROBLEMA 57.23 Se considera un numar natural n(n<=10). s:=0. 60 .. Readkey. i. End. Uses crt.. Writeln(s:5:3). Var s:real.n:integer.Sa se scrie un program care calculeaza: 1^2+2^2+3^2+4^2+. Program P3_23. Readln(n). Writeln('Introdu n:'). Begin Clrscr. Readln.

24 Sa se scrie un program care calculeaza suma 1+1/2+2/3+3/4+.PROBLEMA 58.3. Writeln('Introdu n:').pina cind va depasi valoarea 0. Readln. Var s:real. Begin Clrscr. End. For i:=1 To n Do Begin s:=s+i/(i+1). Uses crt.+N(N+1) . Program P3_24. If s<0.999 Then Writeln(s:5:2) . i.n:integer. 61 . Readln(n)... s:=0.N este numar natural.999. End.

i:integer. suma:=0. Program P3_25.i. med:real. 62 . Begin Clrscr. Var suma. Readln(n). Writeln('Introdu n:').Sa se scrie un program care calculeaza media artimetica a numerelor citi-te.k.3.n. For i:=1 To n Do Begin Writeln('Introdu numarul al'.25 De la tastatura se citesc numere intregi pozitive pina cind suma lor nu depaseste valoarea 1000.'lea:').PROBLEMA 59. Uses crt.x.

t:=2. 63 . 12.3. If suma<1000 Then suma:=suma+x.26 Se considera o segvevta de numere :2. Readln(n). med:=suma/n. cu n termeni (n>=2). Uses crt. 17. Readln.t:integer. suma:=2.med:6:1).. Writeln('Introdu n:'). Readkey. For i:=1 To n-1 Do Begin t:=t+5..suma)..Sa se scrie un program care calculeaza suma termenilor pari Program P3_26.Readln(x). Var suma. PROBLEMA 60.n. 7. End. Begin Clrscr. Writeln('Suma numerelor este:'. End. Writeln('Media='.i. if t mod 2 =0 Then suma:=suma+t.

k:').p.k si o segventa de n numere naturale.n. PROBLEMA 61.suma).t:integer. Program P3_27. 64 . Begin Clrscr. Var s. Readln(n.27 Se citesc 3 numere naturale n.3. Readkey. Writeln('Introdu primul numar:'). Writeln('Introdu n.k).i.p.End.p. Readln(x). Uses crt.x.k. End. s:=0.p. Writeln('Suma numerelor este:'.Sa se scrie un program care calculeaza cite dintre acestea impartite la p dau restul k. Readln.

Readln(n). Program P3_34. For i:=2 To n-1 Do Begin Writeln('Introdu numarul '.t:=x.n:integer. End. t:=t+k. care fiind impartite la 5 si la 7 dau restul 2. Writeln('Introdu n:').i.'-lea:'). Readln. Readkey. Var i.3.s).t. PROBLEMA 62. Readln(x). Begin Clrscr. End. Writeln('Numarul '. Uses crt. t:=0. For i:=1 To n Do Begin 65 . if t mod p =k Then s:=s+1.34 Sa se scrie un program care afiseaza primele 10 numere naturale.

If (i mod 5=2) and (i mod 7=2) Then Begin t:=t+1; If t<=10 Then Writeln(t:2 ,' ' ,i) End; End; Readkey; Readln; End.

PROBLEMA 63.3.35 Sa se scrie un program urmatorul sir : zyyxxx...aaaaaa...a . Program P3_35; Uses crt; Var i,j:char; Begin Clrscr; For i:='z' Downto 'a' Do For j:='z' Downto i Do
66

care

afiseaza

Write(i); Readkey; Readln; End.

PROBLEMA 64.3.36 Sa se scrie un program urmatorul triunghi : 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1. Program P3_36;
67

care

afiseaza

Uses crt; Var i,j,s,s1,s2:integer; Begin Clrscr; s:=0;s2:=0;s1:=0; For i:=1 To 5 Do Begin For j:=1 To i Do Write(i); Writeln; s1:=s1+i;end; s2:=s1+j; s:=s1+s2; Writeln(s:5, s1:5, s2:5); Readkey; Readln; End.

Programe cu tablouri unidimensionale
PROBLEMA 65.4.1 Se considera A[1..n] de numere intregi , n<=100 .Sa se scrie un program care numara cite elemente pozitive contine acest tablou.

68

Program P4_1; Uses crt; Var a:array[1..100] of integer; k,i,n:integer; Begin Clrscr; Writeln('Intodu numarul componentelor n:'); Readln(n); For i:=1 To n Do Begin Write('Introdu elementele tabloului:'); Readln(a[i]); End; Writeln; k:=0; For i:=1 To n Do If a[i]>0 Then k:=k+1; Writeln('Numarul elementelor pozitive este:',k ); Readkey; Readln; End.

PROBLEMA 66.4.2 Se considera A[1..n] cu elemente egale numai cu 1 sau 0,n<= 100.Sa se scrie un program ca-re numara cite zerouri si cite unitati conti-ne acest tablou.

69

k. End.1.n] de numere intregi. 70 .Program P4_2.. Begin Clrscr. k:=0.k. Readln.l.Sa se scrie un program care numara cite elemente pozitive sunt pe locuri pare.100] of integer. Readln(a[i])..i:integer. For i:=1 To n Do Begin If a[i]=0 Then k:=k+1 . End..3 Se considera A[1.l ).'l='.4. Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). n:0. Writeln. Readln(n). End. PROBLEMA 67. n<= 100 . If a[i]=1 Then l:=l+1. Var a:array[1.l:=0.' '. Uses crt. Writeln('k='.

4. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). Writeln('Intodu numarul componentelor n:').n] de numere intregi. While i<n Do Begin If a[i]>0 Then k:=k+1. End. End.i.. Readln(n).n:integer. Writeln('k='.100] of integer.i:=2.Program P4_3. Readkey. i:=i+2. Var a:array[1. Readln(a[i]).k ).. End. PROBLEMA 68. k:=0.n<= 71 .4 Se considera A[1. Writeln. Uses crt. k. Readln. Begin Clrscr.

k. If a[i]<0 Then l:=l+1. End. Readln(a[i]).' '. k:=0.100. Begin Clrscr. End.i.cite negative si cite ele-mente nule contine acest tablou.z ). Uses crt.l.Sa se scrie un program care numara cite elemente pozitive. Writeln('k='.' '.100] of integer.n:integer. For i:=1 To n Do Begin If a[i]>0 Then k:=k+1.'l='. Writeln('Intodu numarul componentelor n:'). Var a:array[1. z:=0. Readln. Writeln.l.z. k. End. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). 72 . l:=0. Program P4_4. Readkey. Readln(n)..'z='. If a[i]=0 Then z:=z+1.

m.5 Se considera numarul natural M si tabloul A[1.n] de numere in tregi.4. k. For i:=1 To n Do If a[i] mod m = 0 Then k:=k+1.Sa se scrie un program care numara cite elemente din ta-blou sunt divizibile cu M. Program P4_5.PROBLEMA 69.. Readln. Writeln. Readln(n). Readln(m).n<=100. End. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). Uses crt. Var a:array[1. Begin Clrscr. Writeln('Intodu numarul componentelor n:'). Writeln('Introdu numarul m:'). End.100] of integer. Readkey.k ). Writeln('Numarul elementelor divizibile cu m:'. Readln(a[i]). 73 .n:integer.. k:=0.i.

PROBLEMA 70. Writeln('k='..n:integer.Sa se scrie un program care numara cite elemente sunt diferite de: a) ultimul element.. 74 .4.' '.l ). Readkey. End. Writeln.'l='.n] de numere intregi. Readln(n). End. b) primul element. Program P4_6.100] of integer. k. l:=0. Readln(a[i]). Uses crt.l. If a[i] mod a[n]=0 Then l:=l+1. Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). End. For i:=1 To n Do Begin If a[i] mod a[1]=0 Then k:=k+1.k.6 Se considera tabloul A[1.i. Var a:array[1.n<=100. k:=0. Begin Clrscr. Readln.

7 Se considera A[1. n<= 100.n] de numere intregi. Sa se scrie un program care numara de cite ori figureaza in acest tablou elementul minim. Writeln.4. Writeln('Num. For i:=1 To n Do If a[i]<min Then k:=k+1. Readln(a[i]). End. Readln(n). Begin Clrscr.k ). Program P4_7.PROBLEMA 71. Readln.. Uses crt. Readkey.. Var a:array[1. End.100] of integer. Writeln('Intodu numarul componentelor n:'). k. min:=a[1]. de elemente minime:'.min:integer. k:=0. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). 75 .n.i.

76 . End.i.8 Informatia despre temperatura zilnica a lunii februarie a fost inscrisa intr-un tablou uni-dimensional.. Begin Clrscr. Var a:array[1. Program P4_8. Writeln.n:integer.k ). k. Readln. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). For i:=1 To n Do If a[i]<0 Then k:=k+1. Writeln('Intodu numarul componentelor n:'). Readkey.4. Writeln('Numarul sub zero grade:'. Readln(n). Uses crt.100] of integer.Sa se scrie un program care nu-mara de cite ori temperatura s-a coborit mai jos de zero grade. k:=0. Readln(a[i]).PROBLEMA 72.

Writeln.n.Sa se scrie un program care numara cite sunt sunt mai mari decit media artmetica a tuturor elementelor. Begin Clrscr.n] de numere intregi.4. media:=s/n. For i:=1 To n Do Begin Write('Introdu elementele tabloului:')...n<=100. For i:=1 To n Do s:=s+i. Program P4_9. Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do 77 . Uses crt. s:=0.s:integer.End. Readln(a[i]). Var a:array[1.media:real. k. PROBLEMA 73.100] of integer. k:=0.9 Se considera tabloul A[1.i. Readln(n). End.

Var b:array[1.. Readln(b[i]).24] of integer. End. Writeln('Intodu numarul zilelor n:').k ). Begin Clrscr.n] . PROBLEMA 74.Sa se scrie un program care stabileste in cite zile lacatusul a indepli-nit norma zilnica k.If a[i]>media Then k:=k+1.l:integer.10 Se considera tabloul B[1.i. Uses crt. in care au fost introdusa rezultatele muncii zilnice a unui lacatus in decursul unei perioade de n zile lucratoare. Readkey.n. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). Writeln('Numarul elementelor mai mari decit media:'. Readln(n). Readln.4. 78 . Readln(k). Writeln('Introdu norma k:').n<=24. Program P4_10.. End. k.

Program P4_11. Begin Clrscr. PROBLEMA 75. daca echipa "PRUT" a suferit infringere . Uses crt..15] of integer.Writeln. l:=0.15].Elemente tabloului sunt egale cu "0".n:0.in cite a iesit invingatoare si cite meciuri s-au terminat la egalitate.daca meciul s-a terminat la egalitate. End.egale cu "3" . For i:=1 To n Do If b[i]>=k Then l:=l+1.k2.3. k1.4. Readkey. Var a:array[1.daca a iesit invingatoare "PRUT" .l ). in care au fost introduse rezul tatelor meciurilor cu participarea echipei de fotbal"PRUT".11 Se considera tabloul A[1.i:integer.Sa se scrie un program care stabiles-te in cite meciuri echipa "PRUT" a suferitinfringere .k3..egal cu "1" . Writeln('Numarul zilelor ce indeplinesc norma :'. Readln. 79 ..

End.. Readln(n).12 Se considera tabloul Note[1. Readln(n).26].Writeln('Infringere :'.4.k1).Sa se scrie un program care numara notele de "8".Writeln('Victorii:'. Writeln('Intodu numarul de note n:'). PROBLEMA 76. Readln(a[i]).k3). Begin Clrscr. For i:=1 To n Do Begin Write('Introdu elementele tabloului:').in care au fost introduse notele obtinute de elevii unei clase la lectia de informatica.n:integer.100] of integer."9"si"10".k2). Writeln('Egal:'. Uses crt. Var a:array[1. k1. End. End.k3.. If a[i]=1 Then k2:=k2+1.i. If a[i]=3 Then k3:=k3+1. k3:=0. Program P4_12. For i:=1 To n Do Begin If a[i]=0 Then k1:=k1+1.k2. k2:=0.Writeln('Intodu numarul componentelor n:'). k1:=0. For i:=1 To n Do Begin 80 .

n] de numere real.. Uses crt.Sa se scrie un program care numara pozitiile cu urmatoarea poprieta-te a) A[i]<B[i].100] of real.b:array[1. k2:=0. Readln(a[i]). Var a. Readkey. If a[i]=9 Then k2:=k2+1. Writeln. PROBLEMA 77.i. k1:=0. End.k3). c) A[i]>B[i].k2.. End.. k1. Writeln('Numarul de note de 10:'. Writeln('Numarul de note de 9 :'. Writeln('Numarul de note de 8 :'.k1). Begin 81 . Program P4_13.n] si B[1.13 Se considera doua tablouri A[1.4. If a[i]=10 Then k3:=k3+1. b) A[i]=B[i]. k3:=0. End. For i:=1 To n Do Begin If a[i]=8 Then k1:=k1+1.k2). n<=100. Readln.Write('Introdu elementele tabloului:').n:integer.k3.

Writeln('k1='.Clrscr.100] of integer.n:integer. Var a:array[1. End. End. For i:=1 To n Do Begin Write('Introdu elementele tabloului b:'). 82 . End.. Writeln('k3='. Sa se scrie un program care numara pozitiile pentru care A[i] nu este mai mic decit toate elementele premergatoare ale tabloului considerat(A[1]. n<=100. Uses crt. PROBLEMA 78. Writeln. k3:=0. End.n] de numere intregi.A[n1). k2:=0.k1:5). Writeln('Intodu numarul componentelor n:'). If a[i]=b[i] Then k2:=k2+1. For i:=1 To n Do Begin Write('Introdu tabloului a:'). For i:=1 To n Do Begin If a[i]<b[i] Then k1:=k1+1.. k. k1:=0.i... Writeln('k2='.14 Se considera tabloul A[1. Readln(n). Writeln. Readln(b[i]).k2:5). Program P4_14.A[2].4. Readln. If a[i]>b[i] Then k3:=k3+1. Readln(a[i]).k3:5)...

Readln. Writeln('k='. End. k:=0.15 Se considera tabloul A[1. Uses crt. Readln(n).Begin Clrscr. n<=100.k ).4. PROBLEMA 79.100] of integer. Readkey. Writeln.n] de numere pozitive.. End. Var a:array[1. Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do Begin Write('Introdu elementele tabloului:').. Program P4_15. Sa se scrie un program care calculeaza cite numere prime contine tabloul. 83 . For i:=1 To n Do If a[i+1]<a[i] Then k:=k+i. Readln(a[i]).

For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). PROBLEMA 80. Program P4_16. Readln(a[i]).k ). End. Begin Clrscr.n<=100. Readkey.k.i. k:=0.16 Se considera tabloul A[1. Writeln. Readln(n). Writeln('Intodu numarul componentelor n:'). Readln. nule si pozitive ale tabloului.n] de numere intregi pozitive. Sa se scrie un program de numarare a elementelor negative ..n:integer.4. Writeln('Numarul de numerele prime :'. 84 . For i:=1 To n Do If a[i] mod i=0 Then k:=k+1. End.

End. k3:=0. Writeln('Numere egale cu zero :'. For i:=1 To n Do Begin Write('Introdu elementele tabloului:').n:integer.n] de numere intregi nenule. Readkey. Writeln('Numere negative :'. If a[i]>0 Then k3:=k3+1.100] of integer.k3). Sa se scrie un program care numara de cite ori se schimba semnul nu-merilor din acest tablou.k3. Writeln('Intodu numarul componentelor n:'). Writeln. If a[i]=0 Then k2:=k2+1. k1:=0. Var a:array[1. 85 ..k2). For i:=1 To n Do Begin If a[i]<0 Then k1:=k1+1. Readln. k2:=0. k1. End. Writeln('Numere pozitive :'.. End.i. PROBLEMA 81. Readln(n).k2.4.17 Se considera tabloul X[1.Uses crt. Begin Clrscr. n<=100. Readln(a[i]).k1 ).

4. For i:=1 To n Do If x[i]*x[i+1]<0 Then k:=k+1. End. Writeln. Var x:array[1. Readln(x[i]). For i:=1 To n Do Begin Write('Introdu tabloului:'. End. Sa se scrie un program 86 .i.n:integer. Readkey. Readln. PROBLEMA 82. Uses crt.Program P4_17.100] of integer. Writeln('Numarul de alternari :'. k:=0.i.' '). k. Readln(n). n<=100.n] de numere intregi nenule. Begin Clrscr.k ).. Writeln('Intodu numarul componentelor n:').18 Se considera tabloul X[1..

. Uses crt.i.100] of integer. Writeln('Intodu numarul componentelor n:').' '). Writeln('Numarul de alternari :'. Readln. End. Readln(n).i. Readln(x[i]). k. k:=0. Program P4_18. For i:=1 To n Do Begin Write('Introdu tabloului:'.care numara de cite ori se schimba semnul nu-merilor din acest tablou. Begin Clrscr. Var x:array[1. For i:=1 To n Do If x[i]*x[i+1]<0 Then k:=k+1.4.n:integer. Readkey. End.k ). Writeln. PROBLEMA 83.19 87 .

Readkey.100] of integer.i. k:=0.k ). k. Readln(n). Sa se scrie un program care numara perechile de numere de pe pozitii consecutive modulul diferentei carora este egal cu 1. Readln(x[i]). Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do If abs(x[i+1]-x[i])=1 Then k:=k+1. Writeln('Perechile de numere :'. Uses crt. End. 88 . Readln. For i:=1 To n Do Begin Write('Introdu elementele tabloului:').. Begin Clrscr. Var x:array[1. End.Se considera tabloul X[1. Program P4_19. Writeln..n:integer.n] de numere intregi nenule n<=100.

k. Readln(n).PROBLEMA 84. Program P4_20.100] of real. Begin Clrscr.20 Se considera tabloul A[1. Readln(a[i]).n] de numere pozitive si negative. Sa se scrie un program care numara cite elemente il preced pe ultimul element negativ..n:integer.4.. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). Writeln. End. Uses crt. 89 . For i:=1 To n Do If a[i]<0 Then k:=n-i. Readln. n<=100 . Writeln('Intodu numarul componentelor n:'). End.k ).i. k:=0. Readkey. Var a:array[1. Writeln('Numarul elementelor :'.

Uses crt.p:real. 90 . Var a:array[1.n:integer. p:=p*a[i]. End. Begin Clrscr.n] de numere reale.. For i:=1 To n Do Begin Write('Introdu elementele tabloului:'). Sa se scrie un program care calculeaza suma si produsul tuturor elementelor. p:=1. Readln..100] of real. Program P4_21. For i:=1 To n Do Begin s:=s+a[i]. End.p:5:3). End.PROBLEMA 85. Writeln. Readln(a[i]). Readln(n).21 Se considera tabloul A[1. i. s:=0.4.n<=100. Writeln('Suma :'.s:5:3). Writeln('Produul :'. Writeln('Intodu numarul componentelor n:'). Readkey. s.

PROBLEMA 86. Readln(n). Sa se scrie un program care calculeaza produsul elementelor pozitive.. Readln. Program P4_22. Var a:array[1. End. For i:=1 To n Do If a[i]>0 Then p:=p*a[i]. End. p:=1. Writeln. Readln(a[i]). Readkey.4.n<=100. 91 . For i:=1 To n Do Begin Write('Introdu elementele tabloului:').22 Se considera tabloul A[1. i.n] de numere reale. Uses crt. Begin Clrscr.p:5:3). Writeln('Produul :'. p:real.100] of real.n:integer.. Writeln('Intodu numarul componentelor n:').

n] de numere intregi. For i:=1 To n Do Begin Write('Introdu elementele tabloului:').100] of real.23 Se considera tabloul X[1. While i<n Do Begin s:=s+a[i]. s:=0.. Begin Clrscr. 92 . i.. Readln(a[i]). End. Program P4_23. Sa se scrie un program care calculeaza suma elementelor de pe locurile pare si produsul elementelor de pe locurile impare. Writeln. Var a:array[1. Writeln('Intodu numarul componentelor n:').4. i:=i+2.p:real. Uses crt. s. i:=0. p:=1. Readln(n).n:integer.n<=100.PROBLEMA 87.

End. Writeln('Produul :'.100] of integer. Sa se scrie un program care calculeaza media aritmetica a numerelor de pe locurile pare si media aritmetica a numerilor de pe locurile impare.s2. While i<n Do Begin p:=p*a[i].s:5:3). i:=i+2.4. End.l:integer.s1. Readln(a[i]).med2:real.24 Se considera tabloul A[1. Uses crt. Readln(n). Writeln('Suma :'.p:5:3). Begin Clrscr. Writeln('Introdu componentul n:'). End. Program P4_24.n. While i<=n Do Begin s1:=s1+a[i].k:=0.i. med1. s2:=0.n] de numere intregi. i:=i+2. For i:=1 To n Do Begin Write('a['. End. i:=1. 93 . i. s1:=0.n<=100. PROBLEMA 88.k:=k+1.i:=1. Var a:array [1.k...l:=0. Readln.']=').

.l:=l+1. med2:=s2/l. Writeln('Introdu componentul n:'). i. Readln(a[i]). Readln. Var a:array [1. Writeln(s:5).n. Writeln(s1:4). End.Sa se scrie un program care calculeaza suma elementelor divizibile cu 5. i:=i+2.i.. 94 . For i:=1 To n Do If a[i] mod 5 =0 Then s:=s+a[i]. For i:=1 To n Do Begin Write('a['. Writeln(med1:5:2. Program P4_25.s:integer.med2:5:2).']='). Readln(n). End. Readkey.4.100] of integer. While i<=n Do Begin s2:=s2+a[i].i:=2. Uses crt. n<=100.End.25 Se considera tabloul A[1. med1:=s1/k.n] de numere intregi.' '. Writeln(s2:3). PROBLEMA 89. Begin Clrscr. s:=0. End.

n.100] of integer. For i:=1 To n Do Begin Write('a['. Var a:array [1. PROBLEMA 90. Begin Clrscr. i. s:=0..4. Uses crt. Readln(n). Program P4_26.26 Se considera tabloul A[1. Writeln('Introdu componentul n:'). i:=2.Readkey.']='). Readln.s:integer. While i<=n Do 95 .n] de numere intregi. End.i. Readln(a[i]). Sa se scrie un program care calculeaza suma elementelor pozitive de pe locurile pare. End.n<=100..

27 Se considera tabloul A[1. Readln(n).100] of integer. i:=i+2. Readln(a[i]).i.4. For i:=1 To n Do Begin Write('a['.. End.']='). End. End. Readln. Writeln('Introdu componentul n:'). 96 . n<=100. Uses crt. PROBLEMA 91.n.n] de numere intregi.Begin If a[i]>0 Then s:=s+a[i]. Program P4_27.s:integer. i. Begin Clrscr.. Var a:array [1. Readkey. Writeln(s:3).Sa se scrie un program care calculeaza suma elementelor divizibile cu 3 si cu 7.

100] of integer. 97 .s. Readkey. Readln(n).max:integer. Var a:array [1. Uses crt.n] de numere intregi.i. For i:=1 To n Do If (a[i] mod 3 =0) and (a[i] mod 7 =0) Then s:=s+a[i]. For i:=1 To n Do Begin Write('a['. Writeln('Introdu componentul n:'). Begin Clrscr. i.s:=0. Readln. Writeln(s:5).28 Se considera tabloul A[1. PROBLEMA 92.']='). Program P4_28. n<=100.4. End.n... Sa se scrie un program care calculeaza suma elementelor mai mici ca elementul maxim.

Sa se scrie un program care calculeaza suma elementelor pozitive mai mici ca M. Readln. s:=0. Begin Clrscr. Program P4_29.Readln(a[i]). Uses crt.. For i:=1 To n Do If a[i]<max Then s:=s+a[i].29 Se considera tabloul A[1.n] de numere intregi. Var a:array [1. End. Readkey. End. n<=100 si un numar natural M. max:=a[1].4. PROBLEMA 93.n.m:integer.100] of integer.. 98 .s. i. Daca nu exista astfel de numar sa se afiseze mesajul respectiv. Writeln('Introdu componentul n:'). Writeln(s:5).

Writeln('Introdu numarul natural m :'). Readln. Program P4_30.4. For i:=1 To n Do If a[i] mod m =0 Then s:=s+a[i].. Uses crt. Var a:array [1. Readln(m).30 Se considera tabloul A[1. Readln(a[i]).Readln(n). End.n. i. Sa se scrie un program care calculeaza suma: a) elementului maxim si elementului minim.']=').100] of integer. PROBLEMA 94.n] de numere intregi diferite. Readkey.min.s2. b) elementelorcare se afla intre elementul maxim si elementul minim. Begin 99 ..s1. End.i. n<=100. Writeln(s:5).max:integer. s:=0. For i:=1 To n Do Begin Write('a['.

. For i:=1 To n Do Begin If a[i]<min Then min:=a[i]. For i:=0 To n Do If( a[i]<max) and (a[i]>min) Then s2:=s2+a[i]. Readln(a[i]). max:=a[1].Clrscr. unde se contine cel putin un numar negativ. End. s2:=0.100] of integer. min:=a[1].n] de numere intregi.Sa se scrie un program care calculeaza suma elementelo care se afla dupa primul element negativ. Readkey.31 Se considera tabloul A[1. End. End.']='). PROBLEMA 95. Writeln(s2:5). Uses crt. Writeln(s1:5). n<=100. Program P4_31. Var a:array [1.loc:integer. If a[i]>max Then max:=a[i].i.4. i..s. For i:=1 To n Do Begin Write('a['.n. s1:=max+min. Readln. Readln(n). Writeln('Introdu componentul n:'). 100 .

100] of integer. Uses crt. Readln(n). Program P4_32.4. Readkey. 101 .. Var a:array [1. loc:=0. s:=0.Begin Clrscr.Sa se scrie un program care calculeaza suma elementelor divizibile cu 3. For i:=1 To n Do s:=s+a[loc+i].n] de numere intregi. PROBLEMA 96. Writeln('Introdu componentul n:'). End. Readln. Writeln(s:5). For i:=n Downto 1 Do If a[i]<0 Then loc:=i. Readln(a[i]). n<=100. Writeln(loc:5)..']=').32 Se considera tabloul A[1. For i:=1 To n Do Begin Write('a['. End.5 si 7.i.

15] de numere reale. Readkey.15] si B[1. End. For i:=1 To n Do If (a[i] mod 3=0) and (a[i] mod 5=0) and (a[i] mod 7=0) Then s:=s+a[i].n.. End. Program P4_33..s:integer.i. For i:=1 To n Do Begin Write('a['.']='). Readln(n). Readln(a[i]). Writeln(s:5). Writeln('Introdu n:'). Readln.Sa se scrie un pro-gram care calculeaza produsul: (A[1]+B[15])*(A[2]+B[14])*..i. PROBLEMA 97.4.*(A[15]+B[1]).33 Se considera doua tablouri A[1. Begin Clrscr. 102 .

4.i. Readln(n).b:array [1. Begin Clrscr. For i:=1 To n Do p:=p*(a[i]+b[n+i-1]).. i.']='). Writeln(p:5:2).. Readln.']='). PROBLEMA 98. Readkey. End. p:=1.i. Readln(a[i]). Sa se scrie un program care determina elementul maxim dintre elementele de pe locurile pare. For i:=1 To n Do Begin Write('a['. End. 103 .Uses crt. For i:=1 To n Do Begin Write('b['. Writeln('Introdu componentul n:'). End. Readln(b[i]). n<=100 .34 Se considera tabloul A[1. Var a.100] of real. p:real.n] de numere intregi.n:integer.

n<=100.4. Readln(a[i]). Writeln(max:5). i:=2. max:=a[2].max:integer.n. Uses crt. End.']='). Begin Clrscr.100] of integer.Sa se scrie un 104 . Writeln('Introdu componentul n:'). PROBLEMA 99.. i. Readln. Readln(n). For i:=1 To n Do Begin Write('a['.. Var a:array [1. End. Readkey.i.Program P4_34.35 Se considera tabloul A[1. i:=i+2. End. While i<=n Do Begin If a[i]>max Then max:=a[i].n] de numere intregi diferite.

Readln(a[i])..program care determina:numarul mai mare si pozitia lui.k ).' '.'l='. End. For i:=1 To n Do Begin Write('a['. Program P4_35. Writeln('mic='.4. mare:=a[1].l:integer. End.i. Readkey. l:=i.'k= '. End.']='). k:=i.n.mare. numarul mai mic si pozitia lui.100] of integer. For i:=1 To n Do If a[i]>mare Then Begin mare:=a[i]. Writeln('mare='. End.' '.mic.mic. mic:=a[1]. Readln.k. Writeln('Introdu componentul n:').mare.36 105 . Readln(n). PROBLEMA 100.l ). Uses crt. For i:=1 To n Do If a[i]<mic Then Begin mic:=a[i]. Var a:array [1. Begin Clrscr. i.

Sa se scrie un program care determina locurile pe care sunt elemente egale cu X. n<=100. Uses crt. Var a:array [1.Se presupune ca in tablou exista cel putin un element egal cu X. i. Readln(x).']='). Readln(a[i]). Readln. For i:=1 To n Do Begin Write('a['. For i:=1 To n Do If a[i] =x Then Write(i:2). End.. 106 .Se considera numarul intreg X si tabloul A[1. Readkey. Writeln('Introdu componentul n:').n] de numere intregi. Program P4_26. Readln(n). Begin Clrscr. End. Writeln('Introdu x:').100] of integer.n.i. .k:integer.x.

n. Writeln('Introdu componentul n:').100] of integer. Readkey. Readln(n). n<= 100.PROBLEMA 101.37 Se considera tabloul A[1. Readln(a[i]).k:integer. 107 . Writeln(k:5)..n] de numere intregi(cel putin un numar este negativ). Uses crt. i. End.i. For i:=n Downto 1 Do If a[i] < 0 Then k:=i. Readln.Sa se scrie un program care determina lo-cul primului element negativ.']='). Var a:array [1. Begin Clrscr..4. For i:=1 To n Do Begin Write('a['. End. k:=0. Program P4_37.

4.']=').Sa se scrie un program care determina cel mai mare element negativ. If k=1 Then Writeln('tabelul nu contine elemente negative') Else Writeln('max='. i. Readln(a[i]). Readln. 108 . For i:=1 To n Do Begin Write('a['. Begin Clrscr.k:=k+1. For i:=1 To n Do If a[i]<0 Then Begin b[k]:=a[i]. Writeln('Introdu componentul n:').max). Uses crt.n] de numere intregi diferite. max:=b[1].i. End.b:array [1. n<= 100. Readkey..100] of integer.l. Readln(n). Program P4_38. Var a.n.k:integer. End. End.. For l:=1 To k-1 Do If b[l]>max Then max:=b[l].k:=1.PROBLEMA 102.max.38 Se considera tabloul A[1.

Writeln('Introdu media anului 1898='). 109 .1998] of real. Var a:array[1898. For i:=1900 To n Do If a[i]=x Then anul:=i..n. Readln(a[i]). Begin Clrscr.PROBLEMA 103. Readln(n). Readln(x). Daca o astfel de temperatura n-a fost inregistrata in perioada data. Writeln('Intodu numarul de ani n:'). Uses crt..4.anul:integer.i. For i:=1900 To n Do Begin Write('a [ '.1998] care contine date despretemperatura medie a lunii februarie din perioada anillor 1898-1998. End. x:real. raspunsul va fi 0.Sa se scrie un program care stebileste anul cind aceasta temperatura x a fost inregistrata ultima data. Program P4_39.']=').Fie x tempeeratura medie alunii februarie anul 1899. i.39 Se considera tabloul A[1898. Writeln.

4.max).Writeln('Anul='. Program P4_40. Writeln.k. Uses crt. Readkey. PROBLEMA 104. For i:=1 To n Do Begin Write('a [ '. Readln(n). Sa se scrie un program care determina indicii a doua elemente suma carora este maxima (adica cea mai mare dintre sumele perechilor posibile). Var a:array[1. For i:=1 To n Do For j:=1 To n-1 Do If a[j]+a[j+1]>max Then max:=a[j]+a[j+1].. Readln. End.n] de numere intregi. Writeln(' max='.']=').n<= 100. Writeln('Intodu componentul n:').l.. End.100] of integer.Anul). Begin Clrscr.n.i. 110 . max:=a[1]+a[2]. i. Readln(a[i]).j.40 Se considera tabloul A[1.max:integer.

End.100] of integer.i. Var a:array[1.i. max:=a[1].n] de numere intregi diferite.For i:=1 To n Do For j:=1 To n-1 Do If a[i]+a[j+1]=max Then Writeln('i='. Program P4_41.']='). n<=100.max).41 Se considera tabloul A[1.' '. i. Begin Clrscr. Writeln('max='. PROBLEMA 105. For i:=1 To n Do If abs(a[i])=max Then 111 . For i:=1 To n Do Begin Write('a['.'j='. ca valoare. Writeln('Introdu componentul n=')... Readln(a[i]). de ele-mentul maxim. Uses crt. For i:=1 to n do If a[i]>max Then max:=a[i]. End.Sa se scrie un program care determina elementul.max:integer.j+1). Readkey.4.n. Readln(n).

Var a:array[1. i.a[i]). End. For i:=1 To n Do Begin Write('a['. Readln(n). Uses crt.42 Se considera tabloul A[1. Readkey.i. Readkey.. Readln. PROBLEMA 106.']='.4. Program P4_42. Writeln('k='. Writeln('Introdu componentul n=').n<=100.']=').k:integer.n] de numere intregi .Writeln('a['.. k:=0. Readln(a[i]).Sa se scrie un program care de-termina cea mai lunga segventa de zerouri. End.i.n.100] of integer. 112 . For i:=1 to n do If (a[i]=0) And (a[i+1]=0) Then k:=k+1.k). Begin Clrscr.

i.i.']='). Writeln('Introdu segventa k='). Program P4_43. For i:=1 To n Do Begin Write('a['.k<=n. PROBLEMA 107. End. Uses crt..4.l:integer. Readln(k).n<=100.Readln. Sa se scrie un program care determina daca exis-ta o segventa de k elemente de pozitii conse-cutive ale caror valoare sa fie egala cu 0.n] de numere intregi si un numar natural k .n.k. Var a:array[1. Writeln('Introdu componentul n=').100] of integer. 113 . Readln(n).43 Se considera tabloul A[1. Begin Clrscr..

l). Uses crt.100] of integer. Write('Cite elemente are tabloul n=')..n.'numere intregi:').n] de numere intregi. If l=k Then Writeln('DA') Else Writeln('NU'). 114 .n<=100. End. Readln.n. Readkey. Readln(n). PROBLEMA 108. Writeln('l='. l:=0.']=').Readln(a[i]). Sa se scrie un program care de-termina lungimea celei mai lungi segvente de elemente ordonate crescator.nmax:integer. Begin Clrscr.k. Program P4_44.4. Var x:array [1.. End. Writeln('Dati'. For i:=1 to n do If a[i]=a[i+1] Then l:=l+1. i.44 Se considera tabloul X[1. For i:=1 To n Do Begin Write('a['.i.

k:=1. Write('Cite persoane sunt n='). 115 . PROBLEMA 109. k:=1.' termeni').. Write('Cea mai lunga segventa de elemente orgonate '). Writeln(nmax. Readln. Var x:array [1.k. Program P4_45. End. For i:=1 To n Do If x[i]=x[i+1]-1 Then k:=k+1 Else Begin If k>nmax Then nmax:=k.Sa se scrie un program care afiseaza virsta pe care o au cele mai multe persoane in grup. Uses crt. Begin Clrscr. nmax:=0.4. i. End.Read(x[i]). If k>nmax Then nmax:=k. Readkey. End.100] of integer.45 Intr-un grup de n persoane fiecare isi decla-ra virsta spunind un numar:anii.nmax:integer.n. Readln(n).

atunci sa se indice unul dintre ele.Sa se scrie un program care determina elementul care se repeta cel mai des..n] de numere intregi. 116 . End. Write('Cea mai lunga segventa de elemente egale are ').Daca sunt citeva elemente de acest.' termeni').n.j.. nmax:=0. Uses crt. End.k. k:=1.For i:=1 To n Do Begin Write('a['. For i:=1 To n Do Begin If x[i]=x[i+1] Then k:=k+1 Else Begin If k>nmax Then nmax:=k.in care unele valori se pot repeta.i. k:=1. Writeln(nmax. i.4. End. Writeln(x[i]). End. Var a:array [1. Program P4_46. PROBLEMA 110.nmax:integer.46 Se considera tabloul A[1. Readln.']='). End. Read(x[i]). If k>nmax Then Begin nmax:=k.100] of integer.

Readkey. PROBLEMA 111. Program P4_47. Var a:array[1.j.n. k:=1.100] of integer. Uses crt. End.Begin Clrscr.'numere intregi:'). i. For i:=1 To n Do For j:=2 To n Do Begin If a[i]=a[j] Then k:=k+1 Else Begin If k>nmax Then nmax:=k.l:integer.apoi cele nule. Readln.. Write('Cite elemente are tabloul n=').47 Se considera tabloul A[1. End.4. Writeln('Dati'.']='). Read(a[i]).n] de numere intregi. End.. k:=1.n<=100. For i:=1 To n Do Begin Write('a['. Readln(n). 117 .i.Sa se scrie un program care afi-seaza mai intii elementele nenule. End. If k>nmax Then Writeln(a[i]).n. nmax:=0.

']='). Readkey. For i:=1 To n Do If a[i]=0 Then Write(a[n-i+l+3]. Readln(a[i]). Readln..n] de numere intregi.48 Se considera tabloul X[1. For i:=1 To n Do If (a[i]>0) or (a[i]<0) Then Begin Write(a[i]. PROBLEMA 112.Sa se scrie un program care afi-seaza numerele pozitive.Begin Clrscr. For i:=1 To n Do Begin Write('a['. End. Readln(n).' ').' '). Program P4_48. l:=0.i. l:=l+1. 118 .n<=100. End. Uses crt.4.apoi cele negative si la sfirsit cele nule. End. Writeln. Writeln('Intodu numarul componentelor n:').

End. For i:=1 To n Do If x[i]>0 Then Write(x[i]. Readln(n)..' '). i.49 Se considera tabloul X[1. PROBLEMA 113.Var x:array[1.n:integer. For i:=1 To n Do If x[i]=0 Then Write(x[i]. Readln.100] of integer. Sa se scrie un pro-gram care afiseaza mai intii numerele egale cu 1. Writeln.']=').. Readln(x[i]). For i:=1 To n Do If x[i]<0 Then Write(x[i]. End.' ').4. For i:=1 To n Do Begin Write('x['. Begin Clrscr.n] format din numere de 0. apoi egale cu 2 si la sfirsit 119 .' '). Writeln('Intodu numarul componentelor n:').n<=100.i.1 sau 2.

' '). Readln. Var x:array[1.2n] de numere intregi.100] of integer.cele ega-le cu 0. Uses crt. Writeln. For i:=1 To n Do Begin Write('x['.i.n:integer.. For i:=1 To n Do If x[i]=0 Then Write(x[i].50 Se considera tabloul A[1. Program P4_49. Begin Clrscr. Readln(x[i]).n<=50.' '). Readln(n). End. PROBLEMA 114.. Writeln('Intodu numarul componentelor n:').']=').' '). For i:=1 To n Do If x[i]=2 Then Write(x[i]. i. For i:=1 To n Do If x[i]=1 Then Write(x[i].Sa se scrie un program care afi120 .4. End.

i:integer. End.51 121 . Writeln.50. For i:=1 To n Do Write(x[i].100] of integer.4. Program P4_50. Readln(x[i]). Writeln('Intodu numarul componentelor n:'). For i:=1 To 2*n Do Begin Write('x['. Var x:array[1. n:1.i. PROBLEMA 115.' ').. Readln. End.. For i:=n+1 To 2*n Do Write(x[i]. iar in alta linie urmaroarele n elemente.seaza intr-o linie primele n elemente. Begin Clrscr.']=').' '). Uses crt. Readln(n). Writeln.

End. in a doua linie numarul elementelor pozitive.' '). Uses crt. Readln(a[i]).i. l:=l+1. Var a:array[1.100] of integer. Writeln(k). End. Readln.. Writeln.n] de numere intregi. i.Sa se scrie un program care afi-seaza: in prima linie numerele pozitive. For i:=1 To n Do If a[i]<0 Then Begin Write(a[i]. End. For i:=1 To n Do If a[i]>0 Then Begin Write(a[i]. Begin Clrscr.k:=0.n.l:=0. 122 .. k:=k+1. in a patra li-nie numarul elementelor negative.']='). Writeln(l). Program P4_51. Readln(n). For i:=1 To n Do Begin Write('a['.' ').l:integer. in a treia linie numerele negative.n<=100.Se considera tabloul A[1.Writeln.Writeln.k. Writeln('Intodu numarul componentelor n:').

100] of integer. PROBLEMA 116.j.End.n<=100.' ' ).']='). End.Sa se scrie un program care afiseaza divizorii fiecarui element din tablou.'] divizorii ').n:integer.. 123 . Var a:array[1. For i:=1 To n Do Begin Writeln('a['. For j:=1 To n Do Begin If a[i] mod j=0 Then Writeln(j. End. Readln.4. Readln(n).n] de numere naturale.52 Se considera tabloul A[1. Writeln('Intodu numarul componentelor n:'). For i:=1 To n Do Begin Write('a['. End.i. Writeln. Rezultatul se va afisa in forma:elenemtul di-vizorii . Readln(a[i]). Uses crt.i. End. i. Begin Clrscr.. Program P4_52.

End.' ') . 124 .4.Sa se scrie un program care inlocuieste elementele mai mari ca 10 cu patra-tul lor.100] of integer.']='). i.n] de numere intregi. Readln(n). Readln.' '). End. Var a:array[1. Readln(a[i]).53 Se considera tabloul A[1. End.i.n:integer. Writeln.n<=100. Readkey.. Program P4_53. Writeln('Intodu numarul componentelor n:').PROBLEMA 117. Uses crt.. If a[i]<=10 Then Write(a[i]. For i:=1 To n Do Begin Write('a['. For i:=1 To n Do Begin If a[i]>10 Then Write(a[i]*a[i]. Begin Clrscr.

Readkey. End. i. Uses crt. Readln(a[i]).n:integer. Begin Clrscr.n<=100. For i:=1 To n Do Begin Write('a['. End.PROBLEMA 118.']=').i.' '). Program P4_54. Readln.Sa se scrie un program care mareste fiecare element cu 5. 125 ..54 Se considera tabloul A[1. Writeln('Intodu numarul componentelor n:'). Writeln..4. Readln(n). For i:=1 To n Do Write(a[i]+5.n] de numere intregi. Var a:array[1.100] of integer.

n:integer. End. While i<=n Do Begin a[i]:=100.. Readln(n).n<=100. Begin Clrscr. Write(a[i]. i. Write(a[i+1].']=').n] de numere intregi. For i:=1 To n Do Begin Write('a['.55 Se considera tabloul A[1.100] of integer. Readln(a[i]).' ') . Writeln('Intodu numarul componentelor n:').i. Writeln.4. Var a:array[1.. i:=i+2. Uses crt.' '). i:=1. End. 126 . Program P4_55.PROBLEMA 119.Sa se scrie un program care inlocuieste de pe locurile impare cu 100.

min. Program P4_56. Begin Clrscr. End. Var a:array [1.']=').100] of integer... Read(a[i]). Write('Cite elemente are tabloul n=').i.n<=100. For i:=1 To n Do Begin Write('a['.min:=a[1]. PROBLEMA 120. For i:=1 To n Do Begin If a[i]>=max Then Begin max:=a[i] 127 .n. Readln(n).4.max:integer.n] de numere intregi distincte. max:=a[1]. Writeln('Dati'.k. Sa se scrie un program care efectuiaza interschimbarea elementului maxim cu elementul minim. Readln.n.Readkey.q.'numere intregi:'). Uses crt. End.56 Se considera tabloul A[1. i.

Sa se scrie un program care modifica elementele acestui tablou . i.. Begin Clrscr.']='). Write('Cite elemente are tabloul n=').n. Uses crt. Readln(n). Program P4_57.n<=100 si un numar intreg X. If a[i]<=min Then Begin min:=a[i] . Read(a[i]). 128 End. a[k]:=min.4.n] de numere intregi . PROBLEMA 121. Readln(x)... a[q]:=max. Readkey. Readln.adaugind la elementele de pe locurile pare numarul X. .' ').57 Se considera tabloul A[1. For i:=1 To n Do Begin Write('a['. k:=i. End. For i:=1 To n Do Write(a[i]. End.x:integer. End. q:=i. Var a:array [1.100] of integer.i. End.

i:=2.58 Se considera tabloul A[1.iar elementele maximecu suma elementelor pozitive. s1. i. Readkey.n<=100. Sa se scrie un program care modifica tabloul in felul urmator :elementele minime le inlocuieste cu media aritmetica a tu-turor elementelor. Readln(n).'numere intregi:'). i:=i+2. Write(a[i+1]. Var a:array [1. Program P4_58..k. End.. PROBLEMA 122.n. Uses crt.' '). Writeln('Dati'. End.s. Readln. Write('Cite elemente are tabloul n=').n.max.n] de numere reale.' '). While i<=n Do Begin Write(a[i]+x.4.100] of real. Write(a[1].s2. For i:=1 To n Do 129 . Begin Clrscr.q:integer.' ').min:real.

End. a[k]:=s2.' '). Var a:array [1. Readkey. Read(a[i]).n. k:=i. For i:=1 To n Do Write(a[i]:5:2.59 Se considera tabloul A[1..s1:real. Begin Clrscr. Uses crt. i.i. End.n] de numere reale . End. End.iar elementele nule-cu 100. s2:=0. For i:=1 To n Do Begin If a[i]>=max Then Begin max:=a[i]. q:=i. s:=0.']=').k:integer. max:=a[1]..min:=a[1]. s. s:=s+a[i].max. a[q]:=s1. Readln. PROBLEMA 123. 130 . If a[i]<=min Then Begin min:=a[i]. End. elementele pozitive-cu media aritmetica a tuturor ele-mentelor. Sa se scrie un program care modifica tabloul in felul urmator: elementele negative le inlocuieste cu elementul maxim.100] of real. s1:=s/n. If a[i]>0 Then s2:=s2+a[i]. Program P4_59.4.Begin Write('a['.n<=100. Write('Cite elemente are tabloul n=').

i. If a[i]=0 Then Write(100. For i:=1 To n Do Begin If a[i]<0 Then Write(max:5:2. Readkey. Readln.iar cele nule-cu 7. For i:=1 To n Do Begin If a[i]>=max Then Begin max:=a[i].n.k. End.']=').i.s1:=s/n. For i:=1 To n Do Begin Write('a['.4..Readln(n).n. n<=100.n] de numere intregi. Var a:array [1.cele negative-cu patratul lor. PROBLEMA 124.' '). End.' ').q. Read(a[i]).' '). Program P4_60. 131 .'numere intregi:'). Writeln('Dati'. If a[i]>0 Then Write(s1:5:2. End. max:=a[1]. End..max:integer.60 Se considera tabloul A[1.100] of integer. End.min. s:=s+a[i].Sa se scrie un program care mo-difica tabloul in felul urmator:elementele pozitive le inlocuieste cu 1. Uses crt. k:=i. Begin Clrscr.

61 Se considera tabloul A[1. Readln(n).10] de numere intregi..Write('Cite elemente are tabloul n=').A[7].4. If a[i]<0 Then Write(a[i]*a[i].n. PROBLEMA 125.i.']='). A[8].' ').A[6].A[4]. For i:=1 To n Do Begin If a[i]>0 Then Write(1.A[9]. 132 . End.A[10].'numere intregi:'). For i:=1 To n Do Begin Write('a['. Read(a[i]).A[3]. Sa se scrie un program care mo-difica tabloul. Readln.A[2] . End. If a[i]=0 Then Write(7. Writeln('Dati'. apoi in ordine inversa elementele din jumatatea a doua a tabloului:A[5]. Program P4_61. End.n<=100.' ').' '). scriind in ordine inversa elementele din prima jumatate a tabloului.A[1]. Readkey.

End.10] of integer. Read(a[i]).m. Var a:array [1..al treilea element cu al patrulea.s.a.. Sa se modifice acest tablou. Readln.']=').n] (n-numar par) de numere intregi.n:integer.62 Se considera tabloul A[1. Begin Clrscr.. Writeln('Introdu n:'). Readkey.i. For i:=n div 2 Downto 1 Do Write(a[i].Uses crt.4. For i:=1 To n Do Begin Write('a['..' '). PROBLEMA 126.n<=100. For i:=n Downto n div 2+1 Do Write(a[i]. Program P4_62.' '). 133 .d. Readln(n). i. End. schimbind primul element cu al doilea .

For i:=1 To n Do Begin Write('a['.' ').k. For i:=1 To n Do Begin a[i]:=a[i+1].'numere intregi:').4.q. End.. Writeln('Dati'.63 Se considera tabloul A[1..Uses crt. Read(a[i]). n<=100.max:integer. Readln(n). i:=i+1. End. Sa se scrie un program care efectuiaza deplasarea spre stinga cu o po- 134 .i.']=').n] de numere intregi. Write(a[i]. Var a:array [1. i. Write('Cite elemente are tabloul n=').n. Readkey. Readln.100] of integer. End.n. Begin Clrscr.min. PROBLEMA 127.

.4. Read(a[i]).m:integer.' '). Write(a[m]. Var a:array [1. Pri-mul element va fi scris pe ultima pozitie.64 135 ..' ') For i:=1 To m-3 Do Begin a[i]:=a[i+1]. Writeln('Dati'.i.k. PROBLEMA 128.A[3].A[n].Readln(m). End.100] of integer.'numere intregi:').']=').zitie a ele mentelor A[2]. End.. Readln..' '). End. Readkey. Program P4_63. Write(a[i].n. i. Readln(n). For i:=1 To n Do Begin Write('a['. Uses crt.n. Begin Clrscr. Write(a[i]. Write('Cite elemente are tabloul n='). End. For i:=m To n-m Do Begin a[i]:=a[i+1]..

i.n] de numere intregi.. End. Program P4_64..' '). Readln.. Write(a[i]. End.' '). Write(a[2]. Write('Cite elemente are tabloul n=').n:integer. Readkey. Uses crt.n. End. Read(a[i]).100] of integer.Primul element va fi scris pe ultima pozitie. Writeln('Dati'.i.A[n]. n<=100. Write(a[i-n+2].']=').. For i:=1 To n Do Begin Write('a['. Begin Clrscr..' ').A[3]. For i:=2 To n-1 Do Begin a[i]:=a[i+1].. Sa se scrie un program care efectuiaza deplasarea spre stinga cu o pozitie a elementelor A[2]. Readln(n).k. Var a:array [1.'numere intregi:'). 136 .Se considera tabloul A[1.

Writeln('Introdu componentul n:'). i. For i:=1 To n Do Begin Write('x['. apoi cele egale cu 2. Readkey. apoi cele egale cu 0. Begin Clrscr.n:integer. 137 . End.65 Se considera tabloul X[1. Readln(n). Readln. Var x:array [1.' ').10] de numere intregi egale numai cu 0.i.4.' '). Program P4_65. Readln(x[i]).']='). For i:=1 To n Do If x[i]=1 Then Write(x[i].10] of integer.PROBLEMA 129. For i:=1 To n Do If x[i]=0 Then Write(x[i].' '). For i:=1 To n Do If x[i]=2 Then Write(x[i].1 sau 2... Uses crt. End. Sa se scrie un program care aranjeaza pe primele locuri elementele egale cu 1.

100] of integer. ').']=8. 138 . End. Readln. iar elementele egale cu 8 le inlocuieste cu 2. Readkey.i.n] de numere intregi pozitive. Sa se scrie un program care modifica tabloul in felul urmator:ele-mentele egale cu 2 le inlocuieste cu 4. '). Readln(a[i]). Readln(n). End.i.i. Writeln('Introdu componentul n:'). Uses crt. Var a:array [1. i.ele-mentele egale cu 4 le inlocuieste cu 8.']=4. For i:=1 To n Do If a[i]=8 Then Write('a['.']=2. Program P4_66.4. For i:=1 To n Do Begin Write('a['.n:integer..n<=100.']='). For i:=1 To n Do If a[i]=2 Then Write('a['. '). For i:=1 To n Do If a[i]=4 Then Write('a['.PROBLEMA 130. Begin Clrscr..66 Se considera tabloul A[1.i.

PROBLEMA 131.Sa se scrie un program care or-doneaza descrescator elementele acestui ta-blou. End.n<=100. For i:=1 To n Do Begin Write('a['. i. Readln(a[i]).aux. Begin Clrscr. Uses crt.. Write('Tabloul ordonat:').67 Se considera tabloul A[1. a[j+1]:=aux.n] de numere intregi . End. Var a:array [1.j..']='). a[j]:=a[j+1]. 139 . Program P4_67. For i:=1 To n-1 Do For j:=1 To n-1 Do If a[j]<a[j+1] Then Begin aux:=a[j]. Writeln('Introdu componentul n:').100] of integer.i. Readln(n).4.n:integer.

' '). Program P4_68. Readln(n).j.68 Se considera numarul natural N format din cel mult 9 cifre.100] of integer. Uses crt. i. End. End. Readkey.. Begin Clrscr. Readkey.4.For i:=1 To n Do Write(a[i]. Readln.n:integer. PROBLEMA 132.divizorii numarului N. For i:=1 To n Do If n mod i=0 Then Begin b[i]:=i. Var b:array [1. Writeln('Introdu numarul n:').' ' ). End. Readln. 140 . Write(i.Sa se scrie un program care in-scrie in tabloul unidimensional B.

For i:=1 To n Do Write('a['.' '). For i:=n Downto 1 Do Write('a['..i.n] .i. 141 ..n) b) numerele naturale in ordine descrescatoare (n. End... Readkey.n:integer. Begin Clrscr.n<=100..100] of integer.i.2.n-1.4. Uses crt.69 Sa se scrie un program care creaza un tablou A[1. i.i..PROBLEMA 133.']='.din a) numere naturale in ordine crescatoare (1.']='. Readln(n).. Var a:array [1.' '). Writeln('Introdu componentul n:').. Program P4_69. Writeln.. Readln.1)..

5.m. i...1.m] de numere intregi.m).20.j.'linii si '.n..m. 142 . Program P5_1.n.n.m:'). For i:=1 To n Do For j:=1 To m Do Begin Write('a['..s.']=').1 Se considera tabloul A[1. Writeln('Introdu un tablou cu '.1.j.'.20] of integer.m<=20. Var a:array [1. Begin Clrscr. Uses crt.n. Readln(n. Writeln('Introdu componentele n.'coloane:').Programe cu tablouri bidimensionale PROBLEMA 134.'.i.Sa se scrie un program care calculeaza suma si produsul elementelor pozitive.p:integer.

. s1:real.j]).j]>0 Then Begin s:=s+a[i.'linii si '.n.2 Se considera tabloul A[1. i.'. Writeln('Introdu un tablou cu '..p).m)..n. Readln.m:').5. For i:=1 To n Do For j:=1 To m Do If a[i.m. Begin Clrscr. PROBLEMA 135.k:integer.']='). End. For i:=1 To n Do For j:=1 To m Do Begin Write('a['. p:=1.'coloane:')..j.1.j]. Var a:array [1. s:=0. 143 . End.j]. Sa se scrie un program care determina numarul elementelor mai mari decit media aritmetica a tuturor lementelor. Writeln('s='.m] de numere intregi. Readkey. Uses crt.unde n.s).1.n. Writeln('Introdu componentele n. Readln(n. Writeln('p='.i.j. p:=p*a[i.Read(a[i. Program P5_2.'.20. End.20] of integer. m<=20.m.s.

End. Program P5_3. i.3 Se considera tabloul A[1. For i:=1 To n Do For j:=1 To m Do If a[i.'coloane:').. Writeln('k='.k).'linii si '. Uses crt. For i:=1 To n Do For j:=1 To m Do s:=s+a[i. Writeln('Introdu componentele n.unde n. k:=0.j]).m). Sa se scrie un program care determina elementul maxim.m..m.n.max:integer.j]. Writeln('Introdu un tablou cu '.n. m<=20.n.1. Readln(n.20] of integer.. s1:=s/(n+m).m] de numere intregi.5. End.j.Read(a[i.20. Readkey. For i:=1 To n Do For j:=1 To m Do Begin 144 .m:').1. PROBLEMA 136. Readln. Begin Clrscr.j]>s1 Then k:=k+1. s:=0. Var a:array [1..

For i:=1 To n Do For j:=1 To m Do If a[i.n. End. Sa se scrie un program care determina elementul minim si pozitia lui.j.1.5. m<=20.1. Writeln('Introdu componentele n..m:').m] de numere intregi.max). Readln. max:=a[1.n.m.i.j]>max Then max:=a[i.j]). Read(a[i.'coloane:'). End.']='). Writeln('max='.'.. Var a:array [1.'. i.20.1]. Readln(n. Program P5_4..n.j]. Readkey.Write('a['.m. Writeln('Introdu un tablou cu '. Uses crt.unde n.j.4 Se considera tabloul A[1. 145 .'linii si '.min:integer. Begin Clrscr. PROBLEMA 137..m).20] of integer.

' ').']='). precum si pozitiile acestora. Sa se scrie un program care determina elementul minim si elemen-tulmaxim.i.. min:=a[1.j. Writeln('Introdu componentele n. Program P5_5.m. m<=20.']'. Uses crt. For i:=1 To n Do For j:=1 To m Do If a[i. Begin Clrscr.j. Var y:array [1.'.n.i. For i:=1 To n Do For j:=1 To m Do If a[i.j]=min Then Write('a['.j.20.'. Readln. PROBLEMA 138.20] of integer.'.m:').k.. Writeln.j].l:integer. 146 .For i:=1 To n Do For j:=1 To m Do Begin Write('a['.1.unde n. End.5 Se considera tabloul Y[1.min)..max. i. End. Read(a[i.'.5. Readkey.n.m] de numere intregi.1].j]<min Then min:=a[i.min.j]).. Writeln('min='.1.

n.i.. Readln.'.i.1..min). If y[i. max:=y[1. If y[i.j.'.' ').' ' . For i:=1 To n Do For j:=1 To m Do Begin Write('y['.'.1].'.j]). End.6 Se considera tabloul A[1.j]>max Then max:=y[i.m). PROBLEMA 139.'.j].i.' '). For i:=1 To n Do For j:=1 To m Do Begin If y[i.j.']=').'min='.j]=max Then Write('y['.j]<min Then min:=y[i.n.']'.']'.j. Uses crt.n] de numere intregi.j].Readln(n. Sa se scrie un program care determina elementul maxim de pe diagonala principala si elementul maxim de pe diagonala secundara. Read(y[i. min:=y[1.'linii si '. m<=20. Program P5_6.unde n.'. End. For i:=1 To n Do For j:=1 To m Do Begin If y[i.m.j]=min Then Write('y['.1].max. 147 . End. Writeln('Introdu un tablou cu '. Writeln('max='. End.5.'coloane:').

Begin Clrscr.j]. Program P5_7. Sa se scrie un program care zerografiaza diagonala principala .n] de numere intregi.i]>max1 Then max1:=a[i. max1:=a[1.. i.i].max2). PROBLEMA 140. Readln.'coloane:').j.n.max2:=a[1. Writeln('max1='.7 Se considera tabloul A[1.max1. Readln(n). Writeln('max2='. End.n].20.max1)....1.5. For i:=1 To n Do For j:=1 To n Do Read(a[i.n.20] of integer.max2:integer. m<=20.1.n.1]. Writeln('Introdu un tablou cu '. 148 .unde n. Readkey. Writeln('Introdu componentul n:').j]>max2 Then max2:=a[i.Var a:array [1.j]).n. For i:=1 To n Do If a[i.'linii si '. For j:=n Downto 1 Do For i:=1 To n Do If a[i.

n] de numere intregi. For i:=1 To n Do For j:=1 To n Do Begin Write('a['. For i:=1 To n Begin For j:=1 To n Do Write(a[i.n<=20.1..8 Se considera tabloul A[1.n..j.20. Writeln ('Tabloul cu diagonala principala zerografiata:').j]). Writeln End. Readln. End.j. For i:=1 To n Do a[i. Write('Introdu componentul n:').'.j]:4).i.']=').20.. i.20] of integer. Readln(n).i]:=0. Readkey. Read(a[i.'.Sa se scrie un program care 149 . PROBLEMA 141.n:1. End.1... Var a:array [1. Begin Clrscr.5.Uses crt.

9 150 .j].5. Program P5_8.j. For i:=1 To n Do For j:=1 To n Do Read(a[i. Writeln. PROBLEMA 142. For i:=1 To n Do Begin For j:=1 To n Do Write(a[i. Readkey.'linii si '.20.j]). Writeln. Begin Clrscr. Readln(n).j]:=-a[i. Var a:array [1..20] of integer.n. End.n:integer. End.j]:4). Writeln('Introdu componentul n:').. Readln.1. Writeln('Introdu un tablou cu '. i. For i:=1 To n Do For j:=i+1 To n Do a[i.schimba in opus semnele elementelor situate deasupra diagonalei principale. Uses crt.n.'coloane:').

1.Se considera tabloul A[1.1..j]:=0. End. Writeln.. Readkey. Readln(n). i.j.20.n. Begin Clrscr.20] of integer.'linii si '.'coloane:').j]).. Writeln. For i:=1 To n Do Begin For j:=1 To n Do Write(a[i. Uses crt.n:integer. End.Sa se scrie un program care zerografiaza elementele de pe diagonala secundara si cele mai jos de ea. For i:=1 To n Do For j:=1 To n Do Read(a[i.j]:4). 151 . Var a:array [1. Program P5_9.. Writeln('Introdu un tablou cu '.n<=20.n] de numere intregi. For j:=n Downto 1 Do For i:=n Downto n-j+1 Do Begin a[i. Readln. End.n.n. Writeln('Introdu componentul n:').

. b:array [1. End.5. Readkey.j. Readln.20] of integer.Sa se scrie un program care zerografiaza elementele de pe diagonala secundara si cele mai jos de ea.n<=20. Var a:array [1. End.m:integer.20. For i:=1 To n Do For j:=1 To m Do Begin If a[i.10 Se considera tabloul A[1.1. Write(b[i]:4).n. Writeln('Introdu componentele n.m:').n] de numere intregi.n.k.PROBLEMA 143. i.40] of integer.j]>0 Then Begin b[i]:=a[i. Readln(n. For i:=1 To n Do For j:=1 To m Do Read(a[i.m).n. 152 ..j]. Begin Clrscr. Uses crt. End.n... Program P5_10.'linii si '.1. Writeln('Introdu un tablou cu '..j]).'coloane:').

20. Readln. Program P5_11..'linii si '. Writeln('k='.n. Begin Clrscr.1. For i:=1 To n Do If a[i.20] of integer. Sa se scrie un program care calculeaza numarul de elemente pozitive de pe diagonala principala.n.n. End. 153 .'coloane:').j.m.m:').k).PROBLEMA 144.. i. Readkey.k:integer.m] de numere intregi. Writeln('Introdu un tablou cu '. Uses crt.i]>0 Then k:=k+1. Readln(n. Writeln('Introdu componentele n. k:=0.1. m<=20...m). For i:=1 To n Do For j:=1 To m Do Read(a[i.j]). Var a:array [1.11 Se considera tabloul A[1.n.m.5.

i. Uses crt.j..1..'coloane:'). Read(a[i.m).20] of integer.m. For i:=1 To n Do 154 .n.m.. legate prin comunicatii aeriene.m:'). Pretul [1. Writeln('Introdu un tablou cu '.20.j].'.i. Costul unui bilet din orasul i in orasul j e indicat in tabloul bidimensional. For i:=1 To n Do For j:=1 To m Do If a[i.n.5. mic:=a[1.50.j]<mic Then mic:=a[i.j.50].'. For i:=1 To n Do For j:=1 To m Do Begin Write('a['. Program P5_12.1].PROBLEMA 145..12 O tara are 50 orase.1. Var a:array [1. Readln(n. Begin Clrscr. Writeln('Introdu componentele n.']=').'linii si '.j]).mic:integer. Sa se scrie un program care gaseste o ruta din orasul i in orasul j cu cel mai mic pret. End.

'linii si '.s. Readkey.n] de numere intregi.13 Se considera tabloul A[1.j]=mic Then Write('a['.n.n. Sa se scrie un program care determina elementul minim si elementul maxim dintre elementele care se afla mai jos de di-agonala principala si sa se efectuieze inter-schimbarea lor. Writeln('Introdu componentele n:'). Uses crt. m<=20.'].. i. For i:=n Downto 2 Do For j:=1 To i-1 Do Begin If a[i. Readln(n).min:integer.'coloane:').'.For j:=1 To m Do If a[i. For i:=1 To n Do For j:=1 To n Do Read(a[i... max:=a[n.'.20. Begin Clrscr. End.j.k. PROBLEMA 146. min:=a[n.5.' ').n. Program P5_13.p. Writeln('Introdu un tablou cu '.1].j.n.1].1.i]>=max Then Begin 155 .j]).max. Var a:array [1.l. Readln.20] of integer..1.n.x.'.i.

linii si '.unde n<=20.j]<=min Then Begin min:=a[i. End.. Uses crt. Writeln('Intodu numarul componentelor n:').5.max:=a[i.s).s]:=min. Sa se scrie un program care calculeaza suma elementelor care nu se afla pe diagonala secundara.n] de numere intregi. End.n.'. s:=j.n. i. k:=i. End. For i:=1 To n Do s:=s+a[i.max.'coloane:'). ''min='. a[k. writeln('max='. Writeln. If a[i. PROBLEMA 147. Writeln. l:=i. 156 . Writeln('Introdu un tablou cu '.20.s:integer. For i:=1 To n Do For j:=1 To n Do Read(a[i..min). s:=0.. Writeln('s='.p]:=max. p:=j.1. For i:=1 To n Do Begin For j:=1 To n Do Write(a[i.j]. Readln(n).14 Se considera tabloul A[1.'. Program P5_15. Begin Clrscr.1.j]). a[l.n.' ').n.i].20] of integer. End.j]..j.j]. End. Var a:array[1. Readln.

n] de numere intregi. s:=0. Readln. For i:=1 To n Do For j:=1 To n Do Read(a[i. Program P5_15..n. Writeln('Introdu un tablou cu '.. Readkey.'.20.unde n<=20.1.1.5.linii si '. For i:=1 To n Do 157 .15 Se considera tabloul A[1. Writeln. Readln(n).s.20] of integer. i.n. End. Var a:array[1.'coloane:'). Writeln. Uses crt. PROBLEMA 148. Writeln('Intodu numarul componentelor n:')...s1. Sa se scrie un program care calculeaza suma elementelor care nu se afla pe diagonala secundara. Begin Clrscr.n.s2:integer.j]).n.For i:=1 To n Do Begin For j:=1 To n Do Write(a[i.j]+s:4). End.j.

s2). PROBLEMA 149.20.n. Readkey.n.'. 158 . End.n.16 Se considera tabloul A[1.j].s). For i:=1 To n Do s1:=s1+a[i.j. Readln(n). Writeln('Introdu un tablou cu '..'coloane:'). media:real. Program P5_16..n+1-i]. Sa se scrie un program care calculeaza media aritmetica a elementelor de diagonala principala si suma elementelor de pe diagonala secundara.s.s1). Readln.5.n. For i:=1 To n Do For j:=1 To n Do Read(a[i. s1:=0. Uses crt. Writeln('Intodu numarul componentelor n:').For j:=1 To n Do s:=s+a[i. s2:=s-s1.j]).1.s1:integer. Writeln('s='. Begin Clrscr.1.20] of integer..linii si '. Var a:array[1. i. Writeln('s2='.n] de numere intregi. Writeln('s1='..unde n<=20.

Writeln('s='.n+1-i].17 Se considera tabloul A[1.n. Writeln('Introdu un tablou cu '.5. Writeln('Intodu numarul componentelor n.Writeln. Writeln('media='.s).s1).'coloane:').j. Readln. Uses crt.m. Program P5_17.1. Sa se scrie un program care determina numarul elementelor nenule de pe fiecare linie. Readln(n. End. media:=s/n..media:5:2). For i:=1 To n Do s1:=s1+a[i.m:').m] de numere intregi.n. s:=0.k:integer.n.. Begin Clrscr.20] of integer.linii si '. Var a:array [1.20. For i:=1 To n Do s:=s+a[i.1. Writeln('s1='..m.i]..m<=20.'. s1:=0.unde n.m). PROBLEMA 150. Readkey. For i:=1 To n Do 159 . i.

Readkey.p:integer.1. Program P5_18. For i:=1 To n Do Begin k:=0.. 160 .m. End.1.m] de numere intregi.j]).20] of integer. Readln(n. Uses crt.n. Begin Clrscr. For j:=1 To m Do If a[i.unde n.'este:'.For j:=1 To m Do Read(a[i.m)..20] of integer. End. Writeln('Intodu numarul componentelor n..i.m:').j.m<=20.5. PROBLEMA 151.k).s. i.18 Se considera tabloul A[1. Writeln('Numarul elementelor pozitive de pe linia '. Var a:array [1.j]>0 Then k:=k+1. Writeln. Readln. b:array [1.. Sa se scrie un program care calculeaza suma si produsul elementelor de pe fiecare linie.20.n..

Writeln. End.j]. Var a:array [1.j].j. i.n..20.m. For i:=1 To n Do Begin s:=0. PROBLEMA 152.' este:'. p:=1.n. Program P5_19.5.'. 161 .20] of integer.p). End. Writeln('Intodu numarul componentelor n:'). Sa se scrie un program care creaza un vector din elementele diagonalei principale.unde n<=20..1.s).n] de numere intregi.'coloane:'). For i:=1 To n Do For j:=1 To m Do Read(a[i. linii si '. Uses crt.19 Se considera tabloul A[1.n:integer.. Readkey.i. Writeln('Produsul elementelor de pe linia '. Begin Clrscr. b:array [1.1. p:=p*a[i.20] of integer.. For j:=1 To m Do Begin s:=s+a[i.'este:'..j]).i. End. Writeln('Suma elementelor de pe linia '. Readln.Writeln('Introdu un tablou cu '.

End..20 Se considera tabloul A[1.j. Sa se scrie un program care creaza un tablou B[1.. Var a:array [1.1..20] of integer.m<=20. i.1. End.Readln(n).. linii si '.n. Uses crt. For i:=1 To n Do Begin b[i]:=a[i.20. Writeln('Introdu un tablou cu '.m. Program P5_20.m] de numere intregi.n. Write(b[i]:4). Readkey.i]. Begin 162 . Readln.n] din sumele ele-mentelor de pe linii din tabloul A.s:integer. PROBLEMA 153. For i:=1 To n Do For j:=1 To n Do Read(a[i.n. b:array [1.j]).'.n..20] of integer..unde n. Writeln.'coloane:').5.

unde n. Writeln('Introdu un tablou cu '.. Program P5_21.1...20. Uses crt....n.m).'coloane:').m<=20.20] of real. Sa se scrie un program care creaza un tablou B[1. b:array [1.21 Se considera tabloul A[1. Writeln. End.n. For i:=1 To n Do For j:=1 To m Do Read(a[i.m.m] de numere reale.Clrscr.1. For i:=1 To Readkey. Writeln('Intodu numarul componentelor n. 163 . Readln.j]).'.20] of real.m:').m] din produsul elementelor de pe coloane din tabloul A. Readln(n.5. Var a:array [1. PROBLEMA 154. linii si '.

Program P5_22.m:integer.n.n.. PROBLEMA 155. 164 . Readln. Readln(n. Uses crt. Sa se scrie un program care creaza un tablou Y[1. Writeln. Readkey. Begin Clrscr.n. Writeln('Introdu un tablou cu '.5. For i:=1 To n Do p:=p*a[i.j]). Writeln('Intodu numarul componentelor n. For j:=1 To m Do Begin p:=1.j].m:').m). p:real. End.22 Se considera tabloul X[1.'. For i:=1 To n Do For j:=1 To m Do Read(a[i.. Writeln(b[j] :4:2).n] din elementele maxime de pe linii din tabloul X. linii si '.. b[j]:=p. End.1.m<=20.unde n.j.'coloane:').m.i.m] de numere reale.

5.max:integer.i] al tabloul initial. End. Begin Clrscr. Readln.m] de numere reale..m.1.20.unde n. For i:=1 To n Do For j:=1 To m Do Read(x[i..'. PROBLEMA 156. Writeln(y[i] :4).1]. Writeln('Intodu numarul componentelor n..'coloane:').20] of integer.m..Var x:array [1. i. For j:=1 To m Do If x[i. Sa se scrie un program conform caruia la fiecare element al liniei i se adauga elementul A[i.j]). y:array [1.m<=20.n. For i:=1 To n Do Begin max:=x[i.n.1. Writeln('Introdu un tablou cu '.j]>max Then max:=x[i. linii si '. Readln(n.m). End. Writeln. Readkey.23 Se considera tabloul A[1.n. y[i]:=max.m:').j. 165 .20] of integer.j]..

Writeln('Intodu numarul componentelor n.b:array [1. For j:=1 To m Do Begin For i:=1 To n Do Begin s:=0.m:').n.'. Uses crt.5.1. Readkey. Writeln.'coloane:').n.m). End.m<=20..m] de numere intregi si un numar intreg X. Readln. s:=s+a[i. Sa se scrie un program care determina daca 166 .']='.m.j]).unde n. Writeln('Introdu un tablou cu '.i] :4).1.s:integer. linii si '.. Readln(n. Begin Clrscr.b[j.j..'.i]:=s. i.Program P5_23.i].20.j]+a[i.i.j. PROBLEMA 157. End..m. Var a. End. b[j.20] of integer. Writeln('b['.n.24 Se considera tabloul A[1. For i:=1 To n Do For j:=1 To m Do Read(a[i.'.

a[i. linii si '. Var a:array [1. Readkey.20.i.j]=x Then Write('a['. Writeln('Introdu un tablou cu '.']='.m] de numere 167 .m:').j]). Readln(x). Program P5_24.20] of integer.n.m). Writeln('Introdu numarul x:')..1.1. i. Readln(n. Uses crt..m..n.j].25 Se considera tabloul A[1.m.n.in tabloul A exista elemente egale cu X. For i:=1 To n Do For j:=1 To m Do If a[i..x:integer.'. PROBLEMA 158. Writeln. Readln.'. Writeln('Intodu numarul componentelor n. For i:=1 To n Do For j:=1 To m Do Read(a[i. Begin Clrscr.'coloane:').'.j. End.5. ' ') Else Writeln('Nu').j.

n2:integer. For j:=1 To m Do Begin aux:=a[n1. Readln(n.m.. a[n1. 168 .m:'). Readln(n1. n2).j]. a[n2. Writeln('Introdu liniile n1.j]:=aux.m<=20.aux. Writeln('Tabloul dupa schimbarea liniilor n1 si'.n. End. For i:=1 To n Do For j:=1 To m Do Read(a[i. Begin Clrscr. Program P5_25.m.n2:').j]:4).20.intregi.j.. Sa se scrie un program care efectuiaza interschimbarea liniilor n1 si n2.j]). Writeln('Intodu numarul componentelor n. For i:=1 To n Do Begin For j:=1 To m Do Write(a[i. End.j]. i.'coloane:').unde n.n.20] of integer. linii si '.Numerele n1(n1<n) si n2(n2<n) se intro-duc de la tastatura. Uses crt. Writeln('Introdu un tablou cu '.n2).m).1. End.n1. Readln. Var a:array [1. Writeln.j]:=a[n2.'.

For j:=1 To m Do Begin s:=0.. Uses crt.m.n.j]).n. Writeln('Introdu un tablou cu '.1..'. Readkey.20. linii si '. Readln.unde n. End. i.m). Writeln(s:4).m<=20.. Writeln.j.n. For i:=1 To n Do For j:=1 To m Do Read(a[i.j].m] de numere intregi.m:').5. Writeln('Intodu numarul componentelor n.. For i:=1 To n Do s:=s+a[i.PROBLEMA 159. Sa se scrie un program care calculeaza suma elementelor de pe fieca-re coloana.'coloane:').1. End. 169 . Begin Clrscr.m.26 Se considera tabloul A[1. Readln(n.20] of integer. Var a:array [1. Program P5_26.s:integer.

n. For i:=1 To n Do 170 . For i:=1 To n Do For j:=1 To n Do Read(a[i. Var a:array [1. media1.unde n<=20. For j:=1 To n Do Begin max:=a[1. Uses crt..1.j.'coloane:'). End.27 Se considera tabloul A[1. Begin Clrscr.n.j]..j]). i.20] of integer.min:integer.min:4).5.20. Readln(n).j]<min Then min:=a[i.j.j]. Writeln('Minimul elementelor de pe linia '.PROBLEMA 160.1. Writeln('Intodu numarul componentelor n:').n.media2:real. Program P5_27..n] de numere intregi.n..'este:' .j]. For j:=1 To n Do Begin min:=a[1. linii si '. For i:=1 To n Do If a[i.'.max. Writeln('Introdu un tablou cu '.Sa se scrie un program care determina elementul maxim si elementul minim pentru fiecare linie.

j]). Uses crt.'este:' . 171 .If a[i.n. Writeln. Var a. For i:=1 To n Do Begin For j:=1 To m Do Begin b[i. Begin Clrscr.m<=20. Writeln('b['. Readln(n... Readln.b[i.m.min:4). linii si '.j]*a[i. Writeln('Intodu numarul componentelor n.j.unde n.i.m:').n.'.1.']='.m. End.28 Se considera tabloul A[1.. Writeln('Introdu un tablou cu '..n. End.m).k. Sa se scrie un program care creaza tabloul B[1.20] of integer.m]. End.j]:=a[i.'. Program P5_28.1.n.j].20.j. For i:=1 To n Do For j:=1 To m Do Read(a[i. PROBLEMA 161..j].calculind fiecar element dupa formula: B[i.5.j]). i.j]>max Then max:=a[i.m] de numere intregi.l:integer.'coloane:').j] *A[i.1.b:array [1. Writeln('Maximul elementelor de pe linia '.'..j]:=A[i.j.j].

Begin Clrscr.1.j]). Writeln('Intodu numarul componentelor n.s4. s5:=0.n. End.b:array [1. Readkey.n. For i:=1 To n Do For j:=1 To m Do Read(a[i. s2:=0.. i.p:integer. Writeln('Introdu un tablou cu '.'.s5.m). For i:=1 To n Do For j:=1 To m Do s1:=s1+a[i.End. s1:=0.j. s4:=0.1. Program P5_29. Readln.20] of integer.29 Se considera tabloul A[1. Sa se scrie un program care calculeaza suma elementelor de pe «peri-metrul» tabloului si suma celorlalte elemen-te.s1.m] de numere intregi. For j:=2 To n-1 Do 172 .. Uses crt.m:').s.1]. Readln(n.20. For i:=1 To n Do s2:=s2+a[i.m.m.'coloane:').m<=20.s2.s3.unde n. Var a.j]. PROBLEMA 162..n..5. linii si '. s3:=0.

Writeln('p='..20. Program P5_30. i.n. Begin Clrscr. For i:=1 To n Do s4:=s4+a[i.s). b:array[1.s3:=s3+a[1. Var a:array[1. For i:=1 To n Do Begin s:=0.j].p)..' coloane:').n] de numere intregi. p:=s2+s3+s4+s5.n]. For j:=1 To n Do 173 .unde n<=20. s:=s1-p. End. For j:=2 To n-1 Do s5:=s5+a[n. Writeln('Introduceti un tablou cu '.n.20] of integer.. For i:=1 To n Do For j:=1 To n Do Read(a[i.s.30 Se considera tabloul A[1.j].5..k. Writeln('s='.j.n. PROBLEMA 163.1.1. Readln(n).. Uses crt.max:integer.n.20] of integer.j]).' linii si '. Writeln('Intodu numarul componentelor n:'). Readln.Sa se scrie un program care determina numarul liniei cu cea mai mare suma (prima linie cu aceasta proprietate).

i.. Begin Clrscr.1..j.unde n<=20. PROBLEMA 164.n.k. Readln. b:array[1.1. 174 . For i:=1 To n Do If b[i]>=max Then k:=i. Readkey. End. Uses crt.' coloane:')..31 Se considera tabloul A[1.20. Writeln('k='.n.n..m.5. Writeln('Introduceti un tablou cu '.j]). Readln(n).k).max:integer. Writeln('Intodu numarul componentelor n:'). Write(b[i]:4).20] of integer. Program P5_31. max:=b[1]. Writeln..s:=s+a[i. End.s.n. b[i]:=s.j]. Sa se scrie un program care determina numarul liniei cu cele mai multe elemente pozitive (prima linie cu acea-sta proprietate).20] of integer.' linii si '. For i:=1 To n Do For j:=1 To n Do Read(a[i.n] de numere intregi. Var a:array[1.

unde n<=20. Begin Clrscr.k:=0. b:array[1. Writeln('k='.k. b[i]:=k. i..n. 175 .1. Readkey. Write(b[i]:4). End.5. Program P5_32.20..' linii si '.j.j]>0 Then k:=k+1. Writeln('Intodu numarul componentelor n:').n.32 Se considera tabloul A[1.Sa se scrie un program care determina numarul coloanei cu cel mai mic produs al elementelor (prima linie cu aceasta proprietate).n.1. Writeln.20] of integer. End.k).. For j:=1 To n Do If a[i. Uses crt. Writeln('Introduceti un tablou cu '. PROBLEMA 165. For i:=1 To n Do If b[i]>=k Then s:=i...For i:=1 To n Do Begin s:=0.n] de numere intregi. Readln(n). k:=b[1].mic:integer. Var a:array[1.n.20] of integer.' coloane:').p. Readln.

End.1. For j:=1 To n Do If b[j]<=mic Then k:=j.j.mic:integer. b[j]:=p.m] de numere intregi.1.n. Begin Clrscr.. b:array[1.m.. For j:=1 To n Do Begin p:=1.. i. Uses crt.20] of integer.j]). Sa se scrie un program care verifica daca fiecare element din A are aceiasi valoare ca si elementul de pe locul corespunzator din B.m] si B[1.m<=20.20] of integer.20. Readln. Writeln..unde n.20..33 Se considera doua tablouri A[1.. Readkey. End. Var a:array[1. For i:=1 To n Do p:=p*a[i. Write(b[j]:4). Writeln('Intodu numarul componentelor 176 .. Writeln('k='.n..1.k).5. mic:=b[1]. PROBLEMA 166.n. Program P5_33.1.p.k.j].For i:=1 To n Do For j:=1 To n Do Read(a[i.

n.j]). Program P5_34. Var a:array[1. Uses crt. Writeln('Introdu tabloul b:').j]<>b[i.m.j]) Then Writeln('Tablourile sunt identice') Else Writeln('Tablourile nu sunt identice'). Readln(n..34 Se considera tabloul A[1.20] of integer...m). For i:=1 To n Do For j:=1 To m Do Read(a[i. Repeat i:=i+1.1.j]). PROBLEMA 167. Write('Rezultatul:'). b:array[1. Until (i=n) and (j=n) or (a[i.elementul maxim pentru fiecare coloana si suma lor. For i:=1 To n Do For j:=1 To m Do Read(b[i.20.unde n<=20. Writeln('Introduceti un tablou cu '. If a[i. i:=0.1.j]=abs(b[i. j:=j+1...' linii si '. Writeln('Introdu tabloul a:').m:').n.j]). j:=0.' coloane:').Sa se scrie un program ca-re determina elementul maxim pentru fiecare linie si calculeaza suma lor.n. 177 .5. End.n] de numere intregi.20] of integer.

s:integer. Begin Clrscr.' '. For j:=1 To n Do Begin If a[i. s:=s+a[i. s:=0.' ste'.j. Writeln('Maximul de pe coloana '. Writeln('Introduceti un tablou cu '.j].' '.' este'.' coloane:').j].j. For i:=1 To n Do Begin If a[i. Writeln('Maximul de pe linia '. max2).j]>max2 Then max2:=a[i.' 178 . Writeln('Suma de pe linia '. For i:=1 To n Do Begin max2:=a[i. s).j]. s:=0.n.j]>max1 Then max1:=a[i.i. End. For j:=1 To n Do Begin max1:=a[1.j]).i.max2. max1).j].' este'.n. End.' linii si '. End. Writeln('Intodu numarul componentelor n:').1]. Writeln('Suma pe coloana '.n.j.max1.' '. s:=s+a[i.j]. Readln(n).i. For i:=1 To n Do For j:=1 To n Do Read(a[i.

End.' '.Sa se scrie un program care afiseaza toate pozitiile in care apare acest element.unde n<=20. s).5. 179 . Readln.este'.n.1. PROBLEMA 168.35 Se considera tabloul A[1.n] de numere intregi si un numar C... End. Readkey.

i..m] de numere intregi si un numar k(1<=k<=n). Begin Clrscr. Readln.n.20] of integer.n.' linii si '.j]).1. 180 .36 Se considera tabloul A[1.m<=20..'j='. PROBLEMA 169.Program P5_35. Writeln('Introdu c:'). Uses crt.i. For i:=1 To n Do For j:=1 To n Do Read(a[i.j]=c Then Writeln('i='. For i:=1 To n Do Begin For j:=1 To n Do If a[i. Writeln('Introduceti un tablou cu '.j). Var a:array[1. End.' coloane:')..20.n.n. Readln(c).. Readln(n).5.' '. Readkey.unde n.1.j. End.c:integer. Writeln('Intodu numarul componentelor n:').

End. Exit.j+1]. Begin Clrscr.k:integer. End. i. Writeln('Introdu coloana k:').m:'). For i:=1 To n Do Begin For j:=1 To m Do Write(a[i. For i:=1 To n Do For j:=1 To m Do Read(a[i. Readln. 181 .. Readln(n. If (k<1) or (k>n) Then Begin Write('Nu exista asa coloana').20.j]:4).'este:'). Writeln. For j:=k To m-1 Do For i:=1 To n Do a[i.j]:=a[i..m). End.Sa se scrie un program care exclude a coloanei cu numarul k.20] of integer. Uses crt.n.' linii si '. Writeln('Intodu numarul componentelor n.1. Dec(m). Writeln('Tabloul fara coloana a '. Program P5_36.n.j]). Var a:array[1. Readln(k).j.' coloane:'). Writeln('Introduceti un tablou cu '.m.k.m.

' este:').j].20] of integer.n. For i:=1 To n Do For j:=1 To n Do Read(a[i.m] de numere intregi si un numar k(1<=k<=n). Readln(n). Sa se scrie un program care exclude linia si coloana la intersectia carora se afla elemrntul maxim de pe diagonala principala. Begin Clrscr.20.j.n.n.j]). For i:=1 To n Do Begin For j:=1 To n Do Write(a[i.q. Dec(n). q:=i.w:integer.j]:=a[i+1..max. 182 .q.PROBLEMA 170. For i:=q To n-1 Do For j:=1 To n Do a[i. i. Writeln('Introduceti un tablou cu '..' coloane:').37 Se considera tabloul A[1..i]. Writeln('Intodu numarul componentelor n:').1.i]>max Then Begin max:=a[i. Writeln('Tabloul fara coloana a '. For i:=1 To n Do If a[i. Var a:array[1.. End.m<=20.unde n.5.n.1. max:=a[1. Program P5_37.m.' linii si '. Uses crt.q.j]:4).' si linia '.1].

sv:=sv+a[i.n. Begin Clrscr.sv:real. For i:=1 To n Do Begin dp:=dp+a[i.1.so.adica sumele elementelor de pe linii .n+1-i].coloane si diagonale sunt egalea. Writeln('Intodu numarul componentelor n:'). Var a:array[1.n.j].n] de numere intregi.38 Se considera tabloul A[1.Writeln. End.sf. Readln.j]).unde n<=20. Program P5_38. dp:=0.ds. ds:=0. so:=0. Writeln('Introduceti un tablou cu '.20] of integer. Label nu.Sa se scrie un program ca-re determina daca acest tablou este un patrat magic..j]. For i:=1 To n Do For j:=1 To n Do Read(a[i. PROBLEMA 171.1.j].. ds:=ds+a[i.j.. Uses crt.' linii si '.5. 183 . Readln(n).20. sv:=0..n. If dp<>ds Then goto nu. i. dp.n:integer. For j:=1 To n Do Begin so:=so+a[i. End.' coloane:').

. max2:=a[1. care se obtine la impartirea lui in patru tablouri.max1.5. goto sf. Writeln('max1='. max3:=a[n... Write('Introdu n:').n.max1).j].j. For i:=1 To n div 2 Do for j:=1 To n div 2 Do If a[i. End.1. Readln(n).End. For i:=n Downto n div 2+1 Do for j:=n Downto n div 2+1 Do 184 .j]). 0 7.n. 0 1 4 8 2 4 7 9 Program P5_39. max1:=a[1. nu:Writeln('Nu-i patrat magic' ). For i:=n Downto n div 2+1 Do for j:=1 To n div 2+1 Do If a[i.n]. 2 4. unde n<=20. Uses Crt.n] de numere intregi. PROBLEMA 172. Var a:array[1. sf:readkey.max4:integer.max2. i. 7 9.1].j].1.j]>max1 Then max1:=a[i.max2). End.20] of integer.max3. Writeln('max2='.39 Se considera tabloul A[1.20.Sa se scrie un program care determina elementul maxim de pe fiecare sector. For i:=1 To n Do For j:=1 To n Do Read(a[i.De exemplu 2 5 3 6 in 2 5 3 6 4 8 0 1 4 9 0 7 4 9. Begin Clrscr. If (so<>dp) or (sv<>ds) Then goto nu Else Writeln('Patrat magic')..n].j]>max2 Then max2:=a[i.

6. Var s:string. Readln.j]>max4 Then max4:=a[i. Programe cu siruri de caractere PROBLEMA 173.1 Sa se scrie un program care citeste un sir de caractere si afiseaza lungimea lui. Writeln('Introdu un sir de caractere:').j]>max3 Then max3:=a[i.max3). Writeln('Sirul s contine'. Readln(s). Begin Clrscr.n]. Readln. Program P6_1. End. Write('A fost introdus sirul:'). Writeln(s).If a[i.caractere'). 185 . Writeln('max4='. For j:=n div 2+1 To n Do for i:=1 To n div 2 Do If a[i. Uses Crt. Writeln('max3='. End. p.max4). Readkey. p:=Length(s). max4:=a[1.j].j]. Readkey.'. p:integer.

l:=0.k. total:=k+l.l). Readln(s).k). Readln(a).6. Writeln('k='. k:=0.b:string.a. Write('Introdu caracterul a:').Sa se scrie un program care calculeaza numarul sumar de aparitii ale caracterelor "a" si "b". Readln(b). Program P6_2. For i:=1 To Length(s) Do If s[i]=a Then k:=k+1. Writeln('l='. For i:=1 To Length(s) Do If s[i]=b Then l:=l+1. Begin Clrscr.total:integer.l. Write('Introdu caracterul b:').2 Se considera un sir de caractere. Writeln('Introdu un sir de caractere:'). 186 . Uses Crt. Var s. i.PROBLEMA 174.

k. PROBLEMA 175. Readln.Writeln('total='. Readln(s). b) inlocuieste secventa "do" cu "re". End. Begin Clrscr. Uses Crt. Var s:string. care consta din lite-re mici ale alfabetului latin.3 Se considera un cuvint. i. Writeln('In sir se intilnesc '.k:integer. Readkey.' silabe de "re" '). k:=0. Writeln('Introdu un sir de caractere:').total). Program P6_3.6. For i:=1 To Length(s) Do If (s[i]='r') and (s[i+1]='e') Then k:=k+1.Sa se scrie un program care: a) numara aparitia silabei "re". For i:=1 To Length(s) Do If (s[i]='d') and (s[i+1]='o') Then Begin 187 .

Var s:string. in dependenta de faptul daca o litera arbitrara x se contine sau nu in cuvintul dat y.s[i]:='r'. End. Readln(s). i. Uses Crt. Readln. Write('Sirul obtinut este: '. For i:=1 To Length(s) Do If s[i]='x' Then k:=i.k:integer.s). End. if k<>0 then Writeln('DA') Else Writeln('NU'). Begin Clrscr.4 Sa se scrie un program care afiseaz "DA" sau "NU". 188 . Readkey. End. s[i+1]:='e'. Readkey. Readln. Writeln('Introdu un cuvint:'). PROBLEMA 176. Program P6_4.6.

Readkey. Readln.5 Se considera cuvintul X. End. Readln(x). Var x. i:integer. 189 . Writeln('Cuvintul inversat:'. y:=''. Begin Clrscr.6.y:string. Sa se scrie un program care afiseaza caracterele acestui cuvint in ordine inversa.PROBLEMA 177. Uses Crt. For i:=1 To Length(x) Do y:=x[i]+y. Writeln('Introdu un cuvint:'). Program P6_5.y).

6. Uses Crt. Propozitia se termina cu punct .k.Sa se scrie un program care numara cite cuvinte are propozitia. Begin Clrscr. Readln(s).' cuvinte').k:integer. k:=0. Program P6_6. i. Writeln('Propozitia are '. Writeln('Introdu o propozitie:'). Var s:string. 190 .6 Se considera o propozitie formata din cuvinte separate prin spatiu.PROBLEMA 178. For i:=1 To Length(s) Do If s[i]=' ' Then k:=k+1.

Readln.6. 191 . Writeln('Introdu un numar din cinci cifre:'). Delete(s.1).3. Begin Clrscr.Sa se scrie un program care afiseaza numarul format dupa eliminarea cifrei din mijloc. PROBLEMA 179. Writeln('Numarul dupa stergerea cifrei din mijloc este '. End.s).7 Se citeste un numar din cinci cifre. Program P6_7.Readkey. Readln(s). Var s:string. Uses Crt.

192 . Readln. Var s.6. Uses Crt. Begin Clrscr. Writeln('Introdu un sir de caractere:').y:string. End.8 Se considera un sir format din cel mult 80 de caractere.x. Readln(s). Program P6_8. PROBLEMA 180.Sa se scrie un program care inlocu-ieste o litera data prin alta litera data in tot sirul. i:integer.Readkey.

i.l:integer. Uses crt. Begin Clrscr.1). Var x:string. Readln. Program P6_9. Insert(y. End. Readkey.6.i.Writeln('Introdu un caracter :'). For i:=1 To Length(s) Do If Copy(s. k. PROBLEMA 181. 193 . Readln(y).Sa se scrie un program care verifica daca cuvintul dat contine mai multe vocale decit consoane. Writeln(s). End. i:byte.i).1)=x Then Begin Delete(s. Readln(x).9 Se considera cuvintul X. Writeln('Introdu caracterul nou:'). Writeln('Sirul dupa mudificare este:').s.

Readkey. prenumele si nota me-die a celui mai bun elev. End. k:=0.Write('Introdu un cuvint:'). Readln. 194 . For i:=1 To Length(x) Do If (x[i]='a') or (x[i]='o') or (x[i]='u') or (x[i]='i') or (x[i]='e') Then Inc(k) Else Inc(l). Program P7_1. Readln(x).1 Sa se scrie un program ce citestee te la tas-tatura datale referitoare la n elevi si afi-seaza pe ecran numele.7. Se considera ca elevii au note medii diferite. Programe cu articole(record) Problema 182. l:=0. If k>l Then Writeln('Acest cuvint contine mai multe vocale') Else Writeln('Acest cuvint contine mai multe consoane').

Type Elev=Record Nume:string;Prenume:string; NotaMedie:real;End; ListaElev=Array[1..40] of Elev; Var E :Elev; LE:ListaElev; n :1..40; i :integer; Begin Write('n='); Readln(n); For i:=1 To n Do Begin Writeln('Dati datele elevului ',i); Write('Numele: ');Readln(LE[i].Nume); Write('Prenumele: '); Readln(LE[i].Prenume); Write('Nota medie: '); Readln(LE[i].NotaMedie); End; E.NotaMedie:=0; For i:=1 To n Do If LE[i].NotaMedie>E.NotaMedie Then E:=LE[i]; Writeln('Cel mai bun elev este: '); Writeln(E.Nume,' ',E.Prenume,E.NotaMedie :5:2); Readln; End. Problema 183.7.2 Se considera numarul a N persoane si cistigul lor pentru o luna.Sa se scrie un program care calculeaza salariul fiecarei persoane fara impozite.Impozitele se calculeaza dupa cum urmeaza: 0 -100lei -0% 100.1-399.99lei -13%
195

400 600

-599.99lei -25% -si mai mult-30% .

Program P7_2; Uses crt; Type Persoana=Record Nume:string;Cistig,Salariu:real; End; Var x:Array[1..30] of Persoana; i :integer; imp:Real;n:1..100; Begin Clrscr; Write('Introdu numarul de peersoane: '); Readln(n);For i:=1 To n Do Begin Writeln('Introdu datele persoanei ',i); Write('Numele: ');Readln(Nume); Write('Cistigul: ');Readln(Cistig); End; For i:=1 To n Do Begin If x[i].Cistig<=100 Then imp:=0 Else If (x[i].Cistig>100) And (x[i].Cistig <400)Then imp:=0.13*x[i].Cistig Else If (x[i].Cistig>=400)And x[i].Cistig<600) Then imp:=0.25*x[i].Cistig Else imp:=0.3*x[i].Cistig; x[i].Salariu:=x[i].Cistig-imp; End;Writeln('Lista persoanelor si salariile fara impozite: '); For i:=1 To n Do Writeln(x[i].Nume,' ',x[i].Salariu:5:2); Readln; Readkey; End. Problema 184.7.3 Se considera o lista cu oferte de vinzare a locuintelor ce contine urmatoarele date:numarul ofertei(1..100); -sector(string);
196

-numarul de odai(1..5); -pretul(real); -telefon("da"sau"nu"). Sa se scrie un program care ar afisa sectoarele unde sunt de vinzare locuinte 4 odai ce au telefon si prretul mediu al acestora. Program P3; Uses crt; Type Oferta=Record Nr:1..100; Sector:string; No:1..5;Pret:real; Tel:String[2];End; Var A:Array[1..50] of Oferta;i,n,l :integer; PretMediu,s:Real; Begin Clrscr; Write('Introdu numarul de oferte: '); Readln(n);For i:=1 To n Do With A[i] Do Begin Write('Numarul ofertei '); Redln(Nr); Write('Sectorulumele: ');Readln(Nume); Write('Cistigul: ');Readln(Cistig); End; For i:=1 To n Do Begin If x[i].Cistig<=100 Then imp:=0 Else If (x[i].Cistig>100) And (x[i].Cistig<400)Then imp:=0.13*x[i].Cistig Else If (x[i].Cistig>=400)And (x[i].Cistig<600) Then imp:=0.25*x[i].Cistig Else imp:=0.3*x[i].Cistig; x[i].Salariu:=x[i].Cistig-imp;End; Writeln('Lista persoanelor si salariile fara impozite: '); For i:=1 To n Do Writeln(x[i].Nume,' ',x[i].Salariu:5:2); Readln; Readkey; End.

Programe cu fisiere
197

Problema 185.8.1 Sa se scrie un program care creaza un fisier text.Continutul liniilor se introduc de la tastatura. Program P8_1; var f:text; c:string; i:1..100; n:integer; Begin Assign(f,'Fisier1.txt'); Rewrite(f); Write('Dati numarul de linii:'); Readln(n); For i:=1 To n Do Begin Readln(c); Writeln(f,c); End; Close(f); Readln; End.

Problema 186.8.2
198

a.c).TXT').Apoi citind aceste trei numere. c:8:2). End. Writeln(g. b:8:2.c :').b. Begin Assign(f. Close (g). b:8:2.'OUT. Reset (f).TXT. Close (f). Write('Dati numerele reale a. While not eof(f) Do Begin Readln(f. scrie in fisierul OUT. str:string. While not eof(g) Do Begin Readln(g. Writeln(f. Rewrite(f). End. Close(f).b. b.c.Rewrite(g). c). End. 199 . p:=(a+b+c)/2. p:15:2.Sa se scrie un program care citeste de la tastatura cite trei numere reale a. Program P8_2.p. Readln. var f.a:8:2.str).g:text.b si c. Readln. Close (g). End. End. Writeln(f. Writeln(str). While not eof Do Begin Readln(a.b. Write(g.s:real.'IN.TXT numerele a. Close (f).c pe care le scrie in fisierul IN.b.TXT'). Assign(g. s:=sqrt(p*(p-a)*(p-b)*(p-c)). reprezentind laturile unui triunghi. For i:=1 To n Do Begin Readln(c). a:8:2. c:8:2).c).semiperimetrul p si aria triunghiului s. s:15:2). a. Reset (g).

Close(f1). Writeln(k). Writeln(f2. While not eof(f1) Do Begin Readln(f1. Sa se scrie un program care creeaza un alt fisier cu acelasi continut.'LitMari.txt'). var f1.s). in care toate literele sa fie majuscule.3 Intr-un fisier este inscris o poezie. Assign(f2. Begin Write('Dati numele fisierului:'). For i:=1 To Length(k) Do k[i]:=Upcase(k[i]). Assign(f1. i:integer.8. End. Readln(s).k:string.f2:text.End. Readln. 200 . Reset(f1). Program P8_3.k).k). Close(f2). Reset(f2). Problema 187. End. While not eof(f2) Do Begin Readln(f2. Rewrite(f2). s.k). Close(f2).

Programe cu multimi PROBLEMA 188.m:set of byte. r:=[].n. Program P9_1. Uses crt. 201 .a:0. s:=m+r. For i:=1 To n Do Begin Readln(a).r. Write('Reuniunea multimilor m si r este:')..9.1 Sa se scrie un program care introduce de la tastatura doua multimi de numere pozitive din doua cifre si afiseaza reuniunea acestor mul-timi. Begin Clrscr. Readln(n). For i:=1 To n Do Begin Readln(a). End. m:=[]. End.End. s.99. Write('Cite numere va avea multimea a doua n='). Readln(n). m:=m+[a]. r:=r+[a]. Writeln('Cite numere va avea prina multime n='). Var i.

Write('Cite numere va avea multimea a doua n='). End. Write('Intersestia multimilor m si r este:').2 Sa se scrie un program care introduce de la tastatura doua multimi de numere pozitive din doua cifre si afiseaza intersectia si iferen-ta acestor multimi.For i:=1 To 99 Do If i In s Then Write(i. For i:=1 To 99 Do If i In s Then Write(i. Readln(n).9. Var k.i. odarWriteln('Cite numere va avea prina multime n='). m:=[].' '). r:=r+[a]. End. PROBLEMA 189.. Uses crt. 202 . Begin Clrscr. s:=m*r. Readln(n).' '). r:=[].n:0. For i:=1 To n Do Begin Readln(a).mult:set of byte. Readln.odat. Program P9_2. For i:=1 To n Do Begin Readln(a).99. m:=m+[a]. End.

m:=m+i.9. End.n. Write(i:4). Writeln.. NumerePrime:=NumerePrime+[i]. folosind algoritmul Ciurul (sita) lui Eratos-tene. NumerePrime:=[]. Var Sita. For i:=1 To 99 Do If i In s Then Write(i.Writeln. Readln. Write('Diferenta multimilor m si r este:'). Type MultimeDeNumere=set of 1. End. i:=2. m:=i.m:integer. s:=m-r. 203 . While m<=n Do Begin Sita:=Sita-[m]. Program P9_3. Until Sita=[].. i.3 Sa se scrie un program care calculeaza numerele prime mai mici decit un numar natural. Begin Sita:=[2.' '). const n=50. Repeat While not (i in Sita) Do i:=succ(i).NumerePrime:MultimeDeNumere. PROBLEMA 190.n].

PROBLEMA 191. i:integer.Readln. j:char.4 Se considera cuvintul X format din litere ma-juscule ale alfabetului latin. Program P9_4. Write('Introdu cuvintul :'). Sa se un pro-gram care deternina literele ce apar o sin-gura data si literele care apar de mai multe ori in cuvintul dat. Write('Literele ce apar o singura data :'). End. For i:=1 To Length(x) Do If x[i] In odat Then mult:=mult+[x[i]] Else odat:=odat+[x[i]]. mult:=[]. odat:=[]. For j:='A' To 'Z' Do If j In odat Then Write(j. odat:=odat-mult. Uses crt. Readln(x).' '). 204 . Var x:string.9.mult:set of char. odat. Begin Clrscr.

Program P9_5. End. Write('Literele ce apar de mai multe ori:'). PROBLEMA 192.k:integer. 205 .Sa se un program careextrage in ordine crescinda numerele ce apar in sirul de intrare doar o singura data si numarul acestora. End.Writeln.5 De la tastatura se introduc numere intregi pozitive din doua cifre.mult:set of byte.99. Begin Clrscr. Readln(n). Readln. While n<>0 Do Begin If n In odat Then mult:=mult+[n] Else odat:=odat+[n].Introducerea va lua sfirsit la tastarea numarului zero. mult:=[].n:1. Readln(n). Var odat. i.' '). odat:=[]..9. For j:='A' To 'Z' Do If j In mult Then Write(j. Uses crt. odat:=odat-mult.

Writeln('Introdu trei numere intregi:').b. Write(']').k:=0. If a>b Then Schimba(a. End. Procedure Schimba(Var x. Begin Clrscr.10.b.Sa se scrie un program care aranjeaza aceste numere in ordinea crescatoare.c). Readln(a.y:integer). 206 .c. For i:=10 To 99 Do If i In odat Then k:=k+1.b). Var a.c:integer.'numere:['). Subprograme PROBLEMA 193. For i:=10 To 99 Do If i In odat Then Write(i. y:=aux.k. Readln.1 Se considera trei numere intregi a. Var aux:integer.b. Uses crt. Begin aux:=x. x:=y. Write('O singura data in sirul de intrare apar'. End. Program P10_1.' ').

s. PROBLEMA 194.c).a.If b>c Then Schimba(b.Sa se scrie un program care calculeaza suma componentelor acestui tablou. Begin For i:=1 To n Do Read(a[i]). Var i:integer. Readln. Type tablou=array[1..10.n:integer.n] de numere intregi . Write('Numerele aranjate crescator:'. End.100] of integer. Begin 207 . Function Suma (n:integer.utilizind functia respectiva . Program P10_2.s:integer.' '.. End. Uses crt.' '.2 Se considera tabloul A[1.a:tablou):integer. Var i. If a>b Then Schimba(a.n<=100.b.c).b). Var a:tablou. Procedure Citire.

Suma(n. Var p:real.10. End. Var AB. Begin Clrscr. Citire.AD. Suma:=s.b. End.c:real. PROBLEMA 195. Readln(n). Program P10_3.Sa se calculeze aria acestui patrulater.AC. Write('Suma elementelor este: '. s:=sqrt(p*(p-a)*(p-b)*(p-c)).' elementele :').CD.S1. End. Writeln('Dati lungimile laturilor si a 208 . Begin P:=(a+b+c)/2. For i:=1 To n Do s:=s+a[i].S2:real. Write('Introdu '.a) ). Uses crt. Var s:real).3 Se considera un patrulater convex cu lungimile celor patru laturi si una din diagonale.BC. Readln. Procedure Aria(a.n. Begin Clrscr.s:=0. Write('Introdu componentul tabloului :').

Aria(AB.AC.S1+S2:5:3).10. l:=Trunc(k/2). Begin r:=True. r:Boolean. Uses crt. End. Program P10_4. PROBLEMA 196.BC.AD.c. While(i<=l) And r Do 209 .CD. Var i.BC.b. Write('Raspuns: aria patrulaterului convex este '. Readln(AB.CD.AC). Readln.m.Sa se scrie un program care aranjeaza aceste numere in ordinea crescatoare.n. Var i:integer.AC.l:integer.S2).4 Se considera trei numere intregi a. i:=2. Aria(AD.S1). Function Prim(k:integer):Boolean.diagonalei:').

Prim:=rEnd. PROBLEMA 197.5 Se alcatuit un facto-rialul. p:=1. Writeln('Introdu doua numere m si n (m<n):'). Var p.Begin If k Mod i=0 r:=False.. Then Begin Clrscr. i:=i+1 End. End.n). m. Readln(m.i:integer. Function Factorial(n : integer):integer.'sunt:').'. For i:=m To n Do If Prim(i) Then Write(i. Readln(n). 210 .' '). program care calculeaza Program P10_5. '. Begin Write('Introdu n=').10. Readln. Write('Numarele prime din intervalul'.n. Uses crt. For i:=1 To n Do p:=p*i.

n<=100. Readkey.nmax] of integer.n] de numere intregi pozitive formate din cel mult patru cifre. PROBLEMA 198..Factorial:=p. Writeln(Factorial(4)).6 Se considera tabloul A[1. Program P10_6. Begin Clrscr. 211 . Type tablou=array[1.10. End. utilizind functia. End. Readln. Sa se calculeze suma numerelor inversate din tablou. Var a:tablou. Const nmax=100.. care inverseaza un numar intreg.

Begin Writeln('Introdu numarul de componente m='). m. n:=n div 10. Function Invers(n:integer):integer. Invers:=NumInv.. Write('Dati '. Readln. Writeln('Suma numerelor inversate este : . While n<>0 Do Begin k:=n mod 10.k:integer. NumInv:=NumInv*10+k.i. m:1. Var NumInv :integer. s:=0. End. End.s). For i:=1 To m Do s:=s+Invers(a[i]). Begin NumInv:=0. 212 . Readln(m).nmax.s. End. For i:=1 To m Do Read(a[i]).' numere naturale:').

Sign up to vote on this title
UsefulNot useful