GUIA DE LABORATORIO # 2 ENTORNO DE DESARROLLO Y COMPILACIÓN DE UN PROGRAMA EN C OBJETIVOS: Conocer el entorno de desarrollo Pelles C. Editar, compilar y ejecutar un programa sencillo. Aprender a depurar un programa. TEMPORIZACIÓN: Inicio de la práctica: Semana del 16 de Marzo del 2009. Tiempo de desarrollo de la práctica: 2 sesiones. Práctica 2 Entorno de desarrollo y creación de un programa en C. 1
1 Introducción a Pelles C. Durante el curso emplearemos el entorno de Pelles C. Desde él es posible realizar todas las operaciones necesarias para desarrollar un programa en C, es decir; edición, compilación, enlazado, depuración y ejecución. Además provee facilidades para gestionar proyectos compuestos por varios archivos fuentes, librerías, etc. Para iniciar el programa, pulsar el botón Inicio de Windows, y dentro del menú Programas, submenú Pelles C for Windows hacer clic en el icono Pelles C IDE. Área de Edición Área de Espacio de Trabajo Área de Salida En la zona principal de la ventana de la aplicación distinguimos tres zonas: La zona de edición. En ella se abrirán las ventanas que permitirán editar el código fuente de la aplicación. La zona de salida. (Output area). En esta área aparecerá los mensajes de salida del compilador, el enlazador, el depurador, etc. Siempre serán los mensajes informativos que nos indicarán si hay algún error al compilar el programa, al enlazarlo, etc. La zona de área de trabajo (Workspace area). En esta área aparecerá información diversa de área de trabajo con la que estemos trabajando, como son los proyectos que tenemos abiertos, qué ficheros fuente lo componen y otras informaciones. Más detalles sobre este modelo de trabajo más adelante. A continuación editaremos, compilaremos y enlazaremos un programa de prueba, con el fin de ilustrar el uso de las herramientas a nuestra disposición. Práctica 2 Entorno de desarrollo y creación de un programa en C. 2
2 Edición Pulsamos en la barra de herramientas el botón Nuevo (con el icono ), se crea un fichero nuevo donde escribir nuestro código en el área de edición. Antes de continuar, lo salvaremos dándole un nombre. Seleccionamos en el menú Abrir la opción Guardar como.. y le daremos un nombre al archivo. Todos los archivos fuentes en C tienen la extensión.c, así que le daremos como nombre prueba.c y pulsamos Guardar. Es importante salvar los ficheros únicamente en los directorios habilitados para ello. En nuestro caso podemos crear una carpeta personal llamada MyProjects donde podemos guardar los archivos, o bien podemos crear una carpeta personal en el Escritorio. A continuación tecleamos un programa de prueba en la ventana de edición. El código del programa de prueba es el siguiente: #include <stdio.h> #include <stdlib.h> void main (void) int num1, num2, resultado; Práctica 2 Entorno de desarrollo y creación de un programa en C. 3
printf("escriba el primer numero y pulse ENTER: "); scanf("%d",&num1); printf("escriba el segundo numero y pulse ENTER: "); scanf("%d",&num2); if(num1 == num2) resultado = num1 * num2; printf("el resultado de la multiplicacion es: %d \z",resultado); printf("saliendo del Programa"); exit(0); else if(num1 > num2) resultado = num1 - num2; printf("el resultado de la resta es: %d \n",resultado); printf("saliendo del Programa"); exit(0); else resultado = num1 + num2; printf("el resultado de la suma es: %d \n",resultado); printf("saliendo del Programa"); exit(0); Práctica 2 Entorno de desarrollo y creación de un programa en C. 4
El código que hemos tecleado realiza la comprobación de dos números y el resultado a obtener será una multiplicación, resta o suma de los números que le pedimos al usuario por teclado. No se preocupe ahora si no entiende todos los detalles del mismo. Puede observar que el editor asigna colores a algunas palabras claves. Observe también que el estilo de edición es importante; un código organizado ayuda a detectar errores y es mucho más fácil de revisar. Hemos introducido un error en el código, que veremos en el siguiente paso, cuando compilemos el programa. 3- Compilación y enlazado A continuación debemos contruir el programa. Para ello pulsamos Construir con el icono, o seleccionamos en el menú Proyecto la opción Construir FILENAME, como podrá observar, para la mayoría de funciones existe más de una posibilidad. Antes de la compilación, Pelles C nos advierte que para compilar es necesario tener un espacio de trabajo activo para lo cual seleccionaremos Programa de consola Win32(.Exe) y damos click en Ok. Al intentar compilar, Pelles C detectará que hay un error y detendrá la compilación, mostrando en la ventana de salida el siguiente error: Práctica 2 Entorno de desarrollo y creación de un programa en C. 5
El mensaje indica en que línea del programa está el error (línea 14), y de qué tipo de error se trata. Nos indica que la secuencia no es válida. Hacemos doble clic en el área de salida, sobre la línea que indica el error. Pelles C nos trasladará automáticamente a la línea en cuestión, señalándola con sombra. Efectivamente, podemos observar que hemos empleado mal la secuencia de salto de línea. Corregimos dicho error sustituyendo \z por \n, y volvemos a intentar la compilación, que en esta ocasión se realizará sin errores. Práctica 2 Entorno de desarrollo y creación de un programa en C. 6
4- Enlazado y generación del programa ejecutable Simplemente ahora compilado y sin error alguno le damos clic en el botón ventana el ejecutable del programa. y veremos en una 5- Ejecución del programa Ya se puede ejecutar el programa, el cual mostrará la siguiente ventana: Como puede comprobarse el programa funciona correctamente. Pulsar cualquier tecla para cerrar el programa. 6- Depuración (Debugging) Uno de los aspectos más importantes en el desarrollo de un programa es la depuración, que permite ejecutar el programa en forma controlada, parando su ejecución y visualizando el valor de las variables o el flujo del programa. La depuración es muy importante a la hora de querer identificar por qué un programa no funciona como se pretende o para hallar errores de programación que, por no ser de sintaxis, no han sido detectados por el compilador, para poder Práctica 2 Entorno de desarrollo y creación de un programa en C. 7
depurar hay que activarlo en las opciones de cada proyecto que se realice, a continuación se le mostrara como activarlo. Ir a menú Proyecto, seleccionar Opciones de Proyecto. Marcamos en la pestaña Compilador, después en la opción Información para depuración seleccionamos Full. Marcamos en la pestaña Ensamblador, en la opción Información para Depurar seleccionamos Completo. Marcamos en la pestaña Enlazador, en la opción Información para Depurar seleccionamos la opción Formato CodeView. Nota: Si es primera vez que ejecuta Pelles C, hay una opción que debemos habilitar en menú Herramientas, seleccionamos Opciones, acá vamos habilitar la opción Depuración just-in-time y deshabilitamos Valores de variables en Hexadecimales. Práctica 2 Entorno de desarrollo y creación de un programa en C. 8
Para iniciar la depuración del programa pulsamos F5 o el icono en la barra de herramientas, el programa se ejecutará y nos presentara la siguiente ventana con las siguientes Herramientas de Depuración. Para seguir en modo depuración vamos pulsando la tecla F11 para seguir recorriendo el programa en modo paso a paso para ir verificando el recorrido del programa, hasta que llegamos a la línea de introducción del primer y segundo número, donde se detendrá la ejecución y pasaríamos al programa ejecutable, lo cual lo podemos hacer con la combinación de tecla ALT+TAB o con el puntero del mouse. Práctica 2 Entorno de desarrollo y creación de un programa en C. 9
Depuración paso a paso, F11 Área de visualización del programa en ejecución. Variables a utilizar la cuales muestran sus valores escritos e iguales el resultado. 7- Ejercicio a realizar. Una vez que se haya habituado a las tareas descritas en los puntos anteriores, realice los siguientes ejercicios. 1. Cree un nuevo archivo fuente llamado costo.c con el siguiente programa. #include <stdio.h> #include <stdlib.h> Práctica 2 Entorno de desarrollo y creación de un programa en C. 10
void main (void) int costopza=0, numpza =0, totcomp =0; int cantinv=0, prestamo=0, credito=0, interes=0; printf("introduzca el costo de la pieza a comprar: "); scanf("%d",&costopza); printf("introduzca la cantidad de piezas a comprar: "); scanf("%d",&numpza); totcomp = costopza * numpza; if ( totcomp > 5000) cantinv = totcomp * 0.55; prestamo = totcomp * 0.30; credito = totcomp * 0.30; else cantinv = totcomp * 0.70; credito = totcomp * 0.30; prestamo = 0; interes = credito * 0.20; printf("\n La cantidad en inversion es %d, la cantidad de dinero para hacer el prestamo es %d \n",cantinv, prestamo); printf("el monto del credito es %d y el interes que cobra la empresa es %d \n",credito, interes); 2. Construya y ejecute el programa. 3. Depure el programa desde el principio pulsando F11, y siga línea a línea su ejecución. Trate de deducir que hace y cómo se comporta la sentencia IF. Práctica 2 Entorno de desarrollo y creación de un programa en C. 11