pascal probleme

22
Atribuirea 1a. Indicaţi greşelile în fiecare din următoarele instrucţiuni de atribuire: a) A : =B+1 b) A:=3,14*PI*R c) L:=2PI*R d) X:=X + -7 e) 4+X := B f) X:=-YY : 10 g) -X:= - C/3 h) 1:=L i) C := 12.4 MOD 0.4 2a . Fie dat programul: Program A1; begin writeln(‘a’);write(‘b’);writel n(‘c’); write(‘d’);write(‘e’); end. Care din următoarele rezultate sunt corecte? 3a . Determinaţi ce realizează următorul program: Program a2; var a,b,c,s:integer; begin writeln(‘Dati valori pentru a,b si c:’);read(a,b,c); s:=a+b+c; write(‘raspuns:’,s/3:5:2); end. a) abcde b) a bc de c) a b c de d)ab cde 4a . Găsiţi erorile sintactice în următorul program: Program a1; var a,b:integer; c:caracter; z,b:real; begin read(a,b); c:=’s’; z:=a/b; write(‘z=’,z:5); end. 5a . Fie date declaraţiile: const a=67; const b=2.6E+3; var c,d:real; i,n:byte; t:boolean; m:char; Care din următoarele atribuiri sunt corecte? a) c:=67.78; d:=10; t:=false; b) b) m:=’a’; n:=-4.5; d:=true; c) i:=’c’; n:=2E-2; d:=a+b; d) d) c:=a-b; d:=sqrt(a); i:=0; 6a . Fie date declaraţiile: var a,x:integer; z:real;c:char;t:boolean; Găsiţi expresiile ce conţin greşeli: 7a . Daca d este o variabila de tip char si t este o variabila booleana, ce semnificatie au urmatoarele atribuiri ? a) d:='t'; Pagina 1 din 22

Upload: -

Post on 17-Feb-2015

236 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pascal Probleme

Atribuirea1a. Indicaţi greşelile în fiecare din următoarele instrucţiuni de atribuire:

a) A : =B+1 b) A:=3,14*PI*Rc) L:=2PI*Rd) X:=X + -7

e) 4+X := Bf) X:=-YY : 10g) -X:= - C/3h) 1:=Li) C := 12.4 MOD 0.4

2a. Fie dat programul: Program A1; begin writeln(‘a’);write(‘b’);writeln(‘c’); write(‘d’);write(‘e’); end.Care din următoarele rezultate sunt corecte?

3a. Determinaţi ce realizează următorul program:

Program a2;var a,b,c,s:integer; begin writeln(‘Dati valori pentru a,b si c:’);read(a,b,c); s:=a+b+c; write(‘raspuns:’,s/3:5:2); end.

a) abcde

b) a bc de

c) ab

c de

d)ab cde

4a. Găsiţi erorile sintactice în următorul program:Program a1;var a,b:integer; c:caracter; z,b:real; begin read(a,b); c:=’s’; z:=a/b; write(‘z=’,z:5); end.

5a. Fie date declaraţiile:const a=67;const b=2.6E+3;var c,d:real; i,n:byte; t:boolean; m:char;Care din următoarele atribuiri sunt corecte?a) c:=67.78; d:=10; t:=false; b) b) m:=’a’; n:=-4.5; d:=true;c) i:=’c’; n:=2E-2; d:=a+b; d) d) c:=a-b; d:=sqrt(a); i:=0;

6a. Fie date declaraţiile:var a,x:integer; z:real;c:char;t:boolean;Găsiţi expresiile ce conţin greşeli: a) z:=sqr(a)+sqr(a-2)+sin(x)-abs(a-x);b) a:=sqrtt(c*sqr(z)); c) x:=a mod 3 + a div 3;d) c:=chr(a); e) e)t:=odd(x) and (a>5)

7a. Daca d este o variabila de tip char si t este o variabila booleana, ce semnificatie au urmatoarele atribuiri ? a) d:='t'; b) t:=d='t'; c) t:=(d>'a') and (d<='z'); d) t:='T'.

8a. Evaluati urmatoarele expresii: a) pred(' '); b) ord('5')-ord('a'); c) ord(pred(chr(16))); d) byte(ord('A'))+byte(ord('s')).

9a. Se dă secvenţa de instrucţiuni: a:=5; b:=7; a:=10+b; a:=a+b; b:=a+b; b:=b+15; b:=b+15; a:=b+25; a:=a+b; b:=a-b;Care sunt valorile finale ale mărimilor a şi b?

Care va fi valoarea expresiei: 3*7 div 2 mod 7/3 - trunc(sin(1))A) 0, B) 1, C) 2, D) 3, E) variantele enumărate nu conţin răspusul corect

Pagina 1 din 13

Page 2: Pascal Probleme

Tipuri

1t. Selectaţi expresiile scrise corect si indicaţi-le tipul valorilor acestor expresii:a) 23.427+35 writeln(INT(23.427)b) INT(23.427)+SQR(35)c) ord(256)++56+length('256')+ord(chr(56))d) TRUNC(23.427)+SQR(35)+255e) ord(256)+SQR(35)+255f) INT(23.427)+SQR(35)+TRUNC(0.30045)

2t. Ce va afişa următorul program:Var x:real;Begin x:=3.75; writeln( trunc(x)); writeln( int (x)); writeln( round (x)); writeln( trunc(x)=int (x)); writeln( round(x)=int (x)); writeln( trunc(x)=round (x)); writeln( trunc(x+0.5)=round (x)); writeln(round (x)- trunc(x -0.5)=1); writeln( round(x -0.25)=int(x)); writeln( round(x)-trunc(x)= round (x)-int(x));end.

