You are on page 1of 9

Varianta 21

1. true în Pascal sau 1 în C/C++


x are exact trei cifre?
Limbajul C++ Limbajul Pascal
a) (x%1000==0) || (x%100!=0) a) (x mod 1000=0) or
b) (x/10==0) && (x/100==0) (x mod 100<>0)
c) (x%10==0) && (x/10==0) b) (x div 10=0) and
d) (x/1000==0) && (x/100!=0) (x div 100=0)
e) (x/1000==0) || (x/100==0) c) (x mod 10=0) and
f) !((x/1000==0) && (x/100!=0)) (x div 10=0)
Limbajul C d) (x div 1000=0) and
a)(x%1000==0)|| (x%100!=0) (x div 100<>0)
b)(x/10==0) && (x/100==0) e) (x div 1000=0) or
c)(x%10==0) && (x/10==0) (x div 100=0)
d)(x/1000==0) && (x/100!=0) f) not((x div 1000=0) and
e)(x/1000==0) || (x/100==0) (x div 100<>0))
f)!((x/1000==0) && (x/100!=0))

2. -

Limbajul C Limbajul C++ Limbajul Pascal


typedef struct struct robot type robot=record
{ { x,y:real;
float x,y; float x,y; end;
} robot; };
robot bob; robot bob; var bob:robot;

(-2,-2),(-2,2),
(2,2),(2,-2)?
Limbajul C++
a) (robot.x>=-2)&&(robot.x<=2)&&(robot.y>=-2)&&(robot.y<=2)
b) (robot.x<=-2)||(robot.x>=2)||(robot.y<=-2)||(robot.y>=2)
c) (bob.x<=-2)||(bob.x>=2)||(bob.y>=-2)||(bob.y<=2)
d) (bob.x>=-2)&&(bob.x<=2)&&(bob.y>=-2)&&(bob.y<=2)
e) (bob.x>=-2)&&(bob.x<=2)||(bob.x>=-2)&&(bob.x<=2)
f) (robot.x>=-2)&&(robot.x<=2)||(robot.x>=-2)&&(robot.x<=2)

Limbajul C
a) (robot.x>=-2)&&(robot.x<=2)&&(robot.y>=-2)&&(robot.y<=2)
b) (robot.x<=-2)||(robot.x>=2)||(robot.y<=-2)||(robot.y>=2)
c) (bob.x<=-2)||(bob.x>=2)||(bob.y>=-2)||(bob.y<=2)
d) (bob.x>=-2)&&(bob.x<=2)&&(bob.y>=-2)&&(bob.y<=2)
e) (bob.x>=-2)&&(bob.x<=2)||(bob.x>=-2)&&(bob.x<=2)
f) (robot.x>=-2)&&(robot.x<=2)||(robot.x>=-2)&&(robot.x<=2)

109
Limbajul Pascal
a) (robot.x>=-2) and (robot.x<=2) and (robot.y>=-2) and
(robot.y<=2)
b) (robot.x<=-2) or (robot.x>=2) or (robot.y<=-2) or
(robot.y>=2)
c) (bob.x<=-2) or (bob.x>=2) or (bob.y>=-2) or (bob.y<=2)
d) (bob.x>=-2) and (bob.x<=2) and (bob.y>=-2) and (bob.y<=2)
e) (bob.x>=-2) and (bob.x<=2) or (bob.x>=-2) and (bob.x<=2)
f) (robot.x>=-2) and (robot.x<=2) or (robot.x>=-2) and
(robot.x<=2)

3.
Limbajul C++ Limbajul Pascal
#include <iostream> var i,s:integer;
using namespace std; begin
int main() s:=0;
{ int i,s=0; for i:=1 to 5 do;
for(i=1;i<=5;i++); i:=i+1;
s=s+i; s:=s+i; write(s);
cout<<s; return 0;} end.

