miércoles, 13 de mayo de 2009

Mi Tareas de Lenguaje de Programacion (LP)

Los resultados de esta tarea lo voy a poner despues ya que todavia estan evaluando la misma.
Esta tarea no contiene un alto nivel de complejidad pero si de conocimiento general, ya que son en Lenguajes diferentes.

Haskell
1. Implementación funcional de 8-Reinas
2. Implementación Lazy de un generador de números de Fibonnaci
3. Generar un árbol semi-completo a partir de una lista ordenada de números.
4. Implementación funcional de Torres de Hanói
5. Implementación Lazy del Triangulo de Pascal
6. Implementación funcional de la Criba de Erastoteles

Administración de memoria
1. Mostrar gráficamente la fragmentación de memoria: La memoria es un segmento (0, N) y cada objeto se representa como (A, B). A, B, N son Números Naturales. Implementar ID<-GET-BLOCK(SIZE) y FREE-BLOCK (ID)
2. Dado una secuencia de tokens que representa una expresión matemática (numero, +, -, *, /,^,resto,etc.).devolver el resultado utilizando únicamente una pila para almacenamiento en memoria.

3. Dado un grafo que representa la relación de los objetos en memoria, implementar los mecanismos de recolección de basura (Ver libro de Meyer).

Concurrencia (En el lenguaje que desses)
Implementar los siguientes problemas:
• Filósofos
• Barbero durmiente
• Vendedores – Clientes
Utilizando las siguientes técnicas:
• Sincronización (tareas, las citas, paso de mensajes)
• Señalización (Semáforos, Monitores)
• Comunicación (Memoria Compartida)

Spec#
Modele utilizando Spec# un TDA (Tipo de dato abstracto) para las siguientes estructuras de datos:
• Pila
• Cola
• Cola con prioridad
• Diccionario

NOTA: No se requiere la implementación de la estructura (use throw new Exception(“Not implemented”) como cuerpo de los miembros según sea necesario)

Python
Implemente un pequeño framework para el “Diseño por contrato” en Python y argumente su usabilidad. (NOTA: Este ejercicio puede complicarse tanto como se desee; se necesita solamente una implementación básica y simple, justificando el por qué de la utilización de la(s) característica(s) del lenguaje python que haya seleccionado. Tenga en cuenta que existen múltiples frameworks para el diseño por contrato en Python por lo que no tiene sentido desgastarse reinventado la rueda).

Delphi Prim
Como podrán ver en este lenguaje se tiene una gran variedad de recursos. Por lo que para este lenguaje los problemas serian más o menos los mismos que los planteados para los temas anteriores.
1. Modele utilizando Delphi Prim un TDA (Tipo de dato abstracto) para las siguientes estructuras de datos:
o Pila
o Cola
o Cola con prioridad
o Diccionario
Nota: Use las características de este lenguaje que permiten el Diseño por Contratos. De hacer esta pregunta compárela con la implementación de Spec#

2. Implementar los siguientes problemas:
• Filósofos
• Barbero durmiente
• Vendedores – Clientes
Utilizando las siguientes técnicas:
• Sincronización (tareas, las citas, paso de mensajes)
• Señalización (Semáforos, Monitores)
• Comunicación (Memoria Compartida)

Use las características del lenguaje que permiten el uso de programación paralela.

3. Cuál o cuales características de este lenguaje le gusto mas y porque. Considere otro lenguaje donde quisiera tener estas características .

No hay comentarios:

Publicar un comentario