Sunteți pe pagina 1din 5

Varianta 16

1. Se consideră variabilele de tip întreg a=15, b=30, c=5, d=10 și R, indicați


valoarea variabilei R în urma executării instrucțiunii:
Limbajul C/C++ R=a+b/c+d; Limbajul Pascal R:=a + b div c + d;
a) 19 b) 17 c) 3 d) 31 e) 20 f) 15

2. Fie următoarele două secvențe de cod:


Limbajul C/C++ Limbajul Pascal
Secvența 1: Secvența 1:
s=0; s:=0;
for(i=1;i<=n;i++) for i:=1 to n do
s=s+i*i; s:=s+i*i;

Secvența 2: Secvența 2:
s=0; i=<initial>; s:=0; i:=<initial>;
do repeat
{s=s+i*i; s:=s+i*i;
<instrucțiune> <instrucțiune>
} while(i>=1); until i=0;
Indicați cu ce trebuie înlocuite <initial> și <instrucțiune> astfel încât cele două
secvențe de cod să fie echivalente (în final variabila s să aibă aceeași valoare).
Limbajul C/C++ Limbajul Pascal
a) n și i=i-1; a) n și i:=i-1;
b) 1 și i=i+1; b) 1 și i:=i+1;
c) n și i=i+1; c) n și i:=i+1;
d) 0 și i=i+1; d) 0 și i:=i+1;
e) n+1 și i=i+1; e) n+1 și i:=i+1;
f) 0 și i=i-1; f) 0 și i:=i-1;

3. Precizați secvența de instrucțiuni echivalentă cu următoarea secvență de cod.


Limbajul C/C++ Limbajul Pascal
if (a>b) if a>b then
if(a%2==0) if a mod 2=0 then
if(b%2==0) c=a; if b mod 2=0 then c:=a
else c=b; else c:=b;

Limbajul C/C++ Limbajul Pascal


a) if(a>b && a%2==0 && a) if (a>b) and (a mod 2=0)
b%2==0) c=a; and (b mod 2=0) then c:=a;
if(a>b && a%2==0 && if (a>b) and (a mod 2=0)
b%2!=0) c=b; and (b mod 2<>0) then c:=b;

b) if(a>b && a%2==0 && b) if (a>b) and (a mod 2=0)


b%2==0) c=a; and (b mod 2=0) then c:=a
else c:=b;

81
else c=b;
c) if(a>b && a%2==0 && c) if (a>b) and (a mod 2=0)
b%2==0) c=a; and (b mod 2=0) then c:=a;
if(a<b && a%2!=0 && if (a<b) and (a mod 2<>0)
b%2!=0) c=b; and (b mod 2<>0) then c:=b;

d) if (a>b) and (a mod 2=0)


d) if(a>b && a%2==0 &&
and (b mod 2=0) then c:=a;
b%2==0) c=a;
if (a<=b) and (a mod 2<>0)
if(a<=b && a%2!=0 &&
and (b mod 2<>0) then c:=b;
b%2!=0) c=b;
e) if (a>b) and (a mod 2=0)
e) if(a>b && a%2==0 && and (b mod 2=0) then c:=a;
b%2==0) c=a;
f) if (a<=b) and (a mod 2<>0)
f) if(a<=b && a%2!=0 && and (b mod 2<>0) then c:=b;
b%2!=0) c=b;

4. Indicați numărul minim de muchii ce trebuie eliminate dintr-un graf neorientat complet
care are 88 noduri astfel încât acesta să devină eulerian.
a) 0 b) 84 c) 88 d) 176 e) 10 f) 44

5. Precizați descendenții nodului 5 din arborele dat de următorul vector tați


(5,8,4,0,4,5,3,6,7,8).
d) 1, 6,
a) 1, 2, 6, 8, 10 b) 1 și 6 c) 4 e) 1 și 7 f) 6 și 7
7

6. Se consideră un tablou bidimensional A, cu n linii şi n coloane, notăm cu Aij elementul


