Evaluacion minima teorica3 cpclp Flashcards
estudiar para la EMT3 de CPLP 2024 (132 cards)
¿Qué es la abstracción?
La abstracción es representar algo descubriendo sus características esenciales y suprimiendo las que no lo son, se basa en el principio de información oculta
¿Qué es TAD?¿Como esta compuesto?
TAD= Tipo de Dato Abstracto
Son los nuevos tipos de datos definidos por el usuario
Esta compuesto por la representación(datos) y operaciones(funciones y procedimientos)
¿Qué es la abstracción de datos?
Es el proceso de construir nuevos tipos de datos
¿Qué condiciones cumple un tipo abstracto de datos para que sea considerado uno?
-Encapsulamientos: la representación del tipo y las operaciones permitidas se describen 1 vez
-Ocultamiento: el objeto y la implementación del tipo permanecen oculto
¿Cómo se debe hacer la especificación de un TAD?
La especificación formal proporciona un conjunto de axiomas que describen el comportamiento de todas las operaciones, tiene que tener una parte de sintaxis y semántica
¿Qué es una clase?
Una clase es un tipo definido por el usuario, contiene la especificación de los datos que describen un objeto junto con la descripción de las acciones que un objeto conoce, posee atributos y métodos,
¿Qué es un sistema de tipos?
ES un conjunto de reglas usadas por un lenguaje para estructurar y organizar sus tipos
¿Cuál es el objetivo de hacer sistemas de tipos?
Es para escribir programas seguros, permite comprender mejor los aspectos semánticos del lenguaje
Nombre las características de los sistemas de tipos
-Provee mecanismos de expresión
+Expresar tipos intrínsecos o definir tipos nuevos
+Asociar los tipos definidos con construcciones del lenguaje
-Define reglas de resolución
+Equivalencia de tipos
+Compatibilidad de tipos
+Inferencia de tipos
-Mientras mas flexible el lenguaje, mas complejo el sistema
-Tipo y tiempo de chequeo
-Reglas de equivalencia y conversión
-Reglas de inferencia de tipo
-Nivel de polimorfismo del lenguaje
¿Cuándo se dice que un tipado es fuerte?
Se dice que el sistema de tipos es fuerte cuando especifica restricciones sobre como las operaciones que involucran valores de diferentes tipos pueden operarse
-no hay errores de tipo
-se detectan todos los errores de tipo
¿Cuáles son los tipos de ligadura que hay?
-Tipado estático: ligaduras en compilación, exige cumplir ciertas condiciones
-Tipado dinámico: ligaduras en ejecución, inseguro
-Tipado seguro: no es estático, ni inseguro
¿Cuáles son las reglas de equivalencia y conversión?
-Tipo compatible: reglas semánticas que determinan si el tipo de un objeto es valido en un contexto particular
-Un lenguaje se debe definir en que contexto el tipo Q es compatible con el tipo T
-El sistema de tipos define la compatibilidad
-Hay varios tipos de equivalencia
-Un tipo es compatible con otro si es equivalente y se puede convertir
-Coerción
-Widening
-Narrowing
-Clausula de casting
(hice la pregunta como pude)
¿Qué permite la inferencia de tipos?
la inferencia de tipos permite que el tipo de una entidad declarada se infiera en lugar de ser declarado. La inferencia puede realizarse de acuerdo al tipo de:
-Un operador predefinido
-Un operando
-Un argumento
-El tipo del resultado
¿Cuáles son las reglas de inferencia y nivel de polimorfismo?
-Las variables polimórficas pueden tomar valores de diferentes tipos
-Las operaciones polimórficas son funciones que aceptan operandos de varios tipos
-Los tipos polimórficos tienen operaciones polimórficas
-El polimorfismo ad-hoc
-La sobrecarga
-La coerción
-Hay distintos niveles de polimorfismo
(no supe como hacer la pregunta?)
¿Cuáles son los niveles de polimorfismo?
-Polimorfismo universal:
Una operación se aplica uniformemente sobre un conjunto de tipos relacionados
-Polimorfismo paramétrico:
La uniformidad de la estructura esta dada a través de parámetros
-Polimorfismo paramétrico:
Es un polimorfismo universal que permite modelar subtipos y herencia
¿Qué es un lenguaje mono-formico?
Un lenguaje se dice mono-mórfico si cada entidad se liga a un único tipo(estático).
¿Qué permite el polimorfismo ad-hoc?
El polimorfismo ad-hoc permite que una función se aplique a varios tipos con comportamientos diferentes
¿Qué le dice una roca a otra roca?
la vida es dura
¿Qué es la sobrecarga?
(reglas de inferencia y nivel de polimorfismo)
Es un conjunto de abstracciones diferentes que están ligadas al mismo símbolo o identificador
¿Qué permite la coerción?
(reglas de inferencia y nivel de polimorfismo)
La coerción permite que un operador que espera un tipo pueda recibir una de un tipo distinto
¿Cuáles son los tipos de equivalencia?
-Equivalencia por nombre: dos variables son del mismo tipo si y solo si están declaradas juntas o si están declaradas con el mismo nombre de tipo
-Equivalencia por estructura: dos variables son del mismo tipo si los componentes de su tipo son iguales
¿Qué significa coerción?
Significa convertir un valor de un tipo a otro
¿Qué es el Widening(ensanchar)?
(reglas de equivalencia y conversión)
Es una característica de la conversión: el valor del dominio tiene su correspondiente valor en el rango
¿Qué es el Narrowing(estrechar)?
(reglas de equivalencia y conversión)
Es una característica de la conversión: cada valor del dominio puede no tener su correspondiente valor en el rango