Objetivos: Iniciarse en el manejo del entorno de programacin del Borland C++ Builder. Aprender a crear un proyecto, compilarlo y depurar los errores dentro del entorno. Practicar el uso de algunos elementos avanzados del C++ tales como: la sobrecarga de funciones, los parmetros por defecto y el paso de parmetros por referencia en la creacin de programas sencillos.
Desarrollo de la prctica. Parte 1. Crear un proyecto, compilarlo, depurar los errores y ejecutarlo. 1. Crear un nuevo proyecto con el Borland C++ Builder. En esta primera prctica crearemos un proyecto del tipo 'Console Application' (seleccionando los items "File->New->Other->ConsoleWizard" del men). Esto crear el proyecto con un fichero incluido (llamado Unit1.cpp). Antes de nada salvaremos el fichero con el nombre 'prac1.cpp' (seleccionando las opciones "File->Save" del men) en el directorio "C:\tmp\HP". 2. Editar el fichero principal. Al principio del fichero pondremos una breve descripcin de este: /********************************************************** Prctica 1: Herramientas de programacin. Autores: ........... ***********************************************************/ A continuacin incluiremos los ficheros de cabecera necesarios: #include <iostream> Este fichero de cabecera nos permitir utilizar la funcin "cin" para realizar entradas de valores desde el teclado, y la funcin "cout" para escribir datos en pantalla. El siguiente paso ser aadir cdigo dentro de la funcin principal (main). Por ejemplo: int main(int argc, char* argv[]) { int num; cout << "Introduce un numero entero: "; cin >> num;
cout << "La tabla de multiplicar del " << num << " es: " << endl; int resul int i; for (i = 0; i < 10; i ++) { resul = num * i; cout << num << " por " << i << " es " << resul << endl; }
cout << "El numero " << num << " es divisible por "; int resto; for (i = "num"; i > = 0; i -- ) { resto = num % i; if (resto == 0) cout << ", " << i; } cout << end;
return 0; } 3. Compilar y ejecutar el programa. Desde el men 'Project/Make' (o pulsando Ctrl+F9) compilamos el programa y comprobamos si en la parte inferior de la ventana ha aparecido algn error de compilacin o warning. Una vez subsanados los errores, lanzamos la ejecucin del programa (abrimos la carpeta donde ha sido generado el fichero ejecutable y pinchamos sobre el fichero). Tambin se puede lanzar la ejecucin desde el entorno del Borland C++, seleccionando la opcin "Run- >Run" del men o pulsando simplemente la tecla "F9". 4. Depurar errores durante la ejecucin. Podemos detener la ejecucin del programa en cualquier lnea aadiendo puntos de ruptura (pinchando a la izquierda de la lnea). Una vez detenido el programa en ese punto, podemos visualizar los valores de las variables que nos interese dentro de la ventana de Watch (para abrir la ventana de Watch seleccionamos la opcin "View->Debug Windows->Watches" y para aadir una variable a la lista de Watch pulsamos el botn derecho del ratn sobre la ventana de Watch y seleccionamos la opcin "Add Watch"). La ejecucin del programa se puede continuar a partir de ese punto, paso a paso, pulsando las teclas "F7" y "F8", o de forma automtica pulsando de nuevo "F9". Si se produce un error durante la ejecucin normal del programa, el entorno seala el punto donde se ha producido el error. Parte 2. Sobrecarga de funciones y divisin en mdulos. Definid un conjunto de funciones con idnticos nombres, de tipo void (no devuelven ningn valor a travs del return) y de un slo parmetro. El parmetro es de un tipo distinto para cada una de las funciones (char, int, float, char *, etc.). En el cuerpo de las funciones se escribe un mensaje por pantalla haciendo referencia al tipo del parmetro. Para verificar el correcto diseo de las funciones, dentro del main se realizarn distintas llamadas a esas funciones pasndole como parmetros valores de diferentes tipos. Para tener el programa mejor organizado, distribuiremos los prototipos y la definicin de las funciones entre los siguientes ficheros: main.cpp -> fichero principal, que incluir la funcin main. funciones.h ->fichero de cabecera donde se incluirn los prototipos de las funciones. funciones.cpp->fichero en el que definimos el contenido de las funciones. Parte 3. Parmetros por defecto. Definid una nica funcin que calcule (y devuelva a travs del return) la suma de las longitudes de los lados de un hiper-prisma rectangular de una, dos, tres o cuatro dimensiones. La funcin recibir como parmetros la longitud de los lados principales del hiper-prisma rectangular, cuyo nmero depender del nmero de dimensiones del hiper-prisma: si usamos la funcin para calcular la suma de los lados de un hiper-prisma de una dimensin (un segmento de lnea), la funcin ser llamada con un slo argumento; si la usamos para calcular la suma de los lados de un hiper-prisma de 2 dimensiones (un rectngulo), la funcin es llamada con dos argumentos; si es utilizada para un hiper-prisma de 3D (prisma rectangular) se invoca con tres valores, y si se utiliza para un hiper-prisma de 4D se llama a la funcin pasndole 4 valores. Una vez construida la funcin, ser utilizada dentro del main para calcular la suma de los lados de figuras de distintas dimensiones. Nota: La suma de los lados de un hiper-prisma de 4D, de lados principales L1, L2, L3 y L4, es: 8 * L1 + 8 * L2 + 8 * L3 + 8 * L4. Parte 4. Paso por referencia con y sin punteros. Definid dos funciones (con idnticos nombres) para intercambiar los valores de dos variables utilizadas como argumentos en la llamada. La primera funcin intercambia los valores definiendo sus parmetros por referencia (&), y la segunda definiendo sus parmetros como punteros (*). Dentro de la funcin principal se invocar a las dos funciones para intercambiar los valores de dos pares de variables.