Perché un ciclo infinito si verificano?

June 19

Perché un ciclo infinito si verificano?


loop infiniti causano sezioni di codice di programmazione per eseguire all'infinito. A volte un ciclo infinito si verifica per caso, normalmente perché il programmatore ha incluso un errore di sintassi nel codice di programma. Tuttavia, a volte programmatori utilizzano cicli infiniti intenzionalmente per definire trasformazione che continuerà ad eseguire mentre il programma è in esecuzione. Quando si verificano per caso, cicli infiniti possono causare il crash di programmi.

loop Sintassi

I linguaggi di programmazione utilizzano una varietà di strutture ad anello. Il codice di esempio riportato di seguito illustra un JavaScript per ciclo:
var i;
for (i = 0; i <5; i ++) {
document.write (i);
}

. Questo codice scrive i numeri da zero a cinque nella pagina Web script appare in L'altro tipo loop comune è il ciclo while, come nell'esempio seguente JavaScript:
var i;
while (i <5) {
document.write (i);
i ++;
}

Questo codice ha lo stesso effetto del ciclo f, ottenuta attraverso sintassi alternativa. I programmatori possono scegliere qualsiasi ciclo tipi soddisfare le esigenze dei loro programmi. Alcune attività sono particolarmente adatti a tipi specifici di loop, ma spesso più di un tipo possono ottenere la stessa elaborazione.

Processo

Quando un itera ciclo di programmazione, un certo numero di processi eseguiti. Il codice seguente illustra una tipica Java per ciclo:
for (int j = 0; j <15; j ++) {
System.out.println (j);
}

Quando il codice entra prima questo ciclo, la variabile contatore integer "j" è istanziata con un valore di zero. Dopo questo, ogni volta che il ciclo viene eseguito il test condizionale "j <15" determina se il contenuto del ciclo viene eseguito. Se il test restituisce un valore vero, il contenuto esegue, poi il terzo elemento del contorno ciclo viene eseguito anche, incrementando la variabile contatore, che aggiunge un valore di uno ad esso. Se il test restituisce un valore falso, il ciclo non esegue, quindi l'elaborazione salta al punto immediatamente dopo la fine del ciclo. Il ciclo viene eseguito un numero finito di volte perché gli incrementi variabili contatore con ogni iterazione. La mancata per attuare questa parte del processo correttamente può causare accidentali cicli infiniti.

Contatori

Certe strutture loop sono particolarmente suscettibili di esporre i programmi ai cicli infiniti accidentali. Il seguente codice di esempio PHP dimostra una valida ciclo while:
$ Count = 0;
while ($ count <20) {
echo $ contare;
$ Count ++;
}

Questo ciclo dovrebbe eseguire solo 20 volte. Se il programmatore dimentica di includere la dichiarazione finale all'interno del ciclo, incrementando la variabile del contatore, il ciclo verrà eseguito all'infinito. Questo è un errore facile da fare, ma può impedire un intero script PHP di funzionare correttamente.

Infinite Loop

A volte i programmatori di creare un loop infinito deliberatamente. Il seguente codice Java dimostra un infinito ciclo while:
while (true) {
System.out.println ( "Looping");
}

I programmatori possono aggiungere il codice per rompere manualmente fuori dalla struttura ad anello come segue:
rompere;

Questa tecnica appare a volte nei casi in cui il programmatore non sa in anticipo quante volte il ciclo necessario per dare esecuzione. La costruzione di loop che funzionano correttamente e finiscono quando dovrebbero può essere difficile con programmi complessi.