Variables,ámbito y comprobación de tipos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Variables,ámbito y comprobación de tipos por Mind Map: Variables,ámbito y comprobación de tipos

1. VARIABLES

1.1. Nombre o Identificador

1.1.1. El tamaño del identificador depende del lenguaje pueden ser 31 o ilimitado

1.1.2. Los caracteres conectores si se pueden emplear como por ejemplo : numero_entero

1.1.3. En cuanto al distinguir entre mayúsculas y minúsculas la mayoría de los lenguajes si lo diferencian, ejemplo: auto.Auto,AUTO son diferentes identificadores.

1.1.4. Palabras especiales

1.1.4.1. Indican acciones a realizar

1.1.5. Palabras clave

1.1.5.1. Palabras especiales en diferentes contextos

1.1.6. Palabras Reservadas

1.1.6.1. Palabra especial que no se puede usas como identificador

1.1.7. Nombre Predefinidos

1.1.7.1. Nombres que tienen un significado predefinido y pueden ser cambiados por el usuario

1.2. Direccion

1.2.1. Dirección  de memoria a la que está asociada

1.2.2. Alias

1.2.2.1. Cuando se usa mas de un nombre de variable para referenciar a la misma dirección

1.2.2.2. En lenguajes con apuntadores dos variables son alias cuando apuntan a la misma dirección de memoria

1.3. Tipo

1.3.1. Determina el rango de valores que puede tomar la variable y el conjunto de operaciones.

1.4. Valor

1.4.1. Contendo en la celda de memoria

2. LIGADURA

2.1. Ligadura estàtica

2.1.1. Si ocurre antes de la ejecución  y no se altera durante la ejecución

2.2. Ligadura Dinámica

2.2.1. Opuesto a la ligadura estática, ocurre en tiempo de ejecución y puede cambiar durante la ejecución.

2.3. Ligadura de Tipos

2.3.1. Ligadura estática de tipos

2.3.1.1. Declaración Explícita

2.3.1.1.1. Usa una sentencia que declara una lista de identificadores como de un tipo determinado

2.3.1.2. Declaración Implícita

2.3.1.2.1. Formas de asociar variables con   tipos.

2.3.1.3. Algoritmo de inferencia de tipos

2.3.1.3.1. Determinan los tipos de las variables que pueden intervenir  sin ser declaradas.

2.3.2. Ligadura dinámica de tipos

2.3.2.1. El tipo no se asigna en la declaración si no en la asignación.

2.3.2.2. El tipo no se asigna en la declaración si no en la asignación.

2.4. Ligadura de espacio y tiempo de vida

2.4.1. Proceso de Asignación

2.4.1.1. Ligar celdas de memoria disponibles a variables.

2.4.2. Proceso de Desasiganción

2.4.2.1. Desligar las celdas de memoria  y devolver a las celdas de memoria disponible.

2.4.3. Tiempo de vida

2.4.3.1. Tiempo entre asignación y desasignación de espacio.

2.4.4. Clasificación de Variables

2.4.4.1. Variables Estáticas

2.4.4.1.1. Se ligan  a celdas de memoria antes que empiece la ejecución del programa y permanecen ligadas hasta que termine la ejecución del programa

2.4.4.1.2. Ventaja

2.4.4.1.3. Desventaja

2.4.4.2. Variables Dinámicas de Pila

2.4.4.2.1. Definición

2.4.4.2.2. Elaboración

2.4.4.2.3. Ventajas

2.4.4.2.4. Desventaja

2.4.4.3. Variables Dinámicas de montón (Heap)

2.4.4.3.1. Definición

2.4.4.3.2. Explícitas

2.4.4.3.3. Implícitas

3. TIPOS

3.1. Comprobación de Tipos

3.1.1. Definición

3.1.1.1. Actividad que nos asegura que los operandos de un operador son compatibles.

3.1.2. Tipos Compatibles

3.1.2.1. Tipo legal para el operador o puede se convertido en en tipo legal.

3.1.3. Error de Tipos

3.1.3.1. Aplicación de un operador a un operando de tipo inapropiado.

3.2. Disciplina De Tipos

3.2.1. Definición

3.2.1.1. Un LP Detecta siempre los errores de tipo

3.3. Compatibilidad De Tipo

3.3.1. Métodos

3.3.1.1. Compatibilidad de tipos nominal

3.3.1.1.1. Dos variables son compatibles si están ligadas al mismo nombre de tipo.

3.3.1.2. Compatibilidad de tipos estructural

3.3.1.2.1. Dos variables son compatibles si sus  tipos tienen la misma estructura

3.3.1.3. Equivalencia de declaración

3.3.1.3.1. Dos variables son compatibles si uno de los tipos está definido con el nombre del otro.

3.4. Subtipos y Tipos Derivados

3.4.1. Subtipo

3.4.1.1. Definición

3.4.1.1.1. Versión de un tipo existente con el que es compatible.

3.4.2. Tipos derivado

3.4.2.1. Definición

3.4.2.1.1. Nuevo tipo basado en otro y que hereda  todas las propiedades de su padre.

4. ÁMBITO

4.1. Definición

4.1.1. Rango de sentencias en la que es visible una variable

4.2. Caracterìsticas

4.2.1. Una variable es visible si puede referenciarse en dicha sentencia

4.2.2. Una variable es local si está declarada dentro de un bloque.

4.3. Ámbito Estático

4.3.1. Definición

4.3.1.1. Ligadura de nombres a variables que ocurre en tiempo de compilación

4.3.2. Características

4.3.2.1. Las secciones de código en las que pueden definirse variables locales se llaman bloques

4.3.2.2. Los ámbitos definidos por bloques se tratan igual que sub programas

4.3.3. Evaluación

4.3.3.1. Proporciona un método de acceso a variables no locales adecuado

4.4. Ámbito Dinámico

4.4.1. Definición

4.4.1.1. Basado en la llamada a subprogramas el ámbito se determina en tiempo de ejecución.

4.4.2. Atributos

4.4.2.1. 1. Se  busca su declaración local

4.4.2.2. 2. Se continúa la búsqueda en su padre dinámico.

4.4.2.3. 3. Se continúa la búsqueda en los padres dinámicos.

4.4.3. Ventaja

4.4.3.1. El sub programa hereda el contexto de sus llamadores.

4.5. Entorno de Referencia

4.5.1. Definición

4.5.1.1. Colección de todos los identificadores visibles  de dicha sentencia.

4.5.2. Ámbito estático

4.5.2.1. Compuesto por variables declaradas en su en su ámbito local y las de sus antepasados estàticos.

4.5.3. Ámbito dinámico

4.5.3.1. Compuesto por variables declaradas localmente mas las variables de subprogramas activos

5. CONSTANTES

5.1. Constantes Manifiestas

5.1.1. Ligadura estática de valores

5.2. Ventajas

5.2.1. Aumenta la fiabilidad y legibilidad de los programas

5.3. Definición

5.3.1. Objeto al que se liga un valor cuando al momento de ligar un espacio, su valor no cambiará.

6. INICIALIZACIÓN DE VARIABLES

6.1. Variables Estáticas

6.1.1. Se inicializa antes de la ejecución y una sola vez

6.2. Variables con ligadura dinámica de espacio

6.2.1. Inicialización dinámica

6.3. Variables no inicializadas

6.3.1. Sucede cuando solo se declara la variable sin asignarle valor alguno, y se liga memoria pero de manera arbitraria pudiendo causar problemas.

6.4. Definición

6.4.1. Ligadura de un valor a una variable al momento de ligar el almacenamiento.