Conceptos de variables y ligaduras de variables

Solo disponible en BuenasTareas
  • Páginas : 24 (5763 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de febrero de 2012
Leer documento completo
Vista previa del texto
Lenguajes de Programación

E.S. Ingeniería Informática

Tema 2. Variables, ámbitos y comprobación de tipos
1. Variables
1.1. Nombre 1.2. Dirección 1.3. Tipo 1.4. Valor

2. Ligadura(binding)
2.1. Ligadura de tipos • Ligadura estática de tipos • Ligadura dinámica de tipos 2.2. Ligadura de espacio y tiempo de vida • Variables estáticas • Variables dinámicas de pila • Variables dinámicas demontón (explícitas e implícitas)

3. Tipos
3.1. Comprobación de tipos 3.2. Disciplina de tipos 3.3. Compatibilidad de tipos

4. Ámbito
4.1. Ámbito estático 4.2. Ámbito dinámico 4.3. Entorno de referencia

5. Constantes 6. Inicialización de variables
6.1. Variables no inicializadas

Departamento de Informática

1

Área de Lenguajes y Sistemas Informáticos

Lenguajes deProgramación

E.S. Ingeniería Informática

Bibliografía
Básica
Bal, H.E., Grune, D., Programming Languages Essentials, Addison-Wesley, 1994. Págs. 36-37. Sebesta, R.W., Concepts of Programming Languages, 4 ed, Addison-Wesley, 1999. Págs. 155194.

Complementaria
Dershem, H.L., Jipping, M.J., Programming Languages: Structures and Models, 2 ed, PWS Publishing Company, 1995. Págs. 52-63, 74-80. Fischer,A.E., Grodzinsky, F.S., The Anatomy of Programming Languages, Prentice-Hall, 1993. Págs. 163-196.

Ejercicios
1º Razona sobre la veracidad de las siguientes frases que hacen referencia a los lenguajes imperativos. a) “Todas las variables disponen de un nombre o identificador.” b) “Cada identificador en un programa tiene siempre asociada una sola dirección de memoria.” c) “Es posible tenervarios identificadores que hacen referencia a la misma dirección de memoria.” d) “La vinculación dinámica de tipos consiste en asociar tipos a variables a través de convenciones sintácticas (por ejemplo, en algunos lenguajes estas convenciones hacen referencia a la letra por la que comienza o el símbolo en el que acaba el nombre de la variable)”. e) “Las variables de tipo apuntador a otros objetos sonsiempre variables dinámicas de montón”. f) “En todos los lenguajes imperativos, todas las variables locales declaradas en subprogramas son variables dinámicas de pila”. g) “No hay ninguna diferencia entre subtipo y tipo derivado de un tipo existente”. h) “Pascal es un lenguaje con disciplina de tipos”. i) “En Pascal, las variables creadas mediante la utilización de new se caracterizan porque elespacio que se les vincula se toma de la pila de ejecución”. j) “Si un lenguaje de programación hace una evaluación dinámica del ámbito, entonces es imposible realizar una comprobación de tipos estática de las referencias no locales”. 2º ¿Qué entendemos por ligadura estática de tipos? ¿Mediante qué distintas formas realizan los lenguajes de programación la ligadura estática de tipos? (Menciona almenos un lenguaje para cada una de las formas.) ¿Qué ventajas aporta la ligadura estática de tipos sobre la dinámica? 3º La ligadura dinámica de tipos está muy relacionada con las variables dinámicas de montón del tipo implícitas. Explica esta relación.

Departamento de Informática

2

Área de Lenguajes y Sistemas Informáticos

Lenguajes de Programación

E.S. Ingeniería Informática

4ºDistingue entre: a) Ligadura estática de tipos, disciplina de tipos y ligadura dinámica de tipos. b) Coacción, error de tipos y comprobación de tipos. c) Compatibilidad de tipos nominal y compatibilidad de tipos estructural. 5º En Haskell no es necesario declarar explícitamente el tipo de los objetos que se definen y, sin embargo, es un lenguaje con disciplina de tipos. ¿Cómo explicas esto?Aunque, como decimos, no es necesario, existen algunas razones por las que puede ser adecuado escribir las declaraciones. ¿Cuáles son esas razones? 6º ¿En qué categorías se clasifican las variables atendiendo a la manera en que se produce la ligadura de espacio? Explica brevemente cómo se realiza dicha ligadura en cada uno de los tipos. 7º Cuando, en tiempo de ejecución, se entra en un bloque, las...
tracking img