Come migliorare la logica del loop nella programmazione? [chiuso]

0

So come fare loop semplici ma non so cosa succede quando molti loop lavorano insieme.

Ad esempio:

for (var i=0; i <= 9; i++){
     document.write(i);

  for (var m=0; m <= 9; m++){
     document.write(i);
    }
}

C'è un modo per imparare i loop al loro interno?

    
posta AppSensei 24.05.2012 - 15:43
fonte

4 risposte

6

In realtà è piuttosto semplice ... devi pensare passo dopo passo.

Inserisci il tuo primo ciclo con i = 0. La condizione è chiara, non si fermerà per eseguire ciò che è dentro {} mentre i è inferiore o uguale a 9.

Vediamo cosa viene dopo ... chiami document.write (). Immagino tu sappia esattamente cosa fa.

Allora ... HUHO! UN ALTRO LOOP! rilassati, è esattamente la stessa cosa.

Inizi il tuo secondo ciclo con m = 0 e non si fermerà mentre m è inferiore o uguale a 9. Quindi scrivi cosa c'è dentro usando document.write () Sei alla fine del tuo secondo ciclo di loop per rivalutare ciò che c'è dentro m. m ora è uguale a m + 1 (dovuto al m ++). m è uguale a 1 e come 1 è inferiore o uguale a 9, verrà ripetuto di nuovo (quindi scriverà di nuovo ciò che è dentro i, quindi aggiungerà 1 a m). Ora m è uguale a m + 1 (2) ... ecc. Ecc.

Quando m sarà uguale a 10 allora m non sarà più inferiore o uguale a 9, quindi fermerai il loop nel tuo secondo ciclo e continuerai la tua esecuzione del primo loop.

Quindi ora sono uguale a 1 (a causa di i ++), io è inferiore o uguale a 9 quindi eseguirai nuovamente il tuo primo ciclo. All'interno del tuo primo ciclo c'è la chiamata document.write () ma c'è il secondo ciclo. Inserisci il tuo secondo ciclo con m impostato su 0 ... e continua e continua ...

Ma come scrivi sempre ciò che è dentro di me, avrai dieci 0 visualizzati, poi un interruzione di riga quindi dieci 1 visualizzati, quindi un interruzione di riga ... e così via fino al 10.

    
risposta data 24.05.2012 - 16:09
fonte
2

acquisire familiarità con i cicli annidati comporta l'utilizzo di questi ultimi prima di tutto, il che può essere complicato perché è meglio evitare cicli di nidificazione quando è possibile. Altre cose che aiutano stanno usando nomi migliori (più descrittivi) per le variabili del ciclo. Prendersi del tempo per passare manualmente attraverso il codice può davvero aiutare ad aumentare la comprensione del codice, passare da una riga all'altra e capire quale sarà ogni variabile al momento e scrivere quale sarebbe l'output.

    
risposta data 24.05.2012 - 16:11
fonte
1

Dici di capire i semplici cicli; bene spezzare il ciclo annidato in semplici loop. Pensa al loop interno come a una chiamata di funzione. Allora, cosa fa il ciclo esterno? Chiama quella funzione per ogni iterazione del ciclo. Ora pensa a questa 'funzione' - è solo un altro ciclo semplice. Quindi per ogni chiamata a quella 'funzione', esegui quel ciclo e poi 'ritorna' dalla funzione. Ora sei di nuovo nel tuo semplice ciclo esterno ... ecc. Ecc.

    
risposta data 24.05.2012 - 17:16
fonte
0

Il modo migliore per conoscere i loop senza dubbio è il debug. Basta osservare le variabili del ciclo come contatori e condizioni.

Osservare il processo passo dopo passo, controllare le condizioni e seguire i contatori. Lo riceverai molto rapidamente.

    
risposta data 24.05.2012 - 16:43
fonte

Leggi altre domande sui tag