Enunciado de la Práctica del Juego de la Vida en C

Páginas: 5 (1051 palabras) Publicado: 11 de junio de 2013
Programación

2011/2012

 

Práctica I: El Juego de la Vida
Definición del Problema
Queremos simular una sociedad de organismos vivos, llamados células. Todas las células
son idénticas, y coexisten en un tablero denominado espacio celular. Cada célula es capaz de
percibir a sus 8 células vecinas en el espacio celular. Por ejemplo, en la siguiente figura, la célula
C es capaz depercibir a sus 8 vecinos denotados por V:
V

V

V

V

C

V

V

V

V

El espacio celular no es circular, en todas direcciones. Por ejemplo, en la figura anterior los
vecinos de C son 8. En cambio, en la figura siguiente los vecinos de C son sólo 3.
V

V

C

V

V

V

V

V

V

A lo largo del tiempo, una célula puede estar en uno de dos posibles estados: Viva oMuerta. La población de celdas va cambiando en el tiempo según ciertas reglas bien definidas.
Estas reglas determinan el estado que tendrán las células en la siguiente generación. Las reglas
son:
 Supervivencia: Si una célula está rodeada por dos o tres células vivas en la generación
actual, permanecerá viva en la siguiente generación.
 Nacimiento: Si una célula muerta está rodeada porexactamente tres células vivas en la
generación actual, nacerá (estará viva) en la siguiente generación.
 Muerte por soledad: Si una célula no tiene ningún vecino vivo, o si tiene sólo uno en la
generación actual, morirá de soledad por lo que estará muerta en la siguiente generación.
I.E.S. Pradolongo – Departamento de Informática  1 
 

Programación

2011/2012

 

 Muerte porsobrepoblación: Si una célula tiene cuatro o más vecinos vivos en la
generación actual, morirá a causa de la sobrepoblación por lo que estará muerta en la
siguiente generación.
Para conocer el estado de la población en la siguiente generación, deben aplicarse estas
reglas en forma simultánea a todas las células del espacio, mirando únicamente el estado actual,
es decir, mirando el estado de las células enla generación actual.
Un autómata celular es un sistema que modela el comportamiento de un espacio celular
aplicando reglas como las anteriores, generación por generación. Las reglas dadas anteriormente
pueden resumirse de la siguiente manera:
 Toda celda viva con dos o tres vecinos vivos, sobrevive.
 Toda celda muere si, estando viva, tiene en la generación actual cuatro o más vecinosvivos, o uno o menos vecinos vivos.
 Una celda muerta nace cuando tiene exactamente tres vecinos vivos.
La forma más apropiada para representar el espacio celular en un programa, es mediante un
arreglo de dos dimensiones, o matriz. Para poder determinar el estado de la siguiente generación,
se requiere una segunda matriz, pues no se puede perder el estado actual mientras se está
calculando elsiguiente. Para trabajar con varias generaciones pueden utilizarse las mismas dos
matrices.

Trabajo a Desarrollar
Escribir un programa en C que implemente un autómata celular para simular el
comportamiento de un espacio celular particular. La configuración original del espacio, es decir,
cuáles celdas están vivas, debe ingresarse por teclado de la manera que mejor considere.
El espaciocelular tendrá un tamaño no mayor que 100 por 100. Una vez que haya leído la
configuración de la células, el programa debe interrogar al usuario para determinar la cantidad
de generaciones que se quieren procesar. Como resultado el programa debe mostrar por pantalla
la evolución, generación por generación del espacio celular.
Cómo abordar el problema:
1. Estudiar detenidamente el problema yanalizar una forma de resolverlo. Una idea es
definir un programa principal que defina la estructura del programa, y una serie de
funciones, que realicen el trabajo. Pensar en qué funciones podría construir considerando
I.E.S. Pradolongo – Departamento de Informática  2 
 

Programación

2011/2012

 

la tarea que cada una de ella va a llevar a cabo, qué parámetros va a recibir y qué...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • El juego de la vida-programacion c
  • Enunciado programa c++ cajero
  • Enunciado practica modelado de sistemas
  • Enunciado de una practica de auditoria
  • Enunciado Practica 1
  • la vida en juego
  • El juego de la vida
  • La vida no es un juego

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS