Răspuns :
Răspuns:
Spus pe scurt, este o prescurtare a mai multor if-uri.
Pentru problema, raspunsul este C.
Explicație:
Instructiunea switch case, cu sintaxa:
switch(v){
case val1: // if(v == val1){
instructiuni_1;
break;// }
case val2:// else if(v == val2){
instructiuni_2;
break;// }
[...]
default:// else {
instructiuni_n;
break;// }
}
(default nu este obligatoriu)
Este echivalenta cu:
if(v == val1){
instruciuni1;
}else if(v == val2){
instructiuni2;
}
[...]
else{
instructiuni_n;
}
De retinut:
1. Aceasi valoare sa nu apara de mai multe ori(cazuri duplicate)
switch(x){
case 1:
cout << x*x*10;
break;
case 2:
cout << x*x*x*x*100;
break;// pana aici e corect
case 1:// aici avem eroare pentru ca avem caz duplicat
cout << x;
break;
}
2. Daca intra intr-un caz, continua pana gaseste un "break;" sau ajunge la sfarsit.
De exemplu:
switch(v){
case 1:
case 2:
cout << v;
break;
case 3:
case 4:
cout << v - 3;
break;
case 5:
cout << -v+1;
break;
default:
cout << -v;
}
Are echivalentul scris cu if-uri:
if(v == 1 || v == 2)
{cout << v;}
else if(v == 3 || v == 4)
{cout << v-3;}
else if(v == 5)
{cout << -v+1;}
else cout << -v;
Acum, problema:
a = 12, b = 20, i = 0, j = 3
Avem a = 12 -> incrementam i
i = 1
Decrementam b
b = 19
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
a = 12 -> incrementam i
i = 2
b = 18
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
a = 12 -> incrementam i
i = 3
b = 17
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
a = 12 -> incrementam i
i = 4
b = 16
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
a = 12 -> incrementam i
i = 5
b = 15
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
....
a = 12 -> incrementam i
i = 20
b = 0
Conditia b>=0 este adevarata, deci ne intoarcem la inceputul structurii repetitive
a = 12 -> incrementam i
i = 21
b = -1
Conditia b>=0 nu mai este adevarata, deci structura repetitiva se termina.
Avem valorile finale:
i = 21
b = -1
Deci raspunsul este C
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.