3t. Considerând expresia 12+ x div (y*3+2)< y mod 2 +z să se determine care din expresiile următoare sunt echivalente cu ea, dacă se ştie că variabilele x,y,z sunt de tip integer.a) 12+ x div (y*3)+2< y mod 2+z;b) 12+ x div (y*3+2)< (y mod 2)+z;c) 12+ x div y*3+2< (y mod 2)+z;d) 12+ x div ((y*3)+2)< (y mod 2)+z;e) 12+ x div ((y*3)+2) < y mod 2+z;f) 12+ x div y*3+2 < y mod 2+z;g) 12+ x div y*3+2 < y mod (2+z);h) (12+ x) div y*3+2 < y mod (2+z);i) (12+ x) div y*3+2 < y mod 2+z;j) 12+ (x div (y*3+2) < y mod 2+z;k) (12+ x div y)*3+2 < y mod 2+z.

4t. Care din afirmatii sunt corecte ? a) Tipul char defineste alfabetul limbajului Pascal; b) Functiile ord si chr au proprietatile: i) chr(ord(a))=a pentru orice litera a; ii) ord(chr(b))=b pentru orice numar b: 0<=b<=255. c) Au loc urmatoarele egalitati: i) Daca a si b sunt litere atunci (a<b) <-> (ord(a)<ord(b)); ii) ord('A')=ord('a') deoarece in Pascal literele corespondente sunt echivalente.

Write – Read

1wr. Care vor fi valorile lui a, b şi după execuţia instrucţiunilor:readln(a);read(b);readln c);dacă la intrare se tastează datele:0 1 2 34 5 6 78 9a) 0 4 8; b) 0 4 5; c) 0 1 2;d) nici un răspuns anterior nu este corect.

2wr. Ce se va afişa pe ecran după executaţia secvenţei de program:

readln(x,y,x); writeln(x,y,x);dacă la intrare se tastează valorile 1 2 3a) 123b) 121c) 1 2 3d) 323

3wr. Ce va afişa următorul program?Type tip1=(unu,doi,trei,patru,cinci);Var x:integer; y:tip1;Begin x:=doi; Writeln(Succ(Ord(y))); Writeln(Pred(Succ(x))); Writeln(Succ(x)>Pred(x));End.

4wr. ce va afişa programul: Var a:integer; b,S: real;Begin readln(a,b); S:=a+b;Writeln (`S=`,S); ReadlnEnd.dacă la intrare se vor da valorile 2,3 şi 8? Comentaţi.

5wr. Se considera urmatorul program Pascal:Pagina 2 din 13

Page 3: Pascal Probleme

var x,y:chr; begin {1} x:='x'; {2} y:=x; {3} writeln(x,y); {4} writeln('x','y'); {5} x:=y; {6} y:='x'; {7} writeln(x,y) end. a) Care este valoarea variabilelor x si y dupa executarea fiecareia din instructiunile {1},{2},{5} si {6} ? b) Ce realizeaza instructiunile {3},{4} si {7} ?

IF , Case

1i. Ce valoare finală v-a primi variabila P în rezultatul îndeplinirii următorului program?Program A2;var p:real; d:boolean;begin p:=2.6; p:=p+6.4; d:=p<4; If d then p:=sqr(p)+sqrt(p) else p:=p/3+12; writeln(sqrt(p));end.

2i. De înlocuit secvenţa de instrucţiuni cu o altă secvenţă de instrucţiuni cu ajutorul căreia se obţine acelaşi rezultat dar în noua secvenţă să nu se utilizeze instrucţiunea goto. if A>B then goto 1; A:=A-B; goto 2 1: A:=A+B; 2: Y:=A;

3i. Determinaţi ce valori vor primi variabilele a, b şi c în urma executării următorului program:Program a2;var a,b,c:integer; begin a:=4;b:=20;c:=3;

if a<>b then a:=b; if a=b then a:=2 else b:=5 if c>b/4 then c:=a+b else c:=a-b; write(‘a=’,a:3,’ b=’,b:5,’ c=’,c);

end.

4i. Ce realizează următorul program? Program A2;var a,b,x:integer;begin

read(a,b);if a>b then x:=a else x:=b;write(‘x=’,x);

end.

5i. Fie declaraţiile:var a,b:integer; t:boolean; ….

a:=5;b:=9; t:=true;Ce valori vor primi variabilele a şi b în urma executării următoarelor instrucţiuni?if a>b then a:=45 else a:=55;if t and (b>a) then b:=trunc(sqrt(b)) else a:=sqr(a);case t of true:a:=7 else b:=6; end;if (a or b)>6 then a:=a+b else b:=a-b;if (a<>b) and (t=true) then b:=5 else a:=67;

6i. Alcătuiţi algoritmul de calcul a următoarei funcţii / 5X, dacă x=2 Y= { X+5X2, dacă x>2 \ X2-4X, dacă x<2

/ 100, dacă x=2 Y= { 100X2, dacă x>2 \ 100-Xý, dacă x<2

/ X2, dacă x=7 Y= { X2+1, dacă x>7 \ X2-1, dacă x<7

7i. Se consideră secvenţa de program:Readln(N);

8i. Ce va afişa la ecran secvenţa de program? a:=3;

Pagina 3 din 13

Page 4: Pascal Probleme

If N>=50 Then N:=0;If N<50 Then N:=5;Writeln(N);

Ce va afişa secvenţa dacă la intrare va fi dat numărul 100?

If a>5 Then If a>4 Then Write(1) Else Write(2);

9i. Studiaţi instrucţiunea:if a>0 then if c>2 then d:=a else d:=a+b else d:=a+b+c;Care va fi valoarea d, dacă a=3,b=7,c=0?1) 02) 33) 104) 115) nici un răspuns nu este corect

10i. Ce rezultat va afişa programul după lansarea lui în execuţie?

