Quesito
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
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
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.
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.
Altro frammento
for (i=0; i>10; i++)
printf("%d", i);
La domanda da farsi qual è?
for (i=0; i>10; i++)
printf("%d", i);
La domanda da farsi qual è?
quando ci sono dei cicli condizionati la domanda da farsi sempre è: la condizione viene rispettata?
in questo caso cosa risponderesti?
in questo caso cosa risponderesti?
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
Per quanto riguarda l'esercizio di sopra,se fosse stato i=2 avrebbe stampato 4,6,8,10.Ho capito
perfetto
Grazie tante per la pazienza!!!sono alle prime armi,anzi primissime!
ciao
ciao
i=0;
j=0;
while (i<5 && j<=7) {
i++;
j=j+2;
}
a me viene i=5 j=8
è giusto?
j=0;
while (i<5 && j<=7) {
i++;
j=j+2;
}
a me viene i=5 j=8
è giusto?
No, è i=4, j=8. Ricorda che per entrare nel ciclo entrambe le condizioni devono essere vere, perchè c'è l'and.
"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

a meno che il ragionamento da fare quando ci sono 2 variabili è diverso
devi guardare entrambe le condizioni: se già quella su j non è verificata non entri nel ciclo, quindi i non arriverà mai a 5.
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.
ok