Multiparadigma
Oz
Oz contiene una forma simple y bien hecha de la mayoría de los conceptos de los principales paradigmas de programación, incluyendo programación lógica, funcional, imperativa,orientada a objetos, con restricciones, distribuida, concurrente.
Como complemento a la programación multiparadigma, las principales ventajas de Oz radican en la programación con restricciones y la programación distribuida. Debido a su diseño, Oz implementa un modelo de programación distribuido que hace a la red transparente. Este modelo hace fácil programar aplicaciones abiertas y tolerantes a fallas en el lenguaje. Para Programación con restricciones, Oz introduce la idea de espacios de computación, los cuales permiten búsquedas definidas por el usuario y estrategias de distribución que son ortogonales al dominio de restricciones.
local I F C in //Declaramos las variables I, F y C
I = 5 //Asigna a I un entero
F = 5.5 //Asigna a F un float
C = &t //Asigna a C un caracter
{Browse [I F C]} //Muestra el valor de I, F y C
end
Bibliografia
http://www.mozart-oz.org/documentation/tutorial/node3.html#chapter.basics
http://es.wikipedia.org/wiki/Oz_(lenguaje_de_programaci%C3%B3n)
Lenguajes De Programación
miércoles, 17 de noviembre de 2010
Reporte #7
Lenguajes Orientados A Objetos:
Java y C++
Ejemplo:
La salida por pantalla será algo como esto:
Java y C++
Ejemplo:
Se desea ingresar por teclado tres resultados de exámenes, e imprimir el 1º y último.
La salida por pantalla será algo como esto:
El siguiente programa realiza una clase para crear un punto con las coordenadas (X ,Y) :
Bibliografia
miércoles, 10 de noviembre de 2010
Reporte # 6 Lenguajes Imperativos
Los Lenguajes que elegí son : C, Fortran, Pascal y Basic
C
El programa que hice es el siguiente:
Este es un programa que busca en una matriz el numero de veces que se repite determinado numero.
Fortran
El programa calcula el factorial de un numero:
C
El programa que hice es el siguiente:
Este es un programa que busca en una matriz el numero de veces que se repite determinado numero.
Compilamos...
Primero nos pide el numero de filas y columnas, en este caso, hice una matriz de 3x3
Luego nos pide cada elemento de la matriz;
Después nos pide el numero que va a buscar : yo elegi el 2
y al final "imprime" la matriz y el numero de veces que se repite el numero buscado:
Fortran
El programa calcula el factorial de un numero:
FUNCTION factorial(n)
INTEGER factorial
INTEGER, INTENT(IN) :: n
IF (n==0) THEN
factorial = 1
ELSE
factorial = factorial * factorial(n-1)
END IF
END FUNCTION factorial
Pascal
El programa en pascal calcula el área de un triangulo en base a los datos que damos:
Program area;
var area, base, altura : real;
begin
write ('Dame Base : ');
readln(base);
write('Dame Altura: ')
readln(altura);
area := (base * altura)/2
writeln('El Area es =', area:0:2); {:0:2 sirve para dar el formato de salida al numero}
readln;
end
Basic
Programa que calcula la serie de fibonacci:
Private Sub Form_Load()
Dim fibonacci(20) As Long
Dim i As Integer
fibonacci(1) = 1
fibonacci(2) = 1
For intCount = 3 To 10
fibonacci(intCount) = fibonacci(intCount - 1) + fibonacci(intCount - 2)
Next intCount
For i = 1 To 10
Debug.Print fibonacci(i)
Next i
End Sub
Dim fibonacci(20) As Long
Dim i As Integer
fibonacci(1) = 1
fibonacci(2) = 1
For intCount = 3 To 10
fibonacci(intCount) = fibonacci(intCount - 1) + fibonacci(intCount - 2)
Next intCount
For i = 1 To 10
Debug.Print fibonacci(i)
Next i
End Sub
Bibliografía
viernes, 29 de octubre de 2010
miércoles, 20 de octubre de 2010
Tarea # 5 Problema Lógico
Caníbales y Misioneros
Tres misioneros y tres canibales se encuentran juntos, con un bote, en el mismo lado del rio, el bote puede transportar como maximo 2 personas . La unica manera segura de hacerlo es que en cada orilla del río nunca puedan haber mas canibales que misioneros, ¿Como podemos trasladar a las 6 personas de un lado del rio al otro?
En seguida pondré los pasos que realice para encontrara la solución al problema.
Comencé con los 3 misioneros y los 3 caníbales del lado derecho y tendrán que cruzar al lado izquierdo del río :
C= caníbales
M=misioneros
Estado inicial
Lado Izquierdo Lado derecho
0M; 0C 3M; 3C
2C 3M; 1C
1C 3M; 2C
3C 3M
2C 3M; 1C
2C; 2M 1M; 1C
1C; 1M 2M; 2C
1C; 3M 2C
3M 3C
3M; 2C 1C
3M; 1C 2C
3M; 3C
Este es un link del problema de "caníbales y misioneros" en el que podrán probar mi solución o encontrar alguna otra: http://www.plastelina.net/games/game2.html
Prolog
Y aquí el código en Prolog
% predicado a llamar desde la consola (esto lo usaremos para mostrar el resultado)
resolverCanMis(S):- busquedaProf(estado(3,3,0,0,0),[estado(3,3,0,0,0)],S).
Tres misioneros y tres canibales se encuentran juntos, con un bote, en el mismo lado del rio, el bote puede transportar como maximo 2 personas . La unica manera segura de hacerlo es que en cada orilla del río nunca puedan haber mas canibales que misioneros, ¿Como podemos trasladar a las 6 personas de un lado del rio al otro?
En seguida pondré los pasos que realice para encontrara la solución al problema.
Comencé con los 3 misioneros y los 3 caníbales del lado derecho y tendrán que cruzar al lado izquierdo del río :
C= caníbales
M=misioneros
Estado inicial
Lado Izquierdo Lado derecho
0M; 0C 3M; 3C
2C 3M; 1C
1C 3M; 2C
3C 3M
2C 3M; 1C
2C; 2M 1M; 1C
1C; 1M 2M; 2C
1C; 3M 2C
3M 3C
3M; 2C 1C
3M; 1C 2C
3M; 3C
Este es un link del problema de "caníbales y misioneros" en el que podrán probar mi solución o encontrar alguna otra: http://www.plastelina.net/games/game2.html
Prolog
Y aquí el código en Prolog
resolverCanMis(S):- busquedaProf(estado(3,3,0,0,0),[estado(3,3,0,0,0)],S).
miércoles, 13 de octubre de 2010
Reporte #4 Lenguajes Funcionales (CORREGIDO)
Los lenguajes que elegí fueron R y Haskell:
Y use las funciones para obtener el mínimo y el máximo valor de cada matriz:
Bibliografía
http://it.ciidit.uanl.mx/~sara/pres/lp/leng_s8.pdf
http://cran.r-project.org/doc/contrib/Short-refcard.pdf
http://www.haskell.org/haskellwiki/Learn_Haskell_in_10_minutes
http://en.wikibooks.org/wiki/R_Programming
http://es.wikipedia.org/wiki/Haskell
http://es.efreedom.com/Question/1-1105765/Generacion-de-numeros-de-Fibonacci-en-Haskell
Primero declare las matrices que utilizare "x" y "y" :
Hice que "x" tomo los valores de 1 a 15, y después di las dimensiones de la matriz que es 5x3
Después declare la matriz "y" con una secuencia de números a partir del 2 hasta el 30 de 2 en 2, y le di las dimensiones 5x3.
Después use la función sum( ) para sumar los elementos de cada matriz:
También hice operaciones con las matrices:
Suma
ProductoY use las funciones para obtener el mínimo y el máximo valor de cada matriz:
*** Les dejo una tarjeta de referencia para R por si la necesitan:
http://cran.r-project.org/doc/contrib/Short-refcard.pdf
Haskell
Programa que calcula la serie de Fibonacci:
fib :: Integer -> Integer
fib 0 = 1
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
Bibliografía
http://it.ciidit.uanl.mx/~sara/pres/lp/leng_s8.pdf
http://cran.r-project.org/doc/contrib/Short-refcard.pdf
http://www.haskell.org/haskellwiki/Learn_Haskell_in_10_minutes
http://en.wikibooks.org/wiki/R_Programming
http://es.wikipedia.org/wiki/Haskell
http://es.efreedom.com/Question/1-1105765/Generacion-de-numeros-de-Fibonacci-en-Haskell
miércoles, 8 de septiembre de 2010
Presentacion #2
Esta es la presentación del equipo del tema de ordenamiento por mezcla(Mergesort).
Mergesort(descargar)
Raúl Rodríguez
Julio García
Mergesort(descargar)
Mergesort
View more presentations from rul05.
Raúl Rodríguez
Julio García
Suscribirse a:
Entradas (Atom)