Algoritmo a secretos
JORDY EDUARDO PADILLA IBARRAPráctica o problema27 de Abril de 2022
731 Palabras (3 Páginas)76 Visitas
[pic 1][pic 2][pic 3]
[pic 4]
Introducción
Para esta tarea se realizará el desarrollo de la problemática sobre los 4 agentes secretos que se encuentran en un país cada uno y de los cuales, uno de ellos es mentiroso. De cada país se recibe un fax con información acerca de la ubicación de algunos agentes, pero en caso de recibirlo por la persona que miente, este será incorrecto, lo que nos hace formular 8 reglas respecto a los posibles hechos.
Antecedentes
Como se indicó, es una práctica en donde se busca dar respuesta de la ubicación de cada agente de acuerdo a los hechos presentes, en este caso, estos hechos se conforman por faxes enviados desde diferentes países, enviados por cada agente. Los agentes son Alberto, Carmen, Luisa y Tomás, siendo Tomás el conocido por mentir, así que se busca identificar el fax proveniente de Tomás para poder determinar la ubicación de los demás agentes de acuerdo a los fax y la formulación de reglas de acuerdo a la información que se tiene.
Se recibieron faxes con la siguiente información:
- De Francia: Luisa está en España
- De España: Alberto está en Francia
- De Egipto: Carmen está en Egipto
- De Japón: Carmen está en Francia
Las reglas que podemos formular son las siguientes:
- Regla 1: Tomás está en Francia, entonces Luisa no está en España.
- Regla 2: Tomás no está en Francia, entonces Luisa está en España.
- Regla 3: Tomás está en España, entonces Alberto no está en Francia.
- Regla 4: Tomás no está en España, entonces Alberto está en Francia.
- Regla 5: Tomás está en Egipto, entonces Carmen no está en Egipto.
- Regla 6: Tomás no está en Egipto, entonces Carmen está en Egipto.
- Regla 7: Tomás está en Japón, entonces Carmen no está en Francia.
- Regla 8: Tomás no está en Japón, entonces Carmen está en Francia.
Desarrollo
Se tiene que desarrollar ciertas validaciones de acuerdo al país donde se crea está Tomás. De acuerdo a la ubicación que se seleccione para Tomás, se puede comenzar a aplicar cada una de las reglas de acuerdo a las ubicaciones donde no debería estar. Es decir, si se elige que Tomás está en España, es evidente que no debería estar en algún otro país, por ejemplo, no podría estar en Egipto porque ya está en España, entonces se aplica la regla 6: Tomás no está en Egipto, entonces Carmen está en Egipto.
A partir de esto, podemos ir deduciendo las reglas para los demás países, y al final, obtener un resultado, buscando que se cubran los siguientes requisitos:
- No puede haber dos agentes en un mismo país
- No puede haber un agente sin información de su paradero
- No puede haber un agente en dos país, sólo puede estar en una ubicación
Implementación
Para implementarlo, es necesario usar ciertas validaciones, en mi caso, decidí desarrollarlo en Python con if anidados, algo sencillo, pero que cubre las necesidades, definiendo cada regla dentro de una variable y a partir de la ubicación ingresada de Tomás, aplicar las diferentes reglas según sea el caso.
Intenté pasar la lógica a una interfaz de Python, pero la verdad es que no he manejado mucho Python con interfaces, y decidí realizarlo a consola sin importar el rebaje de calificación, pero igual de efectivo.
...