You are on page 1of 4

OUTPUT

Tema 2-HDD

Introduccin a la programacin en C

INPUT CPU

RAM

IWI-131 - Tema 2 --

Programa de computador
INSTRUCCIN 1 INSTRUCCIN 2 PROGRAMA INSTRUCCIN 3

Programa de computador
PROGRAMA

OUTPUT

Cdigo ejecutable

Datos del programa (variables) RAM

RAM

CPU

INPUT

HDD
IWI-131 - Tema 2 --

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.

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 --

IWI-131 - Tema 2 --

Lenguajes de programacin

Lenguajes de programacin
Lenguajes de alto nivel
Compilados Interpretados

Cdigo Assembly
Load $1 $3

Ensamblador

Cdigo Objeto
0011001

CPU

Cercanos al lenguaje natural Ventajas


Ms claros Cdigos ms cortos Portables

IWI-131 - Tema 2 --

IWI-131 - Tema 2 --

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

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

compilador

Cdigo Objeto
0011001

linker

interprete

Cdigo Objeto
0011001

CPU

Sintaxis gramtica

Cdigo Ejecutable
0011001

IWI-131 - Tema 2 --

IWI-131 - Tema 2 --

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

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

Enlace
Se combina el cdigo objeto con bibliotecas del sistema Se genera programa ejecutable

Ejecucin
IWI-131 - Tema 2 -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

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 --

IWI-131 - Tema 2 --

Lenguajes de programacin
Cdigo fuente Compilacin Cdigo objeto Enlace Cdigo ejecutable Ejecucin
IWI-131 - Tema 2 --

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.

bibliotecas

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.

Historia de C
1960s
BCPL (Martin Richards)

1969
B (Ken Thompson)

1971
NB (Dennis Ritchie)

1972-1973
C (Dennis Ritchie)
IWI-131 - Tema 2 -IWI-131 - Tema 2 --

Historia de C
1973
Reescritura del kernel de Unix en C 1982-1989

Historia de C
Proceso de estandarizacin ANSI-89

1978
Pcc (Steve Johnson) Brian Kernighan & Dennis Ritchie The C Programming Language

1995
Primera enmienda de C

1999
Estndar C99

http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
IWI-131 - Tema 2 -IWI-131 - Tema 2 --

Historia de C
1997
ANSI C++

Fin Tema 2-Introduccin a la programacin en C

C++
Diseado e implementado por Bjarne Stroustrup. C mejorado Soporta orientacin a objetos y programacin genrica

IWI-131 - Tema 2 --

You might also like