21. ¿Qué es un programa? -> implementación de un algoritmo mediante un lenguaje de programación
22. ¿Qué es un lenguaje de programación? -> conjunto de reglas, símbolos y palabras especiales usado para construir un programa, es decir, para expresar una secuencia de instrucciones para un computador.
24. Si la CPU “entiende” sólo de 1's y 0's...cómo puede ejecutar instrucciones que escribimos en un lenguaje distinto?
25. Lenguajes de alto y bajo nivel 10010011101011110110.... .text .globl main .type main, @function main: .LFB2: pushq %rbp .LCFI0: movq %rsp, %rbp .LCFI1: movl $3, -4(%rbp) movl -4(%rbp), %eax addl %eax, %eax movl %eax, -8(%rbp) movl $13, -8(%rbp) movl -8(%rbp), %eax addl $1, %eax movl %eax, -4(%rbp) movl $0, %eax leave ret i nt main (void) { int a, b; a = 3; b = 2*a; b = 13; a = b + 1; return 0; } Lenguaje ensamblador Lenguaje de máquina Lenguaje C
26. Del programa al ejecutable Ejecutable Código en lenguaje C Compilador Código en lenguaje ensamblador Ensamblador Código en lenguaje de máquina Librerías Enlazador