Datos personales: Elisabeth Barranco. Grupo 10. Puesto 13 1. Descripción de los módulos: El modulo principal: sirve realizar una simulación del juego de la vida. Primero iniciamos las opciones del menu que el usuario podrá seleccionar para iniciar el juego de la vida (opcion := 0). Declaro Randomize para iniciar el generador de números aleatorios y que nos de unos valores distintos comprendidos entre 0 y 1. Mientras la opción del menu sea distinta de 5 se mostrara el menu: Si la opición eleguida por el usuario es 1: Genera un mundo aleatorio (para ello hago una llamada al procedimiento mundo_aleatorio; Si la opción eleguida por el usuario es 2: Ejecutar modo de ejecución paso a paso;Si la opción eleguida por el usuario es 3:Ejecutar modo de ejecución resultado final; Si la opción eleguida por el usuario es 4:Cargar estado inicial:pide el fichero a cargar y lo usa como nuevo estado inicial (llamada a la función cargar_mundo);Si la opción eleguida por el usuario es 5: Salir: termina el juego. Hace el uso del procedimientomundo_aleatorio y de la función cargar_mundo. procedure mundo_aleatorio;{genera un nuevo tablero: donde el usuario introducirá el tamaño del lado del tablero(llamada a la función introducir_lado), luego introducira el usuario la probabilidadde que cada casilla este viva(llamada a la función aleatorio), y por ultimo devuelve una nueva tabla (llamada al procedimiento tablero) teniendo encuenta el tamaño de la tabla y la probabilidad de que cada casilla este viva } Hace uso del resto de funciones del programa:llamada a la función introducir_lado, llamada a la función aleatorio, y llamada al procedimiento tablero. Se ha elegido: procedure tablero, crea cada casilla del tablero aleatoriamente teniendo encuenta la probabilidad de que cada una de estas casillas este viva al inicio del juego. function introducir_lado, ya que devuelve el tamaño del tablero, si este esta comprendido entre 4 y 20 casillas por lado. function aleatorio, ya que devuelve la probabilidad de que cada casilla este viva al inicio del juego(numero real comprendido entre 0 y 1). function cargar_mundo, ya que genera un nuevo estado inicial que ya esta definido en un fichero de texto. El procedimiento mundo_aleatorio: es la base para generar un nuevo tablero aleatorio, en el que se hace el uso del resto de funciones descritas (excepto la función cargar_mundo) para llevar a cabo el tablero y que funcione. 2. Descripción de los parámetros y del mecanismo de transmisión elegido para cada uno de ellos. Los mecanismos de entrada: - en la función introducir_lado: readln(max_lado) - en la function aleatorio: readln(ale) - en la function cargar_mundo: readln(fichero,linea) - procedure tablero:readln Los mecanismos de salida todos los demás. 3. Si el módulo implementa una operación compleja, breve descripción de cómo resuelve la operación, poniendo énfasis en las decisiones de diseño que se han tomado: Operaciones: He escogido la estructura del if then en vez del case of, por cuestión de rendimientos de memoria. He usado clrscr al principio del cuerpo principal para limpiar la ventana de texto. He usado matriz= array[1..20,1..20] of integer en el procedimiento tablero para crear una matriz que tenga de 1 a 20 filas y columnas. ---------------------------- (añadido tras someter) ---------------------------- 21:29:00 11/12/09 -> Segun los datos introducidos los ficheros son: G10P13D2 -> Los autores del trabajo son: Barranco Heras, Elisabeth Nombres originales de los archivos entregados -> JMUNDO.PAS, Diseño2.txt