JAVIER PÉREZ AYNETO Practica de diseño 2 En esta practica se propone hacer un ejercicio que debe ser resuelto utilizando los conceptos de vector registro y la posible convinacion entre ellos para representar realidades mas complejas. El objetivo es el dominio de los mencionados conceptos para realizar un adecuado diseño de datos asi como de los metodos de busqueda secuencial y dicotómica, y de la insercion y borrado de vectores, ademas de usar funciones y procedimientos esquemas de composicion secuencial, condicional, e iterativo, utilizando los elementos: tipos de datos, datos simples, variables, constantes, asignacion de valor, elavoracion de expresiones de todo tipo, y operaciones de entrada y salida. se pide la construccion de un programa basado en el "juego de la vida" que es el mejor ejemplo de un autómata celular, El juego de la vida es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. El "tablero de juego" es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluso en las diagonales. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente. Las transiciones dependen del número de células vecinas vivas: Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva). Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación"). El juego contara con un tablero de 4 a 20 casillas por lado (sera elegido por el usuario); El problema se estructura en un menu (creado en una funcion) con 4 partes: 1º-Generar mundo aleatorio, dado el tamaño del tablero y la probabilidad de que cada casilla este viva al inicio del juego se generara un nuevo tablero aleatoriamente. 2º- Se pide al usuario el numero de turnos, las reglas del juego, y el modo de ejcucion. 3º-Cargar el esato inicial, pide un fichero a cargar y lo usa como nuevo estado inicial. 4º- Finalizar el programa. Aqui ofrecemos al usuario la posibilidad de cerrar el programa y con ello inicializarlo. es decir poner todos los contadores a cero. Las decisiones de diseño que he adoptado: Primero he mostrado por pantalla una serie de peticiones al usuario,para ello he usado varios procedimientos como pedir tamaño de tablero,numero de turnos, reglas, que posteriormente usare en el programa principal desde el menu para que este introduzca los datos correspondientes, asignado asi para cada uno de los datos una variable que es memorizada por el programa, todo esto lo he realizado con unos bucles con "repeat", para que asi si el usuario introdujese los datos incorrectamente volviese al inicio del bucle. Despues de hacer los procedimientos y funciones se crea el programa principal en el se llama a la funcion menu para ofrecer al usuario la posibilidad de elegir que quiere hacer en el cual se va llamando a los procedimientos o funciones cuando interese, y pudiendo utilizar sus variables, vectores y registros ---------------------------- (añadido tras someter) ---------------------------- 15:49:42 11/12/09 -> Segun los datos introducidos los ficheros son: G02P12D2 -> Los autores del trabajo son: PEREZ AYNETO, JAVIER Nombres originales de los archivos entregados -> G2P12D2.PAS, G2P12D2.txt