Title: Tema 2--
1Tema 2--
- Introducción a la programación en C
2OUTPUT
RAM
HDD
INPUT
CPU
3Programa de computador
INSTRUCCIÓN 1
OUTPUT
RAM
INSTRUCCIÓN 2
PROGRAMA
INSTRUCCIÓN 3
INPUT
CPU
HDD
4Programa de computador
RAM
PROGRAMA
Código ejecutable
Datos del programa (variables)
Modelo de Von-Neumann
5Lenguajes de programación
- 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
6Lenguajes de programación
- Ensamblador
- Convierte instrucciones de procesador en ceros y
unos. - Lenguaje de ensamblador o assembly
- Expresa instrucciones de procesador en un
lenguaje escribible por un ser humano - Lenguaje de bajo nivel
7Lenguajes de programación
Código Assembly Load 1 3
Código Objeto 0011001
CPU
Ensamblador
8Lenguajes de programación
- Lenguajes de alto nivel
- Compilados
- Interpretados
- Cercanos al lenguaje natural
- Ventajas
- Más claros
- Códigos más cortos
- Portables
9Lenguajes de programación
Código fuente if(xgt0) Y10
Código Objeto 0011001
compilador
linker
Código Ejecutable 0011001
Sintaxis
gramática
10Lenguajes de programación
Código fuente if(xgt0) Y10
Código Objeto 0011001
CPU
interprete
11Lenguajes de programación
- Proceso de creación de un programa
- Generación de código fuente
- Compilación
- Se analiza la sintaxis del programa
- Se analiza la gramática del programa
- Se genera código objeto
- Enlace
- Se combina el código objeto con bibliotecas del
sistema - Se genera programa ejecutable
- Ejecución
12Lenguajes de programación
- Generación del código fuente
- Son archivos de texto plano.
- Se puede usar cualquier editor de texto.
- Existen editores especializados para cada lenguaje
13Lenguajes de programación
- Compilación
- Existen distintos compiladores
- Reciben como entrada el nombre del archivo con el
código fuente - Entregan como resultado un archivo (binario) con
el código objeto. - Si existen errores se debe corregir el código
fuente - Errores sintácticos ola, me yamo pdero
- Errores gramaticales Hola, me pedro llamo
14Lenguajes de programación
- Enlace
- Se toma un conjunto de archivos con código objeto
y se combinan en un solo archivo (exe en windows) - Muchas veces el compilador hace el enlace en
forma automática (compile v/s build) - Ejecución
- Se lleva el programa a la memoria RAM y se
ejecutan sus instrucciones en la CPU.
15Lenguajes de programación
Código fuente
Compilación
Código objeto
bibliotecas
Enlace
Código ejecutable
Ejecución
16El lenguaje C
- C es un lenguaje de programación de computadoras.
- Lenguaje de alto nivel
- Más bien medio.
- Permite manipulación de bits y bytes, direcciones
de memoria. - Estructuras de control de alto nivel.
- Portabilidad.
- Simple, pero poderoso.
- Muy ligado al mundo Unix.
- Ideal para aplicación de alto rendimiento.
17Historia de C
- Inventado e implementado por primera vez por
Dennis Ritchie.
18Historia de C
- 1960s
- BCPL (Martin Richards)
- 1969
- B (Ken Thompson)
- 1971
- NB (Dennis Ritchie)
- 1972-1973
- C (Dennis Ritchie)
19Historia de C
- 1973
- Reescritura del kernel de Unix en C
- 1978
- Pcc (Steve Johnson)
- Brian Kernighan Dennis Ritchie The C
Programming Language
20Historia de C
- 1982-1989
- Proceso de estandarización
- ANSI-89
- 1995
- Primera enmienda de C
- 1999
- Estándar C99
- http//cm.bell-labs.com/cm/cs/who/dmr/chist.html
21Historia de C
- 1997
- ANSI C
- C
- Diseñado e implementado por Bjarne Stroustrup.
- C mejorado
- Soporta orientación a objetos y programación
genérica
22Fin Tema 2--
- Introducción a la programación en C