Program Pr;Var x,y,K,P:integer;Begin x:=5; y:=10;If x>y Then K:=x+y; P:=x*y;Writeln(K, ` `,P);End.

11i. Încercuiţi litera din dreptul secvenţei de program care determină numărul mai mare din trei numere date.a) Read(a,b,c);max:=b; If a>max Then max:=a;If c>max Then max:=c;

b) Read(a,b,c);If a>max Then max:=a;If b>max Then max:=b;If c>max Then max:=c;

c) Read(a,b,c);If (a>b) And (a>c) Then max:=a;If (b>c) And (b>c) Then max:=b;If (c>a) And (c>b) Then max:=c;

d) Read(a,b,c);If b>c Then max:=bElse max:=c;If a>max Then max:=a;

e) Read(a,b,c); If a>b Then max:=a; If b>c Then max:=b Else max:=c;

12i. Ce efect are următoarea secvenţă de instrucţiuni? Indicaţi tipurile variabilelor ce figurează în această secvenţă de instrucţiuni. b1:=true; b2:=true; suma:=0.1; readln(s); val(s,n,cod); if cod =0 then suma :=n else b1:=false; readln(s); val(s,n,cod); if cod =0 then suma :=suma+n else b2:=false; if b1 and b2 then writeln(suma) else writeln('Nu este posibila calcularea sumei')

13i. Fie dat programul: Program A1; var a:byte; x:real; begin a:=7; case a of 1..5: x:=a+2; 6..8: x:=sqr(a); 1..100: x:=2*a; end; writeln(‘x=’,x:5:2); end.

Care din următoarele rezultate sunt corecte?9.00 b) 9 c) 49.00 d) 14

14) În ce condiţii expresiile următoare sunt corecte a) Maxint - ord (chr (n))>0; b) False > True; 15) De afisat cum se numeste ziua daca se da numarul de ordine a ei in saptamina.16) Sa se afiseze anotimpul caruia ii apartine luna numarul de ordine al careia in an este dat.17) De afisat cum se numeste luna daca se da numarul de ordine al ei in an.18) De afisat cite zile are fiecare luna a anului dupa numarul de ordine a lunii si a anului.19) Se da anul. De afisat cite zile are luna numarul de ordine in an al carea este dat.20) Se dau trei numere care reprezinta numarul zilei, numarul lunii, si numarul anului.21) De aflat daca exista asa data in calendar.22) De afisat data zilei ce urmeaza dupa ziua din luna si anul dat.23) De aflat cite zile au trecut de la inceputul anului.

Pagina 4 din 13

Page 5: Pascal Probleme

24) De aflat cite zile au trecut de la o data din calendar pina la alta.25) data a unui an poate fi reprezentata sub forma zi/luna/an sau numarul de zile care trec de la

inceputul anului, an. Sa se ecrie un program care face conversie de la una la alta.26) Sa se determine anotimpul caruia ii apartine o anumita zi a carei data se introduce si urmeaza a

fi validata.27) De la tastatura se introduc 2 numere si operatia care trebuie efectuata. De afisat rezultatul.28) De citit uin caracter si de determinat tipul acestuia. (Litera mare, litera mica, cifra, separator sau

carascter oarecare.}29) De afisat denumirea unei cifre daca cifra va fi introdusa de la tastatura.30) De citit de la tastatura un numar intre 1 si 12 si afiseaza denumirea lunii corespunzatoare in

limba romina.31) Fiind dat numarul de ordine a lunii, de afisat denumirea anotimpului.32) De citit de la tastatura un numar intre 1 si 12 si afiseaza denumirea lunii corespunzatoare in

limba romina si denumirea anotimpului.33) Scrieti un program care citeste un numar si ne spune daca ultima cifra a numarului este

divizibila cu 3.34) Fiind dat un numar natural n si un numar natural k mai mare decit 2 sa se verifice daca n este

multiplul lui k.35) Fiind dat un numar natural, sa se afiseze daca are trei cifre.36) De la tastatura se introduce unul din caracterele "." , "!", "?". Scrieti programul in rezultatul

executarii caruia se va afisa de ce tip este propozitia care se termina cu semnul respectiv. ("!" - exclamativa, "?" - interogativa, "." - enuntiativa).

37) Se da un numar natural N de o cifra, de atribuit marimii de tip char C cifra cu care se scrie acest numar.

38) Se da un numar natural de doua cifre . De scris programul care variabilelor de tip caracterial P si Q li se atribuie respectiv prima si a doua cifra a numarului dat.

39) De scris programul ce introduce cifrele sistemului zecimal de numeratie ( 0,1, ..., 9) si afiseaza numele acestor prin cuvinte, de exemplu: Daca a fost introdusa cifra 0 atunci se afiseaza cuvintul "zero", daca a fost introdusa cifra 1 atunci se afiseaza cuvintul "unu", s.a.m.d, daca a fost introdusa cifra 9 atunci se afiseaza cuvintul "noua".

40) De la tastatura se introduce nota unui elev. Daca a fost introdusa nota 1, de afisat la ecran "1 ( unu ) - nota insuficienta", daca a fost introdusa nota 2, atunci se afiseaza "2 ( doi ) - nota insuficienta", s.a.m.d. , daca a fost introdusa nota 5, de afisat la ecran "5 ( cinci) - nota suficienta".

41) Sa se citeasca un numar ce reprezinta un an si un numar intreg intre 1 si 12 ce corespunde numarului de ordine a lunii acestui an incepind cu ianuarie si terminind cu decembrie. Sa se afiseze cite zile are luna respectiva.

42) Se da valoarea variabilei clasa, care indica in ce clasa invata elevul. De afisat la ecran denumirea scolii in care el imvata. Daca clasa are valoarea 1, 2, 3 sau 4 - scoala primara, daca este egala cu 5,6,7,8, 9 - scoala medie necompleta, daca cu 10,11 completa sau liceu, daca cu 12 liceu.

