Quesito

Sk_Anonymous
Dato il seguente frammento di codice

i=0;
while (i>0 $$ i<10)
{i=i+2;
printf ("%d",i);
}
Cosa viene stampato sul video?

a)0 2 4 6 8 10
b)0 2 4 6 8
c)2 4 6 8
d)Non viene stampato alcun numero

Giustificare la risposta

Risposte
_luca.barletta
Ammettiamo che siamo arrivati al punto che i=9.
Ora, i=9 rispetta ambo le condizioni del ciclo while, quindi entriamo.
Incontriamo subito i=i+2, quindi diventa i=11.
Incontriamo ora il printf, quindi il numero 11 viene stampato a video.
Finisce il ciclo.
Ora i=11 non rispetta la seconda condizione del ciclo while, quindi usciamo.
Fine.

Sk_Anonymous
Altro frammento

for (i=0; i>10; i++)
printf("%d", i);

La domanda da farsi qual è?

_luca.barletta
quando ci sono dei cicli condizionati la domanda da farsi sempre è: la condizione viene rispettata?
in questo caso cosa risponderesti?

Sk_Anonymous
credo di no,perchè i=0 è in contrasto con i>10,giusto?



Per quanto riguarda l'esercizio di sopra,se fosse stato i=2 avrebbe stampato 4,6,8,10.Ho capito

_luca.barletta
perfetto

Sk_Anonymous
Grazie tante per la pazienza!!!sono alle prime armi,anzi primissime!

ciao

Sk_Anonymous
i=0;
j=0;
while (i<5 && j<=7) {
i++;
j=j+2;
}


a me viene i=5 j=8


è giusto?

_luca.barletta
No, è i=4, j=8. Ricorda che per entrare nel ciclo entrambe le condizioni devono essere vere, perchè c'è l'and.

Sk_Anonymous
"luca.barletta":
No, è i=4, j=8. Ricorda che per entrare nel ciclo entrambe le condizioni devono essere vere, perchè c'è l'and.



Ma se i=3,i+1=4
ALLORA se i=4 i+1=5 e a questo punto mi fermi perchè non posso dare il valore 5 ad i perchè dev'essere <5


quindi i=5 :roll:

Sk_Anonymous
a meno che il ragionamento da fare quando ci sono 2 variabili è diverso

_luca.barletta
devi guardare entrambe le condizioni: se già quella su j non è verificata non entri nel ciclo, quindi i non arriverà mai a 5.

Sk_Anonymous
Ho capito...poichè in j verrannno fatte 4 sostituzioni($j=0=>j+2=2,j=2=>j+2=4,j=4=>j+2=6,j=6=>j+2=8$) anche in i devo fermarmi alla quarta.

_luca.barletta
ok

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.