Comment fonctionnent les boucles dans la programmation informatique

Comment fonctionnent les boucles dans la programmation informatique / La programmation

Lorsque vous apprenez à programmer Comment apprendre à programmer sans trop de stress Comment apprendre à programmer sans tout de stress Vous avez peut-être décidé de vous lancer dans la programmation, que ce soit pour une carrière ou comme loisir. Génial! Mais peut-être que vous commencez à vous sentir dépassé. Pas si bien. Voici de l'aide pour faciliter votre voyage. En savoir plus, comprendre les éléments de base est la clé du succès rapide. Vous aborderez plus tard les sujets difficiles, mais si vous ne comprenez pas les types de variables, les boucles et les fonctions, il est difficile d'aller plus loin..

La plupart des nouveaux programmeurs découvrent déclarations if-else, tandis que les boucles, et pour les boucles avant longtemps. Mais l’un des types de boucle que vous pourriez ne pas comprendre est le boucle do-while. Discutons du fonctionnement de cette boucle, de son utilisation, et examinons quelques exemples..

Les bases

Une boucle do-while exécute un bloc de code au moins une fois, vérifie si une condition est vraie, puis continue à exécuter le code à l'intérieur en fonction de la condition. Jetons un coup d'oeil à un exemple de pseudocode simple (car ils vous aident à apprendre! 10 exemples de base Python qui vous aideront à apprendre rapidement 10 exemples de base Python qui vous aideront à apprendre rapidement Cet article d'exemples de base de Python est destiné à ceux qui maîtrisent déjà la programmation expérience et souhaitez simplement passer à Python le plus rapidement possible.

do output "La variable x est égal à" + x; x ++;  tandis que (x < 5); output "The loop has ended."; 

Dans ce morceau de code, les lignes à l'intérieur du faire les crochets courent toujours au moins une fois. Cela signifie que X pourrait être une valeur au début de la boucle.

Si X est égal à 1 lorsque la boucle commence, il se répète jusqu'à ce que X ne remplit pas la condition à côté de tandis que. Ainsi, il fonctionnerait un total de 5 fois. Quand X n’est pas inférieur à 5, la boucle se termine et continue sur le code qui la suit. Cette sortie ressemblerait à ceci:

La variable x est égale à 1 La variable x est égale à 2 La variable x est égale à 3 La variable x est égale à 4 La variable x est égale à 5 La boucle est terminée.

Inversement, si X était égal à 20 au démarrage de cette boucle, elle ne serait exécutée qu’une fois. Donc, vous verriez une déclaration de sortie, X incrémente à 21, et la boucle se terminerait parce que 21 n’est pas inférieure à 5. Sa sortie serait:

La variable x est égale à 20 La boucle est terminée. 

Contraste avec les boucles While et For

Comment un faire pendant boucle diffère des autres boucles? La distinction la plus importante est que les boucles do-while testent une condition après exécution d'un bloc de code, pendant que d'autres boucles vérifient une condition avant exécuter le code à l'intérieur.

Considérons ce pseudocode de base tandis que boucle de comparaison:

x = 10; tandis que (x < 5)  output "The loop has run!"; x++;  

Ici, X est réglé sur 10 et le tandis que boucle vérifie que X est inférieur à 5 avant sa course. Pour cette raison, le code qu'il contient ne s'exécute jamais. Appliquer la même logique à une boucle do-while nous donne quelque chose comme ceci:

x = 10; do output "La boucle a fonctionné!"; x ++;  tandis que (x < 5) 

Cette boucle affichera le texte une fois, incrémente X, puis continuez.

Notez que vous pouvez recréer la fonctionnalité do-while avec une instruction supplémentaire devant un tandis que boucle, comme si:

sortie "Bonjour!"; x ++; tandis que (x < 5)  output "Hello!"; x++;  

Cependant, c'est maladroit et il n'y a aucune raison de le faire quand des boucles do-while existent.

Pour les boucles

Les boucles Do-While ont une distinction similaire avec pour boucles. UNE pour boucle définit une variable, spécifie combien de temps la boucle doit être exécutée et définit un comportement pour la fin de chaque itération.

Voici un simple pour boucle de comparaison:

pour (int i = 0; i < 5; i++)  output "The loop has run " + i + " times.";  

Cela met en évidence un bon contraste entre faire pendant et pour boucles - vous savez exactement combien de fois un pour La boucle fonctionnera parce que vous avez défini les conditions au début. Si vous modifiez le code ci-dessus dans une boucle do-while comme ceci:

do output "La boucle a couru" + i + "fois."; i ++;  alors que je < 5); 

Vous pourriez vous retrouver avec un problème lorsque la boucle s'exécute. Si vous n'avez pas initialisé je ailleurs, vous ne savez pas quelle sera sa valeur lorsque le faire portion fonctionne - et il fonctionnera au moins une fois. Si je était 500 quand cette boucle a couru, la sortie ici serait inexacte.

En résumé:

  • UNE boucle do-while est utile lorsque vous voulez exécuter une commande au moins une fois et continuellement jusqu'à ce qu'une condition soit fausse.
  • UNE boucle tout en vous permet de répéter un bloc de code tant qu'une condition est vraie et d'arrêter dès que la condition n'est plus vraie.
  • UNE pour la boucle vous permet de spécifier exactement combien de fois la boucle doit s'exécuter en définissant vos propres paramètres.

Laissant une boucle Do-While

Bien sûr, vous devez avoir une condition de sortie pour les boucles do-while, comme toutes les autres. Sinon, vous pourriez vous retrouver avec une boucle infinie. Considérez l'extrait suivant:

x = 5; do output "Cela ne finit jamais!";  tandis que (x < 10); 

Si vous n'incrémentez pas X n'importe où ailleurs dans le code, cette boucle sera exécutée pour toujours. Maintenant, parfois des boucles infinies sont utiles car le programmeur configure le code pour sortir de la boucle ailleurs. Mais le plus souvent, les codeurs novices se heurtent par hasard à des boucles infinies. Les 10 pires erreurs de programmation de l’histoire Les 10 pires erreurs de programmation de l’histoire De tout temps, le codage a également détruit la destruction. Les cas de mauvais code ont provoqué un désastre majeur. Voici 10 des pires erreurs de programmation de l’histoire. Lire la suite .

Voici un exemple de boucle infinie appropriée. Imaginons que vous conceviez un jeu. 5 outils logiciels de développement de jeux gratuits pour créer vos propres jeux. 5 outils logiciels de développement de jeux pour créer vos propres jeux. Voici les meilleurs logiciels et outils de développement de jeux gratuits que vous pouvez utiliser pour commencer à créer le jeu de vos rêves aujourd'hui. . En savoir plus où l'utilisateur jette un dé et doit obtenir un 6 pour quitter son port d'attache. Vous voulez continuer à lancer le dé jusqu'à l'atterrissage sur 6, et vous devez évidemment lancer au moins une fois. Ainsi, vous pourriez utiliser ce code:

do int roll = random (1, 2, 3, 4, 5, 6); si (rouleau == 6) pause;  while (true); 

le tandis que (vrai) condition signifie que cette boucle fonctionnera pour toujours, ce que nous voulons, car l'utilisateur doit lancer jusqu'à ce qu'il obtienne un 6. Sans le Pause déclaration, il resterait coincé. Mais une fois que l'utilisateur lance un 6, le si déclaration devient vraie, et la séquence sort de la boucle et passe à ce qui est après.

Vous n'êtes pas obligé d'utiliser une instruction break si vous ne le souhaitez pas. En fait, il vaut probablement mieux éviter les déclarations de rupture si vous le pouvez. Ils rendent votre code plus difficile à maintenir, et se terminer sur une condition est plus facile à suivre. Ainsi, le code modifié ci-dessous remplit le même objectif:

do int roll = random (1, 2, 3, 4, 5, 6);  while (roll! = 6); 

Une mauvaise boucle infinie

