El documento introduce los conceptos básicos de la programación y el lenguaje C. Explica que los lenguajes de alto nivel como C necesitan ser traducidos a lenguaje máquina para su ejecución. Describe el proceso de creación de programas en C usando el compilador Dev C++, incluyendo la edición, compilación, enlazado y ejecución de código, así como la depuración de errores.
1. Introducción a laIntroducción a la
ProgramaciónProgramación
Introducción al Entorno deIntroducción al Entorno de
Programación Dev C++Programación Dev C++
2. Lenguajes de ProgramaciónLenguajes de Programación
• Lenguaje Máquina: Los programas expresados en lenguaje máquina
son directamente ejecutables por el procesador
Unidades Centrales
Entra-
da
Sali-
da
Memoria Principal
ALU
Unidad de
Control
111000 .
010110 …
…
101101 …
…
Programa en Lenguaje
Máquina (o en código binario,
o en código ejecutable)
Datos Datos
Procesador
3. Lenguajes de ProgramaciónLenguajes de Programación
• Lenguajes de Alto Nivel: Los programas expresados en lenguajes de
alto nivel precisan ser traducidos a lenguaje máquina para poder ser
ejecutados por el procesador
Unidades Centrales
Memoria Principal
ALU
Unidad de
Control
111000 .
010110 …
…
101101 …
…
Traductor
(Compilador
o Intérprete)
Procesador
#include …
…
Int main( …)
{
…
}
Programa en
Lenguaje de
Alto Nivel
111000 .
010110 …
…
101101 …
…
Programa
Ejecutable
Fichero
fuente
Fichero
ejecutable
4. Lenguajes de ProgramaciónLenguajes de Programación
• Lenguajes de Alto Nivel
• FORTRAN: orientado al cálculo científico
• COBOL: orientado hacía las aplicaciones de tipo comercial
• C: orientado a la programación de sistemas operativos y
aplicaciones de ingeniería
• C++: lenguaje derivado del C
• Java: lenguaje derivado del C++ de amplio uso en Internet
• Pascal y BASIC: orientados a la didáctica de la programación
• Ada: orientado a la programación de sistemas de tiempo real
(aviones, cohetes, satélites, barcos, …)
• Prolog y LISP: orientados hacía la inteligencia artificial
5. Lenguaje CLenguaje C
• Algunos datos
• Fue creado en 1970 por Dennis Ritchie en los Laboratorios Bell
(Estados Unidos)
• Los principales sistemas operativos (Windows y UNIX) y todos
sus derivados han sido creados utilizando C como lenguaje de
programación
• Es un lenguaje de propósito general, aunque fue especialmente
diseñado para la programación de sistemas operativos
• Ha influenciado en numerosos lenguajes de programación (C++,
Java, …)
6. Lenguaje CLenguaje C
• El Lenguaje C es un lenguaje de programación compilado
Unidades Centrales
Memoria Principal
ALU
Unidad de
Control
111000 .
010110 …
…
101101 …
…
Compilador
(DevC++)
Procesador
#include …
…
Int main( …)
{
…
}
Programa
en C
111000 .
010110 …
…
101101 …
…
Programa
Ejecutable
Fichero
fuente
Fichero
ejecutable
7. Lenguaje C: Proceso de Realización deLenguaje C: Proceso de Realización de
ProgramasProgramas
(1) Edición
programa
fuente
(2) Compilación
¿error?
(3) Error de
CompilaciónSí
No
.o
.o
.o
…
…
Ficheros
objeto
.c
.h
.c
.hmain.c
…
…
Ficheros
fuente
.exe
Programa
ejecutable
(4) Enlazado
¿error?
(6) Error de
Ejecución
(5) Ejecución
Sí
No
.exe
Programa
ejecutable
final
¿error?
(5) Error de
enlazado
Sí
No
8. Lenguaje C: El Compilador Dev-C++Lenguaje C: El Compilador Dev-C++
• Bloodshed
Dev-C++ es el
compilador de
C/C++ que se
va a utilizar
(accesible en
www.bloodshed
.net y en la
página web de
la asignatura).
9. Lenguaje C: Nuestro Primer ProgramaLenguaje C: Nuestro Primer Programa
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("¡Hola Mundo!n");
system("PAUSE");
return 0;
}
escritura en pantallacuerpo del
programa
ficheros cabecera
espera por una pulsación
de teclado
finalización de programa
cabecera de
programa
• El programa Hola Mundo
10. Creando un Proyecto con Dev-C++ (1)Creando un Proyecto con Dev-C++ (1)
• Una vez
abierto Dev-
C++ se nos
muestra su
interfaz
inicial.
11. Creando un Proyecto con Dev-C++ (2)Creando un Proyecto con Dev-C++ (2)
• Creamos una
carpeta para el
proyecto.
• A
continuacióncreamo
s el proyecto en
Dev-C++.
12. Creando un Proyecto con Dev-C++ (3)Creando un Proyecto con Dev-C++ (3)
• Dev-C++
es un
compilador
de C/C++,
es preciso
indicar que
el proyecto
es en
lenguaje C.
13. Creando un Proyecto con Dev-C++ (4)Creando un Proyecto con Dev-C++ (4)
• Proyecto
recién
creado. Ficheros
fuente
incluidos
en el
proyecto
Área de edición
de ficheros
fuente
main.c: fichero fuente
principal del proyecto
17. • Resultados de la compilación.
Creando un Proyecto con Dev-C++ (7)Creando un Proyecto con Dev-C++ (7)
programa ejecutable
resultado de la
compilación
18. • Lanzamos
el fichero
.dev dentro
del
directorio de
el proyecto
ya existente
que se va a
abrir.
Abriendo un Proyecto con Dev-C++ (1)Abriendo un Proyecto con Dev-C++ (1)
20. Instrucciones de
lectura a través de
teclado
Abriendo un Proyecto con Dev-C++ (3)Abriendo un Proyecto con Dev-C++ (3)
variables: reserva de
memoria para almacenar
el nombre y los apellidos
21. • El progra-
ma Tu
Nombre en
ejecución.
Abriendo un Proyecto con Dev-C++ (4)Abriendo un Proyecto con Dev-C++ (4)
23. Depurando un Proyecto con Dev-C++ (2)Depurando un Proyecto con Dev-C++ (2)
variables: reserva de
memoria para
almacenar valores
numéricos
Instrucciones
de cálculo
numérico
24. • Añadimos
un punto de
ruptura
(breakpoint)
en la
primera
línea del
programa.
Depurando un Proyecto con Dev-C++ (3)Depurando un Proyecto con Dev-C++ (3)
25. • Añadimos
un punto de
ruptura
(breakpoint)
en la
primera
línea del
programa.
Depurando un Proyecto con Dev-C++ (4)Depurando un Proyecto con Dev-C++ (4)
línea en la que la
ejecución se parará
27. • Ejecuta-
mos en
modo
depuración.
Depurando un Proyecto con Dev-C++ (6)Depurando un Proyecto con Dev-C++ (6)
ejecución parada en
esta instrucción
botón de ejecución paso
a paso (depuración)
botón para
observar el con-
tenido de alguna
variable
29. • Ejecución
“paso a
paso”.
Depurando un Proyecto con Dev-C++ (8)Depurando un Proyecto con Dev-C++ (8)
botón de ejecución paso
a paso (depuración)
ejecución
parada en esta
instrucción
30. • Ejecución
“paso a
paso”.
Depurando un Proyecto con Dev-C++ (9)Depurando un Proyecto con Dev-C++ (9)
botón de ejecución paso
a paso (depuración)
ejecución
parada en esta
instrucción