aflat pe linia i şi coloana j (1≤i≤n,1≤j≤n). Precizați condiţia necesară ca elementul
Aij să fie situat pe prima diagonală de sub diagonala secundară, care este paralelă cu
aceasta.
a) i+j==n-1 (C/C++) b) i+j==n+1 (C/C++) c) i+j==n+2 (C/C++)
i+j=n-1 (Pascal) i+j=n+1 (Pascal) i+j=n+2 (Pascal)
d) i==j+1 (C/C++) e) i==j (C/C++) f) i+j==n-2 (C/C++)
i=j+1 (Pascal) i=j (Pascal) i+j=n-2 (Pascal)

7. Precizați intervalul căruia îi aparţine valoarea memorată de variabila reală x, astfel încât
expresia următoare să aibă valoarea 1 (pentru Limbajul C/C++), true (pentru Limbajul
Pascal)
Limbajul C/C++
x<-10 || !(!(x>=10) || Limbajul Pascal
(x<-10) or not(not(x>=10) or
x>=100)
(x>=100))
a) x ∈ (−∞, − )∪[ , )
b) ∈ (−∞, − ]∪[ , )

82
c) ∈ (−∞, − ) ∪ ( , )
d) ∈ (−∞, − ) ∪ [ , ]
e) ∈ (− , ) ∪ ( , +∞)
f) ∈ (− , )

8. În secvenţa de mai jos, variabilele i,j,x şi y sunt de tip întreg, iar variabila a
memorează un tablou bidimensional în care prima linie şi prima coloană sunt numerotate
cu 1. Toate elementele tabloului primesc valori în urma executării secvenţei. Precizați
care este valoarea elementului a[4][4] (pentru limbajul C/C++), respectiv a[4,4]
(pentru limbajul Pascal) în urma executării secvenţei de mai jos.
Limbajul C/C++ Limbajul Pascal
x =3478; x:=3478;
for(j=4;j>=1;j--) for j:=4 downto 1 do
{ y=x; begin
for(i=4;i>=1;i--) y:=x;
{ for i:=4 downto 1 do
if(j%2==0)a[i][j]=10-y%10; begin
else a[i][j]=y%10; if j mod 2=0 then
y=y/10; a[i,j]:=10-y mod 10
} else a[i,j]:=y mod 10;
x++;} y:=y div 10;end;
x:=x+1; end;
a) 7 b) 3 c) 6 d) 4 e) 2 f) 8

9. Precizați numărul maxim de noduri izolate pe care le poate avea un graf neorientat cu
30 de noduri și 20 de muchii
a) 24 b) 23 c) 15 d) 25 e) 0 f) 10

10. Se consideră un graf neorientat cu 9 noduri, al cărui vector de muchii este M = {(1,2),
(1,9), (2,3), (3,4), (3,7), (3,8), (4,5), (5,6), (5,7), (6,7), (6,8), (8,9)}. Indicați numărul
minim de muchii care trebuie eliminate astfel încât graful să devină eulerian, dar să
rămână hamiltonian.
a) 4 b) 0 c) Nu se poate d) 2 e) 7 f) 3

11. Se utilizează metoda backtracking pentru a genera șiruri de câte 5 caractere distincte din
mulţimea {a,1,b,2,c,3,d,4} cu proprietatea că nu poate să aibă două cifre sau
două litere alăturate. Ştiind că primul șir generat este a1b2c, iar al doilea este a1b2d,
precizați șirul obţinut imediat înainte de 2c4a1.
a) 2c3d4 b) 2c1b4 c) 2b4d3 d) 2c3a4 e) 1c3a4 f) 2c1a4

12. Indicați valoarea variabilei a la finalul executării secvenței următoare de program.


Limbajul C/C++ Limbajul Pascal
char a[]="15iunie1970"; var a,v:string;
char v[]="aeiouAEIOUn"; i:integer;
int i; ...
for(i=0;i<strlen(a);i++) a:='15iunie1970';

83
if(a[i]>='0' && a[i]<='9') v:='aeiouAEIOUn';
a[i]=v[a[i]-'0']; for i:=1 to length(a) do
if (a[i]>='0') and (a[i]<='9')
then
a[i]:=v[ORD(a[i])-ORD('0')+1];
a) Eroare de
b) iEiunieinOe c) eAiunieeUIa
compilare
d) 152410211970 e) EiunieinO f) AiunieeUI

13. Se consideră un tablou unidimensional a cu n numere naturale. Dacă pentru n se citește