43) Se introduce un caracter de la tastiera. De afisat ce fel de caracter este, afisind unul din mesagele "Majuscula", "minuscula", "cifra" sau "alte caractere".

44) Sa se citeasca un caracter si sa se afiseze cui ii corespunde acest caracter: unei vocale, unei consoane sau este un semn special.

45) Se introduce un numar care este exponentul puterii lui 2. De afisat la ecran care va fi ultima cifra a puterii lui 2 cu exponentul dat.

46) Fiind dat numarul de ordine a lunii, de afisat denumirea anotimpului.47) Scrieti un program care citeste un numar si ne spune daca ultima cifra a numarului este

divizibila cu 3.48) Fiind dat un numar natural n si un numar natural k mai mare decit 2 sa se verifice daca n este

multiplul lui k.49) Fiind dat un numar natural, sa se afiseze daca are trei cifre.

Pagina 5 din 13

Page 6: Pascal Probleme

50) 7. De la tastatura se introduc 2 numere si operatia care trebuie efectuata. De afisat rezultatul.51) De scris programul care realizeaza procesul de trecere a strazii in dependenta de culoarea

simoforului. De la tastatura se introduce prima litera din dinumirea culorii care arde . De prevazut si cazul cind se indica alta culoare a simoforului . In acest caz de afisat mesajul "Semoforul nu are lampa cu o culoare, denumirea careea incepe cu litera indicata"

52) Avind dat de la tastiera numarul generatiei de calculatoare, de afisat la ecran in ce perioada au fost utilizate calculatoarele generatiei date si care este principala tehnologie hardware. ( 1 - 1964-1956 , tuburi electronice, 2 - 1957-1963, tranzistori, 3- 1964-1981, circuite integrate, 4 - 1982-1989, circuite integrate pe scara larga si foarte larga, 5 - dupa 1989, circuite integrate pe scara extrem de larga.)

53) Sa se citeasca un numar intreg intre 1 si 7 si sa se afiseze ziua saptaminii corespunzatoare numarului, incepind cu luni si terminind cu duminica.

54) 5. Se da un numar natural N de o cifra , de atribuit marimii de tip char C cifra cu care se scrie acest numar.

55) Sa se calculeze media lunara a presiunii de gaz pe conducta, daca se dau valorile masurate in fiecare zi a lunii.

56) Sa se elaboreze un program care determina data zilei care urmeaza dupa ziua din luna si anul dat.

57) Sa se calculeze virsta exacta a unei persoane, cunoscind data curenta exprimata prin 3 numere intregi: an luna zi.

58) Sa se scrie un program care stabileste a cita zi din an este o data reprezentata prin 3 numere intregi: an, luna, zi.

Cicluri

1c. Formulaţi problema care se rezolvă cu ajutorul următorului program:var c:char; begin read(c); while c <> '$' do Begin if (ord(c)>= 48) and (ord(c)<= 57) then write (c); read(c); end; end.

2c Prin încercuirea literei din dreptul secvenţei de instrucţiuni selectaţi fragmentul de program care are ca efect determinarea numărului cifrelor numărului natural dat n.

a) readln (n); nc:=0; while n > 0 do begin n:=n div 10; nc:=nc+1; end; writeln(nc);

c) readln (n); nc:=1; repeat n:=n div 10; nc:=nc+1; until n = 0; writeln(nc);

b) readln (n); nc:=0; repeat nc:=nc+1; n:=n div 10; until n = 0; writeln(nc);

d) readln (n);if n=0 then Writeln('1') else begin nc:=0; while n > 0 do begin n:=n div 10; nc:=nc+1; end;end;writeln(nc);

3c Compuneţi o problemă, care s-ar rezolva cu ajutorul următorului program. Transformaţi programul în unul echivalent cu el astfel încît cel modificat să conţină instrucţiunea REPEAT în loc de WHILE.program indice; var a,b:real; n,i:integer; begin Readln(a,b); i:=0; while (i<=10) and (a<>b) do begin readln(a); i:=i+1; end; writeln(i) end.

4c Se dă rezolvarea ce conţine greşeli a prob-lemei de afişare a numerelor de 3 cifre, la care suma cifrelor este egală cu un număr dat n citit de la tastatură. Corectaţi greşelile şi scrieţi pro-gramul ce va rezolva aceasta problemă utilizînd secvenţa de instrucţiuni prezentata.Sa se mai afişeze cîte numere de acest fel sunt, iar afişarea acestor numere să se realizeze in afara ciclurilor din programul iniţial.Var n,c1,c2,c3:byte;Begin For c 1:=0 to 9 do For c2:=0 to 9 do For c3: =0 to 9 do if c1 + c2 + c3 := n

Pagina 6 din 13

Page 7: Pascal Probleme

then write (c1*1000+c2*10+c3);end.

5c Fie dat programul: var a,b:byte; x:real; begin b:=1; for a:=5 to 10 do b:=b+1; writeln(‘b=’,b:5); end.Care din următoarele rezultate sunt corecte?d) 6 b) 9 c) 7 d) 8

6c Găsiţi erorile sintactice în următorul program: var b:integer; c:char; z:real; a:byte;begin c:=’s’;

Repeat read(a,b); z:=a/b;

if frac(z)<>0.05 then c:=’a’ do c:=’b’;Until a=’b’;

end.7c De câte ori se execută liniile indicate prin {1},{2},{3},{4},{5} în programul ce urmează:var i,j,k,n,s:integer;begin read(n,k); for i:=1 to n do {1} begin s:=0; {2} for j:=1 to k do {3} s:=s+i*j; {4} write(‘s=’,s); {5} end; end.

8c Ce realizează următorul program? var a,j,x:integer;

