Dubbio ciclo while

di il
4 risposte

Dubbio ciclo while

Salve,
vi chiedo il vostro aiuto riguardo questo quesito trovato ad un´esame alcuni giorni fa; secondo me la risposta giusta in é la B, tuttavia secondo la correzione la risposta dovrebbe essere la D. Siccome sono ancora convinto che la soluzione giusta sia la B mi chiedo se sono io che sbaglio qualcosa o se sia la correzione sbagliata. Vi ringrazio anticipatamente per la disponibilitá.

Quale affermazione descrive meglio il seguente programma:

copy X to Z;
clear X;
incr X;
while Z not 0 do;
clear X;
decr Z;
end;

A) porta a 1 il valore di X.
B) se il valore iniziale di X é 0, imposta il valore di X a 1. Altrimenti imposta il valore di X a 0.
C ) conclude lasciando X com´era all´inizio del programma:
D) Se il valore iniziale di X é 0, imposta il valore di X a 0. Altrimenti imposta il valore di X a 1.

4 Risposte

  • Re: Dubbio ciclo while

    Corretta è la D.
    Devi leggerlo così:
    
    copy X to Z;  // Se il valore iniziale di X é 0
    clear X;        // imposta il valore di X a 0
    incr X;          // Altrimenti imposta il valore di X a 1
    while Z not 0 do; // perché questo non è mai eseguito
    clear X;
    decr Z;
    end;
    
  • Re: Dubbio ciclo while

    Non ho capito il passaggio "altrimenti X diventa 1", in teoria la riga "incr X" non indica soltanto che si aumenta X di 1 dopo aver inizializzato la variabile X nella riga "clear X" ?

    Il linguaggio di programmazione in quel testo non é il C, ma é un linguaggio "essenziale" utilizzato nel mio libro di testo, creato come esempio dove si usano solo le istruzioni clear per inizializzare le variabili, i incr e decr corrispondono rispettivamente a i++ e i--; non so le cosa possa influire nella comprensione del quesito
  • Re: Dubbio ciclo while

    non ho capito il passaggio "altrimenti X diventa 1", in teoria la riga "incr X" non indica soltanto che si aumenta X di 1 dopo aver inizializzato la variabile X nella riga "clear X" ?
    Si. Ma metterci un "Altrimenti" confonde le idee (e fa pensare a una condizione)
  • Re: Dubbio ciclo while

    Ok, ma se il ciclo non viene eseguito, alla fine del programma X dovrebbe diventare 1
Devi accedere o registrarti per scrivere nel forum
4 risposte