Practica de Pascal
Soy una chica que necesita urgentemente resolver una practica que me han puesto para este mes, no tengo ni idea de informática y estoy a punto de volverme loca, a ver si me puedes ayudar, esto es lo que me han dado:
1.Objetivo de la práctica:
-Consiste en diseñar y codificar un programa que permita al usuario jugar a "muertos y heridos" con el ordenador.
Consiste en que dos jugadores piensen cada uno un número de 4 cifrascdiferentes y cada uno tiene que probar adivinar las cifras del otro jugador y el otro le contesta con 2 números diciéndole cuantos "muertos" (números acertados en la posición correcta) y cuantos "heridos" (núm. Acertados en la posición incorrecta)ha conseguido.
Cuando un jugados hace "4 muertos" gana la partida. Por ejemplo, una posible partida seria:
ORDENADOR: Piénsate un núm. De 4 cifras diferentes. Pulsa "return" cuando lo hayas pensado.
USUARIO:"return"
ORDENADOR:Tu tiras. ¿Cuál crees que es mi núm?
Usuario:4281
ORDENADOR:4281: 2 muertos y 0 heridos.
ORDENADOR: Yo tiro: ¿0241 Cuántos muertos?
Usuario: 1
Ordenador: ¿Cuántos heridos?
Usuario: 1
ORDENADOR: Tu tiras. ¿Cuál crees que es mi cifra?
Usuario: 4207
ORDENADOR: 4207: 1 muerto y 1 herido.
ORDENADOR: Yo tiro: 1235. ¿Cuántos muertos?
Usuario: 2
Ordenador: ¿Cuántos heridos?
Usuario: 0
- El programa proseguiría hasta que uno de los 2 jugadores consiguiera acertar las 4 cifras.
2.Información que manipula el programa:
- El modo más simple de conseguir que el programa juegue a este juego es con una tabla donde guarda tdos los posibles núm. De 4 cifras diferentes y los va eliminando a medida que obtiene la información del usuario. En total hay 5040 psibles núm. Diferentes de 4 cifras entre 0001 y 9999. Por lo tanto el programa necesita una tabla de 5040 posiciones donde guardar los posibles valores.
3.Funcionamiento del programa
-El programa controla los turnos y hace que juegue el usuario y el ordenador de forma alternada. Cuando es el turno del usuario el programa le pide un núm., lo compara con el que se ha "pensado" al principio y le da el núm. De muertos y heridos. Cuando es el turno del ordenador, el programa pone un posible núm. (p) al usuario y espera que este le ponga la cantidad de muertos (m) y heridos (f). A continuación recorre toda la tabla, descartando las cifras que no tengan el mismo núm.(m)de muertos y de heridos(f) respecto al número (p) propuesto. Para descartarlos es suficiente guardar un cero en la posición de la tabla que ocupaban.
A cada tirada el programa busca en la tabla un núm. No descartado, o sea, una posición que no contenga un cero para proponérselo al usuario.
Bueno, esta es la practica que tengo que hacer, creo que si no lo resuelvo pronto me voy a poner a llorar :( a ver si puedes ayudarme.
1.Objetivo de la práctica:
-Consiste en diseñar y codificar un programa que permita al usuario jugar a "muertos y heridos" con el ordenador.
Consiste en que dos jugadores piensen cada uno un número de 4 cifrascdiferentes y cada uno tiene que probar adivinar las cifras del otro jugador y el otro le contesta con 2 números diciéndole cuantos "muertos" (números acertados en la posición correcta) y cuantos "heridos" (núm. Acertados en la posición incorrecta)ha conseguido.
Cuando un jugados hace "4 muertos" gana la partida. Por ejemplo, una posible partida seria:
ORDENADOR: Piénsate un núm. De 4 cifras diferentes. Pulsa "return" cuando lo hayas pensado.
USUARIO:"return"
ORDENADOR:Tu tiras. ¿Cuál crees que es mi núm?
Usuario:4281
ORDENADOR:4281: 2 muertos y 0 heridos.
ORDENADOR: Yo tiro: ¿0241 Cuántos muertos?
Usuario: 1
Ordenador: ¿Cuántos heridos?
Usuario: 1
ORDENADOR: Tu tiras. ¿Cuál crees que es mi cifra?
Usuario: 4207
ORDENADOR: 4207: 1 muerto y 1 herido.
ORDENADOR: Yo tiro: 1235. ¿Cuántos muertos?
Usuario: 2
Ordenador: ¿Cuántos heridos?
Usuario: 0
- El programa proseguiría hasta que uno de los 2 jugadores consiguiera acertar las 4 cifras.
2.Información que manipula el programa:
- El modo más simple de conseguir que el programa juegue a este juego es con una tabla donde guarda tdos los posibles núm. De 4 cifras diferentes y los va eliminando a medida que obtiene la información del usuario. En total hay 5040 psibles núm. Diferentes de 4 cifras entre 0001 y 9999. Por lo tanto el programa necesita una tabla de 5040 posiciones donde guardar los posibles valores.
3.Funcionamiento del programa
-El programa controla los turnos y hace que juegue el usuario y el ordenador de forma alternada. Cuando es el turno del usuario el programa le pide un núm., lo compara con el que se ha "pensado" al principio y le da el núm. De muertos y heridos. Cuando es el turno del ordenador, el programa pone un posible núm. (p) al usuario y espera que este le ponga la cantidad de muertos (m) y heridos (f). A continuación recorre toda la tabla, descartando las cifras que no tengan el mismo núm.(m)de muertos y de heridos(f) respecto al número (p) propuesto. Para descartarlos es suficiente guardar un cero en la posición de la tabla que ocupaban.
A cada tirada el programa busca en la tabla un núm. No descartado, o sea, una posición que no contenga un cero para proponérselo al usuario.
Bueno, esta es la practica que tengo que hacer, creo que si no lo resuelvo pronto me voy a poner a llorar :( a ver si puedes ayudarme.
Respuesta de azaelrajadel
1