Worksheets2do parcial programacion avanzada
Total questions: 14
Worksheet time: 7mins
CONCEPTO DE BIG O
Es una forma de medir la eficiencia de un algoritmo en términos de cuánto tiempo o espacio necesita para ejecutarse en función del tamaño de la entrada.
es una forma de medir la eficiencia de un algoritmo en términos de cuánto tiempo o espacio necesita para ejecutarse en función del tamaño de la salida.
es una forma de medir la eficiencia de un algoritmo en términos de cuánto tiempo o espacio necesita para transcribirse en código fuente en función del tamaño de la entrada.
es una forma de medir la optimizacion de un algoritmo en términos de cuánto tiempo o espacio necesita para ejecutarse en función del tamaño de la entrada.
Las notaciones de Big O más comunes son:
O(1) - Constant time o notación constante
O(log n) - Logarithmic time o notación logarítmica
O(n) - Linear time o notación lineal
O(n log n) - Linearithmic time o notación lineal-logarítmica
O(n^2) - Quadratic time o notación cuadrática
O(2^n) - Exponential time o notación exponencial
O(n!) - Factorial time o notación factorial
SI
NO
PARCIALMENTE CORRECTO
QUE ES UN COMPILADOR
software que transcribe el código fuente escrito en un lenguaje de programación (del lenguaje destino) a otro (leguaje fuente)
Un compilador es un tipo especial de software que traduce el código fuente escrito en un lenguaje de programación (el lenguaje fuente) a otro (el lenguaje de destino).
El propósito más común de compilar código fuente es crear un programa ejecutable, y la sofisticación de un compilador puede influir muchísimo en la eficacia y velocidad del programa ejecutable final.
el compilador es un software que traduce el código a un lenguaje de programación para su posterior ejecucion
este verifica que las instrucciones del programa sean semánticamente correctas y coherentes, y realiza verificaciones como la asignación de tipos y la resolución de nombres.
Generación de código objeto:
Análisis semántico:
Vinculación y carga:
Optimización de código:
VENTAJAS DE COMPILADOR
Un compilador puede generar código optimizado específicamente para la arquitectura de la máquina objetivo
El código compilado puede ejecutarse en diferentes plataformas sin necesidad de realizar modificaciones adicionales
un compilador puede generar código optimizado para el usuario
un compilador mejora la confiabilidad del código fuente
DESVANTAJAS DE COMPILADORES
El código compilado está optimizado para una arquitectura específica, lo que puede limitar su capacidad para ejecutarse
El código transformado a código de maquina ocupa mucho mas espacio
El compilador mientras mas actualizado sea es mucho mas rápido
La depuración de código compilado puede ser más difícil que la depuración de código interpretado
LA CONSTRUCCION DE UN COMPILADOR DIVIDE EL PROCESO EN:
síntesis de programación y análisis del sistema
Análisis del usuario y código del programa fuente
Análisis del programa fuente y síntesis del programa objeto
Análisis del código fuente y sintesis del sistema
ANALISIS DE PROGRAMA FUENTE
léxico, sistémico, sintáctico
léxico, semántico y sistémico
léxico, sintáctico, semántico
léxico, semántico y dislálico
DESAFIOS COMUNES DE LOS COMPILADORES
Optimizacion de codigo, gestion de memoria, tiempo de compilacion
optimizacion de codigo, gestion de riesgos, sintesis del sistema
tiempo de ejecucion, restauracion de datos, compilacion de codigo
compilacion de codigo, gestion de riesgos, tiempo de ejecucion
COMPILADOR JIT
son una forma de compilación que convierte el código fuente en código máquina durante el tiempo de ejecución
traduce el código fuente a código maquina
genera una compilación estática para el usuario
convierte el código maquina a código fuente durante su el tiempo de ejecución
¿PUEDE UN COMPILADOR GENERAR CÓDIGO PARA DIFERENTES ARQUITECTURAS DE PROCESADORES?
si
no
algunos
Arboles
Se les llama estructuras dinámicas, porque las mismas pueden cambiar tanto de forma como de tamaño durante la compilación del código fuente
Se les llama estructuras dinámicas, porque las mismas pueden cambiar su tamaño durante la ejecución del programa.
e les llama estructuras dinámicas, porque las mismas pueden cambiar tanto de forma como de tamaño durante la ejecución del programa.
Se les llama estructuras dinámicas, porque las mismas pueden cambiar su forma durante la ejecución del programa.
Estructura de arboles
Nodos, Nodo Raiz
Nodo Padre, hermano, hoja
Nodo rama
Nodo subyasente
Nodo padre,madre, hijo
BIG O NOS AYUDARA A:
Evaluar la eficiencia de tus algoritmos, Comparar algoritmos:
mejorar la distribución de código fuente a maquina
Mejorar la calidad de código maquina
optimizar codigo
