Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Test grilă la instrucţiunile alternativă şi repetitive

Se acordă un punct din oficiu. Fiecare item are o singură variantă corectă şi este punctat cu 1 punct.

1. Care sunt valorile variabilelor a şi b după executarea instrucţiunilor, dacă iniţial ele aveau valori diferite:
if ((a < b) || (a > b))
    {a = 5 ; b = – a ; }
if (a * a = = b * b) a = 10 ;
a) a = 5, b= -5;
b) a=10, b=10
c) a=10, b=5
d) a=10, b= -5
e) a=5, b= -10

2. Ce face secvenţa de mai jos:
cin >> n;
k = 1;
while (k <= n)
  { cout<<(k–1); k = k + 2; }

a. Afişează câte numere naturale mai mici decât n sunt pare
b. Afişează numerele impare mai mici sau egale cu n
c. Afişează numerele pare mai mici sau egale cu n
d. Afişează numerele naturale mai mici sau egale cu n
e. instrucţiunea repetitivă este infinită

3. Fie secvenţa:
cin>>n;
k = 1;
while (n <= 100)
  {n = n << 1 ; k = k +1 ;}
cout<<k;

Care este cea mai mare valoare posibilă pentru variabila n astfel încât secvenţa să afişeze valoarea 5:
a) 10                b) 3                  c) 6                  d) 7                  e) 1                  f) 12

4. Fie secvenţa:
cin >> a >> b ;
while ((a % 10 = = b % 10 ) && (a != 0) && (b != 0))
            {a = a / 10 ; b = b / 10 ;}
if ((a = = 0) && (b = = 0)) cout<< "DA" ;
            else cout << "NU" ;

Secvenţa afişează DA dacă şi numai dacă:
a) numerele a şi b au acelaşi număr de cifre
b) a şi b sunt egale
c) a şi b sunt formate din aceleaşi cifre, dar aşezate în altă ordine
d) ultime cifră a lui a este egală cu ultima cifră a lui b
e) numerele a şi b sunt ambele nenule

5. Ce afişează secvenţa:
n = 54535 ;
k = 0 ;
while (n % 10 = = 5)

            {k++ ; n = n/10}
cout<<k ;
a) nimic, structură repetitivă infinită                    b) 0         c) 1         d) 2            e) 3

6. Ce afişează secvenţa:
n = 321;
k = 0 ;
while (n != 0)
            k++ ;
            n = n / 10;
cout<<k ;

a) nimic, structură repetitivă infinită                    b) 3         c) 6         d) 0            e) 1

7. Care din următoarele declaraţii este corectă:
a) int abc ;
b) float a + b ;
c) double nr  prim ;
d) long  2ab ;
e) int m.n ;

8. Ce afişează secvenţa:
float x = 1.44 ;
int nr = 0 ;
while (x % 10 = = 4) {nr++ ; x /= 10 ;}
cout << nr ;

a) nimic, secvenţa are erori      b) 2    c) 1     d) 0      e) 3

9. Ce numere afişează secvenţa:
int i = 1 ;
while (i <= 20)
 {
            i++;
            if (i >= 3) i++ ;
            if (i >= 6) i++ ;
            if (i >= 9) i++ ;
            cout << i << " ";
 }

a) 2  4  7  11  15  19  23
b) 2  4  7  10  14  18  22
c) 2  4  6   9   13  17  21
d) 2  4  7  10  13  16  19

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Scrie un comentariu
Nume:

Comentariu:

15 + 10 =