begin read(a);x:=a; for j:=2 to 10 do begin read(a); If a>x then x:=a; end; write(‘x=’,x);

end.

9c Ce va afişa secvenţa?N:=345;While N<>0 DoBeginWrite(N Mod 10);N:=N Div 10;End;a) 34 b) 345 c) 54 d) 543 e) 5

10c Ce va afişa secvenţa?N:=123;RepeatWrite(N Mod 10);N:=N Mod 10;Until N=0;Write(K);a) 3 b) 321 c) 32 d) 32 e) 31 f) 123

11c Ce se va afişa pe ecran după executarea instrucţiunilor:a:=10; b:=100;reapeata:=a+10Until a>b;writeln (a div 10, ` `, b);a) 9 100 b) 10 100 c) 11 100 d) nici un răspuns anterior nu este corect.

12c Ce se va afişa la executarea instrucţiunilor:x:=5; y:=10;repeat x:=x+2;until x<=y;writeln(x,' ',y);

a) 5 10 b) 7 10 c) 11 10 d) 5 5 e) nici un răspuns anterior nu este corect.

13c Ce se va afişa pe ecran în urma execuţiei programului:Program Nu_e_ghicitoare;var x, y, u, v : Byte;Begin Readln (x,y); u:=x; v:=y;while x y do if x>y then begin x:=x-y; u:=u+v end else begin y:=y-x; v:=v+u end;Writeln (x, , (u+v) div 2) End.

14c De afisat urmatorul tablou: 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8

15c. De afisat urmatorul tablou: 1 2 3 4 5 6 7...n 1 2 3 4 5 6 7...n 1 2 3 4 5 6 7...n } de k ori 1 2 3 4 5 6 7...n

16c De afisat: 1 2 2 3 3 3 4 4 4 4

Pagina 7 din 13

Page 8: Pascal Probleme

................. 1 2 3 4 5 6 7...n

5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10

17c De afisat: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

18c. De afisat: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9

19c a) 1 2 3 4 5 6 7 8 9 10 . . . n b) 2 4 6 8 10 12 14 16 18 20 24 . . . n c) 3 6 9 12 ... d) 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 e) 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 f) 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

20c Ce realizeaza urmatorul program ? program t6b; var i:integer; begin for i:=32 to 127 do if i mod 10 = 0 then begin write(chr(i)); writeln end else write(chr(i)) end.

Probleme diverse1. Pentru suma indicată S în Lei determinaţi setul cu un număr minim de bancnote prin care

această sumă poate fi reprezentată. Bancnotele au nominalul de 1, 5, 10, 20, 50 şi 100 Lei. 2. Alcătuiţi un program de afişare a tuturor numerelor formate din trei cifre la care suma cifrelor

este egală cu un număr anumit din intervalul N (0<N<28). 3. Un număr natural se numeşte perfect dacă este egal cu suma tuturor divizorilor proprii, inclusiv

1. (de exemplu 6=1+2+3). Afişaţi toate numerele perfecte mai mici ca numărul dat M. 4. O pereche de şosete costă 5 Lei, un set (12 perechi) costă 52 Lei, o cutie (12 seturi) costă 540

Lei. Alcătuiţi un program care după numărul de perechi N, ce le cumpără un cumpărător calculează numerele n1, n2 şi n3 – numărul de cutii, seturi şi perechi, ce trebuie împachetate.

5. Se numesc numere „bine ordonate crescător” sau „bine ordonate descrescător” acele numere care au cifrele respective în ordine strict crescătoare (de exemplu 2589) sau strict descrescătoare (de exemplu 7532). Să se scrie un program care citeşte un număr de 4 cifre, şi afişează „este bine ordonat crescător” sau „nu este bine ordonat crescător”.

6. Într-o ţară numărul 13 se socotea nefericit iar 7 se socotea norocos. Aborigenii acestei ţări au îndrăgit numărul 7 într-atât că au introdus în ţara lor sistemul de numărare în baza 7. În ultimii cinci ani aborigenii au venit în Moldova şi au participat consecutiv la olimpada a şasea, olimpada a şaptea, olimpada a opta, olimpada a noua şi olimpada a zecea. Care din aceste olimpiade a fost socotită de ei nefericită?

A) din primul an, B) din anul 2, C) din anul 3, D) din anul 4, E) din anul 57. Suma cifrelor unui numar de doua cifre este egala cu 11. Daca la acest numar adaugam 27 vom

obtine un numar scris cu aceleasi cifre in ordine inversa. Aflati acest numar.8. De afisat toate numerele de 4 cifre ce nu contin cifre egale si sunt divizibile cu un numar de

trei cifre dat.9. De calculat suma primelor numere mai mici M din sirul numerelor naturale .

Pagina 8 din 13

Page 9: Pascal Probleme

10. De calculat suma numerelor naturale de la M la N (inclusiv si M si N.)11. De afisat toate numerele pare de la 2 pina la n.12. Calculati suma 1+2+3+...+(N-1)+N si verificati daca rezultatul este egal cu N*(N+1)/2.13. De numarat cite numere impare si cite pare a fost introduse printre N numere naturale.14. De aflat cite numere impare au fost introduse pina la primul numar par.15. De scris un program cu ajutorul caruia se afla suma citurilor necomplete obtinute la impartirea

intreaga a numerelor a, b, c intre ele (a/b,a/c,b/a,b/c,c/a,c/b.)16. De aflat cite cifre are un numar natural dat.17. De aflat fiecare cifra a unui numar natural dat.18. Sa se calculeze suma numerelor reprezentate de cifrele unui numar natural dat. Nu este permisa

introducerea si utilizarea sirurilor de caractere.19. De numarat cite cifre impare si cite pare are in scrierea sa un numar natural dat.20. Compuneti programul care dubleaza fiecare zero din numarul dat.21. Alcatuiti procedura de calcul de gasire a sumei numarului de trei cifre N si a numarului de trei

