Aguante arbolito
objetivos
● usar
funciones existentes
● orden
superior (hacerlo, no sólo usarlo)
● map,
filter, all, any
● composición
● listas
por comprensión y expresión lambda
● aplicación
parcial
● una
inferencia de tipos / utilización de tipos genéricos
● que
tengan que modelar alguna parte ellos. combinaciones de valores
● que
inventen una función
En
una plantación de árboles de una reserva natural nos contrataron para realizar
un sistema que permita mejorar el seguimiento y control de todos los árboles.
Se
pide resolver los siguientes puntos utilizando los conceptos aprendidos del
paradigma funcional que crea conveniente.
Primera
parte
La pampa tiene el ombú
Un árbol está
representado por una tupla de 4 elementos (especie, metros de altura, metros
de ancho, vitalidad). En la reserva encontramos, por ejemplo, los
siguientes arboles:
arbolesEn “la reserva” = [(jacaranda, 6,
1, 1.4), (pino, 5, 3, 1.9), (castaño, 3, 5, 0.6), (eucalipto, 5, 4, 0.7),
(jacaranda, 10, 2, 1.0), (cerezo, 7, 11, 0.9),(ombu, 8, 10, 2.1)]
Las especies están representadas
de la siguiente manera, donde la primer componente es el nombre de la especie,
la segunda es la función de crecimiento y la tercera representa un clima típico
de esa especie, que se explican más adelante:
jacaranda
= (“jacaranda”, progresivo, lluvia 20)
a) Obtener los nombres de las especies de los
árboles frondosos, que son los que su altura está entre 6 y 15 metros y la
anchura supera la altura.
frondosos
arbolesDeLaReserva
[“cerezo”,
“ombu”]
b) Saber si todos los arboles frondosos tienen
buena vitalidad, es decir, mayor a 1.
todosLosFrondososSonVitales
(arbolesDe “la reserva”)
False
(el cerezo es frondoso pero tiene vitalidad 0.9)
¡Qué buen clima!
a) Implementar los siguientes factores climáticos
que pueden modificar los arboles.
●
lluvia milimetros unArbol, al llover aumenta en
un 1 metro la altura del árbol y además aumenta la vitalidad del árbol en un
porcentaje igual a los milímetros recibidos.
●
temperatura grados unArbol, si es una
temperatura bajo cero disminuye la vitalidad a la mitad,si es de más de 40
también disminuye vitalidad pero en un 40% y entre medio, no lo afecta.
●
granizo unArbol, disminuye a la mitad el
ancho y alto del árbol.
b) Hacer que a
todos los árboles de un conjunto dado los afecte su correspondiente clima
típico.
Dejalo crecer que ya le va a
llegar la poda...
Se sabe
también que la tipo de crecimiento depende de la especie del árbol. El tipo de
crecimiento representa en de qué manera aumentará la altura de un árbol el año
próximo respecto de su altura actual. También a los árboles hay que podarlos
para que tengan más vitalidad.
progresivo
x = x / 2
escalonado
x = sqrt x
torcido
= progresivo.escalonado
a) Conocer la nueva altura que tendrá un árbol
al año siguiente.
nuevaAltura
(head (arbolesEn “la reserva”))
9
(medía 6 metros y como todos los jacarandaes son de
crecimiento rápido, por lo que aumenta la mitad de su altura, o sea 3 metros)
b)
podar 2
((arbolesEn “la reserva”)!!4)
(“eucalipto”,
3, 2, 0.77)
c) Pensar una nueva especie de arboles, que
tenga una nueva función de crecimiento y un clima típico propio y garantizar
que todo siga funcionando.