Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Pregunta Paradigma Funcional
Autor Mensaje
fedee90 Sin conexión
Militante
_
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 66
Agradecimientos dados: 20
Agradecimientos: 7 en 7 posts
Registro en: Mar 2009
Facebook Twitter
Mensaje: #1
Pregunta Paradigma Funcional Ejercicios Paradigmas de Programación
Alguno podrá ayudarme con este punto le agradecería:

*Definir la función esMultiploDeAlguno, que recibe un número y una lista y devuelve True si el número es múltiplo de algunos de los números de la lista.
Main> esMultiploDeAlguno 15 [2,3,4]
True

Yo propuse:
esMultiploDeAlguno nro lista = any (funcion) lista
funcion nro lista | mod nro lista ==0 = True
| otherwise = False

... pero no funca...
13-05-2012 19:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #2
RE: Pregunta Paradigma Funcional
tenes que separa la lista en cabeza y cola

comparas el numero con la cabeza y llamas de nuevo a la funcion con el numero y el resto de la lista

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
13-05-2012 19:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fedee90 Sin conexión
Militante
_
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 66
Agradecimientos dados: 20
Agradecimientos: 7 en 7 posts
Registro en: Mar 2009
Facebook Twitter
Mensaje: #3
RE: Pregunta Paradigma Funcional
y como se hace correctamente? (aclaracion: no entiendo casi nada de esto jaja)

yo puse:
esMultiploDeAlguno nro lista = any (funcion) lista
funcion nro (cab:cola) | mod nro cab ==0 = funcion nro cola
| otherwise = False

gracias!
13-05-2012 19:25
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #4
RE: Pregunta Paradigma Funcional
Nunca me gusto funcional.... bah, nunca me gusto paradigmas.

Mucho no me acuerdo, pero proba esto:

esMultiplo num list = filter (funcion num) list

funcion num elemLista = mod num elemLista ==0



filter le aplica la funcion a cada elemento de la lista

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
13-05-2012 22:09
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
shecoop Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 113
Agradecimientos dados: 18
Agradecimientos: 29 en 14 posts
Registro en: Mar 2010
Mensaje: #5
RE: Pregunta Paradigma Funcional
Estas mezclando recursividad con orden superior.

Con recursividad se resolvería de esta forma:

esMultiploDeAlguno nro (cab:cola) = esMultiplo nro cab || esMultiploDeAlguno nro cola
esMultiploDeAlguno _ [] = False

esMultiplo nro x = mod nro x == 0


Ademas te faltaba el caso base.

Sin recursividad sería:


esMultiploDeAlguno nro lista = any (esMultipo nro) lista


(13-05-2012 22:09)el pibe escribió:  Nunca me gusto funcional.... bah, nunca me gusto paradigmas.

Mucho no me acuerdo, pero proba esto:

esMultiplo num list = filter (funcion num) list

funcion num elemLista = mod num elemLista ==0



filter le aplica la funcion a cada elemento de la lista

Nono, filter no, filter es para filitrar una lista, y te crea una nueva de acuerdo al criterio que le pasas.
(Este mensaje fue modificado por última vez en: 13-05-2012 22:18 por shecoop.)
13-05-2012 22:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #6
RE: Pregunta Paradigma Funcional
(13-05-2012 22:16)shecoop escribió:  
(13-05-2012 22:09)el pibe escribió:  Nunca me gusto funcional.... bah, nunca me gusto paradigmas.

Mucho no me acuerdo, pero proba esto:

esMultiplo num list = filter (funcion num) list

funcion num elemLista = mod num elemLista ==0



filter le aplica la funcion a cada elemento de la lista

Nono, filter no, filter es para filitrar una lista, y te crea una nueva de acuerdo al criterio que le pasas.

Por eso, me falto decir que te devuelve otra lista, filtrada (es decir, aplicandole la funcion a cada elemento).

De todas formas, funca con el filter ?

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
13-05-2012 22:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.112
Agradecimientos dados: 763
Agradecimientos: 732 en 317 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #7
RE: Pregunta Paradigma Funcional
pero quiere saber si al menos uno es multiplo de la lista

para mi recursividad va


sino el any tambien que le pasas una funcion y te dice si algun elemento la cumple, pasandole una lista

pero no hay que aplicar recursividad y el any ehh


suponiendo que lo que recuerde de funcional sea correcto =P
ah ahi vi que ya pusieron la posibilidad con el any blush
Los chicos de paradigmas te dirian que es mas feliz que lo hagas con el any que con recursividad

digamos que solo debe usarse como ultima instancia (?)

[Imagen: v34BEFt.gif]
(Este mensaje fue modificado por última vez en: 13-05-2012 22:39 por gonnza.)
13-05-2012 22:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
shecoop Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 113
Agradecimientos dados: 18
Agradecimientos: 29 en 14 posts
Registro en: Mar 2010
Mensaje: #8
RE: Pregunta Paradigma Funcional
No filter no sirve porque vos lo que queres es que te devuelva True o False, y eso es lo que hace el any. El filter te devuelve una nueva lista. En todo caso podrias preguntar si esa lista filtrada tiene algun elemento (length > 1) Pero ya es muy algoritmico, teniendo la posibilidad de usar any.
13-05-2012 22:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #9
RE: Pregunta Paradigma Funcional
ah, lei mal el enunciado =P

Pense que decia informar cuales eran multiplos

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
14-05-2012 19:48
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Fly Sin conexión
Secretario de la SAE
estado sólido
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 512
Agradecimientos dados: 118
Agradecimientos: 169 en 58 posts
Registro en: May 2011
Mensaje: #10
RE: Pregunta Paradigma Funcional


sinRepetidos [] = []
sinRepetidos (x:xs) | elem x xs = sinRepetidos xs
| otherwise = x : sinRepetidos xs


(Este mensaje fue modificado por última vez en: 24-07-2012 09:42 por Fly.)
24-07-2012 09:40
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.