Samuel Soto Hoyos
Alexandra Bautista
Mateo Montoya Villegas
Nicolás Acuña Niampira
Luis Miguel Delgado Perez
Fabian Serna
Company_adminGabriel Obregón
Eloy Chávez Dev
Yessyca Garcia Campos
Wencel Alfonso De La Cruz Viloria
Jonatán Gabriel Corado Samayoa
Cesar Salazar
Franklin Escalante Rivas
VALERIA PEREZ
Oscar Iván Suárez Rojas
Santiago Salamanca Rusinque
Roberto Flores
Brayanth Castillo
JOSE DAVID MEJIA GUZMAN
Carlos Mario Miranda Machado
Ana Belen Chamba Mera
Nelson Arturo Rico Marcelo
Junior Peves
Luis Fernando Ramírez Arteaga
Para entender mejor esta clase les recomiendo ver este video de youtube del canal de Platzi. [Qué son tablas de verdad y compuertas lógicas | PlatziLive](https://youtu.be/Pfyuv5ZnNNw?si=0VEJ9lt6LyNlpR1h)
oye mil gracias por este aporte! video visto! <3
Muchas gracias por la recomendación Samuel.
Este video también explica muy bien el tema, puede servir como complemento, lo súper recomiendo!
gracias por el video
Para todos los que empiezan en el mundo de la programación, aunque este la explicación con código en español les recomiendo que desde el principio se acostumbren a utilizar las palabras propias como and, or, if, elseif porque casi en todas partes todo se trabaja de esta manera y es más fácil desde el principio utilizar las palabras estándar del mercado cuando se programa.
🧠 Operadores Lógicos en Programación
✅ ¿Qué es una operación lógica?
🔹 Combina valores booleanos (verdadero/falso) 🔹 Se usa para tomar decisiones en validaciones 🔹 Deriva de comparaciones, como: edad > 17, casilla = verdadero
🎯 Ejemplo de uso práctico
Validar rango de edad entre 18 y 99 años:
Si (edad > 17 I edad < 100) Entonces
Escribir("Edad válida")
Sino
Escribir("Edad fuera de rango")
FinSi
🔸 Se usa I (AND) para que ambas condiciones deban cumplirse
🔧 Principales operadores lógicos
🟢 AND / I ➡ Verdadero solo si todas las condiciones son verdaderas
🟠 OR / O ➡ Verdadero si al menos una condición es verdadera
🔴 NAND ➡ Verdadero si no todas las condiciones son verdaderas
🔵 NOR ➡ Verdadero si todas las condiciones son falsas
⚪ NOT ➡ Invierte el valor: verdadero ↔ falso
📊 ¿Para qué sirven las tablas de verdad?
🧩 Muestran todos los posibles resultados de una combinación lógica
🧠 Ayudan a validar el comportamiento de expresiones complejas
Ejemplo (AND):
🛠️ Validaciones con expresiones complejas
Ejemplo: Validar que un usuario:
Si (edad >= 18 I edad <= 65 I acepta_terminos I cuenta_activada) Entonces
Escribir("Usuario válido")
Sino
Escribir("Validación fallida")
FinSi
🧠 Consejo: Cuando combines múltiples condiciones, valida los resultados con una tabla de verdad mental o escrita
📌 Conclusión clave
✔ Los operadores lógicos permiten:
➡ Reducción de código
➡ Validaciones más limpias
➡ Control de flujo más claro
➡ Menos errores en decisiones
Esta explicación muestra cómo combinar condiciones con AND, OR, NAND y NOR para crear reglas más precisas y eficientes. Un ejemplo claro: validar que una edad esté entre 18 y 99 años con una sola línea (edad > 17 Y edad < 100).
Claves para aplicar operadores lógicos:
AND (Y) → Perfecto para validar múltiples requisitos obligatorios.
contraseña.length >= 8 Y contieneNúmeros(contraseña).OR (O) → Ideal para aceptar alternativas válidas.
métodoPago == "Tarjeta" O métodoPago == "PayPal".NOT (NO) → Útil para excluir casos no deseados.
NO (usuario == "admin") → Para restringir nombres reservados.esta es mi validación con un triple and
Muy bien. Aprovechando el operador lógico 'Y' puedes utilizarlo también para validar que contraseña y validacion_contraseña sean iguales.
También ví que escribirste edad>=17, lo que permite que ingresen los que tienen 17 años, cosa que no debe permitir el programa según los requisitos.
Algoritmo comparacion_clase_11 // Nuevas reglas para el registro de usuario // 1. El nombre de usuario debe tener al menos 8 caracteres (usar mayor o igual, >=) // 2. La edad debe ser mayor a 17 (usar mayor, >) // 3. La longitud de la contraseña debe ser menor a 20 caracteres (usar menor, <) // 4. El código del país debe ser distinto de "54" (usar NO es igual, <>) // 5. La contraseña y la confirmación deben ser iguales (usar == para cadenas y = para números) // 6. La edad debe ser menor o igual a 100 (usar menor o igual, <=) //Variables usuario = '' contrasena = '' validacionContrasena = '' edad = 0 telefono = '00' //Validamos usuario Escribir 'Ingrese su nuevo usuario:' Leer usuario Si Longitud(usuario) >= 8 Entonces Escribir 'Su nombre de usuario ' usuario ' fue creado exitosamente.' SiNo Escribir 'No es válido, su nombre de usuario debe contener al menos 8 caracteres y en este momento registra ' Longitud(usuario) Fin Si Escribir '' //Validamos la edad Escribir 'Ingrese su edad:' Leer edad Si edad > 17 Y edad <= 100 Entonces Escribir 'Edad para el registro permitida' SiNo Escribir 'No se permite el registro con edad de ' edad ', debe ser entre 18 y 100 años.' Fin Si Escribir '' //Validamos la contraseña Escribir 'Ingrese su nueva contraseña:' Leer contrasena Si Longitud(contrasena) < 20 Entonces Escribir 'Su contraseña fue creada exitosamente.' SiNo Escribir 'Longitud de contraseña no permitida, debe ingresar una menor a 20 caracteres.' Fin Si Escribir '' //Validamos el código telefónico del país Escribir 'Ingrese el código de su país (ej: +57 es Colombia):' Leer telefono Si telefono <> '54' Entonces Escribir 'Código +' telefono ' es válido.' SiNo Escribir 'Código ingresado no es válido.' Fin Si Escribir '' //Confirmación de la contraseña Escribir 'Vuelva a ingresar su contraseña:' Leer validacionContrasena Si validacionContrasena == contrasena Entonces Escribir 'Contraseña validada correctamente.' SiNo Escribir 'Verifique: la contraseña y su confirmación no coinciden.' Fin Si FinAlgoritmo
¿Es posible invertir una validación lógica?
Sí, y es una de las herramientas más elegantes en programación. Se logra utilizando operadores de negación como NAND (negación de AND), NOR (negación de OR) o el operador simple NOT.
Imagina que tienes una validación compleja que verifica si un usuario tiene permisos de administrador. En lugar de escribir una nueva regla desde cero para los usuarios normales, simplemente aplicas una negación a la regla existente. Es como decir: "Ejecuta esta acción para todos los que NO cumplan con el perfil de administrador". Esto es increíblemente útil para crear listas negras, bloquear accesos o manejar excepciones sin tener que reescribir toda la lógica de validación. Invertir resultados te ahorra tiempo y mantiene tu código modular, reutilizando las mismas expresiones lógicas pero con el propósito exactamente opuesto.
el material de apoyo donde escriben las primeras lineas de codigo tiene un error, supongo que la IA escribio el ejemplo, equipo de platzi podria revisar y corregirlo, aqui dejo pegado el codigo que ustedes pusieron en material de apoyo que tiene un error de escritura
Si (edad > 17 I edad < 100) Entonces Escribir("Todo está ok") Sino Escribir("No cumple con el rango de edad esperado") FinSi
el error esta en que estan interpreatando el operador logico 'AND' como 'i' de puntitu mayuscula.
Agregué la validación con operadores lógicos para la confirmación de la contraseña usando funciones
Algoritmo Validacion //nuevas reglas para el registro de usuario //el nombre de usuario debe tener al menos 8 caracteres // usa >= (Mayor o igual) //la edad debe ser mayor a 17 // usa > (Mayor) //la longitud de la contraseña debe ser menor a 20 caracteres // usa < (Menor) //el codigo del pais debeser distinto de "54" // usa <> (NO es igual) //la contraseña y la confirmacion deben ser iguales // usa == (Doble igual para evaluar cadenas y Un igual para números) //la edad debe ser menor o igual a 100 // usa <= //variables usuario='' contrasena='' validacion_constrasena='' edad=0 telefono='' Escribir 'Ingrese su nombre' Leer usuario Si Longitud(usuario) >= 8 Entonces Escribir 'Todo OK' SiNo Escribir 'es muy corto, ingrese uno nuevo' Fin Si Escribir 'Ingrese su edad' Leer edad Si edad > 17 Y edad <= 100 Entonces Escribir 'Todo OK' SiNo Escribir 'Debe ser mayor pero no centenario' Fin Si Escribir 20 = 20 //Comparar numero, usando un solo signo = Escribir "Carlos" == "Carlitos" //Comparar cadenas, usando doble signo = Escribir 'Ingrese su contraseña' Leer contrasena Si Longitud(contrasena) < 20 Entonces Escribir 'Confirme su contrasena' Leer validacion_constrasena Si validacion_constrasena == contrasena Entonces Escribir 'Todo OK' SiNo Escribir 'Las contraseñas no son iguales' Fin Si SiNo Escribir 'La contrasena es muy larga' Fin Si Escribir 'Ingrese su teléfono con indicativo pais. Ej. +573000000000' Leer telefono Si Subcadena(telefono, 1, 2) <> '54' Entonces Escribir 'Todo OK' SiNo Escribir 'El indicativo pais no es valido' Fin Si FinAlgoritmo
Algoritmo Validacion_usuario //Admitir solo si es mayor de edad, pertenece a la capital y es peruano) edad = 0 localidad = 0 nacio= 0 Escribir "Ingresar edad: " Leer edad Escribir "Localidad (Capital 1 o Provincia 2) :" Leer localidad Escribir "Nacionalidad (Peruana 1, Extranjera 2)" Leer nacio Si edad > 18 Y localidad==1 Y nacio==1 Entonces Escribir 'Ok' SiNo Escribir 'No admitido' FinSi FinAlgoritmo
Escribir 'Escriba su usuario'
Leer usuario
Si longitud(usuario)<8 Y longitud(usuario)>3 Entonces
Escribir 'Usuario correcto'
SiNo
Escribir 'Usuario incorrecto'
Fin Si