Igual supuestamente no es para entregar, lista nos tomó Lucas como siempre desde su lista de la notebook y no nos pidieron nada. O sea fue un ejercicio en el pizarron que dijo q lo podiamos hacer de a 2 o 3 así nomas.
El ejercicio no lo copié todo, pero te paso lo que tengo
Te da la lista de Sospechosos
[("Pedro",20,'a'),("Juan",30,'b'),("Ana",18,'a'),("Pedro",80,'e')]
a) Tenias que hacer la funcion elAsesinoEs que recibe como parámetro la lista de Sospechosos
Sabiendo los siguientes indicios
- Se llama Pedro
- Tiene meos de 25 años
- Aparece en la prueba 'a' o 'e'
b) Hacer que elAsesinoEs reciba como parámetros 3 indicios, que podrían ser distintos a los anteriores, y la lista y te devuelva el asesino
(Como indicios le vas a pasar funciones como por ejemplo seLlamaJuan esMenorDe25 pruebaC)
Este punto lo resolvió a medias asi:
elAsesinoEs ind1 ind2 ind3 sospechosos = filter (esAsesinoB ind1 ind2 ind3) sospechosos
esAsesinoB ind1 ind2 ind3 alguien = ind1 alguien && ind2 alguien && ind3 alguien
Si te fijás, a esAsesinoB le pasa 3 parametros, cuando debería recibir 4 y eso no lo entendiamos porque no habia explicado Aplicacion Parcial, que es lo que vimos la última clase (si no me equivoco)
Había otro punto más, pero no lo anoté y mucho no me acuerdo, creo que era algo con Map en vez de Filter
Te paso unos ejemplos de Filter y Map por las dudas
> filter esPedro ["Juan","Carlos","Pedro","Pedro"]
["Pedro","Pedro"]
> map length ["hola","adios","fin"]
[4,5,3]
Y Orden Superior es cuando una funcion recibe como parametro otra función (como lo de los indicios)