Limbajul C
#include <stdio.h>
int main()
{ int i,s=0;
for(i=1;i<=5;i++);
s=s+i;
printf("%d",s); return 0; }
a) b) 15 c) 6 d) 5 e) 0 f) 10
genera eroare de compilare.

4.
Limbajul C++ Limbajul Pascal
#include <iostream> var sir:string;
using namespace std; i:integer;
int main() begin
{ sir:='ANA';
char sir[]="ANA"; for i:=1 to length(sir) do
int i=0; sir[i]:=succ(sir[i]);
while(sir[i]) write(sir);
sir[i++]++; end.
cout<<sir;
return 0;
}

110
Limbajul C
#include <stdio.h>
int main()
{ char sir[]="ANA";
int i=0;
while(sir[i])
sir[i++]++;
printf("%s",sir);
return 0;
}
a) ANA b) A c) AN d) BOB e) BAB f) COC

5.
Limbajul C++ Limbajul Pascal
#include <iostream> type coordonate=record
using namespace std; abscisa,ordonata:integer;
struct coordonate{ end;
int abscisa,ordonata;
}; var abscisa:coordonate;
int main()
{ coordonate abscisa; begin
abscisa.abscisa=100; abscisa.abscisa:=100;
abscisa.ordonata=200; abscisa.ordonata:=200;
cout<<abscisa.abscisa<<" "; write(abscisa.abscisa,' ');
cout<<abscisa.ordonata; write(abscisa.ordonata);
return 0;} end.

Limbajul C
#include <stdio.h>
typedef struct {
int abscisa,ordonata;
}coordonate;
int main()
{
coordonate abscisa;
abscisa.abscisa=100;
abscisa.ordonata=200;
printf("%d ",abscisa.abscisa);
printf("%d", abscisa.ordonata);
return 0;
}
a) b) 0 0 c) 100 200 d) 200 100 e) 100 100 f) 200 200
nimic, va genera eroare
de compilare deoarece
numele variabilei de tip
struct nu poate coincide
cu numele câmpului.

111
6.
Limbajul C/C++ Limbajul Pascal
char f() type matrice=array[0..4,0..4] of
{ int i,j,mat[5][5]; char;
char v='a'; function f:char;
for(i=0;i<5;i++) var i,j:integer;
for(j=0;j<5;j++) mat:matrice;
{ mat[i][j]=v; v:char;
v++; } begin
return mat[2][3]; } v:='a';
for i:=0 to 4 do
for j:=0 to 4 do
begin
mat[i,j]:=v;v:=succ(v);
end;
f:=mat[2,3];
end;
a) e b) i c) n d) m e) o f) p

7.

G.
a) 1 b) 2 c) 3 d) 4 e) 5 f) 6

8.
x într-un vector v
Limbajul C/C++ Limbajul Pascal
p=0; p:=0;
u=n-1; u:=n-1;
q=0; q:=0;
while(p<=u && q==0) while (p<=u) and (q=0) do
{ begin
m=(p+u)/2; m:=(p+u) div 2;
if(x==v[m]) q=1; if(x=v[m]) then q:=1
else if(x<v[m]) u=m-1; else if x<v[m] then u:=m-1
else p=m-1; else p:=m-1;
} end;
if(q==1) if q=1 then
printf("Elementul a fost write('Elementul a fost
gasit"); gasit')
else else

112
printf("Elementul nu a write('Elementul nu a
fost gasit"); fost gasit');

Limbajul C/C++ Limbajul Pascal


a) a)
while(p<=u && q==0) while (p<=u) and (q=0) do

while(p>=u && q==0) while (p>=u) and (q=0) do


b) m=(p+u)/2; b)
m=(p+u)%2; m:=(p+u) div 2; trebuie
c) p=m-1; trebuie m:=(p+u) mod 2;
p=m+1; c) Ins p:=m-1; trebuie
d) u=m-1; trebuie p:=m+1;
u=m+1; d) u:=m-1; trebuie
e) if(x<v[m]) trebuie u:=m+1;
if(x>v[m]) e) if x<v[m] trebuie
f) q=1; if x>v[m]
cu q=0; f) q:=1;
cu q:=0;

