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. |
|