6.2 El organismo Funpro

Una especie de organismo llamada Funpro tiene reproducción sexual de forma que el cruce entre dos Funpro proporciona otros dos Funpro distintos. Cada Funpro tiene tres propiedades:

·         Nombre de tipo cadena de caracteres
·         Resistencia al PH de tipo entero
·         Resistencia a la temperatura de tipo real.


Cuando dos Funpro se cruzan, un hijo hereda los valores mayores de las dos propiedades numéricas de sus padres y el otro hijo los valores menores. Respecto al nombre cada uno hereda concatenados los nombres de los padres cambiando el orden. Esto es, si f1 = {papa, 6 , 34.5} y f2 = {mama, 4 , 38.7} son dos padres, los hijos serán h1 = {papamama, 4 , 34.5} y h2 = {mamapapa, 6 , 38.7}. Los Funpro pueden vivir en colonias de hasta 100 individuos.


6.2.1 Defina los tipos y constantes necesarios para modelar un organismo Funpro y una Colonia.











6.2.2 Defina una función para el cruce de dos Funpro.


















6.2.3 Defina una función para que dada una colonia de Funpro y un valor entero v, devuelva otra colonia con aquellos organismos que tienen resistencia al PH mayor de v.











6.2.4 Defina una función tal que dada una colonia devuelva el organismo Funpro que tiene mayor resistencia a la temperatura y la posición que ocupa en la colonia.












6.2.5 Codifique una función para que lea desde teclado las propiedades de un Funpro y lo devuelva como argumento de entrada/salida.
 









6.2.6  Codifique una función tal que dada una colonia y el nombre de un Funpro fpnom, devuelva los nombres de los Funpro que son sus vecinos, esto es, los que están una posición antes y después de fpnom en la colonia. Para simplificar el ejercicio suponga que fpnom siempre está en la colonia y que no está ni el primero ni el último.










6.2.7 Escriba un programa principal que forme una colonia con los datos de 10 organismos leídos desde teclado (use la función del apartado 5) y con esa colonia invoque a las funciones de los apartados 3, 4 y 6.






 

No hay comentarios:

Publicar un comentario