Вы находитесь на странице: 1из 6

ENSEANZA PRCTICA Y DE DESARROLLO

Fundamentos de Programacin Ingeniera Informtica en Sistemas de Informacin

EPD-1: ENTORNO DE DESARROLLO CODEBLOCKS


Competencias Al final de esta sesin, el alumno/a debera haber adquirido las siguientes competencias: Saber usar el entorno de desarrollo CodeBlocks y familiarizarse con las acciones bsicas del mismo. Edicin, compilacin, ejecucin y depuracin de programas. Construir programas que permitan la interaccin con el usuario/a mediante la entrada y salida de texto. Conceptos CodeBlocks es un entorno de desarrollo libre (GPL: General Public License) para la creacin de aplicaciones en lenguaje C y C++ que utiliza el compilador Mingw/GCC. Tanto CodeBlocks como Mingw/GCC son libres y pueden descargarse de forma gratuita en la direccin http://www.codeblocks.org/downloads/26. Para descargar ambas herramientas simultneamente, debe seleccionar la opcin de descarga codeblocks-10.05mingw-setup.exe. O directamente en http://apt.jenslody.de/downloads/cb-release10.05/codeblocks-10.05mingw-setup.exe.. Desde aqu, puede instalar fcilmente el entorno y el compilador conjuntamente. 1. Pasos en la creacin de un programa:

Edicin. La edicin no es ms que escribir el cdigo programa propiamente dicho en lenguaje C. Una vez escrito el cdigo, ste debe ser almacenado en un fichero con extensin .c. Existen otro tipo de ficheros fuente que se denominan ficheros de cabecera (header) y cuya extensin es .h. Compilacin y Enlazado. En general, se suele denominar compilacin al conjunto de procesos que transforma el cdigo fuente escrito en C en un fichero ejecutable (.exe). La compilacin se divide en tres etapas: la precompilacin (en la que se realiza el anlisis sintctico y se prepara el cdigo para ser compilado), la compilacin propiamente dicha (en la que se genera un cdigo intermedio llamado cdigo objeto) y el enlazado o linkado (donde se enlaza el cdigo objeto con las libreras estndar y externas para formar el ejecutable). Si no se producen errores de compilacin, como resultado obtenemos un programa con el mismo nombre que el cdigo fuente original pero con extensin .exe. Todo este proceso es ilustrado en la Figura 1. Ejecucin. Una vez compilado el programa, se ejecuta haciendo doble clic sobre el fichero ejecutable generado o directamente desde el entorno de trabajo. En esta fase tambin se pueden producir errores por mal funcionamiento del programa, denominados errores de ejecucin. Estos errores son ms difciles de corregir, ya que el compilador no indica qu error hay ni dnde se produce, siendo necesario en la mayora de los casos depurar el programa. Depuracin. La mayora de los entornos de programacin permiten depurar programas realizando una ejecucin paso a paso y consultar los valores que van tomando las variables, de manera que podemos hacer una traza para detectar dnde y por qu se producen los errores y corregir los mismos.

Figura 1: Pasos en la creacin de un programa en C

Fundamentos de Programacin

EPD-1: Entorno de Desarrollo CodeBlocks

Ingeniera Informtica en Sistemas de Informacin

2.

El entorno CodeBlocks

El entorno de desarrollo CodeBlocks integra, entre otras, las herramientas: Editor orientado al lenguaje C y C++ (resaltando palabras claves, texto autocompletado, etc) Compilador C y C++. Depurador visual (Debugger), que permite visualizar el contenido de variables. Visor de proyectos y ficheros. Herramientas complementarias.

Como se muestra en la Figura 2, CodeBlocks presenta el aspecto de una aplicacin comn Windows, con la barra de mens, la barra de botones y varios paneles de accin. El panel principal es el de edicin, donde se escribe el cdigo C de los diferentes programas. A la izquierda encontramos el panel de proyecto para acceder a cada una de las partes del programa. Por ltimo, en la parte inferior tenemos diferentes paneles en los que se presenta toda la informacin sobre la compilacin, errores y depuracin del programa.

Figura 2: Vista simple de CodeBlocks

3.

Creacin de un proyecto y edicin del cdigo

En el entorno de desarrollo CodeBlocks para poder crear un ejecutable a partir de un programa fuente en C es necesario primero crear un proyecto. En esta asignatura se crearn proyectos de consola que son aquellos que se ejecutan en una ventana de smbolo del sistema. Cuando se crea un proyecto, CodeBlocks genera un fichero con extensin .cbp que define el proyecto y otros ficheros que en principio se obviarn. Para crear un nuevo proyecto, simplemente accedemos a File!New! Project en la barra de mens. A continuacin se selecciona Console Application como se muestra en la Figura 3. Al hacer clic en el botn Go aparece una ventana en la que debe seleccionar

