Cómo funcionan los bucles Do-While en la programación informática
Cuando está aprendiendo a programar Cómo aprender a programar sin todo el estrés Cómo aprender a programar sin todo el estrés Tal vez haya decidido dedicarse a la programación, ya sea para una carrera o simplemente como pasatiempo. ¡Genial! Pero tal vez estás empezando a sentirte abrumado. No muy bien. Aquí hay ayuda para facilitar su viaje. Lea más, entender los componentes básicos es clave para el éxito temprano. Retomará los temas difíciles más adelante, pero si no entiende los tipos de variables, los bucles y las funciones, es difícil llegar lejos..
La mayoría de los nuevos programadores aprenden sobre declaraciones if-else, mientras bucles, y para bucles pronto. Pero uno de los tipos de bucle que quizás no entiendas es el bucle do-while. Discutamos cómo funciona este bucle, cuándo querrá usarlo, y veamos algunos ejemplos..
Los basicos
Un bucle do-while ejecuta un bloque de código al menos una vez, comprueba si una condición es verdadera y luego continúa ejecutando el código en el interior dependiendo de la condición. Echemos un vistazo a un ejemplo simple de pseudocódigo (¡ya que te ayudan a aprender! 10 Ejemplos básicos de Python que te ayudarán a aprender rápido 10 Ejemplos básicos de Python que te ayudarán a aprender rápido) experimente y simplemente desee hacer la transición a Python lo más rápido posible. Leer más):
do salida "La variable x es igual" + x; x ++; mientras (x < 5); output "The loop has ended.";
En este bit de código, las líneas dentro del hacer Los soportes siempre se ejecutan al menos una vez. Esto significa que X Podría ser cualquier valor al inicio del bucle..
Si X es igual a 1 cuando el bucle comienza, se repetirá hasta X no satisface la condición al lado de mientras. Por lo tanto, se ejecutaría un total de 5 veces. Cuando X no es inferior a 5, el bucle termina y continúa en el código después de él. Esta salida se vería de la siguiente manera:
La variable x es igual a 1 La variable x es igual a 2 La variable x es igual a 3 La variable x es igual a 4 La variable x es igual a 5 El bucle ha finalizado.
A la inversa, si X era igual a 20 cuando este bucle comenzó, solo se ejecutaría una vez. Así que verías una declaración de salida, X incrementa a 21, y el bucle terminaría porque 21 no es menor que 5. Su salida sería:
La variable x es igual a 20 El bucle ha terminado.
Contraste con While y For Loops
Como hace un hacer mientras ¿El bucle difiere de otros bucles? La distinción más importante es que los bucles do-while prueban una condición después ejecutando un bloque de código, mientras que otros bucles verifican una condición antes de ejecutando el código dentro.
Considera este pseudocódigo básico. mientras bucle de comparación:
x = 10; mientras que (x < 5) output "The loop has run!"; x++;
aquí, X se establece en 10 y la mientras bucle comprueba que X es menos de 5 antes de que se ejecute. Debido a esto, el código interior nunca se ejecuta. La aplicación de la misma lógica a un bucle do-while nos da algo como esto:
x = 10; do output "El bucle se ha ejecutado!"; x ++; mientras (x < 5)
Este bucle dará salida al texto una vez, incrementará X, luego continúa.
Tenga en cuenta que puede volver a crear la funcionalidad do-while con una declaración adicional delante de un mientras bucle, como así:
salida "¡Hola!"; x ++; mientras que (x < 5) output "Hello!"; x++;
Sin embargo, esto es torpe y no hay razón para hacerlo cuando existen bucles do-while.
Para loops
Los bucles Do-while tienen una distinción similar con para bucles UNA para el bucle define una variable, especifica durante cuánto tiempo se debe ejecutar el bucle y establece un comportamiento para el final de cada iteración.
Aquí hay un simple para bucle de comparación:
para (int i = 0; i < 5; i++) output "The loop has run " + i + " times.";
Esto pone de relieve un buen contraste entre hacer mientras y para bucles - sabes exactamente cuántas veces una para el bucle se ejecutará porque configura las condiciones al inicio. Si modifica el código anterior en un bucle do-while como este:
do output "El bucle ha ejecutado" + i + "veces."; i ++; mientras yo < 5);
Podría terminar con un problema cuando se ejecuta el bucle. Si no inicializaste yo En otro lugar, no sabes cuál será su valor cuando el hacer La porción se ejecuta y se ejecutará al menos una vez. Si yo fue de 500 cuando se ejecutó este bucle, la salida aquí sería inexacta.
En resumen:
- UNA bucle do-while es útil cuando desea ejecutar un comando al menos una vez, y continuamente hasta que una condición sea falsa.
- UNA mientras bucle le permite repetir un bloque de código siempre que una condición sea verdadera, y detenerse tan pronto como la condición ya no sea verdadera.
- UNA en bucle le permite especificar exactamente cuántas veces debe ejecutarse el bucle configurando sus propios parámetros.
Dejando un bucle Do-While
Por supuesto, debe tener una condición de salida para los bucles do-while como cualquier otro. Si no, podrías terminar con un bucle infinito. Considere el siguiente fragmento de código:
x = 5; do salida "Esto nunca termina!"; mientras (x < 10);
Si no incrementas X En cualquier otro lugar del código, este bucle se ejecutará para siempre. Ahora, a veces los bucles infinitos son útiles porque el programador configura el código para salir del bucle en otro lugar. Pero la mayoría de las veces, los programadores novatos se topan con bucles infinitos por accidente. Los 10 peores errores de programación de la historia. Los 10 peores errores de programación de la historia. Las instancias de un poco de código malo causaron un desastre en un nivel importante. Los siguientes son 10 de los peores errores de programación en la historia. Lee mas .
Aquí hay un ejemplo de un bucle infinito adecuado. Digamos que estás diseñando un juego 5 herramientas de software de desarrollo de juegos gratis para hacer tus propios juegos 5 herramientas de software de desarrollo de juegos gratis para hacer tus propios juegos aquí son los mejores software y herramientas de desarrollo de juegos gratis que puedes usar para comenzar a hacer el juego de tus sueños hoy . Lea más donde el usuario tira un dado y debe obtener un 6 para salir de la base. Quieres continuar tirando el dado hasta que caiga en 6, y obviamente tienes que tirar al menos una vez. Por lo tanto, podría utilizar este código:
do int roll = random (1, 2, 3, 4, 5, 6); si (roll == 6) se rompe; while (verdadero);
los mientras (verdadero) condición significa que este bucle se ejecutará para siempre, lo que queremos porque el usuario debe rodar hasta que obtenga un 6. Sin el descanso declaración, se atascaría. Pero una vez que el usuario saca un 6, el Si La declaración se convierte en verdadera, y la secuencia se sale del bucle y se mueve hacia lo que sigue..
No tienes que usar una declaración de ruptura si no quieres. De hecho, probablemente sea mejor evitar las declaraciones de ruptura si puede. Hacen que su código sea más difícil de mantener, y terminar en una condición es más fácil de rastrear. Por lo tanto, el siguiente código modificado logra el mismo propósito:
do int roll = random (1, 2, 3, 4, 5, 6); while (roll! = 6);
Un mal bucle infinito
Un bucle infinito que tiene un plan para salir está bien. Pero a veces, accidentalmente, creará un bucle infinito, como en el siguiente ejemplo:
int x = 7; hacer x = 1; x = x + 2; salida "x es igual" + x; mientras (x < 10);
Esto puede parecer que aumenta X Por 2 cada bucle y repite hasta que x no sea menor que 10, pero mira más de cerca. Porque el bucle se establece X igual a 1 Cada vez que se ejecuta, este es un bucle infinito. Darse cuenta de x = 1 y x = x + 2 significa que X siempre es 3 al final del bloque, no importa cuántas veces se ejecute esto, lo que significa X nunca es menos de 10.
Observe las declaraciones dentro de su ciclo que cambian involuntariamente una variable cada vez que se ejecuta para evitar situaciones como esta.
Ejemplos del mundo real
Hemos discutido algunos ejemplos hipotéticos más arriba, pero echemos un vistazo rápido a algunos ejemplos útiles del mundo real de bucles do-while..
Si estuviera creando un bucle para leer datos de un archivo hasta que llegara al final, usaría un bucle do-while. Obviamente, debe capturar al menos un carácter si planea leer un archivo, por lo que podría usar un bucle do-while como este (gracias al usuario Steven Burnap de Stack Exchange por este ejemplo):
do result = readData (buffer); while (resultado! = EOF);
Sin un tiempo de espera, tendrías que usar una solución un poco más fea:
while (verdadero) resultado = readData (búfer); si (resultado == EOF) se rompe;
Otro ejemplo consiste en obtener información de un usuario. Digamos que está escribiendo un programa que le pide al usuario que ingrese un número positivo. Usando un do-while, podría asegurarse de que su entrada sea apropiada:
do salida "Por favor ingrese un número positivo:"; int input = getInput (); while (entrada < 0);
Con este bucle, el usuario ve la solicitud para ingresar un número y un valor una vez. Si ingresan un número negativo, el bucle se ejecuta nuevamente y se les solicita que ingresen un número positivo hasta que cumplan. Otros bucles simplemente no tienen sentido para este tipo de acción.
Listo para usar bucles de hacer mientras que?
Hemos realizado una encuesta de los bucles do-while, incluidos sus principios básicos, cómo usarlos mejor y cómo se comparan con otros bucles. Si no recuerda nada más de este artículo, sepa que los bucles do-while son para cuando necesite ejecutar algo al menos una vez, pero no sepa cuántas veces lo necesitará antes de iniciar el ciclo.
Piense en situaciones como esta en sus programas, y encontrará fácilmente lugares donde encajen los bucles do-while. Casi todos los mejores idiomas para principiantes 6 Los lenguajes de programación más fáciles de aprender para los principiantes 6 Los lenguajes de programación más fáciles para aprender para los principiantes Aprender a programar consiste en encontrar el lenguaje correcto tanto como en el proceso de edificación. Aquí están los seis lenguajes de programación más fáciles para principiantes. Obtenga más información de los bucles do-while de soporte, por lo que no debería tener problemas para implementarlos.
Si estás aprendiendo lo básico, asegúrate de revisar nuestros mejores trucos para dominar un nuevo lenguaje de programación 7 Trucos útiles para dominar un nuevo lenguaje de programación 7 Trucos útiles para dominar un nuevo lenguaje de programación Está bien sentirse abrumado cuando estás aprendiendo a codificar . Probablemente olvidará las cosas tan rápido como las aprende. Estos consejos pueden ayudarlo a conservar mejor toda la información nueva. Lee mas .
¿En qué otras situaciones puedes pensar en dónde tiene sentido hacer un rato? Discuta y déjenos saber si está utilizando bucles do-while en sus programas en la sección de comentarios.!
Crédito de la imagen: Aaban a través de Shutterstock.com
Explorar más sobre: Programación.