Práctica 1
Dev C++
Compilador de C para Windows
1. 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.
1.1. Arranque de la aplicación
Para arrancar 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
1.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
Escriba lo siguiente:
#include <stdio.h> #include <conio.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); getch();
}
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:
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.
1.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. Pulsando sólo F9 se consigue que se compile y, en ausencia de errores, también ejecutará el programa realizado.
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.
1.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)
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.
1.5. Ejecución
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.
1.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
float a,b,med;
y pulse sobre la barra de menús depurar-> ejecutar hasta el cursor. (O bien pulsando Shift+F4).
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.
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 inferior de la pantalla, en la barra de menús depurar, o bien pulsando Shift+F7.
Realizar los siguientes ejercicios identificar los errores sintácticos y gramáticos existentes en los siguientes códigos, corregirlos y comprobar la salida del programa.
Grabar como
1. Ejercicio_1.cpp
#include <tdio.h> #include <conio.h> main()
{
printf("hola Mundo"); getch();
}
Cual es la salida del anterior programa
2. Ejercicio_2.cpp
#include <stdio.h> #include <conio.h> main
{
printf(Mi primer programa de Programación I \n); printf("Universidad de Pamplona \n");
printf("2014 I \n"); getch();
}
Cual es la salida del anterior programa
3. Ejercicio_3.cpp
{
printf("Universidad de Pamplona I \n"); printf("El year es :%i",P);
getch; }
Cual es la salida del anterior programa
4. Ejercicio_4.cpp #include <stdio.h> #include <conio.h> int a,b,suma; main() {
printf("Digite los datos de a y b \n"); scanf(“i”,&a);
scanf(“%i”,&a); suma=a+b;
printf("El resultado de la Suma de %i y %i es %i \n",a,b); getch();
}
Cual es la salida del anterior programa
5. Ejercicio_5.cpp #include <stdio.h> #include <conio.h> int a,b; main() {
printf("Digite los datos de a y b \n"); scanf(“%i”,&a,&b);
suma=a+b;
printf("El resultado de la Suma de %i y %i es %i \n",a,b,suma); getch();
6. Ejercicio_6.cpp
#include <stdio.h> #include <conio.h>
float a,b;
main() {
printf("Digite los datos de a y b \n"); scanf(“%f %f”,&a);
suma=a+b;
print("El resultado de la Suma de %f y %f es %f \n",a,b,suma); getch();
}
Cual es la salida del anterior programa
7. Ejercicio_7.cpp
#include <stdio.h> #include <conio.h>
floa a,b;
main() {
printf("Digite los datos de a y b \n"); scanf(“%f %f”,&a,&b);
suma=a+b;
printf("El resultado de la Suma de %.3f y %.3f es %.2f \n",a,b,suma);
getch();