valoarea 7, iar a primește valorile: 7,4,8,2,9,6 și 2, precizați ce se va afișa la
sfârșitul executării secvenței următoare de program.
Limbajul C++ Limbajul Pascal
int a[15],i,n,j; var a:array[1..20] of
cin>>n; integer;
for(i=0;i<n;i++) i,j,n,k:integer;
cin>>a[i]; ............
for(i=0;i<n;i++) read(n);
if(a[i]%2==0) for i:=1 to n do read(a[i]);
{ i:=1;
for(j=i;j<n-1;j++) while i<=n do
a[j]=a[j+1]; begin
n--; if a[i] mod 2=0 then
} begin
for(i=0;i<n;i++) k:=n-1;
cout<<a[i]<<" "; for j:=i to k do
a[j]:=a[j+1];
n:=n-1; end;
i:=i+1; end;
for i:=1 to n do
write(a[i],' ');
Limbajul C
int a[15],i,n,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
if(a[i]%2==0)
{
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n--;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
a) 7 2 9 2 b) 7 9 c) 7 8 9 2 d) 7 4 2 9 6 e) 4 2 6 f) 4 8 2 6

84
14. Indicați valorile variabilelor a și b, în urma apelului f(a,b,b) (pentru Limbajul
C++/Pascal), respectiv f(&a,b,b) (pentru Limbajul C), al subprogramului f definit
mai jos.
Limbajul C++ Limbajul Pascal
int a,b; var a,b:integer;
void f(int&x,int y,int b) procedure f(var x:integer;
{ a++; b++; y,b:integer);
x=x*2; y=y*3; begin
} inc(a); inc(b);
x:=x*2; y:=y*3;
Limbajul C end;
int a,b;
void f(int*x,int y,int b)
{ a++; b++;
*x=*x*2; y=y*3;
}
a) Eroare de
b) 2 3 c) 1 1 d) 2 0 e) 2 2 f) 1 0
compilare

15. Se consideră subprogramul f definit mai jos. Precizați ce valoare va avea


f(1234,6789,1).
Limbajul C++/C Limbajul Pascal
int f(int x,int y, int p) function
{ f(x,y,p:integer):integer;
if(y!=0) begin
if(y%2==0) if y<>0 then
return if y mod 2=0 then
y%10*p+f(x/10,y/10,p*10); f:= y mod 10 * p +
else f(x div 10,y div 10,p*10)
return else f:=x mod 10 * p +
x%10*p+f(x/10,y/10,p*10); f(x div 10,y div 10,p*10)
else return 0; else f:=0;
} end;
a) 1739 b) 4862 c) 6789 d) 200 e) 6284 f) 1234

85

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

  • Grile Grafuri Neorientate
    Grile Grafuri Neorientate
    Document11 pagini
    Grile Grafuri Neorientate
    Ion Ionescu
    Încă nu există evaluări
  • Sortare Prin Numarare
    Sortare Prin Numarare
    Document3 pagini
    Sortare Prin Numarare
    Ion Ionescu
    Încă nu există evaluări
  • Var19 20
    Var19 20
    Document11 pagini
    Var19 20
    Ion Ionescu
    Încă nu există evaluări
  • STUDIU
    STUDIU
    Document5 pagini
    STUDIU
    Ion Ionescu
    Încă nu există evaluări
  • To 1
    To 1
    Document5 pagini
    To 1
    Ion Ionescu
    Încă nu există evaluări
  • V23 V24
    V23 V24
    Document10 pagini
    V23 V24
    Ion Ionescu
    Încă nu există evaluări
  • Tema 222
    Tema 222
    Document2 pagini
    Tema 222
    Ion Ionescu
    Încă nu există evaluări
  • Model Chestionar Concurs Admitere 2021 Converted Min
    Model Chestionar Concurs Admitere 2021 Converted Min
    Document11 pagini
    Model Chestionar Concurs Admitere 2021 Converted Min
    Ion Ionescu
    Încă nu există evaluări
  • Labirint
    Labirint
    Document1 pagină
    Labirint
    Ion Ionescu
    Încă nu există evaluări
  • Tutorial Obs
    Tutorial Obs
    Document15 pagini
    Tutorial Obs
    Ion Ionescu
    Încă nu există evaluări
  • Razbunare
    Razbunare
    Document1 pagină
    Razbunare
    Ion Ionescu
    Încă nu există evaluări