Fundamentos de Programacin

EPD-1: Entorno de Desarrollo CodeBlocks

Ingeniera Informtica en Sistemas de Informacin

el lenguaje de programacin (C/C++), y en las sucesivas ventanas debe indicar el nombre del proyecto, el directorio donde se va a guardar el proyecto y el tipo de configuracin (Debug/Release).

Figura 3: Creacin de un proyecto

De esta manera se crea un proyecto con un fichero fuente llamado main.c que contiene el siguiente cdigo:
#include <stdio.h> #include <stdlib.h> int main(){ printf("Hello world!\n"); return 0; }

Si se desea crear un proyecto vaco, es decir, sin incluir el fichero fuente main.c anterior, simplemente hay que acceder a Project!New ! Project en la barra de mens y en la ventana de la Figura 3 seleccionar Empty project. Una vez creado el proyecto debe crear un fichero fuente con la opcin File!New! Empty file de la barra de mens. Una vez que indique el directorio donde desea guardar el fichero y el nombre del fichero con extensin .c deber incluir el archivo en el proyecto activo pulsando con el botn derecho del ratn encima del nombre del proyecto y seleccionando Add files... 4. Compilacin y enlazado

Una vez que el programa ha sido escrito, podemos compilarlo y linkarlo para generar el ejecutable. Para ello simplemente basta con acceder al men Build!Build, o pulsar Ctrl+F9, o pulsar el botn Build en la barra de botones como muestra la Figura 4.

Fundamentos de Programacin

EPD-1: Entorno de Desarrollo CodeBlocks

Ingeniera Informtica en Sistemas de Informacin

Run (Ejecutar)

Rebuild (Reconstruir)

Build (Construir)

Build and Run (Construir y Ejecutar)

Figura 4: Botones de Compilacin, enlazado y ejecucin

Si el programa presenta errores, stos son mostrados en un panel inferior llamado Build log, no se genera el ejecutable y automticamente se resalta el error en el panel de edicin. Si el programa no presenta errores de compilacin ni enlazado, se genera un fichero ejecutable con el mismo nombre que el fichero fuente en la carpeta del proyecto bin/Debug o bin/Release dependiendo del tipo de configuracin que hayis seleccionado. 5. Ejecucin

El programa puede ejecutarse desde el propio entorno mediante la opcin Build!Run, o pulsando Ctrl+F10, o haciendo clic sobre el botn Ejecutar de la barra de botones mostrada en la Figura 4. La salida del programa es mostrada en una ventana MS-DOS independiente a la que podemos acceder mediante la barra de inicio de Windows. Tambin es posible ejecutar el programa desde fuera del entorno como una aplicacin ms instalada en el sistema. 6. Depuracin

Como se ha comentado anteriormente, un programa no puede ser ejecutado hasta que todos los errores de compilacin hayan sido corregidos, aunque esto no garantiza el buen funcionamiento del mismo. Cuando un programa funciona (se ejecuta) pero no realiza su cometido de manera correcta, decimos que se producen errores de ejecucin. Estos errores no son detectados por el compilador, por lo que es necesario ejecutar el programa paso a paso para realizar una traza del mismo y localizar el error. A esta fase se le denomina depuracin (debug). CodeBlocks incorpora herramientas de depuracin a las que podemos acceder mediante el men Debug. Breakpoints (Puntos de ruptura) Antes de arrancar el modo depuracin, es necesario establecer previamente al menos un punto de ruptura (breakpoint) en alguna lnea del programa para que el depurador se detenga al llegar a l. Para ello, se debe colocar el cursor en la lnea en la que se quiera establecer el breakpoint y simplemente acceder al men Debug!Toggle breakpoint o pulsar F5. En ese momento aparece al principio de la lnea un punto de color rojo, lo que indica que el punto de ruptura se ha fijado. Para deshacerlo, se repite la misma accin. Ejecucin paso a paso Una vez puesto un punto de interrupcin, podemos ejecutar el programa en modo depuracin, lnea a lnea, para comprobar su correcto funcionamiento. Para arrancar el modo depuracin se accede en el men a Debug!Start o se pulsa la tecla F8. Cuando la depuracin ha empezado, al principio de la lnea de ejecucin aparece la punta de una flecha de color amarilla. Cuando se comienza una ejecucin en modo depuracin, aparecen nuevas opciones en el men Debug. Estas opciones son: Next line (F7): ejecuta la siguiente lnea de cdigo. Si la siguiente lnea es una funcin, la ejecuta sin entrar en ella. Step into (Shift + F7): ejecuta la siguiente lnea de cdigo. Si esa lnea es una llamada a otra funcin, el programa entrar en esa funcin. Step out (Shift + Ctrl + F7): Sale de la function actual. Continue (Ctrl + F7): Salta hasta el siguiente punto de ruptura. Run to cursor (F4): Ejecuta el programa y se detiene donde est el cursor en ese momento. Stop debugger: Detiene la ejecucin en modo depuracin. Edit watches: Nos permite aadir y eliminar variables de la ventana de observacin.

