👤

Prima secventa de cod. Nu prea am mai intalnit acele notatii. Le puteti explica si rezolva ?

Prima Secventa De Cod Nu Prea Am Mai Intalnit Acele Notatii Le Puteti Explica Si Rezolva class=

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.


Wix Learning: Alte intrebari