viernes, 29 de octubre de 2010

Actividad 4

LENGUAJES FUNCIONALES


Ke onda compañeros ..
aqui les dejo 2 porgrams uno sencillito y otro unpoquito mas complicado elaborados en HASKELL...
batalle un chorro en econtrar un tutorial bueno que me puediera explicar aparte que tambien recivi ayuda.
espero les sirva esta actividad.




















Haskell es un lenguaje de programación puramente funcional de propósito general yfuertemente tipado. Su nombre proviene del lógico Haskell Curry.


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)





suma::Int->Int

Lo que hace este programa es que cuando la variable n asuma el valor de 0 la función devolverá el valor de 0.

-----------------------------------------------------------------------------------------------------------------------------------


Otro programa realizado en Haskell conunpoquito mas de grado de dificultad bueno para mi si lo fue,.. que se encarga  de sumar.. el numero que le introdusiste o mas bien que sele dio al valor de n y depsues que los suma a cada uno de sus digitos por ejemplo 150.. loke ara el programa es sumas 1+5+0 = 6


Lueog los multiplicara y lansara el resultadoo...
1*5*0 = 0
 ly ahi acaba el programa.


Codigo


digitos ::Int->Int

digitos 0 = 0

digitos n =1+digitos (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)



*****************************************************************
Yo me base mas en Haskell porque seme hizo mas sencillo
espeor les srivan estos programithas..
saludos
y los veo en clase :)









miércoles, 27 de octubre de 2010

Clase 3

ALGORITMO DE KRUSKAL


Actividad 5..!!

PROBLEMA LOGICO

El rompecabezas: A, de cuatro pulgadas cubo sólido de madera está cubierto con pintura azul en los seis lados. 


Entonces el cubo se corta en pequeños cubos de una pulgada. 



Estos nuevos cubos de una pulgada tendrá o tres lados azul, dos caras azules, de un lado azul, o ningún lado azul. ¿Cuántos de cada uno habrá?




Cut Cube

sOLUCION...


Hay 24 con una cara de color porque es como si tubieras el original solo con lineas de corte , 8 con tres caras de colores, 24 con dos lados de color, ose alo mismo porque aora se puede ver por su interior, y 8 sin lados de color.






PROGRAMA REALIZADO EN PROLOG

Este programa aunque no sea del mismo tipo que me toco ami lo realize y realiza comparaciones de una familia donde indica que si es hermano, papa..etc.