====== 75.14. Lenguajes Formales ======
Este es sólo un esqueleto sobre esta materia; te invitamos a que colabores completando la información relativa a la misma; al editar tendrás todas las instrucciones para hacerlo.
**Coordinador:** [[monicakuhn2@yahoo.com.ar|Monica Kuhn]]\\
**Página web oficial:** [[http://ar.groups.yahoo.com/group/Lenguajes_Formales/]]\\
++++Carreras:|
^ Carrera ^ Créditos ^ Correlativas ^ Condición ^
|[[carreras:sistemas|Licenciatura en Análisis de Sistemas]] | 6 | [[materias:61:07|61.07]] | Optativa |
|[[carreras:informática|Ingeniería en Informática]] | 6 | [[materias:61:09|61.09]] | Optativa |
++++
===== Programa =====
++++Objetivos|
Que el alumno aprenda programación funcional basándose en los conceptos teóricos básicos del Cálculo
Lambda utilizando en la práctica los lenguajes funcionales Lisp, FP y APL.\\
++++
++++Programa sintético|
- Unidad 1: Sistema FP
- Conjuntos de objetos: átomos, secuencias e indefinido.
- Funciones primitivas: selectores, distribución, trasposición, rotación, condicional, predicados.
- Formas funcionales: composición, construcción, inserción aplicación a todo. Definición de funciones.
- Unidad 2: APL
- Tipos de datos simples y estructurados. Modo comando y modo programa.
- Operadores monádicos y diádicos. Operadores aplicados a vectores y matrices. Producto interno y producto externo.
- Definición de funciones y procedimientos. Transmisión de parámetros.
- Unidad 3: Cálculo Lambda
- Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución.
- Reglas de conversión: alfa, beta y etha. Orden de evaluación: o. Normal y o aplicativo. Combinadores. Puntos fijos.
- Aplicaciones: Conectivos proposicionales, numerales de Church, Thunks.
- Unidad 4: Lisp
- Átomos y Listas. Primitivas básicas de Lisp. Predicados y condicionales. Definición de funciones. Pasaje de parámetros. Abstracción de funciones y recursividad. Intérrprete de Basic en Lisp. Intérprete de Lisp en Lisp. Definición de pattern matching. Aplicaciones a la inteligencia artificial: Sistemas de producción.
++++
++++Programa analítico|
- Unidad I Sistema FP
- Átomos, secuencias e indefinido. Funciones primitivas. Formas funcionales. Definición de funciones
- Unidad II APL
- Tipos de datos simples y estructurados. Operadores monádicos y diádicos. Operadores aplicados a vectores y matrices. Definición de funciones y procedimientos. Transmisión de parámetros.
- Unidad III Cálculo Lambda
- Definición. Sintaxis. Variables libres y ligadas. Reglas de substitución. Reglas de conversión alfa beta y etha. Orden de evaluación: o. normal y o. aplicativo. Aplicaciones.
- Unidad IV Lisp
++++
===== Cursos =====
++++Mostrar cursos|
^ Curso ^ Modalidad ^ Docentes ^ Días ^ Horario ^
| 1 | TPO |KUHN-BERGMAN-CORSI-FRETTE| lunes y martes | L-> 09:00 - 11:00 y M-> 19:00 - 23:00 |
++++
La materia sólamente se dicta los primeros cuatrimestres de cada año
===== Material =====
++++Guías|
- {{:materias:75:14:guias_1_a_7.pdf|Guía de ejercicios}}
- [[.14:guia_LISP|Guía de TP de LISP en X-LISP]]
- [[.14:adicionales_LISP|Ejercicios adicionales de LISP en X-LISP]]
++++
++++Parciales|
- [[.14:parcial_20070508_1|Primer parcial primera oportunidad, Funcional y APL. Primer cuatrimestre 2007]]
- [[.14:parcial_20071906_1|Segundo parcial primera oportunidad, Lambda y LISP. Primer cuatrimestre 2007]]
++++
++++Enlaces|
* [[http://www.cse.sc.edu/~mgv/group9/index1.html | Interactive FP]]: Página que permite resolver ejercicios de FP.
* [[http://www.tryapl.org/ | Try APL]]: Página que permite resolver ejercicios de APL.
* [[http://ngn.github.io/apl/web/index.html | APL Demo]]: Página que permite resolver ejercicios de APL.
* [[http://ellemose.dina.kvl.dk/~sestoft/lamreduce/lamframes.html|Lambda]]: Página que permite resolver ejercicios de cálculo lambda.
++++