«La condición debe ser Verdadero o Falso»

Este error aparece cuando después de Si, Mientras o Hasta Que va un valor que no es una comparación, por ejemplo solo un número o un texto. Una condición tiene que dar Verdadero o Falso.

Qué significa

Error al ejecutar en la línea 3
La condición del 'Si' debe ser Verdadero o Falso, pero es el número 5. Usa una comparación, por ejemplo: x > 0

Las decisiones y los ciclos preguntan algo que se pueda contestar con sí o no: ¿n > 0?, ¿clave = "jaguar"? Esa pregunta es la condición, y su resultado es Verdadero o Falso. Si en su lugar escribes solo un número o un texto, no hay pregunta, y Jaguar te dice qué recibió.

El mensaje nombra la estructura (Si, Mientras, Repetir) y dice qué valor encontró.

Ejemplos y cómo arreglarlo

Un número donde va una comparación

Algoritmo revisar
    Leer n
    Si n Entonces
        Escribir "x"
    FinSi
FinAlgoritmo

Error al ejecutar en la línea 3
La condición del 'Si' debe ser Verdadero o Falso, pero es el número 5. Usa una comparación, por ejemplo: x > 0

Compara n con algo para que la condición dé Verdadero o Falso:

Algoritmo revisar
    Leer n
    Si n > 0 Entonces
        Escribir "Positivo"
    FinSi
FinAlgoritmo

Una sola variable lógica sí funciona

Una variable que guarda Verdadero o Falso se puede usar tal cual como condición, porque ya es una respuesta de sí o no:

Algoritmo lleno
    lleno <- Falso
    Si NO lleno Entonces
        Escribir "Hay lugar"
    FinSi
FinAlgoritmo

Por qué aparece

  • Se escribió una variable numérica o de texto sola, como si fuera una pregunta.
  • Se usó una asignación en lugar de una comparación: Si n <- 5 en vez de Si n = 5.
  • Se olvidó el operador de la comparación y quedó solo el valor.

Cómo evitarlo

Lee la condición en voz alta como pregunta: «¿n es mayor que 0?». Si no suena a pregunta, falta la comparación. En la guía de condicionales están todos los operadores: =, <>, <, >, <=, >=, y los conectores Y, O y NO.

Preguntas frecuentes

¿Cuál es la diferencia entre = y <-?

La flecha <- guarda un valor en una variable. El = dentro de una condición compara dos valores. En una condición siempre se usa la comparación.

¿Esto cambia en un Mientras?

Es igual: la condición del Mientras, del Repetir y del Hasta Que también debe dar Verdadero o Falso. El mensaje nombra la estructura que falló.

Sigue aprendiendo