9.
Limbajul C++ Limbajul Pascal
#include <iostream> const m=4; n=5;
using namespace std; var i,j:integer;
int main() aux:char;
{ const int m=4,n=5; a:array[0..m-1,0..n-1]
int i,j,aux; of char=
char a[m][n]= (('a','b','c','d','e'),
{{'a','b','c','d','e'}, ('f','g','h','i','j'),
{'f','g','h','i','j'}, ('k','l','m','n','o'),
{'k','l','m','n','o'}, ('p','q','r','s','t'));
{'p','q','r','s','t'}}; begin
for(i=0;i<2;i++) for i:=0 to 1 do
{ aux=a[2][n-1]; begin
for(j=n-1;j>0;j--) aux:=a[2,n-1];
a[2][j]=a[2][j-1]; for j:=n-1 downto 1 do
a[2][0]=aux; } a[2,j]:=a[2,j-1];
for(i=0;i<2;i++) a[2,0]:=aux; end;
{ aux=a[m-1][2]; for i:=0 to 1 do
for(j=m-1;j>0;j--) begin
a[j][2]=a[j-1][2]; aux:=a[m-1,2];
a[0][2]=aux; } for j:=m-1 downto 1 do
for(i=0;i<m;i++){ a[j,2]:=a[j-1,2];
for(j=0;j<n;j++) a[0,2]:=aux; end;
cout<<a[i][j]<<" "; for i:=0 to m-1 do

113
cout<<endl; } begin
return 0; } for j:=0 to n-1 do
write(a[i,j],' ');
writeln; end;
end.
Limbajul C
#include <stdio.h>
int main()
{ const int m=4,n=5;
int i,j,aux;
char a[4][5]={{'a','b','c','d','e'},
{'f','g','h','i','j'},
{'k','l','m','n','o'},
{'p','q','r','s','t'}};
for(i=0;i<2;i++)
{ aux=a[2][n-1];
for(j=n-1;j>0;j--)
a[2][j]=a[2][j-1];
a[2][0]=aux;
}
for(i=0;i<2;i++)
{
aux=a[m-1][2];
for(j=m-1;j>0;j--)
a[j][2]=a[j-1][2];
a[0][2]=aux;
}
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%c %c",a[i][j],' ');
printf("\n");
}
return 0;
}
a) b) c) d) e) f)
abcde abmde deabc abkde edcba abcde
fghij fgrij ijfgh fgrij fghij fghij
noklm klcno lmnok noclm klmno klmno
pqrst pqhst stpqr pqhst pqrst tsrqp

10.
Limbajul C++ Limbajul Pascal
#include <iostream> var a,b,c:integer;
using namespace std; procedure f(a:integer;var
int a=5, b=10, c=15; b:integer; var
void f(int a,int &b,int &c) c:integer);
{ a=a+5; b=b+10; c=c+15; begin

114
} a:=a+5;b:=b+10;c:=c+15;
int main() end;
{ f(a,b,c);f(a,a,b); begin
cout<<"a="<<a; a:=5; b:=10; c:=15;
cout<<"b="<<b; f(a,b,c);f(a,a,b);
cout<<"c="<<c; write('a=',a);
return 0; write('b=',b);
} write('c=',c);
end.
Limbajul C
#include <stdio.h>
int a=5, b=10, c=15;
void f(int a, int *b, int *c)
{ a=a+5; *b=*b+10; *c=*c+15; }
int main()
{ f(a,&b,&c); f(a,&a,&b);
printf("a=%d",a ); printf("b=%d",b); printf("c=%d",c);
return 0; }
a) a=5 b) a=15 c) a=10 d) a=5 e) a=15 f) a=10
b=5 b=35 b=20 b=10 b=5 b=5
c=20 c=30 c=30 c=15 c=30 c=30

11. 1 - Andrei,
2 -

