Tema Introducción a C++ y Uso del Compilador Facultad: Ingeniería Escuela: Computación Asignatura: Introducción a la computación Pág.1 GUÍA 1 Pág. II.. O OB BJJE ET TIIV VO OSS Conocer la estructura básica de un programa en C/C++. Utilizar los tipos de datos, constantes y sentencias básicas de E/S de C/C++. Desarrollar programas sencillos. IIII.. IIN NT TR RO OD DU UC CC CIIÓ ÓN N Esta guía es una introducción a la programación con lenguajes C/C++. A diferencia de otros lenguajes, C integra las características para la programación de alto y bajo nivel, esto significa que tiene todas las estructuras de control de un lenguaje de alto nivel, y permite hardware. Tal carácter control sobre el lo convierte en una herramienta de programación popular y de gran aceptación en todo el mundo. C++ es una evolución de C, en él se incluyen las características de la “programación orientada a objetos” (POO). C++ es un lenguaje híbrido, porque soporta tanto la programación basada en procedimientos, como la POO; por lo que puede aprovechar las ventajas de cada una. Algunos de los compiladores de C/C++ son: Visual C++, es el compilador de C++ de Microsoft; DJGPP es un compilador C/C++ y con un editor RHIDE; LCC32 es un compilador de C; Borland C++ es un compilador de C/C++. D DE EV V--C C++++ C CÓ ÓM MO OU UT TIILLIIZZA AR RLLO O?? Dev-C++ es un Entorno de Desarrollo Integrado (IDE) para el lenguaje de programación C/C++ que usa Mingw de GCC (GNU Compiler Collection) como compilador y permite crear : Programas ejecutables para Win32. Programas ejecutables para consola. Construcción de DLLs y bibliotecas estáticas. Además, se puede utilizar en combinación con otros compiladores basados en GCC. Iniciando DevC++ El proceso para ejecutar el entorno de programación Dev-C++ es el siguiente: 1. Clic al botón inicio, y seleccionar la opción Programas Pág.2 GUÍA 1 Pág. 2. Clic a opción Bloodshed Dev-C++, y luego 3. El resultado es la ventana del entorno de Dev-C++ (Figura 1) Edición de programa Para crear un programa en este entorno de programación es necesario acceder al modo de edición de ficheros fuente. Para ello, vamos al menú Archivo y tomamos la opción Nuevo, o bien, clic al botón Nuevo de la Barra de Herramientas. El siguiente menú emergente es el que se desglosa y elegimos la opción Código Fuente. El cursor parpadeará sobre la ventana de edición. Ya estamos preparados para empezar a escribir el código fuente del programa que se desea desarrollar. Barra de herramientas para compilar y ejecutar Para crear nuevo archivo fuente o proyecto Nombre de archivo fuente Área de clases y listado de archivos de proyecto Área de edición de código Fig. 1 Guardar el fichero fuente Terminada la fase de escribir, debemos guardar el código fuente en un archivo. Para ello, debemos ir al menú Archivo y seleccionar la opción Guardar. O bien, utilizar el botón de Guardar de la Barra de Herramientas. Pág.3 GUÍA 1 Pág. Compilación Después de escribir y guardar el código fuente del programa pasamos a generar un archivo en código máquina, que permita ejecutar en un ordenador el algoritmo que hemos construido. Lo que aquí llamamos fase de compilación tiene asociado tres procesos que se ejecutan de forma secuencial: 1. Se aplican sobre el fichero fuente las modificaciones que indican las directivas de precompilación indicadas en código fuente inicial. 2. Ese código fuente modificado se traduce a un lenguaje intermedio conocido como código objeto. Este código objeto es prácticamente el código máquina de nuestro código fuente. Aunque hemos denominado a todo como fase de compilación, este segundo paso es el que se conoce como proceso de compilación. Para que el proceso de compilación se realice de forma correcta y se obtenga el código objeto, es necesario que el código fuente no contenga errores sintácticos. Si aparecen errores, es necesario volver a la fase de edición, guardar de nuevo el código fuente y repetir la fase de compilación. 3. A partir del código objeto, se genera un fichero ejecutable mediante el proceso de enlazado. Esta última fase, completa el código objeto añadiendo los trozos de código máquina que quedan pendientes de resolver. El fichero ejecutable tiene el mismo nombre que el nombre del fichero fuente, pero cambiando su extensión por .exe. Cómo realizar este proceso? Estos tres procesos se realizan en este entorno, accediendo al menú Ejecutar y pulsar la opción Compilar, o bien mediante la combinación de teclas (Ctrl.-F9). 2 1 Como resultado de la fase de compilación, en la pestaña Resultado (1) de la compilación debe aparecer algo como lo que muestra la figura adjunta. Además, en la pestaña de Compilador (2) no debe aparecer ningún error, esto indica que hemos conseguido generar un fichero ejecutable. Fase de Prueba Uno podía pensar que una vez que consigo un fichero ejecutable a partir del código fuente, el problema está terminado. Sin embargo esto no es así. Tras el proceso de compilado se requiere una fase de prueba. Dicha fase intenta probar que el algoritmo planteado resuelve el problema propuesto. Para llevar a cabo esta fase, es necesario ejecutar el programa y verificar que los resultados que obtiene son los esperados. Pág.4 GUÍA 1 Pág. Para ejecutar un programa que hemos compilado basta con pulsar la combinación de teclas (Ctrl.F10) o bien seleccionar la opción Ejecutar del menú Ejecutar. La ejecución del programa se realizará en una ventana de MS-DOS emergente. Depuración de errores Cuando la compilación no se ha realizado con éxito, podemos observar que en la parte inferior de la ventana principal aparece activada la pestaña Compilador. En ella aparece una tabla con tres columnas: línea, unidad, mensaje. La primera de ellas indica la línea donde el compilador detectó el error sobre el fichero fuente. Este dato se debe interpretar como que el error se encuentra en esta línea o en alguna de las líneas anteriores a esta. Unidad, indica la ubicación del fichero en la unidad de almacenamiento. El mensaje indica el tipo de error detectado por el compilador. Normalmente, aparece una fila dentro de esta ventana que no tiene asociado número de línea. Esta fila da información sobre la función en la que se produjo el error. IIIIII.. R RE EQ QU UE ER RIIM MIIE EN NT TO OSS Materiales y equipo a utilizar. DESCRIPCIÓN CANTIDAD Guía de laboratorio 1 Editor de texto 1 Compilador de C/C++ 1 Disco Flexible (1.44 Mb) 2 IIV V.. PPR RO OC CE ED DIIM MIIE EN NT TO O EDITANDO PROGRAMAS 1. Clic al botón inicio, y seleccionar la opción Programas 2. Clic a opción Bloodshed Dev-C++, y luego 3. Hacer clic en la opción Nuevo (New) y escoger la opción Archivo Fuente (Source File) 4. Ahora escriba el código de programa que se muestra a continuación sobre el área de edición del entorno Dev-C++ Pág.5 GUÍA 1 Pág. /* Este es mi primer programa escrito en lenguaje C++ Este programa unicamente muestra unos mensajes */ //libreria de E/S de texto (salida en pantalla--monitor-- y entrada por teclado. //necesaria para instrucciones como cout y cin #include <iostream.h> //libreria de E/S a través de dispositivos externos (puertos, teclado, etc) //necesaria para instrucciones como getch() #include <conio.h> //inicio de función principal main( ){ cout<< "Mi primer programa en C++"; //Imprime un mensaje cout<< "\n"; //Realiza un salto de línea o imprime una línea en blanco cout<< "Fin del programa...presione una tecla para salir"; getch(); // Espera a que se presione una tecla }//fin de función main 5. Cuando compile el programa (ver pagina 4 de la guía), deberá colocar el nombre del archivo: ejercicio1.cpp (la extensión no es necesaria escribirla, porque la aplicación se la coloca) 6. Hacer clic en la opción Nuevo (New) y escoger la opción Archivo Fuente (Source File) y de esa forma obtendrá una nueva área de edición para escribir un nuevo programa. /* Este programa obtiene el total a pagar por la compra de 3 tipos de revistas en un almacen. */ #include <iostream.h>// Esta libreria es propia de C++ #include <conio.h> main(){ int c1, c2, c3; /*Almacena la cantidad de cada tipo de revistas compradas en el almacén */ float v2=3.55; //valor de la revista B float total; cout <<"\tREVISTAS\n"; cout <<"1) Revista A ... $2.00\n"; cout <<"2) Revista B ... $3.55\n"; cout <<"3) Revista C ... $1.00\n\n"; cout<<"Digite la cantidad de revistas compradas del tipo A: "; cin>>c1; cout<<"Digite la cantidad de revistas compradas del tipo B: "; cin>>c2; cout<<"Digite la cantidad de revistas compradas del tipo C: "; cin>>c3; //como total es de tipo float y esta a la izquierda del operador de asignación, el resultado será //de tipo float (coma flotante) Pág.6 GUÍA 1 Pág. total = (c1*2.00) + (c2*v2) + (c3*1.00); cout << "\nEl total a pagar es"<<endl; //endl es equivalente a \n cout << "Total: "<<total<<endl; cout << "Total + IVA: "<<total*(1.13)<<endl; getch(); } 7. Guarde el archivo con el nombre ejercicio2.cpp 8. Seleccione otro nuevo archivo fuente y escriba el siguiente programa compila el programa y almacene el archivo con el nombre ejercicio3.cpp, y finalmente lo ejecuta. Anote los resultados. /*Programa para calcular el pago de un producto en una tienda Nombre del programa: ejercicio3.cpp*/ #include <iostream.h> #include <conio.h> int main () { int Tdulces; //variable entera float precio, Total; //variables flotantes cout<<"\n \t\t Programa que calcula el total a pagar en una dulceria\n"; cout<<"Digite el total de productos que lleva: "; cin>>Tdulces; cout<<"\nDigite el precio del producto "; cin>>precio; Total= precio*Tdulces; cout<<"\nEl pago es de "<<Tdulces<<” es: $“<<Total<<endl; getch(); } IDENTIFICANDO ERRORES 1. Digite el siguiente programa y anote los tipos de error que contiene, edítelo y ejecútelo tal como se presenta. Utilice el entorno de su compilador C/C++ para depurarlo. /* Guardar el programa con el nombre error.cpp, le servirá para identificar tipos de errores. Anote los tipos de error que se muestran al ejecutarlo. Luego proceda a corregir el programa. */ #include<iostrean.h> main() int suma=0;//variable entera char var;//variable que almacena un caracter; cout<<"\n********Bienvenido a lenguaje C*********\n" Pág.7 GUÍA 1 Pág. suma = suma+1; cout<<"\nEl valor de suma es "<<SUMA; cout"\nEscriba un nuevo valor? "; cin>>suma; cout<<"\nDigite un valor para var: "; cin<<var; cout"\nEl valor de suma + 100 es : "<<suma+100; cout<<"\nEl valor de var es : "<<var; getch(); } 2. Digite el siguiente programa y anote los tipos de error que contiene, edítelo y ejecútelo tal como se presenta. Utilice el entorno de su compilador C/C++ para depurarlo. Nombre del programa solucion.cpp /*Este programa será utilizado para identificar algunos errores de sintaxis, que serán mostrados en la ventana Generar*/ #include <iostren.h> main(){ int x; //variable de tipo entero int y; int z; cout << "Digite el valor de x: "; cin >>x; cout << "Digite el valor de y: "; cin<<y z = x+y; cout<<"\nLa suma de X y Y es:" >>Z; } a) Escriba los errores encontrados b) Describa las soluciones que dio a los errores encontrados. EJERCICIOS 1. Desarrolle un programa que solicite 2 valores enteros y que permita mostrar el resultado de las cuatro operaciones matemáticas básicas (suma, resta, multiplicación y división). 2. Muestre el área de un círculo de un radio que debe ser solicitado, y donde el área es igual a pi X radio.2 3. Escriba un programa que solicite cinco números, luego mostrarlos en pantalla. Pág.8 GUÍA 1 Pág. 4. Escriba un programa que pueda evaluar la siguiente formula c a b , éste debe capturar los datos a y b, luego mostrar el resultado de c. 3 2 V V.. IIN NV VE ESST TIIG GA AC CIIÓ ÓN NY YE EJJE ER RC CIIC CIIO OSS 1. Para que utiliza las siguientes instrucciones cout, cin, getch. 2. Dar solución a los siguientes problemas, obtener de cada uno el diagrama de flujo y el código fuente en C/C++: a) Determinar el área y perímetro de un rectángulo cualquiera. b) Una zapatería ofrece un descuento del 15% sobre el total de compra y un cliente desea saber cuánto deberá pagar finalmente por su compra. c) Utilizar de referencia el problema del literal b, pero ahora debe tener en cuenta que el cliente tiene derecho al descuento del 15% si su compra es mayor o igual a 150, en cambio, si la compra fuese menor a esa cantidad sólo tendrá derecho al 5% de descuento. V VII.. FFuueenntteess ddee ccoonnssuullttaa Pappas Chris, Murray William. Microsoft Visual C++ 6.0, Manual de referencia, McGraw-Hill, 1999. Krugliski, David, Aprenda Visual C++ 6.0 ya, McGraw-Hill, 2000. Deitel y Deitel, Cómo Programar en C++, Cuarta edición, Pearson – Prentice Hall. Sitios de Internet relacionados con C y C++ http://www.conclase.net/ http://www.dcp.com.ar/ http://www.geocities.com/SiliconValley/Modem/3004/ http://www.cplusplus.com/src/ http://www.lawebdelprogramador.com/ INGLÉS http://www.bloodshed.net/dev/devcpp.html http://www.silicontao.com/ProgrammingGuide/index.html Pág.9 GUÍA 1 Pág.