cifre M, obtinut din ptimul prin permutarea inversa a cifrelor acestui numar.(De exemplu, daca N=123, atunci N=321, iar suma cautata este egala cu 444).

22. Sa se calculeze 1000! (prin ! inselegem produsul numerelor de la 1 la n, unde n este un numar natural).

23. De aflat toate numerele de trei cifre egale cu suma cuburilor cifrelor24. Exista oare un numar de 4 cifre cubul sumei cifrelor caruia este egala cu insusi acest numar.

Daca asa numere exista de aflat cel mai mic numar de acest fel.25. De aflat care numere naturale cuprinse intre 10 si 100 se pot forma care sa contina cifra 7 si cite

numere de acestea sunt. Rezultatul de afisat in felul urmator: Aceste numere sunt: 17, 27, 37, 47, 57, 67, 77, 87, 97, 71, 72, 73, 74, 75, 76, 78,79. In total 18 n u m e r e .

26. De aflat daca exista un numar de doua cifre care este divizibil cu 15 iar impartindu-l la 13 obtinem restul 2.

27. Sa se afle toate numerele scrise in baza 10 ,de forma abab care sunt divizibile cu 12.28. De aflat care doua cifre pot fi scrise la dreapta numarului 1979 astfel ca numarul obtinut sa fie

divizibil cu 36.29. Sa se determine toate numerele naturale de 3 cifre din sistemul zecimal, care fiind impartite cu

suma cifrelor sale dau citul 37.30. Sa se gaseasca un numar natural de forma abca patrat perfect, divizibil cu 15 ,unde a,b,c

reprezinta cifre distincte in sistemul de numeratie cu baza 10.31. Se da un numar de 5 cifre xyzwj. Se stie ca xyzwi se divide cu 25, w-x=2,i - par, z - impar si

x+y=i+w=z. Sa se afle acest numar.32. Se considera numarul abcd, scris in baza 10, avind toate cifrele impare si a>d si b>c. Sa se

determine toate cifrele sale astfel ca diferenta dintre numar si rasturnatul sau sa fie divizibila cu 108. Cite solutii are problema?

33. Exista oare un numar natural de patru cifre cubul sumei cifrelor caruia este egal cu el insusi? Alcatuiti programul de a gasi cel mai mic numar ce satisface aceasta conditie.

34. Sa se gaseasca cel mai mic numar natural nenul care impartit la primele 9 numere naturale sa dea tot timpul restul 1.

35. Fie numere naturale A si B (A<=B). Sa compunem algoritmul de calcul al celui mai mare numar intreg k, pentru care are loc inegalitate A^k<=B

36. Cum de impachetat marfa in cantitate de 185 kg in lazi cite 16, 17 si 21 kg astfel incit sa nu ramie nimic si sa umple toate lazile. De cite lazi de fiecare tip va fi nevoie.

37. Trei prieteni au fost martori a unui accident rutier. Din marturisirile lor,pietenilor s-a obtinut ca numarul masinei este de 4 cifre si se imparte la 2, la 7si la 11, iar in scrierea numarului participa doar 2 cifre, suma carora este egala cu 30. De scris programul de aflare a numaruli masinei.

38. De la tastatura se introduce un sir de numere diferite de 0 dupa care urmeaza 0. De aflat de cite ori in acest sir se schimba semnul. De exmplu:in sirul 1;-34;8;14;-5 semnul se schimba de 3 ori.

39. Se da un sir de numere. De aflat cite din ele sunt mai mari decit "vecinii" sai, adica decit cel precedent si decit cel urmator.

Pagina 9 din 13

Page 10: Pascal Probleme

40. Se dau trei numere reale. Sa se calculeze valoarea absoluta acelor trei numere si media aritmetica a modulelor lor. Numerele se citesc si se prelucreaza pe rind.

41. De afisat toate numerele naturale de 3 cifre in scrierea carora nu sunt cifre egale.42. De atribuit variabilei T de tip boolean valoarea True sau False in dependenta de aceia daca un

numar dat N poate fi reprezentat sub foram de suma a doua patrate perefecte.43. De afisat toate numere pare de 2 cifre.44. De aflat suma numerelor de 2 cifre care se impart la 3.45. De aflat produsul numerelor care sint mai mici ca 15 astfel incit numerele se introduc atit timp

cit acest produs nu intrece numarul 1000.46. Se da un numar natural n. De compus programul de obtinere a numarului m scris cu aceleasi

cifre ca si numarul dat dar in ordine inversa.47. De la tastatura se introduc numere neegale cu zero.

a. De aflat cite numere pozitive si cite numere negative au fost introduse.b. De aflat suma numerelor pozitive si produsul numerelor negative.c. De tiparit al citalea a fost introdus prima data numarul "3" si de cite ori.d. De cite ori au fost introduse alaturi doua numere de acelasi semn.e. Detiparitcel mai mare numar dintre cele introduse.f. De aflat cel mai mic numar dintre cele introduse.g. De tiparit suma a celui mai mic numarcu cel mai mare.h. De tiparit cite numere contine cel mai mare sir de numere introduse la rindunul dupa

altul egale intre ele.48. Introducerea semnului zero inseamna ca numere nu se vor introduce.49. De la tastatura se introduc numere neegale cu zero.

a. Cite numere pare au fost intropduse.b. Cite numere negative au fost intropduse.c. Cite numere mai mari ca 5 si mai mici ca 20 au fost intropduse.d. Al citilea a fost introdus primul numar impar.e. Al citilea a fost introdus ultimul numar par.f. Care este suma numerelor pozitive.g. Care este produsul numerelor negative.

