Posted by RetroMan | Desafios

En la UNJU los profesores de la materia “Programación Orientada a Sujetos” ha desarrollado un nuevo lenguaje de programación, los tres creadores se llaman Verdadero, Falso y Aleatorio. Desconocemos la identidad de cada uno, es decir no se cual nombre corresponde a cada uno, solo sabemos que verdadero siempre responde la verdad, falso siempre miente, y aleatorio tiene una conducta impredecible, puede tanto decir mentiras como verdades.

El lenguaje nuevo, llamado C– usa las palabra “do” y “go” para los valores lógicos True y False, pero también desconocemos cual corresponde a cada uno. Los programadores siempre responde a las preguntas con estas palabras, no usan el si o el no, solo “do” y “go“.

Haciendo solo tres preguntas cada una a uno solo de los programadores usted debe descubrir cual es la identidad de cada uno de los programadores a los que llamaremos A, B y C.

Notas:

 

  • Es posible formularle a un mismo programador más de una pregunta (y por lo tanto puede ocurrir que a algún programador no se le haga ninguna pregunta).
  • Cuál es la segunda pregunta, y a qué programador se le realiza, puede depender de la respuesta que se reciba a la primera pregunta. (Y en forma similar para la tercera pregunta.)
  • La decisión sobre si Aleatorio responderá con la verdad o la falsedad puede ser pensado como que depende de arrojar una moneda si la moneda cae cara él hablará con la verdad; si cae cruz, hablará falsamente.
  • Aleatorio responderá ‘do’ o ‘go‘ toda vez que se le realice una pregunta Si-No.

 

Responses are currently closed, but you can trackback from your own site.