0%
Inicio / programacion / Mientras

Mientras

25 min
Principiante

¿Cuántas Veces?

Queremos pedir una contraseña hasta que sea correcta. ¿Sabemos cuántas veces se va a equivocar la persona? No. Podría ser 1 intento, 3, o 20.

Acá Para no describe naturalmente el problema — necesitamos una repetición basada en una condición, no en una cantidad fija.

La Idea de Mientras

Mientras significa: repetí el bloque mientras la condición sea verdadera.

¿condición verdadera?
↓
Sí → repetir el bloque → volver a preguntar
No → salir

Primer Mientras

Definir contador Como Entero
contador <- 1
Mientras contador <= 5 Hacer
    Escribir contador
    contador <- contador + 1
FinMientras

Ejecutá y comprobá — con Paso a paso podés ver el valor de contador justo antes de que se vuelva a evaluar la condición en cada vuelta.

Una Pregunta Fundamental

En todo Mientras hay una pregunta que siempre tenés que poder responder: ¿qué hace que la condición se vuelva falsa?

En el ejemplo anterior, es contador <- contador + 1: en algún momento contador deja de ser menor o igual a 5, y el ciclo termina. En la próxima pantalla vas a ver qué pasa si esa línea no está.

El Peligro del Ciclo Infinito

Este código se parece al de antes, pero le falta algo:

Definir contador Como Entero
contador <- 1
Mientras contador <= 5 Hacer
    Escribir contador
FinMientras

contador nunca cambia, así que la condición nunca se vuelve falsa. Ejecutá y mirá qué pasa — Pseudolab tiene una protección real contra esto, así que no se va a colgar, pero vas a ver un error apenas se supera un límite de iteraciones.

Mientras y Entrada del Usuario

Mientras también sirve para seguir pidiendo datos hasta que el usuario indique que terminó. Probá ingresando, por ejemplo: 5, 8, 3, 10, -2.

Leer numero
Mientras numero > 0 Hacer
    Escribir "Ingresaste: ", numero
    Leer numero
FinMientras

Predicción

Responde estas preguntas para verificar tu comprensión.

Pregunta 1

¿Qué números muestra este código? numero<- 4 Mientras numero > 0 Hacer Escribir numero numero <- numero - 1 FinMientras

Cargando...