50. De aflat cite numere pozitive si cite numere negative au fost introduse.51. De aflat suma numerelor pozitive si produsul numerelor negative.52. De tiparit al citalea a fost introdus prima data numarul "3"si de cite ori.53. De cite ori au fost introduse alaturi doua numere de acelasi semn.54. De tiparit cel mai mare numar dintre cele introduse.55. De aflat cel mai mic numar dintre cele introduse.56. De tiparit suma a celui mai mic numar cu cel mai mare.57. De tiparit cite numere contine cel mai mare sir de numere introduse58. la rindunul dupa altul egale intre ele.59. Introducerea semnului zero inseamna ca numere nu se vor introduce.60. Se citesc c numere. De aflat:61. Cite numere pare au fost intropduse.62. Cite numere negative au fost intropduse.63. Cite numere mai mari ca 5 si mai mici ca 20 au fost intropduse.64. Al citilea a fost introdus primul numar impar.65. Al citilea a fost introdus ultimul numar par.66. Care este suma numerelor pozitive.67. Care este produsul numerelor negative.68. De la tastatura se introduc numere neegale cu zero.69. De aflat cite numere pozitive si cite numere negative au fost introduse.70. De aflat suma numerelor pozitive si produsul numerelor negative.71. De tiparit al citalea a fost introdus prima data numarul "3"72. si de cite ori.

Pagina 10 din 13

Page 11: Pascal Probleme

73. De cite ori au fost introduse alaturi doua numere de acelasi semn.74. De tiparit cel mai mare numar dintre cele introduse.75. De aflat cel mai mic numar dintre cele introduse.76. De tiparit suma a celui mai mic numar cu cel mai mare.77. De tiparit cite numere contine cel mai mare sir de numere introduse78. la rindunul dupa altul egale intre ele.79. Introducerea semnului zero inseamna ca numere nu se vor introduce.80. De la tastatura se introduc doua numere. De aflat de cite ori se poate de scazut al doilea numar

din primul.81. Sa se afle cite numere pare si cite impare sunt intre numerele naturale M si N date.82. De aflat toate numerele de trei cifre ,suma cifrelor carora este egala cu un numar dat n.

83. De aflat cite numere naturale de trei cifre, suma cifrelor carora este egala cu N(1<=n<=27), ne folosind operatiile /,div si mod.

84. De calculat (x-2)(x-4)...(x-2n), pentru x si n dat, x-real,n-integer.85. De tiparit tabelul valorilor lui y avind formula y =x2 pentru x= 2,4,6,8, 10,12 86. De la tastieta se introduc N numere. De aflat care este cel mai mare si cel mai mic numar din

cele n numere introduse.87. De scris programul care calculeaza numarul caracterelor introduse, daca se termina introducerea

caracterelor cu apasarea tastei de incidenta.88. De fiecare data numerele N si M la fiecare pas se modifica scazind din cel mai mare 15, iar la

cel mai mic se adaugind 4. De aflat la al citilea pas numarul care la inceput era mai mare a devenit mai mic decit cel care la inceput era mai mic.

89. De compus programul cu ajutorul caruia se afla suma tuturor numerelor pare de la 136 pina la 14 cu ajutorul instructiunilor FOR, REPEAT, WHILE.

90. De numarat cite caractere au fost introduse pina a fost introdus caracterul "."91. Sa se determine in acelasi timp, maximul si minimul unui sir de n numere reale introduse de la

tastatura, fara a folosi tipul structurat array si de determinat cite numere de acest fel au fost introduse.

92. De numarat cite numere cuprinse intre 3 si 10 au fost introduse de la tastiera pina a fost introdus a treia oara numarul 11.

93. Se citesc pe rind patru numere naturale. Sa se numere cite dintre ele impartite la 13 dau restul 7. Sa se afiseze aceste numere si sa se calculeze produsul celorlalte.

94. Sa se numere cite din patru numere naturale date se divid cu 3 cite cu cinci si cite cu 15.95. Se citesc pe rind trei numere reale. Sa se calculeze media geometrica a numereior strict pozitive

si media aritmetica a celor negative, luind in considerare si posibilitatea ca toate numerele citite sa fie de acelasi semn.

96. Un cetatean a depus la banca de economii 1000 lei. Sa se determine ce suma va avea el peste 5 ani, daca procentul de crestere constitue 3% anual.

97. Din citeva polite de carti cu inaltimea h1 se monteaza un dulap , care va fi instalat inntr-o camera cu inaltimea h2. Sa se determine inaltimea maxima a dulapului h3.

98. De la fundul fintinii cu adincimea de 10 m urca in sus o buburuza. Intr-o zi ea mai intii urca 3 m, apoi coboara 2 m. In cite zile va iesi buburuza din fintina .

99. Un executant poate sa scada si sa compare numerele. (Nu stie sa imparta.) De aflat restul impartirii unui numar natural M la un numar natural N.

100. Un numar a se ridica la patrat, iar rezultatul se mareste cu 1 si numarul obtinut din nou se ridica la patrat si rezultatul se mareste cu 1. Acest proces continua pina se obtine un numar X mai mare decit 1000. Aflati numarul X.

101. De aflat suma numerelor naturale de la 1 la N (inclusiv si N.)102. De calculat suma numerelor naturale de la M la N (inclusiv si M si N.)103. Sa se afle suma multiplelor unui numar natural dat, cuprinse intre doua numere date.104. Daca printre numerele sin x*n pentru n de la 1 pina la careva n are macar o valoare

negativa,atunci variabilei t de atribuit true si t fals.

Pagina 11 din 13

Page 12: Pascal Probleme

105. Un numar dat N de clase au strins anumite sume de lei pentru a trimite copiilor orfani. De la tastiera se introduce numarul claselor si fiecare suma acumulata de fiecare clasa. De determinat cite clase au strins mai mult de 20 lei.

