Sencillos
      Series      
      Listas      
Lista de listas
      Tuplas      
      Otros      
 
Códigos
Haskell
Videos
Diseño web
Contador de dígitos
Sencillo programa que cuenta los dígitos de un número entero.

Código fuente

cont::Int->Int
cont 0=0
cont n= 1+ cont (div n 10)
 
Suma de dígitos
Dado un número n entero se separa el primer dígito haciendo uso de la función mod n 10, para luego este sumar al cociente de la división del numero n entre 10, (div n 10).

Código fuente

suma::Int->Int
suma 0=0
suma n=(mod n 10)+suma(div n 10)
 
Producto de dígitos
Producto de los dígitos de un número entero. Recibe un número entero, con la función (mod n 10) separa el primer dígito para luego multiplicarlo con el siguiente.

Código fuente

prod::Int->Int
prod 0=1
prod n=(mod n 10)*prod(div n 10)
 
Conteo,suma y producto de dígitos
Dado un número n entero se separa el primer dígito haciendo uso de la función mod n 10, para luego este sumar al cociente de la división del número n entre 10, (div n 10).

Código fuente

cont::Int->Int
cont 0=0
cont n= 1+ cont (div n 10)

suma::Int->Int
suma 0=0
suma n=(mod n 10)+suma(div n 10)

prod::Int->Int
prod 0=1
prod n=(mod n 10)*prod(div n 10)

resultado::Int->String
resultado 0=""
resultado n="numero de digitos:"++show(cont n)++" "++"la suma es:"++show(suma n)++" "++"el producto es:"++show(prod n)

 
Factorial
Programa que recibe un número entero y devuelve la factorial del mismo.

Código fuente

fact::Int->Int
fact 0=1
fact n=n*fact(n-1)
 
Triangulo
Recibe tres números enteros y verifica si forman o no un triángulo, y si forman un triángulo, muestra que tipo de triángulo es, ya sea equilátero, isóceles, escaleno o de pitágoras.

Código fuente

triangulo::Int->Int->Int->String
triangulo a b c | a+b     | a==b&&b==c&&c==b="triangulo equilatero"
     | a==b||a==c||b==c="triangulo isoceles"
     | (a^2 + b^2)==c^2||a^2 + c^2==b^2||c^2 + b^2==a^2="triangulo rectangulo"
     |otherwise="triangulo escaleno"
 
Ordenar dos números
Programa que dados dos números enteros a y b ordena de menor a mayor a través de la distinción de casos.

Código fuente

ordenar::Int->Int->String
ordenar a b |a < b =show(a)++" "++show(b)
     |otherwise=show(b)++" "++show(a)
 
Convertir de base 10 a base b
Programa que convierte un número n en base 10 a base b, a través de la recursividad.

Código fuente

conv::Integer->Integer->Integer->Integer
conv 0 b a=0
conv n b a=(mod n 10)*(b^a) + conv (div n 10) b (a+1)

convertir::Integer->Integer->Integer
convertir 0 b=0
convertir n b=conv n b 0

 
Convertir de base b a base 10
A diferencia del anterior que convierte un numero de base 10 a base b este programa realiza lo contrario, convierte un número n en base b a base 10, a través de la recursividad.

Código fuente

conv1::Integer->Integer->Integer->Integer
conv1 0 b c =0
conv1 a b c =(mod a 10)*b^c+conv1 (div a 10) b (c+1)

conv::Integer->Integer->Integer
conv a b=conv1 a b 0

 
Ordenar los dígitos de un número
Un sencillo programa que ordena los dígitos de un número de manera ascendente.

Código fuente

inv::Integer->Integer->Integer
inv n a |n<10=n
     |otherwise=(mod n 10)*(10^(a+1))+ inv (div n 10) (a+1)
may::Integer->Integer
may n |n<10=n
     | (mod n 10)<=(mod (div n 10) 10)=may (((div n 100)*10)+(mod n 10))
     |otherwise=(may (div n 10))
ord::Integer->String
ord 0=""
ord n |mod n 10==may n=show(mod n 10)++ord (div n 10)
     |otherwise=ord (inv n 0)
 
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.