Nombres, ligado Y Ámbito Flashcards
Que es un nombre o identificador?
Es una abstracción básica para referenciar entidades. Según el diseño se considera el largo, los tipos de caracteres aceptados, sensibilidad y palabras
Que es una variable?
Es una abstracción de objeto de memoria, tiene social nombre, dirección de memoria, y valor, a estos dos se les llama l-value y r-value respectivamente. Además de un tipo y ámbito.
Qué es el ligado? Qué tipos de ligado existen?
El ligado (Binding) es un proceso de asociación a una entidad del lenguaje de un atributo. Existe el ligado de tipo, y el ligado de memoria.
Qué es el ligado de tipo?
Es la asociación de tipo de datos a un objeto, estos deben ser ligados antes de usar los objetos. Puede ser por declaración explícita o implícita. Además existe el ligado estático y el ligado dinámico.
El ligado estático, usa declaración explícita o implícita?
Generalmente usa la declaración explícita, pero también puede ser implícita y se hace el tiempo de compilación.
Cómo se realiza el ligado dinámico?
Éste es mediante declaración implícita, y el ligado se hace al momento de asignación. Es usado principalmente en lenguajes de scripting como Python. Ayuda a programar de forma genérica pero disminuye la capacidad de detección de errores.
Qué es el ligado de dirección?
Como según el ámbito, el mismo nombre puede ser usado para referirse a objetos múltiples, o bien un alias. Por ejemplo, dos punteros que apuntan a una misma variable, o referencias múltiples, debe existir un ligado a un objeto de memoria.
Qué es la sobrecarga?
La sobrecarga (Overloading) Es cuando un mismo nombre se refiere a diferentes objetos.
Nombre los tres tipos de memoria y para qué tipo de ligado se usa.
Los tres tipos de memoria son memoria estática, memoria de stack y memoria de Heap.
La memoria estática se usa para el hígado estático de una variable a la memoria: como variables globales y variables estáticas.
La memoria de Stack Se usa para la asignación dinámica de memoria, se liberan automáticamente y se activan al usar un ambiente de ejecución. Ejemplo: procedimiento, función, bloque while/for/if
La memoria de Heap permite Crear y destruir objetos. Son referencias por una variable como un puntero. Ejemplo: malloc
En base al ligado de memoria se clasifican las variables según su tiempo de vida del ligado. Cuáles son estas clasificaciones?
Tenemos las variables estáticas, las variables dinámicas de Stack, las variables dinámicas de Heap y dentro de estas existen dos tipos: las dinámicas de Heap explícitas y las dinámicas de Heap implícitas.
Que es una variable estática?
Esta tiene ligado estático, se usa memoria estática, y pueden ser de acceso global o se pueden restringir a un ámbito local. La desventaja es su falta de flexibilidad, no soportan recursión.
Qué es una variable dinámica de Stack?
Es una variable de memoria asignada dinámicamente desde el Runtime System, Desde el registro de activación. Soporta muy bien la recursión y el ligado de tipo, es normalmente estática en un ambiente de ejecución.
Que es una variable dinámica de heap y cuáles son sus tipos?
Esta se asignan a la memoria de Heap. Primero están las explícitas donde la memoria se asigna y libera en forma explícita desde el Heap por el programador, usando un operador del lenguaje y su acceso ocurre sólo mediante punteros o referencia.
Luego están las implícitas, donde se liga automáticamente a la memoria de Heap cada vez que ocurre una asignación: Python y JavaScript, son muy flexibles pero tiene un alto costo en ejecución.
¿Qué es una constante con nombre ?
Se ligan a un valor sólo una vez y luego permanecen inmutables.
Qué es el ámbito?
Es un rango de sentencias en el cual un nombre es visible. En una sentencia, una variable es visible si puede ser referenciada.
Cuáles son los dos tiempos de determinación del ámbito del nombre?
El ámbito se puede terminar en tiempo de compilación: estático. Y en tiempo de ejecución: dinámico.
En qué consiste el ligado de ámbito estático?
Un lenguaje de programación posee ámbito estático si el ámbito puede ser determinado antes de la ejecución, en una compilación, o en el análisis del código fuente.
En qué consisten los ámbitos anidados?
En ámbitos anidados la correspondencia entre una referencia a un nombre y tu declaración, se busca desde el ámbito más cercano al más lejano (externo).
En qué consiste el ocultamiento de nombres?
A veces se pueden generar espacios de nombre, para llamar explícitamente a una variable. Y además, existen los bloques, en un lenguaje con bloques se permite la declaración de nombres dentro de un bloque de sentencias, creando ámbitos estáticos, dentro de un programa.
En qué consiste el ligado del ámbito dinámico?
En base a la ejecución del programa, no tiene que ver con la estructura del código fuente, sino por llamadas a sus programas, amiento. En fin, se da en tiempo de ejecución. Esto ocasiona programas más lentos y difíciles de leer.
Qué es la modularización?
Es la división del trabajo para facilitar el desarrollo agrupando los distintos objetos de programa tales como: su programas, variables, tipos, etc.
Que es un sistema de tipos de un lenguaje de programación?
Un sistema de tipos define la manera en la que un lenguaje de programación clasifica en tipos los valores y expresiones, como interactúan estos tipos y además permite la definición de nuevos tipos. Permite verificar el uso correcto y detectar errores de tipo. Pero su sistema puede ser muy estricto y se pueden introducir lagunas o conversiones explícitas no verificadas.
Cuáles son los dos grupos de tipos de datos?
Existen los datos de tipo ordinal, que siguen un orden. Y los datos de tipo estructurados. Además existen los punteros, los archivos y entrada/salida
Cuáles son los tipos de datos ordinales?
Éstos son los datos primitivo, y los tipos definidos por usuario; los enteros, punto flotante, Char, booleanos y los ennumerados y subrango.