1 2
tre
Andrei Marian Alina Dana Marius
Andrei Marian Alina Marius Dana
Andrei Marian Dana Alina Marius

a) Marius b) Dana c) Marius d) Andrei e) Andrei f) Andrei


Dana Marius Andrei Alina Alina Alina
Alina Alina Marian Dana Dana Marius
Andrei Andrei Alina Marius Marian Marian
Marian Marian Dana Marian Marius Dana

12. v[3]
returneze 0 în C/C++ sau false în Pascal pentru apelul f(5).
Limbajul C++ Limbajul Pascal
int v[]={15,12,7,20,-1,-5}; var v:array[0..5] of
int f(int n) integer=(15,12,7,20,-1,-5);
{if(n==0) return 0; function
else f(n:integer):boolean;
return begin
v[n-1]<v[n] || f(n-1);} if n=0 then f:=false

115
else
Limbajul C f:=(v[n-1]<v[n]) or f(n-1);
int v[]={15,12,7,20,-1,-5}; end;
int f(int n)
{ if(n==0) return 0;
else
return
v[n-1]<v[n] || f(n-1); }
a) -2 b) -3 c) 16 d) 4 e) 24 f) 30

13. G=({1,2,3,4,5,6},{(1,2),(1,3),(1,4),(2,3)}).
G?
a) 10 b) 12 c) 8 d) 16 e) 2 f) 4

14. write) în

Limbajul C++ Limbajul Pascal


for(i=1;i<=10;i++) for i:=1 to 10 do
for(j=1;j<=i;j++) for j:=1 to i do
for(k=1;k<=j;k++) for k:=1 to j do
cout<<i+j+k; write(i+j+k);
Limbajul C
for(i=1;i<=10;i++)
for(j=1;j<=i;j++)
for(k=1;k<=j;k++)
printf("%d",i+j+k);
a) 220 b) 110 c) 100 d) 55 e) 150 f) 200

15.
codul ei k (k>=0 k
C k este 6 I. Vom
Z vine A.

o cheie k
Limbajul C++ Limbajul C Limbajul Pascal
char sir[255]; char sir[255]; var sir:string;
unsigned int k,i; unsigned int k,i; i,k:word;
cin>>sir; scanf("%s",sir); begin
cin>>k; scanf("%u",&k); read(sir);
read(k);
Limbajul C++/C
a) for(i=0;i<strlen(sir);i++) sir[i]=sir[i]+k;
b) for(i=0;i<strlen(sir);i++) sir[i]=sir[i+k-'A'];

116
c) for(i=0;i<strlen(sir);i++) sir[i]=sir['Z'-'A'+k];
d) for(i=0;i<strlen(sir);i++)
sir[i]='A'+(sir[i]-'A'+k)%('Z'-'A'+1);
e) for(i=0;i<strlen(sir);i++)
sir[i]='A'+(sir[i]-'A'+'Z'-'A')%('Z'-'A'+1);
f) for(i=0;i<strlen(sir);i++)
sir[i]='A'+(sir[i]-'A'+k)%('Z'-'A'+k);

Limbajul Pascal
a) for i:=1 to length(sir) do
sir[i]:=chr(ord(sir[i])+k);
b) for i:=1 to length(sir) do
sir[i]:=chr(ord(sir[i+k-ord('A')]));
c) for i:=1 to length(sir) do
sir[i]:=chr(ord(sir[ord('Z')-ord('A')+k]));
d) for i:=1 to length(sir) do
sir[i]:=chr(ord('A')+(ord(sir[i])-ord('A')+k) mod
(ord('Z')-ord('A')+1));
e) for i:=1 to length(sir) do
sir[i]:=chr(ord('A')+(ord(sir[i])- ord('A')+
ord('Z')-ord('A')) mod (ord('Z')- ord('A')+1));
f) for i:=1 to length(sir) do
sir[i]:=chr(ord('A')+(ord(sir[i])- ord('A')+k)
mod (ord('Z')-ord('A')+k));

117

You might also like