106. De afisat toate numerele perfecte pina la un numar dat X.107. Se dau trei numere reale. Sa se calculeze valoarea absoluta acelor trei numere si media

aritmetica a modulelor lor.Numerele se citesc si se prelucreaza pe rind.108. Se citesc pe rind trei numere reale. Sa se calculeze media geometrica a numereior strict

pozitive si media aritmetica a celor negative, luind in considerare si posibilitatea ca toate numerele citite sa fie de acelasi semn.

109. De la tastatura se introduc doua numere. De aflat de cite ori se poate de scazut al doilea numar din primul.

110. De aflat cite numere mai mici ca 10 au fost introduse pina a fost numar mai mare ca 10.111. De aflatcite numere au fost introduse intre primul egal cu 11 si ultimul egal cu 11.112. De la tastieta se introduc N numere. De aflat care este cel mai mare si cel mai mic numar din

cele n numere introduse.113. De scris programul care descompune in factori un numar natural. 114. Se da un numar natural n. De compus programul de obtinere a numarului m scris cu aceleasi

cifre ca si numarul dat dar in ordine inversa.115. De calculat valoarea sumei: S=1 +1/2 + 1/3 + ...+ 1/50.116. Sa se scrie un program, cu ajutorul caruia se afiseaza ultima cifra a unui numar natural dat.117. De afisat ultima cifra a patratului unui numar natural dat.118. Se dau doua numere naturale. De afisat ultima cifra a sumei lor; diferentei lor; produsului lor; citului lor.119. De aflat suma resturilor impartirii unui numar dat la 2; 3; 4; 5; 6; 7; 8; 9; 10. 120. De aflat daca numarul 144 este divizibil cu un numar dat N.121. De aflat daca un numar dat K este divizibil in acelasi timp si cu numarul dat M si cu

numarul dat N.122. De afisat toate numerele divizibile cu 7 ce nu intrec un numar dat N.123. Se introcue un numar natural a. De aflat cel mai mic numar divizibil cu 7 mai mare ca a.124. Se introc doua numere naturale a si b. De aflat numerele divizibile cu 7 mai mari ca a si mai

mici ca b .125. De aflat daca un numar dat a este sau numar prim.126. De afisat toate numerele prime de la 1 pina la numarul dat N.127. Sa se detremine toate numerele naturale prime cu un numar natural n, mai mici decit n.128. De afisat toate numerele naturale de 3 cifre in scrierea carora cifra unitatilor este 1, iar cifra zecilor este 2. in scrierea carora cifra sutelor si a zecilor este egala cu 4. in scrierea carora toate cifrele sunt egale. in scrierea carora toate cifrele sunt diferite. in scrierea carora sunt cifre suma valorilor carora este egala cu un numar dat n. care sunt egale cu suma cuburilor cifrelor sale.129. Suma cifrelor unui numar de doua cifre este egala cu 11. Daca la acest numar adaugam 27

vom obtine un numar scris cu aceleasi cifre in ordine inversa. Aflati acest numar.130. De afisat toate numerele de 4 cifre ce nu contin cifre egale si sunt divizibile cu un numar de

trei cifre dat.131. De aflat cite numere impare au fost introduse pina la primul numar par.132. De scris programul ce calculeaza valoarea variabilei y, daca y = 2n+1 + 2n-1 + 2n-3 +...+

5+3+1.133. Suma cifrelor unui numar de 2 cifre este egala cu 11. Daca la acest numar vom adauga 27,

atunci vom obtine un numar scris cu aceeasi cifra, dar in ordine inversa. De compus algoritmul de determinare a numarului dat, daca asa numar exista.

134. De aflat toate numerele de trei cifre egale cu suma cuburilor cifrelor

Pagina 12 din 13

Page 13: Pascal Probleme

135. De aflat care numere naturale cuprinse intre 10 si 100 se pot forma care sa contina cifra 7 si cite numere de acestea sunt. Rezultatul de afisat in felul urmator: 17, 27, 37, 47, 57, 67, 77, 87, 97, 71, 72, 73, 74, 75, 76, 78,79. In total 18 n u m e r e .

136. Se considera numarul abcd, scris in baza 10, avind toate cifrele impare si a>d si b>c. Sa se determine toate cifrele sale astfel ca diferenta dintre numar si rasturnatul sau sa fie divizibila cu 108. Cite solutii are problema?

137. Exista oare un numar natural de patru cifre cubul sumei cifrelor caruia este egal cu el insusi? Alcatuiti programul de a gasi cel mai mic numar ce satisface aceasta conditie.

138. Sa se gaseasca cel mai mic numar natural nenul care impartit la primele 9 numere naturale sa dea tot timpul restul

139. Scrieti un program Pascal pentru a citi de la tastatura un text care se termina cu '$' si determina suma codurilor ASCII ale caracterelor componente. De asemenea, sa se afiseze numarul literelor mari, numarul

140. literelor mici si numarul caracterelor speciale intalnite in text.141. Pentru un numar de telefon de 7 cifre, afisati cifrele acestuia, fiecare cifra fiind urmata

de caracterul '$'. Exemplu: 6797140 se va afisa 6$7$9$7$1$4$0$.142. Daca n este un numar natural citit de la tastatura, sa se afiseze n randuri, astfel ca fiecare

rand sa contina toate caracterele tiparibile in ordinea codurilor ASCII, stiind ca primul/ultimul caracter tipăribil este 32/126.

143. Sa se citeasca de la tastatura un text format din cuvinte separate prin unul sau mai multe spatii. textul se termina cu caracterul '$'. Sa se determine:

numarul cuvintelor care incep cu litera 'p'; numarul cuvintelor care se termina cu litera 'i'; numarul cuvintelor ce contin de cel putin doua ori litera 'a'; numarul cuvintelor care incep si se termina cu aceeasi litera.

Pagina 13 din 13