Академический Документы
Профессиональный Документы
Культура Документы
CICLO: 02/2013
Nombre de la Practica:
Lugar de Ejecucin:
Tiempo Estimado:
MATERIA:
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 cdigo fuente de C.
Pueda escribir nuevos programas (software) para solucionar problemas, utilizando el lenguaje de
programacin C.
Introduccin a la Programacin
La edicin es el proceso en el que el programador digita el cdigo de programa en un editor para C++. A este
cdigo se le conoce como cdigo fuente. El preprocesamiento consiste en modificar el cdigo fuente de C
segn una serie de instrucciones conocidas como directivas de preprocesamiento con el propsito de simplificar
el trabajo del compilador.
La compilacin es el proceso de pasar el cdigo ya pre procesado a cdigo objeto. Entindase por este el
cdigo resultante de la compilacin del cdigo fuente. La fase de enlace consiste en unir los cdigos objeto de
los distintos mdulos y bibliotecas externas (bibliotecas de sistema) con el fin de generar el programa ejecutable
final.
Finalmente, una vez generado el cdigo ejecutable se carga y se ejecuta. El proceso que se sigue para llegar al
cdigo ejecutable a partir del cdigo fuente se puede resumir en la figura 4.1.
Palabras reservadas en C
Existen una serie de indicadores reservados, con una finalidad especfica dentro del compilador de C++, y que
no pueden utilizarse como identificadores. Las palabras reservadas son:
_asm
_based
_cdecl
_dec1spec
_except
_fastcall
_finally
_inheritance
_inline
_int32
_int64
_int8
_intl6
_leave
_multiple
_stdcall
_try
_uuidof
_virtual_inheritance
auto
bool
break
case
catch
char
class
const
const-cast
continue
declaration
default
delete
directive
dl1export
dllimport
do
double
dynamic-cast
Introduccin a la Programacin
else
enum
explicit
extern
false
float
for
friend
goto
if
inline
int
long
man
mutable
naked
namespace
new
operator
private
protected
public
register
reinterpret_cast
return
short
signed
-single-inheritance
sizeof
static
static-cast
struct
switch
template
this
thread
throw
true
try
typedef
typeid
typename
union
unsigned
using
using
uuid
virtual
void
volatile
wchar_t
while
wmain
xalloc
#include <iostream.h>
using namespace std:
void main()
{
Cuerpo del programa
cout<<Hola Mundo;
(funcin main)
return(0);
}
Tabla 4.1: Partes bsicas que componen la estructura de un programa fuente de C++
Bibliotecas
C/C++ ofrece un conjunto de funciones estndar que dan soporte a las operaciones que se utilizan con ms
frecuencia. Estas funciones estn agrupadas en bibliotecas. Para utilizar cualquiera de las funciones que
forman parte de las bibliotecas estndar de C, slo hace falta realizar una llamada a dicha funcin.
Las funciones que forman parte de la biblioteca estndar de C, funciones estndar o predefinidas, estn
divididas en grupos. Todas las funciones que pertenecen a un mismo grupo se definen en el mismo fichero de
cabecera.
Los grupos de funciones estndar ms comunes son: entrada/salida estndar, matemticas, de conversin,
diagnstico,
de
manipulacin
de
memoria,
control
de
proceso
ordenacin, directorios, fecha y hora, cadenas, grficas, etc.
Las dos directivas ms usuales son #include y #define.
#include -- incluye el contenido del archivo nombrado. Estos son usualmente llamados archivos de
cabecera (header). Por ejemplo:
o #include <
> -- Archivo de la biblioteca estndar de matemticas.
o #include <
> -- Archivo de la biblioteca de Entrada/Salida de C++.
#define -- define un nombre simblico o constante. Sustitucin 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 (funcin) principal del programa.
Las bibliotecas son instrucciones al compilador. Las bibliotecas no son generalmente sentencias obsrvese que
su lnea 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 ms frecuente en C es la inclusin de archivos de cabecera.
3
Introduccin a la Programacin
Existen archivos de cabecera estndar que se utilizan ampliamente, tales como stdio.h, math.h, string.h,
iostream.h y se utilizarn otros archivos de cabecera definidos por el usuario para diseo estructurado.
Los archivos de cabecera (archivos con extensin . h contienen cdigo fuente C) se sitan en un programa C
mediante la directiva del preprocesador #include con una instruccin que tiene el siguiente formato :
o tambin
'&% !$#"!
La biblioteca iostream dispone automticamente del flujo asociado a la entrada a travs de teclado con el
operador cin. Su sintaxis de uso es:
<Flujo de entrada> cin >> <ident {>> <identX>} ;
Con cin se leen datos de la entrada estndar y se almacenan en variables que recibe como argumentos (ident).
Por Ej.: cin>>variable1>>variable2>>variable3;
C++ proporciona otros mecanismos de entrada/salida menos sofisticados que permiten leer o escribir
simplemente un carcter por la entrada/salida estndar. Esto se realiza mediante las funciones
cin.get(variable_char) y cout.put(variable_char).
Tipos de Datos
C no soporta un gran nmero de tipos de datos predefinidos, pero tiene la capacidad para crear sus propios
tipos de datos. Todos los tipos de datos simples o bsicos de C son, esencialmente, nmeros. Los tres tipos de
datos bsicos son:
Enteros;
Nmeros de coma flotante (reales);
Caracteres.
4
Introduccin a la Programacin
En la siguiente tabla se presentan los principales tipos de datos bsicos, sus tamaos 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
Otros nombres
Rango de valores
signed int
unsigned
char, signed char
short, short int, signed short int
signed, signed int
Ninguno
char
unsigned
char
short
long
float
double
1
1
signed char
Ninguno
2
4
4
8
Introduccin a la Programacin
Prioridad
1(Alta)
2
3
4
5(Baja)
Tipo de Dato
double
float
long
int
short
Cuando el compilador realiza una conversin de tipos en forma automtica, es importante saber que el tipo del
valor que aparece a la izquierda de la instruccin de asignacin (= u operador de asignacin) determina el tipo
del resultado de la operacin.
Por tal motivo, se tiene la siguiente Tabla de Conversiones de tipos de datos de C:
Tipo
double
float
long
int
float
int
Operaciones
Todas
Todas
Todas
Todas
float = float * int
int = double + (float/float)
Resultado
de tipo
double
float
long
int
float
int
En la ltima fila de la tabla, se nota como prevalece el tipo de valor que aparece a la izquierda de la instruccin
de asignacin (=), ya que el resultado de una operacin 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
representacin entera. Ud. puede deducir otros casos de forma similar
Conversiones explcitas de tipos, utilizando el operador de conversin de tipos ( cast )
Pueden surgir circunstancias en las que el compilador de C++ no modifique automticamente el formato de tipo
de dato de una variable. En este caso debe indicarse, de forma especfica la intencin de realizar una
modificacin de tipo.
Para indicar al compilador una conversin especifica, se utiliza el operador cast (operador de conversin de
tipos).
Esta modificacin se da de forma temporal, y simplemente se coloca delante del identificador de la variable el
tipo de dato, entre parntesis, 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 adems dos variables de punto flotante, cada una de
las tres instrucciones siguientes realizara la misma operacin:
intvalor1,valor2;
floatfvalor,fresultado;
//instruccionesdeasignacinusandooperadoresdeconversin
fresultado=fvalor+(float)valor1/valor2;
fresultado=fvalor+valor1/(float)valor2;
fresultado=fvalor+(float)valor1/(float)valor2;
Las 3 instrucciones de asignacin realizan una conversin en coma flotante, y llevan a cabo la divisin entre las
variables. Teniendo la jerarqua de conversiones presentada anteriormente, se tiene que si una variable se
convierte a tipo float, se realiza una divisin en coma flotante.
Introduccin a la Programacin
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 a cambiar su valor durante la ejecucin del programa, generalmente se declara como un valor
constante (con la sentencia const).
Introduccin a la Programacin
Ejemplo:
#define PI 3.141592
Ejemplo:
#define PI 3.141592
#define Dolar 8.75
Tipos de Operadores en C
Un operador es un smbolo que expresa que ha de realizarse una operacin especifica a un valor o a una
pareja de valores, retornando un resultado nico.
Al igual que los operadores utilizados al elaborar el pseudocdigo y/o diagrama de flujo, lenguaje C tiene una
serie de categoras de operadores, los cuales se explican a continuacin:
Operadores de asignacin
Operadores de agrupacin
Operadores aritmticos
Operadores lgicos
Operadores relacionales
A continuacin se explicaran los operadores de asignacin, de agrupacin y los aritmticos
Operadores de asignacin
Los operadores de asignacin corta utilizados en C
son 6 en total (Ver la tabla a la derecha).
Con los operadores cortos se pueden escribir, de
forma ms breve, expresiones que definen a
variables acumuladores.
Una variable acumulador es una variable la cual
asigna su valor actual a s misma, pero altera este
valor al incluirle el resultado de una operacin
matemtica con otra variable.
Operador
=
+=
-=
*=
/=
%=
Introduccin a la Programacin
Significado
Asignacin simple
Suma corta
Resta corta
Multiplicacin corta
Divisin corta
Modulo(resto) corto
Expresin normal:
Con operador asignacin simple (=)
n=n+3;
k=k*(x-2);
n+=3;
k*=x-2;
Operadores de agrupacin
Los parntesis (), permiten alterar la jerarqua normal de clculo del resto de operadores, haciendo que el
compilador calcule primero lo indicado entre los ().
Los binarios
+
*
/
%
Los unarios
Suma
Resta
Multiplicacin
Divisin
Modulo(resto de una divisin)
++
--
Incremento(suma1)
Decremento(resta1)
Cambio de signo
Mayor procedencia
Menor procedencia
Introduccin a la Programacin
Usted puede decirle al compilador de C que ignore a propsito, determinados segmentos de lneas de su
programa, para que as, utilice estos bloques para redactar ayudas, explicaciones o comentarios sobre
determinados bloques del cdigo fuente de su programa.
Hay 2 formas de crear comentarios sobre segmentos de su cdigo fuente de C, las cuales son:
a) Con dos plecas (//) se ignora lo escrito hacia la derecha de la lnea actual, comenzando por el inicio //.
b) Con 2 parejas de smbolos / y un * utilizados de esta forma: / * comentario * / , se ignora todo el cdigo (de
una o muchas lneas) escrito entre el /*(de apertura) y el */(de cierre del comentario).
Requerimiento
Gua de Laboratorio #05 de IP
Disquete Memoria USB
Compilador de C++
Cantidad
1
1
1
IV. PROCEDIMIENTO
3. Para crear un nuevo programa (cdigo fuente), haga clic en Archivo y luego apunte a la opcin
Nuevo, y por ltimo, haga clic en Archivo fuente. Como puede ver a continuacin:
10
Introduccin a la Programacin
11
Introduccin a la Programacin
12
Introduccin a la Programacin
3. Programa E3GUIA1IP.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 cdigo fuente de C
#include<iostream>
using namespace std;
#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 de cilindro
cout<<"\t\t Calculo del area total de un cilindro\n\n";
cout<<"Escriba radio y altura del cilindro (medido en cm):\n";
cin>>r>>h;
//calcula area, para luego mostrarla al usuario
area=2*Pi*r*(h+r);
cout<<"\nArea de cilindro es de "<<area<<" cm 2\n";
cout.precision(2);
cout<<"\nArea de cilindro es de "<<area<<" cm 2\n";
//asigna Banderas para formateo de las salidas de cout
cout.setf(ios::fixed);
cout<<"\nArea de cilindro es de "<<area<<" cm 2\n";
getche();
} //fin main
15. Guarde el cdigo fuente y complelo. Revise nuevamente la edicin del cdigo en caso de deteccin de
errores.
16. Cuando ya sea compilado apropiadamente, ejecute la aplicacin, ingresando como entradas a un radio
de 6.895 y altura de 16.9521.
Observe cuidadosamente que a pesar que el contenido de las 3 funciones cout es el mismo, el
resultado de su ejecucin es diferente en c/u debido al uso de cout.precision y la activacin de
bandera ios::fixed.
17. Realice diversas pruebas de ejecucin, ingresando diferentes valores de entrada y comprobando la
salida correspondiente!!
4. Programa E4GUIA1IP.CPP:
Programa que solicita 3 nmeros decimales, para mostrar el proceso de suma de los mismos, todos impresos
con 1 cifra decimal.
#include <iostream>
using namespace std;
#include <conio.h>
13
Introduccin a la Programacin
a << endl;
b << endl;
c << "+"<< endl;
res << endl;
getch();
}//fin main
18. Compilar y ejecutar el programa anterior. Ingresar 3 nmeros decimales cualquiera, con diferentes cifras
decimales, por ej. (168.26 1897.9 6.25544) y evale como se logro generar la distribucin de resultados
final.
Expresin 2:
Expresin 3:
Expresin 4:
PROBLEMAS A RESOLVER:
Elabore el cdigo fuente de C++ (utilizando la librera iostream.h de C++) que solucione a cada uno de los
problemas a continuacin:
14
Introduccin a la Programacin
Problema 1:
Determine el rea y volumen de un cubo del cual se debe pedir al usuario el valor de su lado (L). (L) es medido
en centmetros.
Problema 2:
Ayuda al Contador de un Banco: Calcule el Monto inicial (C) de un prstamo realizado por la institucin hace
un tiempo N atras, solicitando los datos siguientes: a) Monto actual (S), b) Total de meses (N) transcurridos hasta
ese momento, c) Tasa de inters (i) mensual simple.
Tenga en cuenta la frmula S = C + C.i.N al realizar sus anlisis y sus clculos.
Problema 3:
La distancia entre dos puntos ubicados en el plano cartesiano est dada por la ecuacin:
d =
(x2 x1 )2 + ( y 2 y1 )2
Se pide que realice un programa que solicite dos puntos del plano cartesiano al usuario y le muestre cul es la
distancia entre ellos.
La nica funcin de la librera m a t h . h que podr utilizar en su cdigo fuente ser a: s q r t ( )
V. DISCUSION DE RESULTADOS
Elabore un documento PDF formal (con portada e ndice de contenido) que contenga el cdigo fuente de C++
de solucin a cada uno de los programas siguientes:
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. Ayude a un estudiante a determinar la resistencia equivalente del circuito mostrado a continuacin.
3. Solicite una temperatura en grados Fahrenheit (F) y muestre el valor equivalente en grados Centgrados (C)
y Kelvin (K).
SU RESPUESTA debe especificar las unidades tanto en la temperatura ingresada como en las temperaturas
equivalentes obtenidas.
Ejemplo: si ingresa 75 F de temperatura, debe mostrar que esta medida equivale a 23.89 C y tambin a
297.04 K.
VI. BIBLIOGRAFA
Metodologa de la Programacin: Diagramas de Flujo, Algoritmos y Programacin estructurada. Joyanes
Aguilar, Luis. No. De Clasificacin 005.1 J88 1998. Editorial: MCGRAW HILL
Cmo Programar en C/C++. Deitel, Harvey M... No. De Clasificacin 005.362 D325 1995 Editorial: PRENTICE
HALL
15
Introduccin a la Programacin