UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/2013 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #05 Introducción al Lenguaje C/C++ Centro de Computo 2 horas y 30 minutos Introducción a la Programación I. OBJETIVOS Que el estudiante sea capaz de: Reconocer el entorno de desarrollo del Lenguaje C++ Conocer la estructura general de un programa en C, sus tipos de datos y operadores. Declare variables y constantes dentro de un código fuente de C. Pueda escribir nuevos programas (software) para solucionar problemas, utilizando el lenguaje de programación C. II. INTRODUCCION TEORICA Historia del Lenguaje C El lenguaje C fue desarrollado por Dennis Ritchie en 1972. Este lenguaje se considera un lenguaje débilmente tipificado de nivel medio, pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel porque puede ocultar los detalles de la arquitectura de la computadora y por tanto incrementar la eficiencia en la programación. Pero, a su vez, dispone de construcciones del lenguaje que permite un control a muy bajo nivel, tanto así, que algunos compiladores ofrecen extensiones del lenguaje que permiten mezclar código en lenguaje ensamblador con código en C. Lenguaje C++ El lenguaje C++ se desarrolló como un superconjunto del lenguaje C y fue desarrollado por el Dr. Bjarne Stroustrup entre 1983 y 1987. C++ mantiene todas las características del lenguaje C, pero además proporciona la capacidad de desarrollar programas orientados a objetos (POO), almacenando variables y funciones en módulos llamados clases. No se pretende que el alumno aprenda la metodología POO, pero si que se familiarice con el lenguaje C++ a un nivel básico. ¿Cómo crear un programa utilizando C++? Para digitar los códigos de estos programas se requiere un editor de C/C++ (o un simple editor de texto), y para ejecutar un programa escrito en lenguaje C/C++ se necesita de un Compilador. En la actualidad existen una gran cantidad de compiladores y editores para ejecutar programas en C/C++, ejemplos de ellos son: Borland C, Turbo C, Dev C++, GCC, Visual C++, etc. Un programa en C++, casi siempre, pasa a través de seis fases para su ejecución, las cuales son: editar, preprocesar, compilar, enlazar, cargar y ejecutar. 1 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ La edición es el proceso en el que el programador digita el código de programa en un editor para C++. A este código se le conoce como código fuente. El preprocesamiento consiste en modificar el código fuente de C según una serie de instrucciones conocidas como directivas de preprocesamiento con el propósito de simplificar el trabajo del compilador. La compilación es el proceso de pasar el código ya preprocesado a código objeto. Entiéndase por este el código resultante de la compilación del código fuente. La fase de enlace consiste en unir los códigos objeto de los distintos módulos y bibliotecas externas (bibliotecas de sistema) con el fin de generar el programa ejecutable final. Finalmente, una vez generado el código ejecutable se carga y se ejecuta. El proceso que se sigue para llegar al código ejecutable a partir del código fuente se puede resumir en la figura 4.1. Figura 4.1: Secuencia de procesos para generar un código ejecutable (software) en C Estructura de un programa en C++ Para elaborar un programa básico en lenguaje C, se necesita definir 2 partes fundamentales: a) Encabezado de programa: en esta parte se definen los archivos extensión .h, los cuales contienen las librerías de funciones que C necesita para ejecutar diferentes tareas/cálculos dentro del programa a crear. b) Cuerpo del programa: se define con la palabra main ( ) y una pareja de llaves { }. Entre estas llaves se definen las variables y las instrucciones utilizadas para entradas de datos, cálculos y salidas de resultados. Encabezado del programa (archivos de cabecera) Cuerpo del programa (función main) #include <stdio.h> Void main() { printf(“Hola a todos:”); return(0); } Tabla 4.1: Partes básicas que componen la estructura de un programa fuente de C++ De un modo más explícito, un programa C puede incluir: Directivas de preprocesador; Declaraciones globales; La función main ( ) ; Funciones definidas por el usuario; Comentarios del programa (utilizados en su totalidad). 2 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ Bibliotecas C/C++ ofrece un conjunto de funciones estándar que dan soporte a las operaciones que se utilizan con más frecuencia. Estas funciones están agrupadas en bibliotecas. Para utilizar cualquiera de las funciones que forman parte de las bibliotecas estándar de C, sólo hace falta realizar una llamada a dicha función. Las funciones que forman parte de la biblioteca estándar de C, funciones estándar o predefinidas, están divididas en grupos. Todas las funciones que pertenecen a un mismo grupo se definen en el mismo fichero de cabecera. Los grupos de funciones estándar más comunes son: entrada/salida estándar, matemáticas, de conversión, diagnóstico, de manipulación de memoria, control de proceso ordenación, directorios, fecha y hora, cadenas, gráficas, etc. Las dos directivas más usuales son #include y #define. #include -- incluye el contenido del archivo nombrado. Estos son usualmente llamados archivos de cabecera (header). Por ejemplo: o #include <math.h> -- Archivo de la biblioteca estándar de matemáticas. o #include <stdio.h> -- Archivo de la biblioteca estándar de Entrada/Salida. #define -- define un nombre simbólico o constante. Sustitución de macros. o #define TAM_MAX_ARREGLO 100 Todas las directivas del preprocesador comienzan con el signo de libro o «almohadilla (# ), que indica al compilador que lea las directivas antes de compilar la parte (función) principal del programa. Las bibliotecas son instrucciones al compilador. Las bibliotecas no son generalmente sentencias obsérvese que su línea no termina en punto y coma, sino instrucciones que se dan al compilador antes de que el programa se compile. Aunque las bibliotecas pueden definir macros, nombres de constantes, archivos fuente adicionales, etc., su uso más frecuente en C es la inclusión de archivos de cabecera. Existen archivos de cabecera estándar que se utilizan ampliamente, tales como stdio.h, math.h, string.h, iostream.h y se utilizarán otros archivos de cabecera definidos por el usuario para diseño estructurado. Los archivos de cabecera (archivos con extensión . h contienen código fuente C) se sitúan en un programa C mediante la directiva del preprocesador #include con una instrucción que tiene el siguiente formato : #include <nombrearch. h> O bien #include "nombrearch.h" Control de entrada y salida de información La función printf es la salida genérica por consola que es utilizada por cualquier compilador de C. Por otra parte, la entrada estándar, que generalmente es por teclado, se realiza mediante la función scanf. Tanto la función printf como la función scanf permiten especificar el formato en que se van a escribir o leer los datos. Esto se conoce como entrada/salida formateada. C proporciona otros mecanismos de entrada/salida menos sofisticados que permiten leer o escribir simplemente un carácter por la entrada/salida estándar. Esto se realiza mediante las funciones getchar y putchar. Función printf Imprime una cadena de caracteres sobre la pantalla del ordenador. Tanto esta función como otras funciones de entrada/salida están definidas en la biblioteca stdio. Por esta razón, cada vez que se hace uso de la misma se incluye el fichero stdio.h mediante la directiva de precompilación #include <stdio.h>. La sintaxis de la función printf es la siguiente: printf("cadena de control", lista de argumentos); 3 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ La cadena de control contiene los especificadores de formato de los argumentos. Éstos le indican a printf cómo han de visualizarse los argumentos por pantalla y su número. Después de la cadena de control, aparecen los argumentos de la función separados por comas. Funcion Scanf La función de entrada más utilizada es la función scanf ya que es versátil y permite una entrada con formato. Al igual que la función printf, la función scanf está definida en el fichero de cabecera stdio.h. En términos generales, scanf permite leer datos de la entrada estándar, de acuerdo con el formato especificado en el primer argumento y almacenar estos datos en las variables que recibe como argumento. La sintaxis de esta función es la siguiente: scanf ("cadena de control", lista de argumentos); Donde la cadena de control contiene los tipos de datos y, si se lo desea, la anchura de los mismos, mientras que la lista de argumentos son las variables del tipo indicado por los especificadores de formato. A diferencia de la función printf que recibe los argumentos por valor, la función scanf recibe los argumentos por referencia. De esta manera, puede rellenarlos con los valores leídos. Por ejemplo, la siguiente sentencia devolverá en la variable dato el entero leído del teclado: scanf("%i", &dato); Tipos de Datos C no soporta un gran número de tipos de datos predefinidos, pero tiene la capacidad para crear sus propios tipos de datos. Todos los tipos de datos simples o básicos de C son, esencialmente, números. Los tres tipos de datos básicos son: Enteros; Números de coma flotante (reales); Caracteres. En la siguiente tabla se presentan los principales tipos de datos básicos, sus tamaños en bytes y el rango de valores que puede almacenar. Nombre del tipo de dato Int unsigned int _int8 _int16 _int32 _int64 Bytes de Memoria * * 1 2 4 8 char unsigned char short long float double 1 1 2 4 4 8 Otros nombres signed int unsigned char, signed char short, short int, signed short int signed, signed int Ninguno signed char Ninguno short int, signed short int long int, signed long int Ninguno Ninguno Los tipos de datos fundamentales en C/C++ son: Enteros: (números completos y sus negativos), de tipo int. 4 Introducción a la Programación Rango de valores Depende del sistema Depende del sistema -128 hasta 127 -32768 hasta 32767 -2147483648 hasta 2147483647 -9223372036854775808 hasta 9223372036854775807 -128 hasta 127 0 hasta 255 -32768 hasta 32767 -2147483648 hasta 2147483647 3.4E+/-38(7 digitos) 1.7E+/-308(15 digitos) Guía #05: Introducción a Lenguaje C/C++ Variantes de enteros: tipos short, long y unsigned. Reales: números decimales, tipos float, double o long double. Caracteres: letras, dígitos, símbolos y signos de puntuación, tipo char. char, int , float y double son palabras reservadas, o más específicamente, especificadores de tipos. Cada tipo de dato tiene su propia lista de atributos que definen las características del tipo y pueden variar de una máquina a otra. Los tipos char, int y double tienen variaciones o modificadores de tipos de datos, tales como short, long, signed y unsigned, para permitir un uso más eficiente de los tipos de datos. Conversión de tipos de datos en C++ C++ realiza de forma automática, las conversiones de un tipo a otro. Los datos de diferentes tipos se almacenan en memoria de forma diferente. Supóngase que se esta almacenando el número 25. Su representación dependerá de su tipo. Es decir, el patrón de ceros y unos en memoria será diferente si se almacena el número 25 como un número entero o si se almacena como número en coma flotante (float ). Por ejemplo: Si se tiene la siguiente operación f r e s u l t a d o = f v a l o r * i v a l o r En donde fresultado y fvalor son de tipo float y la variable ivalor es de tipo int: Cuando se ejecuta la instrucción anterior, el valor de ivalor se convierte a un número de coma flotante antes de llevar a cabo la multiplicación. El compilador reconoce que se trata de una operación en modo mixto, y el mismo genera el código necesario para realizar las operaciones. Téngase en cuenta que este proceso no modifica el valor asignado a ivalor y se mantiene de tipo int. Para que el compilador efectué la conversión automática de tipos en una operación aritmética, existe una “Jerarquía de Conversiones”, la cual se muestra a continuación: Prioridad 1(Alta) 2 3 4 5(Baja) Tipo de Dato double float long int short Cuando el compilador realiza una conversión de tipos en forma automática, es importante saber que el tipo del valor que aparece a la izquierda de la instrucción de asignación (= u operador de asignación) determina el tipo del resultado de la operación. Por tal motivo, se tiene la siguiente Tabla de Conversiones de tipos de datos de C: Tipo Mezclado con tipo Operaciones Resultado de tipo double float, long, int, short Todas double float long, int, short Todas float long int, short Todas long int short Todas int float int float = float * int float int float, double int = double + (float/float) int En la última fila de la tabla, se nota como prevalece el tipo de valor que aparece a la izquierda de la instrucción de asignación (=), ya que el resultado de una operación en coma flotante o double no puede asignarse a un valor de tipo entero (int). En este caso, se trunca la parte fraccional y el resultado se convierte en una representación entera. Ud. puede deducir otros casos de forma similar. 5 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ Conversiones explícitas de tipos, utilizando el operador de conversión de tipos ( cast ). Pueden surgir circunstancias en las que el compilador de C++ no modifique automáticamente el formato de tipo de dato de una variable. En este caso debe indicarse, de forma especifica la intención de realizar una modificación de tipo. Para indicar al compilador una conversión especifica, se utiliza el operador cast (operador de conversión de tipos). Esta modificación se da de forma temporal, y simplemente se coloca delante del identificador de la variable el tipo de dato, entre paréntesis, al que se desea convertir esa variable. Considere el siguiente ejemplo: Si declaramos 2 variables enteras (v a l o r 1 y v a l o r 2 ) y además dos variables de punto flotante, cada una de las tres instrucciones siguientes realizaría la misma operación: intvalor1,valor2; floatfvalor,fresultado; //instruccionesdeasignaciónusandooperadoresdeconversión fresultado=fvalor+(float)valor1/valor2; fresultado=fvalor+valor1/(float)valor2; fresultado=fvalor+(float)valor1/(float)valor2; Las 3 instrucciones de asignación realizan una conversión en coma flotante, y llevan a cabo la división entre las variables. Teniendo la “jerarquía de conversiones” presentada anteriormente, se tiene que si una variable se convierte a tipo float, se realiza una división en coma flotante. Variables y Constantes Variables: Son las posiciones de memoria en donde se almacenan cada uno de los datos a utilizar por el programa y estas pueden ser de un tipo de dato particular. Constantes: Si un dato no va ha cambiar su valor durante la ejecución del programa, generalmente se declara como un valor constante (con la sentencia const). ¿Como crear (identificadores) de Variables y Constantes en C? Hemos visto que una Variable es un lugar en la memoria de una PC, en donde se almacena un dato en nuestro programa, y esta puede ser de un tipo de dato particular. Cada variable tiene un nombre para que la manejemos en nuestro programa. Declarar un identificador de variable Un identificador es el nombre que da a las variables y funciones dentro del código fuente de C. Está formado por una secuencia de letras y dígitos, aunque también acepta el carácter de subrayado. No acepta los acentos, el espacio en blanco, ni la ñ / Ñ. El primer carácter de un identificador no puede ser un número (digito), sino que debe ser una letra o el símbolo _. Tenga mucho cuidado, el lenguaje C hace distinción entre mayúsculas y minúsculas, es Case Sensitive. Para declarar una variable debe hacer uso de uno de los tipos de datos mencionados en la tabla 1 anterior (int, char, float, etc.) en el área del cuerpo del programa siguiendo esta sintaxis: N o m b r e T i p o D a t o L i s t a d e V a r i a b l e s; En donde ListadeVariables es el nombre de una o muchas variables, cada una de las cuales se les define el Tipo de dato común (NombreTipoDato). Si se declaran 2 o mas variables, estas se separan por comas (,). 6 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ También puede indicar un “valor inicial” que tendrá una variable al declararla, agregando el operador de asignación (=) y luego el valor. Cualquier variable sin un valor inicial, tendrá un valor aleatorio asignado por la PC cuando se ejecute el programa final. Para terminar una línea de declaración de variables se utiliza un (;). Se pueden declarar todas las variables que necesite, pero tenga en cuenta que el programa final consumirá mas recursos de memoria de la PC por cada variable definida. Ejemplos de declaraciones de variables: int A,B,C; //declaras 3 variables enteras sin valor inicial //Crea una variable entera llamada numX y tendrá un valor inicial de -8 int numX=-8; /*Se crean 4 variables decimales. Sólo a las variables H y num3 se les define un valor inicial*/ float H=4.6, num2, R, num3=0.08; Una vez declarada una variable, la puede utilizar en su programa, teniendo en cuenta las restricciones del rango y que se pueden hacer con ella, gracias a su tipo de dato definido. Declarar un identificador de Constantes Si un dato no va ha cambiar su valor durante la ejecución completa del programa, generalmente se declara como un valor constante. Los pasos para definir una constante en C son los siguientes: 1 2 3 Ubica el cursor en la línea siguiente (línea vacía) a la declaración de las librerías (#include) dentro del encabezado(inicio) del programa. En esta línea escribe la directiva #define y luego define el identificador de la constante seguido de su valor (valor constante), siguiendo esta sintaxis: #define<identificador><valor> Si necesitas mas constantes, escribes las otras constantes en las líneas siguientes, cuidando de escribir solo una definición por línea, por ejemplo: Por ejemplo: #define PI 3.141592 #define PI 3.141592 #define Dólar 8.75 Tipos de Operadores en C Un operador es un símbolo que expresa que ha de realizarse una operación especifica a un valor o a una pareja de valores, retornando un resultado único. Al igual que los operadores utilizados al elaborar el pseudocódigo y/o diagrama de flujo, lenguaje C tiene una serie de categorías de operadores, los cuales se explican a continuación: Operadores de asignación Operadores de agrupación Operadores aritméticos Operadores lógicos Operadores relacionales A continuación se explicaran los operadores de asignación, de agrupación y los aritméticos Operadores de asignación Los operadores de asignación utilizados en C son 6 en total. Con los operadores “cortos” se pueden escribir, de forma más breve, expresiones que definen a variables acumuladores. Una variable acumulador es una variable la cual asigna su valor actual a si misma, pero altera este valor al incluirle el resultado de una operación matemática con otra variable. Estos tipos de operadores se presentan en la siguiente tabla: 7 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ Operador = += -= *= /= %= Significado Asignación simple Suma corta Resta corta Multiplicación corta División corta Modulo(resto) corto Ejemplos de expresiones que utilizan estos operadores de asignación cortos: Expresión normal: Con operador asignación simple (=) Se puede escribir con operador de asignación “corta”, así: n=n+3; k=k*(x-2); n+=3; k*=x-2; Operadores de agrupación Los paréntesis (), permiten alterar la jerarquía normal de calculo del resto de operadores, haciendo que el compilador calcule primero lo indicado entre los (). Los binarios + * / % Los unarios Suma Resta Multiplicación División Modulo(resto de una división) ++ -- Incremento(suma1) Decremento(resta1) Cambio de signo Jerarquía de operadores matemáticos Será importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos. Tenga siempre en cuenta las 2 reglas siguientes: Las operaciones con mayor precedencia se realizan antes que las de menor precedencia. Si en una operación se encuentran signos del mismo nivel de precedencia, dicha operación se realiza de izquierda a derecha. Precedencia de operadores matemáticos () ++, -*, /, % +, - Mayor procedencia Menor procedencia Palabras reservadas en C Existen una serie de indicadores reservados, con una finalidad determinada para el compilador de C, las cuales no se puede utilizar como identificadores. A continuación se presentan las palabras reservadas utilizadas por C: char int float double if else while for switch default short long extern static typedef continue break register sizeof 8 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ Comentarios en Lenguaje C (Una valiosa ayuda para ti futuro “Programador”) Usted puede decirle al compilador de C que ignore a propósito, determinados segmentos de líneas de su programa, para que así, utilice estos bloques para redactar ayudas, explicaciones o comentarios sobre determinados bloques del código fuente de su programa. Hay 2 formas de crear comentarios sobre segmentos de su código fuente de C, las cuales son: a) Con dos plecas (//) se ignora lo escrito hacia la derecha de la línea actual, comenzando por el inicio //. b) Con 2 parejas de símbolos / y un * utilizados de esta forma: / * comentario * / , se ignora todo el código (de una o muchas líneas) escrito entre el /*(de apertura) y el */(de cierre del comentario). III. MATERIALES Y EQUIPO Para la realización de la guía de práctica se requerirá lo siguiente: No. 1 2 3 Requerimiento Guía de Laboratorio #05 de IP Disquete ó Memoria USB Compilador de C++ Cantidad 1 1 1 IV. PROCEDIMIENTO ¿Como ejecutar el compilador de C? Para cargar el compilador Dev-C++ siga la siguiente secuencia de pasos: 1. Haga clic en botón Inicio colocado en la barra de tareas de Windows, busque la opción Todos los Programas y luego, apunte a Bloodshed Dev C++ y haga clic en (Dev C++) para ejecutar nuestro entorno de desarrollo. Luego aparecerá la ventana del compilador vacía. 2. A continuación se describirá la ventana principal del programa C++ que será nuestro entorno de trabajo para el resto del curso: 9 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ 3. Para crear un nuevo programa (código fuente), haga clic en Archivo y luego apunte a la opción Nuevo, y por último, haga clic en Archivo fuente. Como puede ver a continuación: Creando los códigos fuente (archivos .CPP) de los programas 4. A continuación cree en la carpeta Mis Documentos de su PC una carpeta llamada IPguia05deCarnet (reemplace Carnet por su número de carnet) para guardar en dicha carpeta todos sus programas a crear durante la práctica. 5. Ahora proceda a crear cada uno de los siguientes programas: 1. Nombre de programa E1GUIA5IP: Codigo fuente C de un programa para mostrar el clásico mensaje “Hola Mundo” #include<stdio.h> #include<conio.h> /*Este es un programa en C para mostrar el famoso Hola Mundo */ int main(){ printf("Hola Mundo\n"); getche(); return(0); } //fin main 6. Guarde el programa con el nombre E1GUIA5IP, ya sea desde la opción Archivo y luego Guardar; si tiene la versión en inglés: File y después Save, o también, busque el icono en la barra de herramientas. Compilando los códigos fuentes (.CPP) y ejecutando los programas (.EXE) 7. Hasta aquí ya tiene su código fuente (archivo .CPP) almacenado. Ahora deberá compilar el archivo .CPP para que el Lenguaje C cree el programa (archivo .EXE) a ejecutar. 8. Para ejecutar su programa tiene 3 alternativas: a) de clic en icono , b) desde el menú seleccione Ejecutar y busque la opción compilar, o también c) active la combinación de teclas (ctrl.+ F9). 9. El programa será compilado (traducción a lenguaje de máquina). Luego debe ejecutar el programa, para ello haga clic en el icono 10. Tome en cuenta que si el programa no esta compilado correctamente no lo podrá ejecutar, entonces se recomienda: a) Revisar bien la sintaxis, cada coma, punto es fundamental que se encuentre en la secuencia correcta. b) Ser cuidadoso con el uso apropiado de mayúsculas y minúsculas, debido a que C es CaseSensitive. c) Recordar el conjunto de palabras reservadas de C, las cuales no se pueden usar como nombres de variables. 10 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ 2. Programa E2GUIA5IP: pedir 2 números al usuario y hacer las 5 operaciones matemáticas. Calcula la suma, resta, producto y división de 2 números enteros, y también, el residuo de la división entre el 1er número con el 2do. #include<stdio.h> #include<conio.h> main() { int a,b; //entradas int c; //salidas printf("Introduzca valor de a:\t"); scanf("%d",&a); printf("Introduzca valor de b:\t"); scanf("%d",&b); printf("********** Operaciones basicas ************ \n"); //calcula y muestra el resultado de una suma c=a+b; printf("a+b= %d\n",c); //calcular y muestra resultado de la resta c=a-b; printf("a-b= %d\n",c); //Ahora el producto c=a*b; printf("a*b= %d\n",c); //Muestra resultado del cociente entero c=a/b; printf("a entre b= %d\n",c); //y finalmente, el resultado del residuo de una division c=a%b; printf("residuo de a entre b = %d\n",c); getche(); } //fin main 11. Compile este nuevo código fuente. Luego ejecútelo e ingrese la pareja de valores 13 y 8. 12. Observe y analice los resultados de c/operador matematico básico de C. Desarrolle manualmente el cálculo del residuo/modulo de ambos valores, con el fin de comprobar el ultimo resultado de esta ejecución. 13. Repita la ejecución de este ultimo codigo, pero ingrese los valores al revés del paso anterior, es decir: 8 y 13. Compruebe manualmente estos resultados. 14. Por último, ubique las líneas en donde se declaran a las variables a, b y c. Modifique el tipo de dato (int) original por el de tipo decimal de punto flotante (float). 15. Y también, reeplace dentro de todo el código fuente a cada pareja de simbolos %d (que indican que maneja un valor de tipo int) por %f (para manejar valores del tipo float) 16. Repita la ejecución con la misma pareja de valores (13 y 8). ¿Qué sucedió con la prueba de ejecucion? 17. El programa no se compilara, porque indica que la operación del calculo del residuo c=a%b; no se puede calcular. Esto se debe a que el operador % (modulo de división entera) solo es valida con valores de tipo entero. 18. Para deshabilitar este error, solo comente la ultima asignación de c e impresión del resultado del residuo. Compilar nuevamente y ejecutar la aplicación. Probar con parejas de valores con decimales. 11 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ 3. Nombre de programa E3GUIA5IP.CPP: Programa que calcula el área de un cilindro, a partir del radio y altura dada por usuario. Observe las maneras para crear constantes en un código fuente de C #include<stdio.h> #include<conio.h> // 2 maneras para declarar constantes en un cpp #define Pi 3.14159265 // para C sharp //const float Pi=3.14159265; //para C++ main(){ float r,h; //entradas: radio y altura de un cilindro float area; //salida: area del cilindro printf("\t\t Calculo del area total de un cilindro\n\n"); printf("Escriba radio y altura del cilindro (medido en cm):\n"); scanf("%f%f",&r,&h); //calcula area, para luego mostrarla al usuario area=2*Pi*r*(h+r); printf("\nEl Area de cilindro con radio de %fcm y altura %fcm",r,h); printf(" es de %.2f cm cuadrados",area); getche(); } //fin main 19. Del CPP anterior, observe las 2 maneras para definir a un valor constante. 20. Guarde el código fuente y compílelo. Revise nuevamente la edición del código en caso de detección de errores. 21. Cuando ya sea compilado apropiadamente, ejecute la aplicación. Realice diversas pruebas de ejecución, ingresando diferentes valores de entrada y comprobando la salida correspondiente!! 4. Programa E4GUIA5IP.CPP: Permita introducir 2 enteros desde teclado, y a continuación imprime: la suma, el promedio, el producto, el cuadrado del primer numero y el cubo del segundo numero. #include<stdio.h> #include<conio.h> main() { int a,b; //valores entrada int pro, cua, cubo; // valores salida printf("\nEscriba el primer numero: "); scanf("%d",&a); printf("\nAhora indique el segundo numero:"); scanf("%d",&b); pro=a*b; cua=a*a; cubo=b*b*b; printf("\nLa suma de estos numeros es %d\ny su promedio es %d\n",a+b,(a+b)/2); printf("\nEl producto es %d\n",pro); printf("\ny el Cuadrado del primer numero: %d\tCubo del segundo numero: %d",cua,cubo); 12 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ getche(); return 0; }//fin main 22. Con este ultimo código, observe que C no requiere variables al momento de ejecutar salidas de datos (impresión en pantalla). Acepta resultados de evaluar expresiones. 23. Ahora digite un nuevo programa, denominado E4GUIA5IPmodi.CPP el cual define el mismo programa anterior, pero bajo las librerías de C++ 4. Programa E4GUIA5IPmodi.CPP: Permita introducir 2 enteros desde teclado, y a continuación imprime: la suma, el promedio, el producto, el cuadrado del primer numero y el cubo del segundo numero. (Que utiliza librería de funciones entradas-salidas de C++ iostream.h) #include<iostream.h> #include<conio.h> using namespace std; main() { int a,b; //valores entrada int pro, cua, cubo; // valores salida cout<<"\nEscriba el primer numero: "; cin>>a; cout<<"\nAhora indique el segundo numero:"; cin>>b; pro=a*b; cua=a*a; cubo=b*b*b; cout<<"\nLa suma de estos numeros es "<<a+b<<"\ny su promedio es "<<(a+b)/2<<"\n"; cout<<"\nEl producto es "<<pro<<"\n"; cout<<"\n y el Cuadrado del primer numero: "<<a*a<<"\tCubo del segundo numero: "<<cubo; getche(); return 0; }//fin main PROBLEMAS A RESOLVER: Elabore el código fuente de C++ (utilizando la librería iostream.h de C++) que solucione a cada uno de los problemas a continuación: Problema 1: Calcular el promedio teórico del primer periodo de un estudiante de Introducción a la Programación, sabiendo que las actividades (con su porcentaje %) a evaluar son: Investigación (25%), b) Exposición (32.5%) y Parcial (42.5%) Problema 2: Ayude a los contadores de Scotiabank, los cuales requieren calcular una Tasa de interés Simple anual (i en porcentaje (entre 1-100%)) que se aplique a un Monto Inicial (P), para obtener un monto Final (F) durante un periodo de tiempo (t: en años) 13 Introducción a la Programación Guía #05: Introducción a Lenguaje C/C++ Problema 3: Un alumno desea saber ¿Cuál será su calificación final en la materia de Cirugía 3? Dicha calificación se compone de los siguientes porcentajes: • 40% (promedio de sus tres calificaciones parciales) • 35% (calificación de una Defensa final) • 25% (de la calificación de un portafolio final) V. DISCUSION DE RESULTADOS Elabore un documento formal (portada, índice de contenido, contenido y bibliografía Web) que contenga lo siguiente: Parte I: Investigue los siguientes aspectos de lenguaje C++: Hasta el momento, se ha observado en acción a los símbolos %d y %f dentro de instrucciones como printf o scanf. ¿Existen otros símbolos similares? Explique en detalle… Elaborar un ejemplo que demuestre el uso de cada uno de los simbolos investigados. Parte II: Escribir el Pseudocodigo en Pseint y su traducción a un Programa en C++ (con libreria iostream.h) a cada uno de los siguientes problemas. Recuerde que cada código fuente debe tener la documentación necesaria (comentarios de programador) que explique cada paso o grupos de pasos del código fuente. Problemas 1. Realice un programa que solicite el precio individual de un producto y la cantidad a comprar. Muestre el precio total a pagar, aplicando el IVA (12.7%), independientemente de la cantidad del producto comprado. 2. Calcular el promedio teórico del primer periodo de un estudiante de Informática I, sabiendo que las actividades (con su porcentaje %) a evaluar son: a) Investigación (25%), b) Exposición (32.5%) y Parcial (42.5%). 3. Solicite una temperatura en grados Centígrados (°C) y muestre el valor equivalente en grados Fahren heit (°F) y Kelvin (°K). Recuerde que las fórmulas utilizadas en estos cálculos son: °C = 5/9( °F - 32) y °K = °C + 273.15. SU RESPUESTA debe especificar las unidades tanto en la temperatura ingresada como en las temperaturas equivalentes obtenidas. Ejemplo: si ingresa 23.89 ºC de temperatura, debe mostrar que equivalen a 75 ºF y también a 297.04 ºK. VI. BIBLIOGRAFÍA • Metodología de la Programación: Diagramas de Flujo, Algoritmos y Programación estructurada. Joyanes Aguilar, Luis. No. De Clasificación 005.1 J88 1998. Editorial: MCGRAW HILL • Cómo Programar en C/C++. Deitel, Harvey M... No. De Clasificación 005.362 D325 1995 Editorial: PRENTICE HALL 14 Introducción a la Programación