4. Proposiciones simples y compuestas

Las proposiciones simples expresan una sola afirmación. Las proposiciones compuestas combinan varias afirmaciones mediante conectores lógicos como negación, conjunción, disyunción e implicación.

4.1 Introducción

En el tema anterior vimos que una proposición es un enunciado que puede ser verdadero o falso. Ahora distinguiremos entre proposiciones simples y proposiciones compuestas.

Esta diferencia es importante porque las condiciones reales de un programa casi nunca dependen de una sola afirmación. Normalmente combinan varias reglas: edad mínima, permisos, estado de cuenta, stock, fechas, roles o validaciones.

4.2 Proposiciones simples

Una proposición simple es una afirmación que no está formada por otras proposiciones unidas mediante conectores lógicos.

Una proposición simple expresa una sola idea que puede evaluarse como verdadera o falsa.
  • El usuario está activo.
  • El producto tiene stock.
  • La edad es mayor o igual que 18.
  • La contraseña tiene al menos 8 caracteres.

4.3 Proposiciones simples en JavaScript

En un programa, una proposición simple suele aparecer como una comparación o como una variable booleana.

const edad = 21;
const esMayorDeEdad = edad >= 18;

console.log(esMayorDeEdad);

La expresión edad >= 18 es una proposición simple: para el valor actual de edad, será verdadera o falsa.

4.4 Proposiciones compuestas

Una proposición compuesta se forma combinando una o más proposiciones mediante conectores lógicos.

Por ejemplo:

El usuario está activo y tiene permiso.

Esta proposición está formada por dos proposiciones simples:

  • El usuario está activo.
  • El usuario tiene permiso.

El conector y indica que ambas condiciones deben cumplirse.

4.5 Conectores lógicos principales

Los conectores lógicos permiten construir proposiciones compuestas a partir de proposiciones más pequeñas.

Conector Nombre lógico Símbolo usual JavaScript
No Negación ¬p !p
Y Conjunción p ∧ q p && q
O Disyunción p ∨ q p || q
Si... entonces Implicación p → q Se expresa con una condición

4.6 Ejemplo con conjunción

La conjunción combina dos proposiciones y exige que ambas sean verdaderas.

const usuarioActivo = true;
const tienePermiso = true;

const puedeEditar = usuarioActivo && tienePermiso;

console.log(puedeEditar);

La proposición compuesta usuarioActivo && tienePermiso solo será verdadera si las dos proposiciones simples son verdaderas.

4.7 Ejemplo con disyunción

La disyunción combina dos proposiciones y alcanza con que al menos una sea verdadera.

const esAdministrador = false;
const esEditor = true;

const puedePublicar = esAdministrador || esEditor;

console.log(puedePublicar);

La proposición compuesta será verdadera porque esEditor es verdadero, aunque esAdministrador sea falso.

4.8 Ejemplo con negación

La negación cambia el valor de verdad de una proposición. Si una proposición es verdadera, su negación es falsa; si es falsa, su negación es verdadera.

const cuentaBloqueada = false;

const puedeIngresar = !cuentaBloqueada;

console.log(puedeIngresar);

La expresión !cuentaBloqueada representa la proposición "la cuenta no está bloqueada".

4.9 Cómo reconocer la estructura

Para analizar una proposición compuesta conviene separar sus partes.

Proposición compuesta Partes simples Conector
El usuario está activo y tiene email verificado Está activo / tiene email verificado Y
El producto tiene stock o permite reserva Tiene stock / permite reserva O
La cuenta no está bloqueada La cuenta está bloqueada No
Si el pago fue aprobado, se genera el pedido Pago aprobado / se genera el pedido Si... entonces

4.10 Condiciones compuestas en un if

En JavaScript, las proposiciones compuestas se usan directamente en estructuras condicionales.

const edad = 19;
const aceptoTerminos = true;
const emailVerificado = true;

if (edad >= 18 && aceptoTerminos && emailVerificado) {
  console.log("Registro permitido");
} else {
  console.log("Registro rechazado");
}

La condición está formada por tres proposiciones simples unidas por conjunciones.

4.11 Paréntesis y claridad

Cuando una proposición compuesta mezcla varios conectores, los paréntesis ayudan a evitar ambigüedades y hacen que la intención sea más clara.

const esAdmin = false;
const esEditor = true;
const articuloPublicado = false;

const puedeModificar = (esAdmin || esEditor) && !articuloPublicado;

console.log(puedeModificar);

Primero se evalúa si el usuario tiene un rol permitido. Luego se exige que el artículo no esté publicado.

4.12 De reglas de negocio a proposiciones

Una regla de negocio suele convertirse en una proposición compuesta dentro del programa.

Regla Proposición compuesta
Puede comprar si hay stock y el pago fue aprobado hayStock && pagoAprobado
Puede recuperar la cuenta si tiene email o teléfono verificado emailVerificado || telefonoVerificado
Puede entrar si la cuenta no está bloqueada !cuentaBloqueada
Puede ver el panel si es admin o supervisor, y está activo (esAdmin || esSupervisor) && activo

4.13 Errores comunes

Al combinar proposiciones es fácil escribir una expresión que no coincide con la regla buscada.

  • Usar || cuando la regla exige que se cumplan todas las condiciones.
  • Usar && cuando alcanza con que se cumpla una condición.
  • Olvidar una negación, como !cuentaBloqueada.
  • No usar paréntesis en expresiones con varios operadores.
  • Combinar demasiadas reglas en una sola línea difícil de leer.

4.14 Qué debes recordar de este tema

  • Una proposición simple expresa una sola afirmación.
  • Una proposición compuesta combina proposiciones mediante conectores lógicos.
  • Los conectores más comunes son negación, conjunción y disyunción.
  • En programación, las proposiciones compuestas aparecen como condiciones con !, && y ||.
  • Los paréntesis y los nombres claros ayudan a evitar errores de interpretación.

4.15 Conclusión

Las proposiciones simples y compuestas permiten construir razonamientos más ricos. En programación, esta distinción se refleja en condiciones formadas por comparaciones y operadores lógicos.

En el próximo tema estudiaremos con más detalle el valor de verdad de una proposición.