Sencillos
      Series      
      Listas      
Lista de listas
      Tuplas      
      Otros      
 
Códigos
Haskell
Videos
Diseño web
Lista de la serie de fibonacci

Programa que dada una lista de números enteros,devuelve solo aquellos numeros que pertenecen a la serie de fibonacci

Código fuente

ver::Int->Int->Int->Bool
ver a b 0=True
ver a b n|(a+b)==n=True
    |a+b>n=False
    |otherwise=ver b (a+b) n

selfibo::[Int]->[Int]
selfibo []=[]
selfibo (x:xs)|k==True=x:selfibo xs
    |otherwise=selfibo xs
    where k=ver 0 1 x

 
Cuenta sietes

Función que cuenta cuantas veces se repite el número 7 en la lista.

Código fuente

rep7::[Int]->Int
rep7 []=0
rep7 (x:xs) |x==7=1 + rep7(xs)
   |otherwise=rep7(xs)
 
Cuenta repetidos

Realizando una pequeña modificación a la función rep7, esta función cuenta cuantas veces se repite cualquier número de la lista.

Código fuente

repn::[Int]->Int->Int
repn [] n=0
repn (x:xs) n|x==n=1 + repn(xs) n
     |otherwise=repn(xs) n
 
Lista de pares e impares
Este programa divide en dos grupos a los elementos pares e impares de una lista

Código fuente

par::[Int]->[Int]
par []=[]
par (a:as)|mod a 2==0=a:par as
     |True=par as

impar::[Int]->[Int]
impar []=[]
impar (a:as)|mod a 2/=0=a:impar as
     |True=impar as

pi::[Int]->String
pi xs="Los pares son:"++show(par xs)++" Los impares son:"++show(impar xs)

 
Lista de vocales
De una cadena de caracteres selecciona las vocales y las devuelve en otra lista de candenas.

Código fuente

voc::String->String
voc ""=""
voc n|k=="a"||k=="e"||k=="i"||k=="o"||k=="u"=k++(voc (tail n))
     |otherwise=""++(voc (tail n))
     where k=take 1 n

vc::[String]->[String]
vc []=[]
vc (x:xs)=(voc x):(vc xs)

 
Lista de números perfectos
Dada una lista de números enteros, devuelve en otra lista de enteros todos los números perfectos.

Código fuente

per::Int->Int->Int
per a 0=0
per a b|(mod a b)==0=b+(per a (b-1))
     |otherwise=per a (b-1)

pr::[Int]->[Int]
pr []=[]
pr (x:xs)|x==k=x:(pr xs)
     |otherwise=pr xs
     where k=per x (x-1)

 
Lista de repetidos
Dadas dos listas de números enteros, este programa muestra en otra lista de enteros todos los números que se repiten en ambas listas.

Código fuente

rep::Int->[Int]->[Int]
rep _ []=[]
rep a (b:bs)|a==b=a:rep a []
     |otherwise=rep a (bs)

rp::[Int]->[Int]->[Int]
rp [] (ys)=[]
rp (x:xs) (ys)=k++rp (xs) (ys)
     where k=rep x (ys)

 
Buscador de palabras
Este programa busca las palabras que tengan "a"(o la letra que querramos) en la tercera letra.

Código fuente

e1::String->String->String
e1 a (k)|take 1 (drop 2 k)==a=k
     |otherwise=""

e3::String->[String]->[String]
e3 _ []=[]
e3 m (x:xs)|(e1 m x)==""=(e3 m xs)
     |otherwise=(e1 m x):(e3 m xs)

 
Nuevo
Publicado el:
22 - Agosto - 2009
Códigos Pascal
Triangulo
Este programa determina si los catetos e hipotenusa introducidos, forman o no un triángulo, si es asi muestra que tipo de triángulo es, ya sea triángulo equilátero, isóceles, rectángulo o escaleno.
 
Nuevo
Publicado el:
22 - Agosto - 2009
Haskell
Serie Fibonacci
Lista de la serie de fibonacci Programa que dada una lista de números enteros, devuelve solo aquellos numeros que pertenecen a la serie de fibonacci.
 
Nuevo
Publicado el:
21 - Agosto - 2009
Haskell
Suma diagonal principal
Dada una lista de listas o matriz de números enteros, realiza la suma de la diagonal principal.