Fundamentos de Programacin

EPD-1: Entorno de Desarrollo CodeBlocks

Ingeniera Informtica en Sistemas de Informacin

Ventana de Observacin Para ver los valores de las variables, podemos utilizar la ventana watches que est junto al panel de proyecto. Esta ventana se abre pulsando en la pestaa watches. En esta ventana slo aparecern aquellas variables que hayamos aadido mediante la opcin Edit watches. Adems en esta ventana se pueden aadir, editar y eliminar variables pulsando el botn derecho del ratn. Bibliografa Programacin en C. Byron Gottfried. Schaum, McGrawHill, 2005. Experimentos E1. Cree un programa que muestre por pantalla el mensaje Mi primer programa en C. Pruebe las diferentes formas de compilar y ejecutar el mismo. Introduzca errores intencionadamente para comprobar el funcionamiento del compilador. E2. Complete el siguiente programa para que pida dos nmeros por teclado y muestre el valor de stos junto a la suma por pantalla.
#include <stdio.h> void main(void){ int a, b, suma; printf ("\nIntroduzca dos numeros a y b: "); scanf ("%d%d", ???????, ??????); printf ("\n a vale: ?????? y b vale ??????", a, b); suma = ??????; printf ("\nLa suma de a y b vale: %d\n", suma); }

E3. Ample el programa del experimento anterior para que tome dos nmeros enteros por teclado y muestre los valores introducidos junto a la suma, la resta, la multiplicacin y la divisin de los mismos. E4. El siguiente programa tiene varios errores, tanto de compilacin como de ejecucin. Escrbalo tal y como est. Luego corrija los errores para que funcione.
void main(void){ char car; int i; float f; scanf("Introduzca un caracter: %c", &car); scanf("Introduzca un entero: %d", &i) scanf("Introduzca un real: %f", &f); printf("El caracter es:", car); printf("El entero es:" i); prin("El real es:", f); }

Ejercicios EJ1 (20 min). El siguiente programa declara dos variables, les asigna un valor diferente a cada una y las muestra por pantalla. Despus intercambia los valores de las variables y las vuelve a mostrar. Escriba, compile y ejecute el programa. Funciona correctamente? Ejectelo en modo depuracin y corrjalo.
void main(void){ int x = 10, y = 20; printf("x vale %d e y vale %d\n", x, y); x = y; y = x; printf("Despus del intercambio, x vale %d e y vale %d\n", x, y); }

Fundamentos de Programacin

EPD-1: Entorno de Desarrollo CodeBlocks

Ingeniera Informtica en Sistemas de Informacin

EJ2 (20 min). El siguiente programa calcula el rea de un rectngulo cuyos datos se leen desde el teclado. Qu errores encuentra en el mismo?
include <stdio.h> void main (void){ int base, altura; printf ("\nClculo del rea de un rectngulo"); printf ("\nPor favor, introduzca base y altura: "); /* Leer base y altura */ scan ("%c%c", &base, &altura); /* Calcular e imprimir rea area = base*altura; printf ("\n\nEl rea del rectngulo es: %d\n", area); }

EJ3 (20 min). Escriba un programa que tome por teclado los coeficientes (a, b y c) de una ecuacin de segundo grado y la resuelva.

Problemas P1 (20 min). Escriba un programa que calcule el rea y la longitud de circunferencia de un crculo cuyos datos se leen desde el teclado. Defina el valor de ! como una constante. P2 (30 min). Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill. Captulo 4, Ejercicio 4.10. P3 (40 min). Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill. Captulo 4, Problema 4.3. P4 (40 min). Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill. Captulo 4, Problema 4.4. P5 (50 min). Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill. Captulo 4, Problema 4.5. P6 (60 min). Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill. Captulo 4, Problema 4.14. Ampliacin de Bibliografa Programacin en C. Luis Joyanes Aguilar et. al. McGraw Hill El Lenguaje de Programacin C. Brian W. Kernighan, Dennos M. Ritchie.Prentice-Hall, 1991. C Manual de Referencia. Herbert Schildt. McGraw-Hill, 2001

Fundamentos de Programacin

Вам также может понравиться