universidad de cÓrdoba escuela politÉcnica … · 2 primera parte: scheme tema 1.- introducción...
TRANSCRIPT
![Page 1: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/1.jpg)
PROGRAMACIÓN DECLARATIVAPROGRAMACIÓN DECLARATIVAINGENIERÍA INFORMÁTICA
ESPECIALIDAD DE COMPUTACIÓN
CUARTO CURSO
PRIMER CUATRIMESTRE
Tema 1.- Introducción al Lenguaje Scheme
UNIVERSIDAD DE CÓRDOBA
ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA
DEPARTAMENTO DEINFORMÁTICA Y ANÁLISIS NUMÉRICO
![Page 2: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/2.jpg)
2
Primera parte:
Scheme
Tema 1.- Introducción al Lenguaje Scheme
Tema 2.- Expresiones y Funciones
Tema 3.- Predicados y sentencias condicionales
Tema 4.- Iteración y Recursión
Tema 5.- Tipos de Datos Compuestos
Tema 6.- Abstracción de Datos
Tema 7.- Lectura y Escritura
Tema 8.- Introducción al Lenguaje Prolog
Tema 9.- Elementos Básicos de Prolog
Tema 10.- Listas
Tema 11.- Reevaluación y el “corte”
Tema 12.- Entrada y Salida
Segunda parte: Prolog
PROGRAMACIÓN DECLARATIVA PROGRAMACIÓN DECLARATIVA PROGRAMAPROGRAMA
![Page 3: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/3.jpg)
3
Primera parte: Scheme
Tema 1.- Introducción al Lenguaje Scheme
Tema 2.- Expresiones y Funciones
Tema 3.- Predicados y sentencias condicionales
Tema 4.- Iteración y Recursión
Tema 5.- Tipos de Datos Compuestos
Tema 6.- Abstracción de Datos
Tema 7.- Lectura y Escritura
PROGRAMACIÓN DECLARATIVA PROGRAMACIÓN DECLARATIVA PROGRAMAPROGRAMA
![Page 4: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/4.jpg)
4
Programación Declarativa Tema 1.- Introducción al Lenguaje Scheme
Índice
1. Características Fundamentales de la Programación Funcional
2. Reseña Histórica de Scheme
![Page 5: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/5.jpg)
5
Índice
1. Características Fundamentales de la Programación Funcional
2. Reseña Histórica de Scheme
Programación Declarativa Tema 1.- Introducción al Lenguaje Scheme
![Page 6: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/6.jpg)
6
1. Características Fundamentales de la Programación Funcional
La Programación Funcional es un subtipo de la Programación Declarativa
![Page 7: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/7.jpg)
7
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (1 / 7)
Objetivo: Descripción del Problema
¿“Qué” problema debe ser resuelto? Observación:
- No importa “cómo” es resuelto el problema
- Evita aspectos o características de implementación
![Page 8: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/8.jpg)
8
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (2 / 7)
Características
Expresividad
Extensible: regla del 10% - 90%
Protección
Elegancia Matemática
![Page 9: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/9.jpg)
9
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (3 / 7)
Características
Expresividad
– Muestra con claridad el significado de la programación
Extensible: regla del 10% - 90%
Protección
Elegancia Matemática
![Page 10: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/10.jpg)
10
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (4 / 7)
Características
Expresividad
Extensible: regla del 10% - 90%
– Facilidad para ampliar el lenguaje.
– El 10 % del lenguaje permite resolver el 90% de los problemas.
Protección
Elegancia Matemática
![Page 11: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/11.jpg)
11
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (5 / 7)
Características
Expresividad
Extensible: regla del 10% - 90%
Protección
– El programador no tiene que preocuparse por detalles internos de gestión de memoria.
Elegancia Matemática
![Page 12: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/12.jpg)
12
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (6 / 7)
Características
Expresividad
Extensible: regla del 10% - 90%
Protección
Elegancia Matemática
– Precisión y sencillez
![Page 13: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/13.jpg)
13
1. Características Fundamentales de la Programación Funcional
Programación Declarativa (7 / 7)
Tipos:
Programación Funcional o Aplicativa:
- Lisp, Scheme, Haskell, …
Programación Lógica: Prolog
![Page 14: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/14.jpg)
14
1. Características Fundamentales de la Programación Funcional
Principio de la Programación Funcional “Pura”
“El valor de la expresión sólo depende del valor de sus subexpresiones, si las tiene”
No existen efectos colaterales
El valor de “a + b” sólo depende de “a” y “b”.
El término función es usado en su sentido matemático
No hay instrucciones: programación sin asignaciones
La Programación Funcional impura permite la
“sentencia de asignación”
![Page 15: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/15.jpg)
15
1. Características Fundamentales de la Programación Funcional
Estructura de los programas en la Programación Funcional
El programa es una función compuesta de Funciones más simples
Ejecución de una Función:
1. Recibe los datos de entrada: argumentos o parámetros de las funciones
2. Evalúa las expresiones
3. Devuelve el resultado: valor calculado por la función
![Page 16: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/16.jpg)
16
1. Características Fundamentales de la Programación Funcional
Tipos de lenguajes funcionales
La mayoría son lenguajes interpretados
Algunas versiones son lenguajes compilados
Gestión de la memoria
Gestión implícita de la memoria:
La gestión de la memoria es una tarea del intérprete.
El programador no debe preocuparse por la gestión de la memoria.
Recolección de basura: tarea del intérprete.
![Page 17: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/17.jpg)
17
1. Características Fundamentales de la Programación Funcional
En resumen:
El programador sólo se debe de preocupar por la
Descripción del Problema
![Page 18: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/18.jpg)
18
Índice
1. Características Fundamentales de la Programación Funcional
2. Reseña Histórica de Scheme
Programación Declarativa Tema 1.- Introducción al Lenguaje Scheme
![Page 19: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/19.jpg)
19
2. Reseña Histórica de Scheme
LISP
Comparación entre Compilación e Interpretación
Comparación entre el ámbito léxico (o estático) y el dinámico
Origen de Scheme
![Page 20: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/20.jpg)
20
2. Reseña Histórica de Scheme
LISP
Comparación entre Compilación e Interpretación
Comparación entre el ámbito léxico (o estático) y el dinámico
Origen de Scheme
![Page 21: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/21.jpg)
21
2. Reseña Histórica de Scheme LISP John McCarthy (MIT)
El programa “Advice Taker” : Fundamentos teóricos: Lógica Matemática
Objetivo: deducción e inferencias
LISP: LISt Processing (1956 – 1958) Segundo lenguaje histórico de Inteligencia Artificial
(después de IPL)
En la actualidad, segundo lenguaje histórico en uso (después de Fortran)
LISP está basado en el Lambda Calculus (Alonzo Church)
Scheme es un dialecto de LISP
![Page 22: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/22.jpg)
22
2. Reseña Histórica de Scheme
LISP
Características de la Programación Funcional
Recursión
Listas
Gestión implícita de la memoria
Programas interactivos e interpretados
Programación Simbólica
Reglas de ámbito Dinámico para identificadores no locales
![Page 23: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/23.jpg)
23
2. Reseña Histórica de Scheme
LISP
Contribuciones de LISP:
Funciones “Built – in”
Recolección de basura
Lenguaje de Definición Formal:
— El propio lenguaje LISP
![Page 24: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/24.jpg)
24
2. Reseña Histórica de Scheme
LISP
Aplicaciones: Programas de Inteligencia Artificial Verificación y prueba de Teoremas
Diferenciación e Integración Simbólica
Problemas de Búsqueda
Procesamiento del Lenguaje Natural
Visión Artificial
Robótica
Sistemas de Representación del Conocimiento
Sistemas Expertos
Etc.
![Page 25: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/25.jpg)
25
2. Reseña Histórica de Scheme
LISP
Dialectos (1 /2)
Mac LISP (Man and computer or Machine – aidedcognition): Versión de la Costa Este
Inter LISP (Interactive LISP): Versión de la Costa Oeste
- Compañía de Bolt, Beranek y Newman (BBN)
- Centro de Investigación de Xerox en Palo Alto (Texas)
- Máquina LISP
![Page 26: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/26.jpg)
26
2. Reseña Histórica de Scheme
LISP Dialectos (2 / 2)
Mac LISP (Man and computer or Machine – aidedcognition): East Coast Version
- C-LISP: Universidad de Massachusetts
- Franz LISP: Universidad de California (Berkeley). Versión compilada.
- NIL (New implementation of LISP): MIT.
- PSL (Portable Standard LISP): Universidad de Utah
- Scheme: MIT.
- T (True): Universidad de Yale
- Common LISP
![Page 27: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/27.jpg)
27
2. Reseña Histórica de Scheme
LISP
Comparación entre Compilación e Interpretación
Comparación entre el ámbito léxico (o estático) y el dinámico
Origen de Scheme
![Page 28: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/28.jpg)
28
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación:
El código fuente (alto nivel) es transformadoen código ejecutable (bajo nivel), que puede ser ejecutado independientemente.
![Page 29: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/29.jpg)
29
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Código fuenteCódigo fuente CompiladorCompilador
![Page 30: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/30.jpg)
30
Errores de compilaciónErrores de compilación
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Código fuenteCódigo fuente CompiladorCompilador
![Page 31: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/31.jpg)
31
Código ejecutableCódigo ejecutable
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Código fuenteCódigo fuente CompiladorCompilador
![Page 32: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/32.jpg)
32
Datos de entradaDatos de entrada
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Código ejecutableCódigo ejecutableCódigo fuenteCódigo fuente CompiladorCompilador
![Page 33: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/33.jpg)
33
Errores de Errores de EjecuciónEjecución
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Datos de entradaDatos de entrada
Código ejecutableCódigo ejecutableCódigo fuenteCódigo fuente CompiladorCompilador
ResultadosResultados
![Page 34: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/34.jpg)
34
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Compilación
Código ejecutableCódigo ejecutableCódigo fuenteCódigo fuente CompiladorCompilador
ResultadosResultados
Datos de entradaDatos de entrada
![Page 35: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/35.jpg)
35
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación
![Page 36: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/36.jpg)
36
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación o simulación: consiste en un ciclo de tres fases
![Page 37: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/37.jpg)
37
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación o simulación: consiste en un ciclo de tres fases
1. Análisis El código fuente es analizado para determinar la
siguiente sentencia correcta que va a ser ejecutada.
![Page 38: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/38.jpg)
38
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación o simulación: consiste en un ciclo de tres fases
1. Análisis El código fuente es analizado para determinar la
siguiente sentencia correcta que va a ser ejecutada.
2. Generación La sentencia es transformada en Código
ejecutable.
![Page 39: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/39.jpg)
39
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación o simulación: consiste en un ciclo de tres fases
1. Análisis El código fuente es analizado para determinar la
siguiente sentencia correcta que va a ser ejecutada.
2. Generación La sentencia es transformada en Código
ejecutable.
3. Ejecución El código generado es ejecutado.
![Page 40: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/40.jpg)
40
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación
Código fuenteCódigo fuente IntérpreteIntérprete
![Page 41: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/41.jpg)
41
Errores de Errores de interpretacióninterpretación
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación
Datos de entradaDatos de entrada
Código fuenteCódigo fuente IntérpreteIntérprete
![Page 42: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/42.jpg)
42
ResultadosResultados
Errores de Errores de ejecuciónejecución
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación
Datos de entradaDatos de entrada
Código fuenteCódigo fuente IntérpreteIntérprete
![Page 43: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/43.jpg)
43
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
Interpretación
ResultadosResultados
Datos de entradaDatos de entrada
Código fuenteCódigo fuente IntérpreteIntérprete
![Page 44: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/44.jpg)
44
Compilación
- Independencia
- Necesidades de memoria
- Eficiencia
- Global
- No interactividad
- Código cerradodurante la ejecución
Interpretación
- Dependencia
- Sin necesidades de memoria
- Menos eficiencia
- Local
- Interactividad
- Código abiertodurante la ejecución
2. Reseña Histórica de Scheme
Comparación entre Compilación e Interpretación
![Page 45: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/45.jpg)
45
2. Reseña Histórica de Scheme
LISP
Comparación entre Compilación e Interpretación
Comparación entre el ámbito léxico (o estático) y el dinámico
Origen de Scheme
![Page 46: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/46.jpg)
46
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico
Las reglas de ámbito determinan la declaración de identificadores no locales
Identificadores no locales:
Variables, Funciones o Procedimientos que son usados en otra función o procedimiento donde nohan sido declarados.
![Page 47: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/47.jpg)
47
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico Tipos Ámbito Léxico o Estático
- Con “estructura de bloques”: Pascal, Scheme- Sin “estructura de bloques”: C, Fortran
Ámbito Dinámico- Siempre con “estructura de bloques”: Lisp,
SNOBOL, APL
![Page 48: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/48.jpg)
48
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico Estructura de bloques Un procedimiento o función puede llamar a
- Sí mismo- Sus hijos (pero no a sus nietos…)- Sus hermanos (pero no a sus sobrinos)- Su padre, abuelo, bisabuelo, …- Los hermanos de su padres, abuelo, …
Un procedimiento o función puede ser llamadopor
- Sí mismo- Su padre (pero no por su abuelo, …)- Sus hijos, nietos, bisnietos, …- Sus hermanos y sus hijos, nietos, ...
![Page 49: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/49.jpg)
49
P
Declaración de procedimiento f
Declaración de procedimiento g
Declaración de procedimiento h
Declaración de procedimiento k
Declaración de procedimiento l
Declaración de procedimiento m
Declaración de procedimiento n
Ejemplo
de estructura
de bloques
![Page 50: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/50.jpg)
50
P
f l
m ng h
k
Jerarquía de la estructura de bloques
![Page 51: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/51.jpg)
51
f l
m ng h
k
Funciones que pueden ser llamadas por f
P
![Page 52: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/52.jpg)
52
f l
m ng h
k
Funciones que pueden llamar a f
P
![Page 53: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/53.jpg)
53
f l
m ng h
k
P
Funciones que pueden ser llamadas por h
![Page 54: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/54.jpg)
54
f l
m ng h
k
P
Funciones que pueden llamar a h
![Page 55: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/55.jpg)
55
2. Reseña Histórica de Scheme
Comparación entre el ámbito léxico (o estático) y el dinámico Ámbito léxico o estático
La declaración de un identificador no local depende del contexto léxico más cercano
Reglas del anidamiento más cercano
![Page 56: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/56.jpg)
56
2. Reseña Histórica de Scheme
Comparación entre el ámbito léxico (o estático) y el dinámico Ámbito léxico o estático
La declaración de un identificador no local depende del contexto léxico más cercano:
Sólo hay que leer el programa
para determinar la declaración de un identificador
![Page 57: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/57.jpg)
57
2. Reseña Histórica de Scheme
Comparación entre el ámbito léxico (o estático) y el dinámico Ámbito léxico o estático Reglas del anidamiento más cercano
- El ámbito de un procedimiento (*) f incluye al procedimiento f.
- Si un identificador no local x es usado en f entonces la declaración de x debe ser encontrada en procedimiento más cercano gque incluya a f
- Observación (*) : procedimiento, función o bloque.
![Page 58: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/58.jpg)
58
Declaración de procedimiento hDeclaración de una variable x (x1)Declaración de una variable y (y1)Declaración de una variable z (z1)
Declaración de procedimiento gDeclaración de una variable x (x2) Declaración de una variable y (y2)
Declaración de procedimiento fDeclaración de una variable x (x3)
Uso de x ( x3)Uso de y ( y2)Uso de z ( z1)
Uso de x ( x2)Uso de y ( y2)Uso de z ( z1)Llamada a f
Uso de x ( x1)Uso de y ( y1)Uso de z ( z1)Llamada a g
Ejemplo:
Ámbito léxico
con
“estructura de bloques”
![Page 59: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/59.jpg)
59
2. Reseña Histórica de Scheme
Comparación entre el ámbito léxico (o estático) y el dinámico Ámbito léxico o estático Sin estructura de bloques
- Si x no es local para una función específicaentonces no es local para todas las funciones
![Page 60: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/60.jpg)
60
int x; /* x1 */int y; /* y1 */int z; /* z1 */
main(){
int x; /* x2 */int y; /* y2 */
/* Uso de x x2 *//* Uso de y y2 *//* Uso de z z1 *//* Llamada a f */f ();
}
f(){int x; /* x3 *//* Uso de x x3 *//* Uso de y y1 *//* Uso de z z1 */}
Ejemplo en C:
Ámbito léxico
sin
“estructura de bloques”
Las variablesglobales no son recomendables
![Page 61: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/61.jpg)
61
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico Ámbito dinámico
La declaración de un identificador depende de la ejecución del programa
Reglas de la activación más cercana
![Page 62: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/62.jpg)
62
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico Ámbito dinámico
La declaración de un identificador depende de la ejecución del programa
Tienes que ejecutar el programa
para determinar la declaración de un identificador
![Page 63: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/63.jpg)
63
2. Reseña Histórica de Scheme Comparación entre el ámbito léxico (o estático) y el
dinámico Ámbito dinámico Reglas de la activación más cercana
- El ámbito de un procedimiento (*) f incluye al procedimiento f.
- Si un identificador no local x es usado en la activación de f entonces la declaración de xdebe ser encontrada en el procedimiento activo más cercano g con una declaración de x
- Observación (*) : procedimiento, función o bloque
![Page 64: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/64.jpg)
64
2. Reseña Histórica de Scheme
Comparación entre el ámbito léxico (o estático) y el dinámico
Observación:
El Ámbito dinámico permite que un identificador pueda estar asociado a declaraciones diferentes durante la ejecución del programa.
![Page 65: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/65.jpg)
65
ProgramaDeclaración de una variable x
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejemplo:
Comparación
entre
los ámbitos
léxico
y
dinámico
![Page 66: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/66.jpg)
66
Programa
f g
f
f
h
Pila de Activación Árbol de Activación
![Page 67: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/67.jpg)
67
Programa
f g
f
f
h
Programa
Pila de Activación Árbol de Activación
![Page 68: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/68.jpg)
68
f g
f
f
h
f
Programa
Programa
Pila de Activación Árbol de Activación
![Page 69: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/69.jpg)
69
f g
f
f
h
Programa
Programa
Pila de Activación Árbol de Activación
![Page 70: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/70.jpg)
70
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
![Page 71: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/71.jpg)
71
f g
f
f
h
g
f
Programa
Programa
Pila de Activación Árbol de Activación
![Page 72: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/72.jpg)
72
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
![Page 73: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/73.jpg)
73
f g
f
f
h
g
h
Programa
Programa
Pila de Activación Árbol de Activación
![Page 74: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/74.jpg)
74
f g
f
f
h
g
h
f
Programa
Programa
Pila de ActivaciónÁrbol de Activación
![Page 75: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/75.jpg)
75
f g
f
f
h
g
h
Programa
Programa
Pila de ActivaciónÁrbol de Activación
![Page 76: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/76.jpg)
76
f g
f
f
h
g
Programa
Programa
Pila de ActivaciónÁrbol de Activación
![Page 77: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/77.jpg)
77
f g
f
f
h
Programa
Programa
Pila de ActivaciónÁrbol de Activación
![Page 78: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/78.jpg)
78
f g
f
f
h
Programa
Pila de ActivaciónÁrbol de Activación
![Page 79: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/79.jpg)
79
f
gg
f
h
Cambios en la Pila de Activación (1 / 2)
Programa
f
Programa
Programa ProgramaPrograma
g
Programag
Programah
g
Programa
![Page 80: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/80.jpg)
80
f
g
Programa
h
g
Programa
h
g
Programa
Programa
Cambios en la Pila de Activación (2 / 2)
![Page 81: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/81.jpg)
81
Ejecución con
Ámbito léxico
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
![Page 82: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/82.jpg)
82
Programa
f g
f
f
h
Ámbito léxico
Pila de Activación Árbol de Activación
![Page 83: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/83.jpg)
83
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 84: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/84.jpg)
84
f g
f
f
h
Ámbito léxico Uso de x1 en Programa
Programa
Programa
Pila de Activación Árbol de Activación
![Page 85: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/85.jpg)
85
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 86: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/86.jpg)
86
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 87: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/87.jpg)
87
f g
f
f
h
f
Ámbito léxico Uso de x1 en f
Programa
Programa
Pila de Activación Árbol de Activación
![Page 88: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/88.jpg)
88
f g
f
f
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 89: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/89.jpg)
89
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 90: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/90.jpg)
90
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 91: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/91.jpg)
91
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 92: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/92.jpg)
92
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 93: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/93.jpg)
93
f g
f
f
h
g
f
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico Uso de x1 en f
![Page 94: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/94.jpg)
94
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 95: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/95.jpg)
95
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 96: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/96.jpg)
96
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 97: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/97.jpg)
97
f g
f
f
h
g
h
Ámbito léxico Uso de x2 en h
Programa
Programa
Pila de Activación Árbol de Activación
![Page 98: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/98.jpg)
98
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 99: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/99.jpg)
99
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 100: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/100.jpg)
100
f g
f
f
h
g
h
f
Programa
Programa
Pila de Activación Árbol de Activación
![Page 101: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/101.jpg)
101
f g
f
f
h
g
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 102: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/102.jpg)
102
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 103: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/103.jpg)
103
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico Uso de x2 en g
![Page 104: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/104.jpg)
104
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
léxico
![Page 105: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/105.jpg)
105
f g
f
f
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 106: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/106.jpg)
106
Programa
f g
f
f
h
Pila de Activación Árbol de Activación
Ámbito léxico
![Page 107: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/107.jpg)
107
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 108: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/108.jpg)
108
Programa
f g
f
f
h
Ámbito dinámico
Pila de Activación Árbol de Activación
![Page 109: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/109.jpg)
109
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 110: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/110.jpg)
110
f g
f
f
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
Uso de x1 en programa
![Page 111: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/111.jpg)
111
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 112: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/112.jpg)
112
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 113: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/113.jpg)
113
f g
f
f
h
f
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
Uso de x1 de programaen f
![Page 114: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/114.jpg)
114
f g
f
f
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
![Page 115: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/115.jpg)
115
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 116: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/116.jpg)
116
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
![Page 117: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/117.jpg)
117
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 118: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/118.jpg)
118
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 119: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/119.jpg)
119
f g
f
f
h
g
f
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
Observación: uso de x2 de g en f
![Page 120: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/120.jpg)
120
f g
f
f
h
g
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
![Page 121: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/121.jpg)
121
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 122: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/122.jpg)
122
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 123: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/123.jpg)
123
f g
f
f
h
g
h
Programa
Programa
Pila de Activación Árbol de Activación
Ámbito dinámico
Uso de x2 de g en h
![Page 124: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/124.jpg)
124
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 125: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/125.jpg)
125
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 126: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/126.jpg)
126
f g
f
f
h
g
h
f
Programa
Programa
Pila de ActivaciónÁrbol de Activación
Ámbito dinámico
Observación: uso de x2 de g en f
![Page 127: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/127.jpg)
127
f g
f
f
h
g
h
Programa
Programa
Pila de ActivaciónÁrbol de Activación
Ámbito dinámico
![Page 128: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/128.jpg)
128
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito
dinámico
![Page 129: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/129.jpg)
129
f g
f
f
h
g
Ámbito dinámico
Uso de x2 de g en g
Programa
Programa
Pila de ActivaciónÁrbol de Activación
![Page 130: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/130.jpg)
130
ProgramaDeclaración de una variable x (x1)
Declaración de procedimiento fUso de x
Declaración de procedimiento gDeclaración de una variable x (x2)
Declaración de procedimiento hUso de xLlamada a f
Llamada a fLlamada a hSi condición = verdadero
entonces Llamada a gsi no Uso de x
fin siUso de xLlamada a fLlamada a g
Ejecución con
Ámbito dinámico
![Page 131: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/131.jpg)
131
f g
f
f
h
Programa
Programa
Pila de ActivaciónÁrbol de Activación
Ámbito dinámico
![Page 132: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/132.jpg)
132
Programa
f g
f
f
h
Programa
Ámbito dinámico
Pila de ActivaciónÁrbol de Activación
![Page 133: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/133.jpg)
133
2. Reseña Histórica de Scheme
LISP
Comparación entre Compilación e Interpretación
Comparación entre el ámbito léxico (o estático) y el dinámico
Origen de Scheme
![Page 134: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/134.jpg)
134
2. Reseña Histórica de Scheme
Origen de Scheme
Gerald Jay Sussman (MIT) and Guy Lewis Steele Jr.
Pregunta:
¿Cómo sería LISP con reglas de Ámbito Léxico o Estático?
Respuesta: un nuevo lenguaje Scheme Implementación más eficiente de la recursión
Funciones de primera clase
Reglas semánticas rigurosas
Influencia en Common LISP: reglas de ámbito léxico
Revised 5 Report on the Algorithmic LanguageScheme
![Page 135: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/135.jpg)
135
2. Reseña Histórica de Scheme
Origen de Scheme
Estructura de los programas de Scheme
Secuencia de
- definiciones de funciones y variables
- y expresiones
![Page 136: UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA … · 2 Primera parte: Scheme Tema 1.- Introducción al Lenguaje Scheme Tema 2.- Expresiones y Funciones Tema 3.- Predicados y sentencias](https://reader031.vdocumento.com/reader031/viewer/2022022014/5b4b98cd7f8b9a403d8cfda5/html5/thumbnails/136.jpg)
PROGRAMACIÓN DECLARATIVAPROGRAMACIÓN DECLARATIVAINGENIERÍA INFORMÁTICA
ESPECIALIDAD DE COMPUTACIÓN
CUARTO CURSO
PRIMER CUATRIMESTRE
Tema 1.- Introducción al Lenguaje Scheme
UNIVERSIDAD DE CÓRDOBA
ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA
DEPARTAMENTO DEINFORMÁTICA Y ANÁLISIS NUMÉRICO