Evaluacion minima teorica2 cpclp Flashcards
flashcards de repaso para la emt2 de Conceptos de Lenguajes de Programacion (2024) no le se a lo de usar unidades genéricas de parametro
¿Qué es una unidad?
una Unidad es una abstracción de una acción del programa, dependiendo del tipo de unidad puede estar representando una sentencia(aka procedimiento) o una operación(como una función)
En general se las llama rutinas de las cuales son procedimientos y funciones (estas ultimas devuelven un valor)
¿Para que se utiliza el nombre de una rutina?¿En que momentos se utiliza?
El nombre de una rutina es un string de caracteres que se usa para invocar a la rutina
Se utiliza:
-Cuando introducimos su declaración
-Cuando la invocamos
Nombre los atributos de una rutina
Nombre(declaración/invocación)
-Alcance(donde se conoce el identificador, ambiente de referencia de la rutina, que si global, local,etc)
-Tipo(dado por los parámetros y el valor de retorno. Signatura)
-Lvalor(relacionado a donde se almacena las sentencias en la memoria)
-Rvalor(relacionado al momento en que se hace referencia a la rutina)
¿Qué es el alcance, hasta donde se extiende?¿Que es la activación de una rutina?
El alcance es el rango de instrucciones donde se conoce el nombre.
El alcance se extiende desde el punto de su declaración hasta algún constructor de cierre
La activación es desde donde se puede invocar la rutina, esto es dentro del alcance de la rutina
¿Cómo esta compuesta una rutina?
Esta compuesta por un encabezado( es lo mismo que decir declaración) y un cuerpo
encabezado + cuerpo = definición
¿Cuándo un lenguaje permite manejar rutinas recursivas?
El lenguaje maneja rutinas recursivas si el lenguaje distingue la declaración y la definición de una rutina
¿Qué define el tipo de los parámetros y el tipo del valor de retorno?
el encabezado 😉
¿Cuándo un llamado a rutina es correcto?
Un llamado a una rutina es correcto si esta de acuerdo al tipo de la rutina.
¿Qué cosa permite especificar el tipo de una rutina?
La signatura
V o F
Un llamado a una rutina es correcta si esta de acuerdo al tipo de la rutina.
V
¿Qué es el l-valor en un rutina?
es el lugar en memoria en el que se almacena el cuerpo de la rutina
¿Qué es el r-valor de una rutina?
La llamada a la rutina causa la ejecución de su código, eso constituye su r-valor.
Puede ser estático( se llama de manera tradicional| función()) o dinámico( se llama a la función mediante una variable | varfun())
¿Qué son los parámetros formales?
Son los parámetros que aparecen en la declaración de la rutina
¿Qué son los parámetros reales?
Son los parametros que aparecen en la invocacion de la rutina
¿Cómo puede ser la comunicación entre rutinas?
-Mediante parámetros(es mejor esto)
-Ambiente no local(busca fuera de su scope la variable que le falte)
Que métodos de ligadura entre parámetros formales y reales hay?
-Método posicional:
Es cuando se ligan los parámetros de uno en uno( hay una variante que hace una combinación con valores por defecto )
-Método por nombre: se relacionan los parámetros por mismo nombre
V o F
Cada unidad va a generar su propio registro de activación
V
¿Qué es la instancia de una unidad?¿Como esta compuesta?
Es la representación de la rutina en ejecución
Esta compuesta por:
-Un segmento de código(C): donde se guardan las instrucciones, contenido fijo.
Se ubican en memoria de Código
-Un registro de activación(D):
donde se guardan los datos locales de la rutina, contenido cambiante.
Se ubican en memoria de Datos
¿Qué es la ip?
Es un puntero que señala a la instrucción que se esta ejecutando(direcciones de C)
¿Para que sirve el procesador abstracto?
sirve para comprender que efecto causan las instrucciones del lenguaje al ser ejecutadas
¿Cuales son las instrucciones del procesador abstracto?
-Set:setea valores en la memoria de datos(copia el valor de source en la direccion target), se puede combinar con E/S y admite expresiones
-Jump : la próxima instrucción a ejecutar será la indicada por el valor que se escriba al lado del jump(jumpt es igual pero salta solo si la expresión se evalúa como verdadera), admite direccionamiento indirecto
¿Qué es el punto de retorno?
es una pieza cambiante de información que debe ser salvada en el registro de activación de la unidad llamada.
unga unga unga unga( info que permite volver a la unidad que lo invoco a la unidad)
¿Qué ambientes de referencia existen?
-Ambiente local: variables locales, ligadas a los objetos almacenados en su registro de activación
-Ambiente no local: variables no locales, ligadas a objetos almacenados en los registros de activación de otras unidades
¿Qué estructuras/esquemas de ejecución de los lenguajes de programación hay?
-Estático
Todos los registros de activación cargados en la memoria, no permite recursión, usa C2
-Basado en pila
Registros de activación activos, permite recursión, permanente cambio en zona de datos, usa C5
-Dinámico
Todo el manejo se da en la HEAP, usa C6
Se diferencian en como manejan la zona de datos