You are on page 1of 22

Tema 2-Introduccin a la programacin en C

OUTPUT

HDD
INPUT

RAM
CPU

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

Lenguajes de programacin
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
IWI-131 - Tema 2--

Lenguajes de programacin

Cdigo
Assembly
Load $1 $3

Ensamblador

Cdigo
Objeto
0011001

IWI-131 - Tema 2--

CPU

Lenguajes de programacin
Lenguajes de alto nivel
Compilados
Interpretados

Cercanos al lenguaje natural


Ventajas
Ms claros
Cdigos ms cortos
Portables
IWI-131 - Tema 2--

Lenguajes de programacin
Cdigo
fuente
if(x>0)
Y=10;

compilador

Cdigo
Objeto
0011001

linker

Sintaxis

Cdigo
Ejecutable

gramtica

0011001

IWI-131 - Tema 2--

Lenguajes de programacin
Cdigo
fuente
if(x>0)

interprete

Cdigo
Objeto
0011001

Y=10;

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

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.

Simple, pero poderoso.


Muy ligado al mundo Unix.
Ideal para aplicacin de alto rendimiento.

IWI-131 - Tema 2--

Historia de C
Inventado e
implementado por
primera vez por
Dennis Ritchie.

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

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

IWI-131 - Tema 2--

Fin Tema 2-Introduccin a la programacin en C

You might also like