Práctica TLP 2014

Páginas: 4 (823 palabras) Publicado: 27 de diciembre de 2014
1. ­Descripción de las funciones programadas.

Como no podía ser de otra manera se han desarrollado las funciones que se indican en la guía de la práctica y además se han desarrollado otrasfunciones auxiliares para llevar a cabo su cometido.

DosQueSumen

dosQueSumen :: (Eq t, Num t) => t -> [t] -> [(t, t)]
dosQueSumen n [] = []
dosQueSumen n (x:xs) = combinar2 (x, xs, n) ++dosQueSumen n xs


Con esta función se obtiene una lista con todas las parejas de sumandos que sumen un cierto valor n. Si la lista está vacía se devuelve una lista vacía puesto que no hay números quesumen n. En otro caso, se concatena el resultado de combinar2 al resultado acumulado en la llamada recursiva. Como se dijo, hace uso de la siguiente función:

combinar2 :: (Eq t, Num t) => (t, [t], t)-> [(t, t)]
combinar2 (x,[],_) = []
combinar2 (x,y:ys,n) = if x+y==n then
(x,y):combinar2(x,ys,n) else combinar2(x,ys,n)

Lo que hace es que dado un número n y una listadevuelve todas las parejas formadas por ese número y cada elemento de la lista. Se concatena cada pareja de números que sumen el número buscado al inicio de la lista, en caso de que los números no sumen nse llama recursivamente a la función pero sin concatenar la pareja de sumandos y quitando el elemento y.

sinRepes

sinRepes :: Eq a => [(a, a)] -> [(a, a)]
sinRepes l = sinRepes' l []where
sinRepes' [] _ = []
sinRepes' (x:xs) ls
| myelem x ls = sinRepes' xs ls
| otherwise = x : sinRepes' xs (x:ls)


La siguiente función solicitada es sinRepes,la cual elimina las posibles parejas repetidas de sumandos y también hace uso de otras funciones auxiliares. Hay una función en Haskell que se encarga de eliminar los elementos repetidos de una listamanteniendo sólo el primero, esta función se ha desarrollado a semenejanza de nub pero modificándola para que elimine también las duplas que representan la misma suma como (3,5) y (5,3). La función...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Practicos RC IVA 2014
  • Caso Practico IVA 2014
  • Practica 01 2014
  • practica de excel 2014
  • 2ET Practica Dirigida 2014
  • 2014 Trabajo Practico Integrador
  • Proyecto De Practica 2014 Parte Final
  • Trabajo Practico Cocina Solar 2014

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS