Come funzionano i cicli di lavoro durante la programmazione del computer
Quando stai imparando a programmare Come imparare Programmare senza tutti gli stress Come imparare Programmare senza tutti gli stress Forse hai deciso di perseguire la programmazione, sia per una carriera che per un semplice hobby. Grande! Ma forse stai iniziando a sentirti sopraffatto. Non così eccezionale. Ecco l'aiuto per facilitare il tuo viaggio. Per saperne di più, capire gli elementi costitutivi di base è la chiave del successo iniziale. Raccoglierai gli argomenti più difficili in seguito, ma se non capisci i tipi di variabili, i loop e le funzioni, è difficile arrivare lontano.
La maggior parte dei nuovi programmatori apprende if-else dichiarazioni, mentre loop, e per loops tra poco. Ma uno dei tipi di loop che potresti non capire è il ciclo do-while. Parliamo di come funziona questo ciclo, quando vorrai usarlo e guarda alcuni esempi.
Le basi
Un ciclo do-while esegue un blocco di codice almeno una volta, verifica se una condizione è vera, quindi continua a eseguire il codice all'interno a seconda delle condizioni. Diamo un'occhiata ad un semplice esempio di pseudocodice (poiché ti aiutano ad imparare! 10 Esempi di Python di base che ti aiuteranno ad imparare velocemente 10 esempi Python di base che ti aiuteranno ad imparare velocemente Questo articolo di esempi di python di base è per coloro che hanno già qualche programmazione esperienza e vuoi semplicemente passare a Python il più rapidamente possibile. Per saperne di più):
do output "La variabile x è uguale a" + x; x ++; while (x < 5); output "The loop has ended.";
In questo bit di codice, le linee all'interno di fare le parentesi sono sempre eseguite almeno una volta. Ciò significa che X potrebbe essere qualsiasi valore all'inizio del ciclo.
Se X uguale a 1 all'avvio del loop, verrà ripetuto fino a X non soddisfa la condizione accanto a mentre. Quindi, avrebbe eseguito un totale di 5 volte. quando X non è inferiore a 5, il ciclo termina e continua sul codice dopo di esso. Questo risultato apparirebbe come segue:
La variabile x è uguale a 1 La variabile x è uguale a 2 La variabile x è uguale a 3 La variabile x è uguale a 4 La variabile x è uguale a 5 Il ciclo è terminato.
Al contrario, se X era uguale a 20 all'avvio di questo ciclo, funzionava solo una volta. Quindi vedresti una dichiarazione di output, X incrementi a 21 e il ciclo terminerebbe perché 21 non è inferiore a 5. Il suo output sarebbe:
La variabile x è uguale a 20 Il ciclo è terminato.
Contrasto con While e For Loops
Come fa a fare mentre loop differisce dagli altri loop? La distinzione più importante è che i cicli while eseguono il test di una condizione dopo eseguendo un blocco di codice, mentre altri loop controllano una condizione prima eseguendo il codice all'interno.
Considera questo pseudocodice di base mentre ciclo per il confronto:
x = 10; mentre (x < 5) output "The loop has run!"; x++;
Qui, X è impostato su 10 e il mentre loop controlla che X è inferiore a 5 prima dell'esecuzione. Per questo motivo, il codice interno non viene mai eseguito. Applicare la stessa logica a un ciclo do-while ci dà qualcosa di simile a questo:
x = 10; do output "Il ciclo è stato eseguito!"; x ++; while (x < 5)
Questo ciclo emetterà il testo una volta, incrementerà X, quindi continua.
Nota che puoi ricreare la funzionalità do-while con un'istruzione extra di fronte a a mentre loop, così:
uscita "Ciao!"; x ++; mentre (x < 5) output "Hello!"; x++;
Tuttavia, questo è goffo e non vi è alcun motivo per farlo quando esistono dei cicli while.
Per loop
I circuiti Do-While hanno una distinzione simile con per loop. UN per loop definisce una variabile, specifica per quanto tempo deve essere eseguito il ciclo e imposta un comportamento per la fine di ogni iterazione.
Ecco un semplice per ciclo per il confronto:
per (int i = 0; i < 5; i++) output "The loop has run " + i + " times.";
Ciò evidenzia un buon contrasto tra fare mentre e per loop - sai esattamente quante volte a per loop verrà eseguito perché hai impostato le condizioni all'inizio. Se modifichi il codice precedente in un ciclo do-while come questo:
do output "Il ciclo ha eseguito" + i + "volte."; i ++; mentre io < 5);
Si potrebbe finire con un problema quando il ciclo viene eseguito. Se non hai inizializzato io da qualche altra parte, non sai quale sarà il suo valore quando il fare porzioni di porzione - e verrà eseguito almeno una volta. Se io era 500 quando questo ciclo funzionava, l'output qui sarebbe inaccurato.
In sintesi:
- UN ciclo do-while è utile quando si desidera eseguire un comando almeno una volta e continuamente finché una condizione non è falsa.
- UN mentre ciclo ti consente di ripetere un blocco di codice finché una condizione è vera, e si interrompe non appena la condizione non è più vera.
- UN per ciclo ti consente di specificare esattamente quante volte il ciclo dovrebbe essere eseguito impostando i tuoi parametri.
Lasciando un ciclo Do-While
Ovviamente, devi avere una condizione di uscita per i loop di do-while come qualsiasi altro. In caso contrario, si potrebbe finire con un ciclo infinito. Considera il seguente frammento:
x = 5; do output "Questo non finisce mai!"; while (x < 10);
Se non si incrementa X in qualsiasi altro punto del codice, questo ciclo verrà eseguito per sempre. Ora, a volte i loop infiniti sono utili perché il programmatore imposta il codice per uscire dal ciclo altrove. Ma il più delle volte, i programmatori inesperti incorrono in loop infiniti per caso I 10 peggiori errori di programmazione nella storia I 10 peggiori errori di programmazione nella storia Nel suo passato storico, codifica anche la distruzione. Le istanze di un po 'di codice errato hanno causato disastri su un livello importante. I seguenti sono 10 dei peggiori errori di programmazione nella storia. Leggi di più .
Ecco un esempio di un ciclo infinito adatto. Supponiamo che tu stia progettando un gioco 5 Strumenti software di sviluppo giochi gratuiti per creare i tuoi giochi 5 Strumenti software di sviluppo giochi gratuiti per creare i tuoi giochi Ecco i migliori software e strumenti per lo sviluppo di giochi gratuiti che puoi utilizzare per iniziare a realizzare il tuo sogno oggi . Leggi di più dove l'utente tira un dado e deve ottenere un 6 per lasciare la base di partenza. Vuoi continuare a tirare il dado fino a quando non atterra su 6, e ovviamente devi tirare almeno una volta. Quindi, puoi usare questo codice:
do int roll = random (1, 2, 3, 4, 5, 6); se (tira == 6) rompi; while (true);
Il while (true) condizione significa che questo ciclo verrà eseguito per sempre, che vogliamo perché l'utente deve rotolare fino a quando non ottiene un 6. Senza il rompere dichiarazione, si sarebbe bloccato. Ma una volta che l'utente ottiene un 6, il Se l'affermazione diventa vera e la sequenza si interrompe e si sposta su ciò che viene dopo.
Non è necessario utilizzare una dichiarazione di interruzione se non si desidera. In effetti, probabilmente è meglio evitare le dichiarazioni di rottura se puoi. Rendono il tuo codice più difficile da mantenere e terminare su una condizione è più facile da tenere traccia di. Pertanto, il codice modificato di seguito raggiunge lo stesso scopo:
do int roll = random (1, 2, 3, 4, 5, 6); while (roll! = 6);
Un brutto anello infinito
Un ciclo infinito in cui hai un piano per uscire va bene. Ma a volte creerai accidentalmente un ciclo infinito, come nell'esempio seguente:
int x = 7; do x = 1; x = x + 2; uscita "x uguale" + x; while (x < 10);
Questo potrebbe apparire come incrementi X per 2 ogni ciclo e si ripete finché x non è inferiore a 10, ma guarda più vicino. Perché il ciclo si instaura X uguale a 1 ogni volta che corre, questo è un ciclo infinito. Notare che x = 1 e x = x + 2 significa che X è sempre 3 alla fine del blocco, non importa quante volte questo corre, nel senso X non è mai inferiore a 10.
Guarda le dichiarazioni all'interno del tuo loop che cambiano involontariamente una variabile ogni volta che viene eseguita per evitare situazioni come questa.
Esempi del mondo reale
Abbiamo discusso alcuni esempi ipotetici sopra, ma diamo uno sguardo veloce ad alcuni esempi utili di loop di do-while nel mondo reale.
Se stavi creando un ciclo per leggere i dati da un file fino a quando non arrivava alla fine, dovresti usare un ciclo do-while. Ovviamente è necessario prendere almeno un carattere se si intende leggere da un file, quindi è possibile utilizzare un ciclo do-while come questo (grazie a Steven Burnap, utente di Stack Exchange per questo esempio):
do result = readData (buffer); while (risultato! = EOF);
Senza un pareggio, dovresti usare una soluzione leggermente più brutta:
while (true) result = readData (buffer); se (risultato == EOF) si interrompe;
Un altro esempio riguarda l'acquisizione di input da un utente. Diciamo che stai scrivendo un programma che chiede all'utente di inserire un numero positivo. Usando un fai-da-te, puoi assicurarti che il loro input sia appropriato:
do output "Per favore inserisci un numero positivo:"; int input = getInput (); while (input < 0);
Con questo ciclo, l'utente vede la richiesta di inserire un numero e inserisce un valore una volta. Se immettono un numero negativo, il ciclo viene eseguito nuovamente e gli viene richiesto di inserire un numero positivo finché non si conformano. Altri loop semplicemente non hanno senso per questo tipo di azione.
Loop pronti per l'uso pronti all'uso?
Abbiamo condotto un'indagine sui loop di do-while, inclusi i loro principi di base, su come utilizzarli al meglio e su come si confrontano con altri cicli. Se non ricordi altro da questo articolo, sappi che i loop di do-while servono quando è necessario eseguire qualcosa almeno una volta, ma non si conosce il numero di volte necessario prima di avviare il ciclo.
Pensa a situazioni come questa nei tuoi programmi e troverai facilmente luoghi in cui i cicli while si adattano. Quasi tutte le migliori lingue per principianti 6 Lingue di programmazione più semplici da apprendere per principianti 6 Lingue di programmazione più semplici da imparare per principianti Imparare a programmare significa trovare la lingua giusta tanto quanto il processo di edificazione. Ecco i primi sei linguaggi di programmazione più facili per i principianti. Ulteriori informazioni supportano i loop di do-while, quindi non dovresti avere problemi a implementarli.
Se stai imparando le basi, assicurati di rivedere i nostri trucchi migliori per padroneggiare un nuovo linguaggio di programmazione 7 Trucchi utili per padroneggiare un nuovo linguaggio di programmazione 7 Trucchi utili per padroneggiare un nuovo linguaggio di programmazione Va bene essere sopraffatti quando stai imparando a programmare . Probabilmente dimenticherai le cose così velocemente come le impari. Questi suggerimenti possono aiutarti a conservare meglio tutte le nuove informazioni. Leggi di più .
In quali altre situazioni riesci a pensare dove un do-while ha un senso? Discutere e farci sapere se stai usando i cicli do-while nei tuoi programmi nella sezione dei commenti!
Immagine di credito: Aaban tramite Shutterstock.com
Scopri di più su: Programmazione.