Algoritmo que pide una contraseña y cuenta los intentos

Repetir se ejecuta al menos una vez: ideal cuando primero hay que pedir el dato y luego revisarlo.

El problema y su planteamiento

Pide la contraseña hasta que escriban jaguar y al final di cuántos intentos fueron.

Si escriben gato, perro y jaguar, muestra:
Entraste en 3 intentos

Planteamiento: entrada, proceso y salida
EntradaProcesoSalida
Contraseñas que se van escribiendo, hasta que se escribe jaguar.Pedir la clave y contar cada intento, hasta que la clave sea jaguar.El texto Entraste en, el número de intentos y la palabra intentos.

Diagrama de flujo

Así se dibuja el algoritmo: el óvalo marca el inicio y el fin, el paralelogramo es una entrada o una salida, el rectángulo es un proceso y el rombo es una decisión.

Diagrama de flujo del algoritmo contraseñaInicioDefinir clave Como Textointentos <- 0Leer claveintentos <- intentos + 1clave = "jaguar"Escribir "Entraste en ", intentos, " intentos"FinNoSí

Pseudocódigo

Esta es una solución. Léela línea por línea con el diagrama al lado y compara con lo que tú escribirías.

Algoritmo contrasena
    Definir clave Como Texto
    intentos <- 0
    Repetir
        Leer clave
        intentos <- intentos + 1
    Hasta Que clave = "jaguar"
    Escribir "Entraste en ", intentos, " intentos"
FinAlgoritmo
Pruebas del reto
EntradaSalida esperada
gato, perro, jaguarEntraste en 3 intentos
hola, jaguarEntraste en 2 intentos

Con estas entradas, el programa debe mostrar exactamente esa salida.

Cómo pensarlo

Siempre se pide la contraseña al menos una vez, y solo después se revisa si era la correcta. Para eso existe Repetir… Hasta Que: ejecuta el bloque primero y revisa la condición al final.

Un contador empieza en 0 y sube de 1 en 1 cada vez que se pide la clave: intentos <- intentos + 1. Al salir del ciclo, el contador dice cuántos intentos fueron.

La condición de salida es clave = "jaguar". El ciclo se repite mientras no se cumpla y termina en cuanto sea verdadera. La clave se define como Texto.

Errores comunes

  • Usar Mientras sin leer antes la clave: la condición se revisaría con la variable vacía.
  • Poner el contador fuera del ciclo: contaría una sola vez.
  • Escribir "Jaguar" con mayúscula en la condición: el texto se compara tal cual, y jaguar no es igual a Jaguar.

El mismo programa en Python

Si más adelante pasas a Python, así se ve la misma lógica. Cambian las palabras (print, input, if) y los bloques se marcan con sangría en lugar de FinSi o FinPara.

# Algoritmo contrasena
clave = ""
intentos = 0
while True:
    clave = input()
    intentos = intentos + 1
    if clave == "jaguar":
        break
print("Entraste en ", intentos, " intentos", sep="")

Preguntas frecuentes

¿En qué se diferencia Repetir de Mientras?

Repetir ejecuta el bloque al menos una vez y revisa la condición al final. Mientras revisa la condición antes de cada vuelta y puede no ejecutarse ninguna.

¿Qué es un contador?

Una variable que empieza en 0 y sube de 1 en 1 cada vez que algo ocurre, para saber cuántas veces pasó.

Sigue con otro reto