Professional Documents
Culture Documents
OUTPUT
HDD
INPUT
RAM
CPU
Programa de computador
INSTRUCCIN 1
INSTRUCCIN 2
PROGRAMA
INSTRUCCIN 3
RAM
CPU
OUTPUT
INPUT
HDD
IWI-131 - Tema 2--
Programa de computador
PROGRAMA
Datos del
programa
(variables)
Cdigo ejecutable
RAM
Modelo de Von-Neumann
IWI-131 - Tema 2--
Lenguajes de programacin
Un computador solo entiende lenguaje
binario
Un procesador tiene un conjunto finito de
operaciones binarias
Un programa de computador es una
secuencia de estas instrucciones
Lenguajes de programacin
Ensamblador
Convierte instrucciones de procesador en ceros
y unos.
Lenguajes de programacin
Cdigo
Assembly
Load $1 $3
Ensamblador
Cdigo
Objeto
0011001
CPU
Lenguajes de programacin
Lenguajes de alto nivel
Compilados
Interpretados
Lenguajes de programacin
Cdigo
fuente
if(x>0)
Y=10;
compilador
Cdigo
Objeto
0011001
linker
Sintaxis
Cdigo
Ejecutable
gramtica
0011001
Lenguajes de programacin
Cdigo
fuente
if(x>0)
interprete
Cdigo
Objeto
0011001
Y=10;
CPU
Lenguajes de programacin
Proceso de creacin de un programa
Generacin de cdigo fuente
Compilacin
Se analiza la sintaxis del programa
Se analiza la gramtica del programa
Se genera cdigo objeto
Enlace
Se combina el cdigo objeto con bibliotecas del sistema
Se genera programa ejecutable
Ejecucin
Lenguajes de programacin
Generacin del cdigo fuente
Son archivos de texto plano.
Se puede usar cualquier editor de texto.
Existen editores especializados para cada
lenguaje
Lenguajes de programacin
Compilacin
Existen distintos compiladores
Reciben como entrada el nombre del archivo con el
cdigo fuente
Entregan como resultado un archivo (binario) con el
cdigo objeto.
Si existen errores se debe corregir el cdigo fuente
Errores sintcticos: ola, me yamo pdero
Errores gramaticales: Hola, me pedro llamo
Lenguajes de programacin
Enlace
Se toma un conjunto de archivos con cdigo
objeto y se combinan en un solo archivo (exe
en windows)
Muchas veces el compilador hace el enlace en
forma automtica (compile v/s build)
Ejecucin
Se lleva el programa a la memoria RAM y se
ejecutan sus instrucciones en la CPU.
IWI-131 - Tema 2--
Lenguajes de programacin
Cdigo fuente
Compilacin
Cdigo objeto
Enlace
Cdigo ejecutable
Ejecucin
IWI-131 - Tema 2--
bibliotecas
El lenguaje C
C es un lenguaje de programacin de computadoras.
Lenguaje de alto nivel
Ms bien medio.
Permite manipulacin de bits y bytes, direcciones de memoria.
Estructuras de control de alto nivel.
Portabilidad.
Historia de C
Inventado e
implementado por
primera vez por
Dennis Ritchie.
Historia de C
1960s
BCPL (Martin Richards)
1969
B (Ken Thompson)
1971
NB (Dennis Ritchie)
1972-1973
C (Dennis Ritchie)
IWI-131 - Tema 2--
Historia de C
1973
Reescritura del kernel de Unix en C
1978
Pcc (Steve Johnson)
Brian Kernighan & Dennis Ritchie The C
Programming Language
Historia de C
1982-1989
Proceso de estandarizacin
ANSI-89
1995
Primera enmienda de C
1999
Estndar C99
http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
IWI-131 - Tema 2--
Historia de C
1997
ANSI C++
C++
Diseado e implementado por Bjarne Stroustrup.
C mejorado
Soporta orientacin a objetos y programacin genrica