Sunteți pe pagina 1din 4

Exerciţiul

4. Care definire de constantă este corectă şi de ce


tip sunt constantele definite corect?
Const
a) n =3333;
b) b=7+5;
c) c='7'+'5';
d) a1=a mod 4 ;
e) Ziua='Mercurry';
4. Care din urmatoarele definiţii de tip sunt
greşite?
a) primul = SET of CHAR;
b) al_doilea = SET of REAL;
c) al_treilea=SET of BOOLEAN;
culori = (alb, negru, rosu, verde);
4. Care din urmatoarele definiţii de tip sunt
greşite?
a) culori = (alb, negru, rosu, verde);
b) al_patrulea = SET of culori;
c) numere1 =1..9; al_cincilea = SET of
numere1;
d) al_saselea=SET of REAL;
e) numere2=200..400; al_saptelea = SET
of numere2
4. Care din urmatoarele definiţii de tip sunt
greşite?
f) culori = (alb, negru, rosu, verde);
g) al_patrulea = SET of culori;
h) numere1 =1..9; al_cincilea = SET of
numere1;
i) al_saselea=SET of REAL;
j) numere2=200..400; al_saptelea = SET
of numere2;

5. Care din următoarele expresii logoce au valoarea


TRUE?
a) not (`c`in [`a`..`f`] ) or ([1..10,11..20]>=[1..20]);
b) [`a`..`d`,`g`,`l`,`o`]-
[`b`,`c`,`l`..`o`]<>[`a`,`d`,`g`,`m`,`n`];
c) []+[1,2,3]*[0]+[3,4,5]=[0];
d) nici o expresie anterioară nu are valoarea
TRUE.
4. 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?


a) 9.00 b) 9 c) 49.00 d)
14 e) nici un răspuns nu este corect.

4. Fie dat programul:


Program Prog;
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 este corect?
a) 6 b) 9
c) 7 d) 8
e) nici un răspuns anterior nu este corect.

5. Scrieţi litera corespunzătoare fragmentului de


program care determină cel mai mare număr din
trei numere date.

a) Read(a,b,c); b) Read(a,b,c);
max:=b; If a>b Then max:=a;
If a>max Then If b>c Then max:=b
max:=a; Else max:=c;
If c>max Then
max:=c;
c) Read(a,b,c);
If (a>b) And (a>c) d) Read(a,b,c);
Then max:=a; If b>c Then max:=b
If (b>c) And (b>a) Else max:=c;
Then max:=b; If a>max Then max:=a;
If (c>a) And (c>b)
Then max:=c;
5. Se consideră tabloul X [1..N] cu numere întregi.
Care din secvenţele de mai jos afişează elementele
de pe locurile pare din tabloul X?
a) For i:=1 To b) For i:=n e) nici un
n Do DownTo 1 Do răspuns
If Not(Odd(i)) If i/2=0 Then anterior nu
Then Write(x[i], ` `); este corect.
Write(x[i],` `);
d) i:=1;
c) i:=2; While i<n Do
Repeat Begin
Write(x[i],` `); i:=i+2;
i:=i+2; Write(x[i],` `);
Until i>n; End;
4. Fie dat programul:
Program Prog;
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 este corect?
b) 6 b) 9
d) 7 d) 8
e) nici un răspuns anterior nu este corect.

4. Considerînd că i este de tip întreg, de cite ori se


executa INSTRUCTIUNEA din corpul ciclului
următor?
for i:= j1 to j2 do <INSTRUCTIUNE>;

4. De cîte ori se execută instrucţiunea din corpul


ciclului interior din următoarea secvenţă de
instruţiuni în care i, j şi k sunt întregi:
For i:= 1 to 10 do
For j:= 4 downto 5 do
For k:= 0 to 3 do
<INSTRUCTIUNE>;

5. Care va fi valoarea variabilelor x şi y după


executarea secvenţei de atribuiri care urmează?
x:='1' ; y:='2'; x:=x+x; y:=x+y; y:=y+x;

5. În descrierea funcţiei ce calculează recursiv


factorialul numărului n lipseşte o instrucţiune:

function fact (n:byte):integer;


begin
if n=0 then fact:=1
else…
end;
Care din următoarele instrucţiuni trebuie plasată în
locul punctelor:
a) fact:=n*(n-1)*(n-2)*(n-3)*..*1;
b) fact:= fact (n-1)*n;
c) fact:=n!;
d) fact:= fact (n)*(n-1);
e) nici un răspuns anterior nu este corect.

5. Completaţi coloana B cu valorile expresiilor din


coloana A(dacă expresiile sunt scrise corect):

A B
[1,2,3] = [3,1,2]
[`a`,`b`] = [`b`,`a`]
[`a`,`b`] = [`a`,`b`]
[2,3,4,5] <= [0..9]
Round(2.3) In [2..3]
4. Scrieţi în coloana B valoarea expresie, dacă
succesiunea de caractere din coloana A reprezintă o
expresie Pascal, sau cuvîntul greşit în caz contrar.

A B
25=[25]
Odd(6) In []
`c` In [`a`..`z`]
[3]<[1..5]
5. Ce va afişa următorul program?
Program Prog;
Var x,y:integer;
Procedure Proced(a:integer; var b: integer);
Begin
a:=a+1;
b:=b+a;
End;
Begin
x:=0; y:=0;
Proced(x,y); write(x,y);
Proced(y,y); write(x,y);
End.

4. Ce valori va afişa acest program?


Program Prog;
Var x,y:integer;
Procedure Proced(a:integer; var b: integer);
Begin a:=a+1; b:=b+a; End;
Begin
x:=0; y:=0; Proced(y,x); write(x,y);
Proced(x,x); write(x,y);
End.

5. Scrieţi programul care afişează la ecran


denumirea zilei în săptămînă ştiind numărul ei de
ordine citit de la tastatură. (1 – luni, ...).

S-ar putea să vă placă și