Práctica 6 Dev C++. Compilador de C para Windows

Anuncio
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
Práctica 6
Dev C++. Compilador de C para Windows
1. Introducción
Estas notas sirven de apoyo para la realización de las prácticas de programación en
lenguaje C de la asignatura Fundamentos de Informática de primer curso de Ingeniería
Industrial.
Esta práctica de introducción al lenguaje C pretende mostrar algunos conceptos básicos
asociados al programa compilador de C empleado en la asignatura. En este caso DevC++.
Dev-C++ es un entorno integrado de desarrollo de programas en lenguaje C (y C++, una
forma evolucionada de C) de libre distribución bajo licencia GNU
(http://www.gnu.org/copyleft/gpl.html).
Este software integra en una única herramienta todo lo necesario para desarrollar
programas en lenguaje C, incorporando como elementos más destacados, un
preprocesador de lenguaje (Preprocessor) y un compilador de lenguaje C/C++
(Compiler), y un montador de enlaces (Linker). Además de estos elementos básicos, la
herramienta proporciona otras funcionalidades muy convenientes, como son una
herramienta de depuración de código (Debugger), así como plantillas de código
preformateado y librerías de funciones de fabricante.
El software Dev-C++ puede descargarse gratuitamente desde la página web de la
asignatura, o bien directamente desde la web del desarrollador
http://www.bloodshed.net/dev/devcpp.html
Los apartados que siguen tratarán de describir de un modo necesariamente no
exhaustivo, aunque si suficiente para nuestros propósitos, esta útil herramienta.
2. Nomenclatura y Convenciones
En este texto, así como en otro de informática, se usan convenciones para indicar de
forma resumida alguna acción a realizar. También se usan palabras con un sentido
definido distinto del que tienen en el lenguaje habitual.
En cuanto a las convenciones, éstas permiten sobre todo indicar las pulsaciones de las
teclas. Para indicar que se pulsen dos teclas simultáneamente, se escribe tecla1+tecla2.
Por ejemplo, Alt+f significa que se ha de pulsar la tecla Alt y, dejando ésta pulsada,
pulsamos a continuación la tecla f.
Otros conceptos referidos en este enunciado como, Barra de menús, barras de
herramientas o ventana de programa y depuración se describen en el apartado siguiente.
1
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
3. Desarrollo de la práctica
Posiblemente, el mejor modo de aprender estas nociones, es comenzar con la escritura
de un primer programa en Dev-C++, tal como describiremos a continuación.
3.1.
Arranque de la aplicación
En primer lugar arrancaremos la aplicación haciendo click dos veces sobre el icono
del escritorio de la aplicación Dev-C++.
El entorno de desarrollo Dev-C++ tiene el aspecto habitual de una aplicación para
el sistema de explotación Windows.
Barra de Menús
Barras de Herramientas
Ventana de programa
Como puede comprobar, el entorno de desarrollo proporciona multitud de
funcionalidades que resultaría tedioso y extenso de describir en este documento.
Por este motivo nos centraremos únicamente en los aspectos esenciales que
permitan la escritura, compilación, montaje y depuración de un programa en C.
3.2.
Escritura del código fuente
En este apartado escribiremos el código de lenguaje C que codifica el programa.
Para ello es necesario abrir nuevo archivo en blanco de código fuente, acudiendo en
la barra de menús a Archivo -> nuevo - > Código fuente
2
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
Observará que se despliega una nueva ventana de programas en blanco, sobre la
que podrá escribir el código que considere oportuno.
Escriba lo siguiente:
#include <stdio.h>
main()
{
float a,b,med;
printf("Introduzca el primer numero\n");
scanf("%f",&a);
printf("Introduzca el segundo numero\n");
scanf("%f",&b);
med=(a+b)/2;
printf("\n\nLa media de %f y %f es %f\n",a,b,med);
system("PAUSE");
}
Compruebe que ha tecleado correctamente el programa con todos los símbolos que
aparecen en él.
Para finalizar guarde el programa en
un fichero, en la barra de menús
Archivo->Guardar, o bien pulsando
ctrl+S. La primera vez que guarde el
archivo se le solicitará un nombre y
una ubicación para el archivo, así
como una extensión. Se sugiere que
cree un directorio en el disco local C:
(Búsquelo pulsando sobre el símbolo
, y a continuación cree el directorio
con
), y guarde allí su fichero con
3
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
el nombre que crea oportuno (Verifique que la extensión es “C source files (*.c)”).
Con esta etapa habrá finalizado la creación de su fichero de código fuente. Para
obtener el programa final, es necesario compilar y montar el programa, pasos que
se explican a continuación.
3.3.
Compilación
En la etapa de compilación el código fuente es comprobado sintácticamente por
Dev-C++, y traducido a lenguaje de máquina (aún no ejecutable, y denominado
código objeto). En caso de detectarse errores sintácticos o de concordancia de
acuerdo con las reglas del lenguaje C, Dev-C++, avisa apropiadamente, tal como
veremos a continuación.
Para compilar el código fuente que acabamos de teclear basta con acudir a la barra
de menús y pulsar Ejecutar-> Compilar, o bien Ctrl+F9.
Con esto se inicia el proceso de compilación. Si todo va bien debe observar una
ventana como la siguiente:
4
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
Es decir, debe obtener cero errores (Errors) y cero avisos (Warnings) en el proceso
de compilación.
Los errores son fallos críticos en la escritura o la concepción del programa que
impiden al compilador realizar su tarea. Son por tanto errores que impiden
proseguir con el resto de etapas de creación del programa, y deben ser reparados.
Los errores más simples (ausencia de punto y coma al final de una sentencia,
variables no declaradas, paréntesis no balanceados, etc.) pueden corregirse de
forma sencilla inspeccionando el código del programa con la ayuda de los mensajes
del compilador. Errores más sutiles o de difícil detección pueden requerir el empleo
de la herramienta de depuración que se describirá posteriormente.
Los avisos hacen referencia a incongruencias no críticas en el código (tipos de
datos no concordantes, variables declaradas pero no utilizadas, etc). Los avisos no
impiden proseguir con el resto de etapas de creación del programa ejecutable,
aunque resulta poco recomendable hacerlo. Una buena práctica de programación
aconseja modificar el código fuente en lo necesario (generalmente cambios
menores) para evitar la aparición de avisos en el proceso de compilación.
Si detecta errores o avisos en el proceso de compilación de su programa,
compruebe que no ha omitido ningún carácter crítico al teclearlo o ha cometido
algún otro error al copiar el código fuente que se le suministra.
3.4.
Montaje
En la etapa de Montaje, el código objeto generado en la etapa de compilación es
“ensamblado” junto con el código objeto de las funciones de librería para crear un
único fichero ejecutable (con extensión .exe)
Esta etapa no conlleva generalmente errores, salvo que hayamos omitido o
confundido algunas de las librerías de funciones que emplee nuestro programa.
Si todo es correcto, debe obtener en el mismo directorio en el que ha guardado el
código fuente de su programa, un fichero con ese mismo nombre, pero con
extensión .exe, indicando que el fichero es ejecutable directamente por el
computador.
3.5.
Ejecución
5
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
La ejecución del programa es el paso final, y permite comprobar el funcionamiento
del programa. Para ejecutar el programa, puede pulsar en la barra de menús
Ejecutar -> Ejecutar (o bien Ctrl.+F10).
Un método alternativo consiste en abrir una ventana de consola MS-DOS en el
sistema operativo, y ejecutar el programa directamente en línea de comandos,
tecleando el nombre del programa + ENTER. Para esto último debe asegurarse de
que se encuentra en el directorio local donde ha compilado y generado el programa
ejecutable.
Si la ejecución del programa no es satisfactoria, bien porque no realiza las tareas
para las que ha sido concebido, bien porque presenta errores en tiempo de
ejecución, el código debe ser modificado volviendo al paso 3.2 de escritura del
código fuente.
Cada vez que realice alguna modificación al programa, deberá compilar, montar y
ejecutar de nuevo el programa. Dev-C++ tiene una opción para realizar estas tres
tareas en un sólo paso pulsando en la barra de menús Ejecutar -> Compilar y
Ejecutar. Resulta sin embargo conveniente que en un principio realice estas tareas
por separado hasta adquirir una cierta práctica.
3.6.
Depuración
Se entiende por depuración de un programa, aquellas tareas encaminadas a la
localización y eliminación de errores (‘bugs’ en su denominación en inglés) de
cualquier naturaleza en el código de un programa.
Dev-C++ proporciona varias herramientas para este propósito, entre las que cabe
destacar:
1. Inspección de variables
Esta herramienta permite mostrar el valor de cualquier variable del
programa mientras éste se ejecuta. Con ello se puede verificar si las
variables toman el valor esperado en cada paso de ejecución y actuar en
consecuencia.
Para usar esta herramienta, en primer lugar hay que ejecutar el programa en
modo de depuración. Una forma sencilla de hacerlo es emplear la
herramienta ejecutar hasta el cursor. Para ello coloque el cursor con el
ratón sobre cualquier línea del programa, por ejemplo
float a,b,med;
y pulse sobre la barra de menús depurar-> ejecutar hasta el cursor. (O bien
pulsando Shift+F4).
6
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
Observará que se despliega una ventana de depuración en la parte inferior
de la pantalla con diferentes opciones. Entre ellas, las opciones añadir y
remover variable vigilada, permiten respectivamente ampliar y reducir la
lista de variables que queremos inspeccionar.
De este modo, pulse sobre Añadir variable vigilada, y ante la pregunta
“nombre de la variable”, introduzca la variable med.
Puede repetir el procedimiento con otras variables (pruebe por ejemplo con
las variables a y b).
El valor de las variables inspeccionadas puede visualizarlo en la ventana
desplegada en la parte izquierda de la pantalla, bajo la lengüeta depuración.
2. Ejecución paso a paso
Ésta es otra útil herramienta que, como su nombre indica, permite ejecutar
el programa instrucción a instrucción de modo que sea posible comprobar el
comportamiento del mismo ante cada una de ellas. En conjunción con la
herramienta de inspección de variables, permite obtener la traza del
programa y verificar el comportamiento del mismo.
La ejecución paso a paso se activa simplemente pulsando sobre la opción
Siguiente Paso, que puede encontrar en la ventana de depuración de la parte
7
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
inferior de la pantalla, en la barra de menús depurar, o bien pulsando
Shift+F7.
Podrá observar como cada vez que se avanza un paso, se ejecuta una sóla
instrucción del programa, resaltándose la línea en la que se encuentra
actualmente el programa y, si se ha activado la inspección de variables,
podrá observarse el valor de cada una de ellas en cada paso de ejecución.
4. Un programa más complejo
Ahora que ha escrito su primer programa en C, puede intentarlo de nuevo con un
programa algo más complejo. Pruebe a programar el siguiente juego
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int nal,n,i;
time_t s;
time(&s);
srand((unsigned int) s);
nal=rand()%50;
i=0;
8
Fundamentos de Informática. Primer Curso de Ingenieros Industriales
printf("Adivina
un
numero
entre
0
y
intentos\n");
do{
printf("Introduzca un numero\n");
scanf("%d",&n);
if(n==nal)
{printf("ACERTASTE !!\n");
system("PAUSE");
exit(0);}
else if(n<nal)
printf("El numero es mayor\n");
else
printf("El numero es menor\n");
i++;
}while(i<6 && n!=nal);
printf("\n Fallaste !!\n");
printf("El numero era %d\n\n",nal);
system("PAUSE");
}
50.
Tiene
6
En esta ocasión puede observar que algunas líneas están desplazadas respecto al margen
izquierdo. Es lo que se denomina indentación.
Aunque no es imprescindible, se recomienda que respete la indentación, ya que
proporciona mayor legibilidad al código (en su debido momento comprenderá la
importancia de adquirir está práctica como hábito de programación).
9
Descargar