Skip to content

Latest commit

 

History

History
107 lines (53 loc) · 7.6 KB

capitulo14.md

File metadata and controls

107 lines (53 loc) · 7.6 KB

CAPÍTULO 14: PROGRAMACIÓN LÓGICA

Este capítulo incluye problemas que se pueden resolver utilizando programación lógica, particularmente con lenguajes como Prolog. Los problemas están diseñados para fomentar el pensamiento lógico, la declaración de hechos y reglas, y el uso de consultas para inferir nueva información.

  1. Árbol Genealógico Básico: Define un árbol genealógico utilizando hechos y reglas. Escribe consultas para encontrar padres, abuelos y hermanos.

  2. Detección de Parentesco: Utilizando hechos y reglas, escribe un programa que determine si dos personas están relacionadas y de qué manera (por ejemplo, primos, tíos).

  3. Programa de Listas de Miembros: Escribe un programa que verifique si un elemento pertenece a una lista.

  4. Concatenación de Listas: Implementa una regla para concatenar dos listas.

  5. Encontrar la Longitud de una Lista: Escribe una regla lógica que determine la longitud de una lista.

  6. Números Fibonacci: Implementa un programa que genere números de la secuencia de Fibonacci utilizando recursión.

  7. Verificación de Número Primo: Escribe una regla que determine si un número dado es primo.

  8. Ordenamiento de una Lista: Implementa un algoritmo de ordenamiento (por ejemplo, ordenamiento de burbuja) utilizando programación lógica.

  9. Factorial de un Número: Escribe un programa que calcule el factorial de un número utilizando recursión.

  10. Búsqueda de Camino en un Grafo: Implementa una regla para encontrar un camino entre dos nodos en un grafo dirigido.

  11. Resolver un Sudoku: Escribe un programa que resuelva un puzzle de Sudoku usando lógica de restricciones.

  12. N Reinas: Implementa una solución para el problema de las N reinas en un tablero de ajedrez utilizando programación lógica.

  13. Generador de Anagramas: Escribe un programa que genere todos los anagramas posibles de una palabra dada.

  14. Árbol de Expresión: Implementa un programa que evalúe una expresión matemática representada como un árbol binario.

  15. Verificación de Palíndromos: Escribe una regla que verifique si una cadena de texto es un palíndromo.

  16. Calculadora de Fechas: Implementa un programa que determine si una fecha dada es válida y calcule la diferencia entre dos fechas.

  17. Coloreado de Grafo: Escribe un programa que determine si un grafo puede ser coloreado con un número dado de colores sin que dos nodos adyacentes tengan el mismo color.

  18. Solución de Rompecabezas de Palabras Cruzadas: Implementa un programa que resuelva un puzzle de palabras cruzadas basándose en un conjunto de pistas.

  19. Resolver Ecuaciones Lineales Simples: Escribe un programa que resuelva ecuaciones lineales simples utilizando programación lógica.

  20. Problema de los Misioneros y Caníbales: Implementa una solución para este problema clásico utilizando lógica y recursión.

  21. Asignación de Tareas: Escribe un programa que asigne tareas a trabajadores de manera que se minimicen los conflictos y se maximice la eficiencia.

  22. Juego de Lógica de Luces: Implementa una solución para un juego en el que se deben encender o apagar luces en un tablero siguiendo ciertas reglas.

  23. Cálculo de la Potencia: Escribe un programa que calcule la potencia de un número utilizando multiplicaciones sucesivas.

  24. Árbol Binario de Búsqueda: Implementa un programa que inserte y busque elementos en un árbol binario de búsqueda.

  25. Juego de los Caballos (Knight's Tour): Escribe un programa que resuelva el problema del recorrido del caballo en un tablero de ajedrez.

  26. Resolver Juegos de Lógica (Ej. Kakuro): Implementa un solucionador para puzzles de lógica como Kakuro utilizando programación lógica.

  27. Validación de Expresiones de Corchetes: Escribe un programa que valide si una expresión con corchetes está correctamente balanceada.

  28. Determinación de Parentesco Complejo: Escribe un programa que determine relaciones complejas (por ejemplo, sobrino-nieto) en un árbol genealógico.

  29. Simulación de Sistema de Tráfico: Implementa un modelo de sistema de tráfico que controle el flujo de vehículos en un cruce utilizando semáforos.

  30. Optimización de Horarios Escolares: Escribe un programa que asigne clases a horarios específicos de manera que se minimicen los conflictos de tiempo para estudiantes y profesores.

  31. Resolver Problema de Mochila: Implementa una solución para el problema de la mochila utilizando programación lógica.

  32. Planificación de Proyectos: Escribe un programa que genere un plan de proyecto basado en dependencias entre tareas y recursos disponibles.

  33. Verificación de Contraseñas Seguras: Implementa un programa que verifique si una contraseña cumple con ciertos criterios de seguridad.

  34. Simulación de Ecosistema: Escribe un programa que modele la interacción de diferentes especies en un ecosistema utilizando reglas lógicas.

  35. Optimización de Ruta de Entrega: Implementa un programa que encuentre la ruta más corta para un vehículo de entrega que debe visitar varios puntos.

  36. Modelo de Mercado Económico: Escribe un programa que simule un mercado económico simple con compradores y vendedores siguiendo ciertas reglas.

  37. Generador de Puzzles de Lógica: Implementa un programa que genere puzzles de lógica basados en reglas predefinidas.

  38. Reconocimiento de Patrones: Escribe un programa que reconozca patrones en una secuencia de datos utilizando reglas de coincidencia.

  39. Simulación de Juegos de Cartas: Implementa un programa que simule juegos de cartas como el póker, permitiendo la verificación de reglas y la determinación de ganadores.

  40. Asignación de Recursos en la Nube: Escribe un programa que asigne recursos computacionales en un entorno de nube de manera óptima utilizando programación lógica.

  41. Simulación de Elecciones: Implementa un modelo de simulación de elecciones basado en reglas de votación y preferencias de los votantes.

  42. Modelo de Interacción Social: Escribe un programa que simule la interacción social en una comunidad utilizando reglas para amistad, conflicto y cooperación.

  43. Evaluación de Hipótesis Científicas: Implementa un programa que evalúe hipótesis científicas basadas en datos experimentales y reglas lógicas.

  44. Optimización de Inventario: Escribe un programa que gestione el inventario de un almacén de manera eficiente utilizando reglas de reposición y demanda.

  45. Modelo de Transporte Público: Implementa un modelo de transporte público que simule el flujo de pasajeros y la optimización de rutas de autobús o tren.

  46. Sistema de Diagnóstico Médico: Escribe un programa que utilice reglas lógicas para diagnosticar enfermedades basándose en síntomas.

  47. Generación de Música Algorítmica: Implementa un programa que genere melodías basadas en reglas de composición musical.

  48. Verificación de Teoremas Matemáticos: Escribe un programa que verifique la validez de teoremas matemáticos simples utilizando programación lógica.

  49. Modelo de Clima: Implementa un modelo que simule patrones climáticos y realice predicciones basadas en datos históricos y reglas de cambio climático.

  50. Simulación de Mercado de Valores: Escribe un programa que simule la compra y venta de acciones en un mercado de valores utilizando reglas de oferta y demanda.

Estos problemas están diseñados para aplicar conceptos de programación lógica y desarrollar habilidades en la creación y manipulación de hechos, reglas y consultas lógicas para resolver problemas complejos.