Provee de los componentes de un lenguaje orientado a objetos, incluyendo estado, tipos de datos abstractos, objetos, clases y herencia. Posee componentes de un lenguaje funcional, incluyendo sintaxis composicional, procedimientos o funciones de primera clase y ámbito léxico. Provee de los componentes de un lenguaje lógico y con restricciones, incluyendo variables lógicas, restricciones, construcciones disyuntivas, y mecanismos de búsqueda programables. Y permite a los usuarios la creación dinámica de cualquier nu'mero de threads o hilos de ejecución.
El sistema de programación mozart ha sido desarrollado por investigadores de DFKI (Deutsches Forschungszentrum Für Künstliche Intelligenz), SICS (Swedish Institute of Computer Science), University of the Saarland, UCL (the Université Catholique de Louvain).
Aquí hay un ejemplo de la sintaxis del lenguaje:
local X Y Z in
X = 5 Y = 10
if X >= Y then Z = X else Z = Y end
end
X = 5 Y = 10
if X >= Y then Z = X else Z = Y end
end
La sintaxis es separada por bloques de código en donde la primera parte es una declaración de variables (que pueden tomar valores regresados por funciones) y la segunda parte (separada por la palabra especial "in") consiste en una serie de procedimientos que se ejecutarán.
Este es mi programa de para calcular un elemento de la serie fibonacci y el factorial de algún número.
Este es mi programa de para calcular un elemento de la serie fibonacci y el factorial de algún número.
%Esto es un comentario
/**Esto es un
comentario extendido
**/
comentario extendido
**/
local Fac Res in
proc {Fac N Res} %procedimiento
proc {Fac N Res} %procedimiento
if N < 2 then Res = 1
else Res = N * {Fac N - 1} end
end
{Fac 5 Res} %llama al procedimiento
{Browse Res}
end
local Fib
fun {Fib N} %funcion
case N %similar a switch case en C
of 0 then 0
[] 1 then 1
else {Fib N - 1} + {Fib N - 2} end
end
in
{Browse {Fib 7}} %llama a la funcion
{Browse {Fib 7}} %llama a la funcion
end
Recursos para aprender:
hola tengo este ejercicio si me pueden colaborar
ResponderEliminarEscriba el procedimiento {ForAllTail Xs P} que aplica el procedimiento P a cada sublista no vacıa
de Xs. La aplicacion del procedimiento {ForAllTail [X1 ... Xn] P} corresponde a la secuencia de sentencias:
{P [X1 X2 ... Xn]}
{P [X2 ... Xn]}
...
{P [Xn]}
parcero lo pudo hacer? colaborame enviandolo. correo cgiohidalgo@gmail.com
Eliminar