Una proposición es un enunciado que puede evaluarse como verdadero o falso. Esta idea es la base para construir condiciones, reglas y decisiones dentro de un programa.
La lógica matemática trabaja con enunciados que pueden recibir un valor de verdad. A esos enunciados se los llama proposiciones.
Comprender qué es una proposición es fundamental porque las condiciones de un programa funcionan de manera parecida: se evalúan y producen un resultado booleano, es decir, true o false.
Una proposición es una oración declarativa que afirma algo y que puede clasificarse como verdadera o falsa.
Ejemplos de proposiciones:
No toda oración es una proposición. Las preguntas, órdenes, deseos o expresiones incompletas no pueden clasificarse directamente como verdaderas o falsas.
| Enunciado | ¿Es proposición? | Explicación |
|---|---|---|
| ¿Cuál es tu edad? | No | Es una pregunta |
| Ingrese su contraseña | No | Es una instrucción |
| Ojalá el programa funcione | No | Expresa un deseo |
| x es mayor que 5 | Depende | Necesita conocer el valor de x |
El valor de verdad de una proposición indica si esa proposición es verdadera o falsa.
| Proposición | Valor de verdad |
|---|---|
| 4 + 2 = 6 | Verdadero |
| 9 es menor que 3 | Falso |
| Todo número par es divisible por 2 | Verdadero |
| JavaScript es un lenguaje de marcado | Falso |
En programación, muchas expresiones se comportan como proposiciones porque se evalúan como verdaderas o falsas.
const edad = 18;
console.log(edad >= 18);
La expresión edad >= 18 afirma algo sobre el valor de edad. En este caso, JavaScript devuelve true.
Un enunciado como x > 10 no tiene valor de verdad definido mientras no sepamos cuánto vale x. A este tipo de expresión se la suele llamar proposición abierta o enunciado abierto.
Cuando reemplazamos la variable por un valor concreto, el enunciado sí puede evaluarse.
const x = 15;
console.log(x > 10);
Con x = 15, la expresión x > 10 es verdadera. Si x fuera 4, sería falsa.
Las comparaciones son una forma muy común de construir enunciados lógicos en programas.
| Comparación | Significado | Ejemplo en JavaScript |
|---|---|---|
| Igualdad | Dos valores son iguales | usuario === "admin" |
| Desigualdad | Dos valores son distintos | estado !== "bloqueado" |
| Mayor o igual | Un valor alcanza un mínimo | edad >= 18 |
| Menor que | Un valor está por debajo de un límite | stock < 5 |
Muchas reglas de un sistema comienzan como frases en lenguaje natural. Luego deben convertirse en condiciones precisas.
| Regla en lenguaje natural | Condición lógica |
|---|---|
| El usuario debe ser mayor de edad | edad >= 18 |
| El producto debe tener stock | stock > 0 |
| La cuenta no debe estar bloqueada | !cuentaBloqueada |
| La nota debe ser suficiente para aprobar | nota >= 6 |
Supongamos que un formulario requiere que el nombre no esté vacío. Esa regla puede expresarse como una proposición sobre el contenido de una variable.
const nombre = "Ana";
const nombreValido = nombre.length > 0;
if (nombreValido) {
console.log("El nombre fue ingresado");
} else {
console.log("Debe ingresar un nombre");
}
La variable nombreValido guarda el resultado de una expresión lógica. Su valor será true o false.
El lenguaje natural puede ser ambiguo. Por eso, antes de escribir una condición, conviene aclarar exactamente qué se quiere afirmar.
La lógica ayuda a transformar frases ambiguas en expresiones más exactas, que luego pueden implementarse en código.
Cuando una variable representa una proposición, conviene usar un nombre que exprese claramente una afirmación verdadera o falsa.
| Nombre poco claro | Nombre más claro |
|---|---|
| edadOk | esMayorDeEdad |
| stock | hayStockDisponible |
| login | credencialesValidas |
| bloqueo | cuentaBloqueada |
Al trabajar con proposiciones y condiciones es frecuente cometer errores de interpretación.
Las proposiciones son la unidad básica del razonamiento lógico. En programación aparecen como comparaciones, validaciones y condiciones que producen un valor verdadero o falso.
En el próximo tema estudiaremos las proposiciones simples y compuestas.