IP Practica 05: Introduccion a Lenguaje C++

Anuncio
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
Descargar