Une boucle infinie pour laquelle vous avez un plan de sortie est acceptable. Mais parfois, vous créez accidentellement une boucle infinie, comme dans l'exemple ci-dessous:

int x = 7; do x = 1; x = x + 2; la sortie "x est égal à" + x;  tandis que (x < 10); 

Cela pourrait ressembler à des incréments X par 2 chaque boucle et se répète jusqu'à ce que x ne soit pas inférieur à 10, mais regardez de plus près. Parce que la boucle se met X égal à 1 chaque fois qu'il fonctionne, il s'agit d'une boucle infinie. Remarquerez que x = 1 et x = x + 2 signifie que X est toujours 3 à la fin du bloc, peu importe combien de fois cela s'exécute, ce qui signifie X n'est jamais moins de 10.

Surveillez les instructions contenues dans votre boucle qui modifient involontairement une variable à chaque exécution afin d'éviter de telles situations..

Exemples concrets

Nous avons abordé quelques exemples hypothétiques ci-dessus, mais examinons rapidement quelques exemples utiles de boucles en mode continu dans le monde réel..

Si vous créiez une boucle pour lire les données d’un fichier jusqu’à la fin, vous utiliseriez une boucle continue. Évidemment, vous devez saisir au moins un caractère si vous envisagez de lire dans un fichier. Vous pouvez donc utiliser une boucle continue (comme dans l'autre) (grâce à l'utilisateur de Stack Exchange, Steven Burnap, pour cet exemple):

do resultat = readData (tampon);  while (résultat! = EOF); 

Sans faire-tout, vous devriez utiliser une solution un peu plus laide:

while (true) result = readData (buffer); si (résultat == EOF) casse;  

Un autre exemple consiste à saisir les données d'un utilisateur. Supposons que vous écrivez un programme qui demande à l'utilisateur de saisir un nombre positif. En utilisant un do-while, vous pouvez vous assurer que leur contribution est appropriée:

do output "Veuillez entrer un nombre positif:"; int input = getInput ();  while (entrée < 0); 

Avec cette boucle, l'utilisateur voit l'invite à entrer un nombre et entre une valeur une fois. S'ils entrent un nombre négatif, la boucle s'exécute à nouveau et on leur demande d'entrer un nombre positif jusqu'à ce qu'ils se conforment. D'autres boucles n'ont tout simplement pas de sens pour ce type d'action.

Prêt à utiliser les boucles Do-While?

Nous avons mené une enquête sur les boucles Do-While, y compris leurs principes de base, la meilleure façon de les utiliser et leur comparaison avec les autres boucles. Si vous ne vous souvenez plus de cet article, sachez que les boucles do-while sont destinées à lorsque vous devez exécuter quelque chose au moins une fois, mais que vous ne connaissez pas le nombre de fois que vous en aurez besoin avant de lancer la boucle.

Pensez à ce genre de situation dans vos programmes, et vous trouverez facilement des endroits où se placent les boucles simples. Presque tous les meilleurs langages de débutant 6 Langages de programmation les plus faciles à apprendre pour les débutants 6 Langages de programmation les plus simples à apprendre pour les débutants Apprendre à programmer consiste à trouver le bon langage, tout autant que le processus d’édification. Voici les six langages de programmation les plus faciles pour les débutants. En savoir plus sur les boucles do-while, vous ne devriez donc avoir aucune difficulté à les mettre en œuvre.

Si vous apprenez les bases, assurez-vous de consulter nos meilleurs outils pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation Vous pouvez vous sentir dépassé lorsque vous apprenez à coder . Vous oublierez probablement les choses aussi vite que vous les apprendrez. Ces conseils peuvent vous aider à mieux conserver toutes ces nouvelles informations. Lire la suite .

Quelles autres situations peux-tu imaginer où un do-while est logique? Discutez et indiquez-nous si vous utilisez des boucles do-while dans vos programmes dans la section commentaire.!

Crédit d'image: Aaban via Shutterstock.com

En savoir plus sur: Programmation.