You are on page 1of 73

COMPENDIO

Informtica II - 2011
E Ella ab bo or ra ad do op po or re ell P PR RO OF F.. IIN NG G.. C CA AR RL LO OS SA AL LB BE ER RT TO OS SIIL LV VA AD DE EL LG GA AD DO O

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

ING. CARLOS ALBERTO SILVA DELGADO.


Ingeniero en Informtica y Sistemas.
CIP Nro. 96047

EXPERIENCIA EN DOCENCIA UNIVERSITARIA


Universidad Jos Carlos Maritegui - UJCM, Docente Contratado, 2006 - 2007 - 2008 . Universidad Privada de Tacna - UPT, Docente Contratado, 2008. Universidad Alas Peruanas - UPT, Docente Contratado, 2006 - 2007. Universidad Nacional Jos Mara Arguedas - UNAJMA, Docente Ordinario, 2009.

EXPERIENCIA PROFESIONAL
Caja Municipal de Ahorro y Crdito de Tacna - CMAC-TACNA, Vicepresidente Directorio, 2006. Gobierno Regional de Puno - PETT-PUNO, Administrador, 2005. Empresa Prestadora de Servicios - EPS TACNA, Jefe Divisin de Sistemas, 2003.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 2

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

PRESENTACION
El presente trabajo denominado "Gua de Laboratorio" fue elaborado con el propsito de facilitar el proceso de enseanza - aprendizaje, impartido en torno a la asignatura de Informtica II, de la Carrera Profesional de Ingeniera de Sistemas de la Universidad Nacional Jos Mara Arguedas de la ciudad de Andahuaylas. Los docentes responsables de impartir la enseanza universitaria a inicios de cada ciclo estamos obligados a plantearnos la necesidad de reforzar los esquemas estrategias metodolgicas que nos permitan llegar a la totalidad de los estudiantes. La gua de laboratorio no es otra cosa que la recopilacin de informacin, impartida por el suscrito en clases, por ello mi profundo agradecimiento a los estudiantes de la CPIS - UNAJMA que con sus inquietudes y aciertos han contribuido de sobre manera en la elaboracin del presente manual. Su estructura y organizacin tiene el propsito de permitir al estudiante de la CPIS, iniciar su aprendizaje de experto en la resolucin de ejercicios de algoritmos por medio del lenguaje de programacin Dev C++; herramienta valiosa que nos auxiliara en la creacin de programas. Las tcnicas y mtodos expuestos tienen la intencin que el alumno realice los ejercicios de prcticas en una forma razonada y no mecnica para esto se integra un respaldo terico al inicio de cada unidad. Finalmente el estudiante comprender de una manera global la importancia de resolver problemas utilizando algoritmos lo que le permitir disear mejores programas.

Ing. Carlos Alberto Silva Delgado Docente Ordinario CPIS UNAJMA

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 3

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

CONTENIDO DESCRIPCIN GUA DE LABORATORIO CARATULA EL AUTOR PRESENTACIN CONTENIDO INSTALACIN DEL ENTORNO DEV C++ Gua de Laboratorio Nro. 01. CONCEPTOS BSICOS DE LOS PROGRAMAS EN DEV C++ Gua de Laboratorio Nro. 02. OPERADORES Y EXPRESIONES Gua de Laboratorio Nro. 03. ESTRUCTURAS DE CONTROL SELECTIVAS Gua de Laboratorio Nro. 04. ESTRUCTURAS DE CONTROL REPETITIVAS Gua de Laboratorio Nro. 05 FUNCIONES Y MDULOS Gua de Laboratorio Nro. 06 ARRAYS (ARREGLOS) Gua de Laboratorio Nro. 07 CADENAS Gua de Laboratorio Nro. 08 CUADERNILLO DE EJERCICIOS PROPUESTOS 70 - 73 60 - 69 51 - 59 42 - 50 33 - 41 25 - 32 20 - 24 14 - 19 01 02 03 04 05 - 13 PGINA

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 4

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 01
INSTALACIN DEL ENTORNO DEV C++ I. OBJETIVOS Conocer sobre el entorno de DEV C++. Instalar en Entorno DEV C++. Aprender a utilizar el entorno DEV C++.

II. INTRODUCCIN DEV C++ : Bloodshed Dev-c++ es un entorno de desarrollo integrado (IDE por sus siglas en ingls) para programar en lenguaje C/C++. El entorno est desarrollado en el lenguaje Delphi de Borland. El cual tiene una pgina de paquetes opcionales para instalar, con diferentes bibliotecas de cdigo abierto. Cmo obtenerlo? : Existen varias webs disponibles para descargarlo, pero nosotros bajaremos desde la web del autor: http://www.bloodshed.net/dev/devcpp.html III. MATERIALES Y EQUIPOS A UTILIZAR IV. Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Instalador del software Dev C++. Can Multimedia. Laptop. Pizarra, Plumones y Mota. PROCEDIMIENTOS Instalacin de Dev C++ 1. Ejecutamos nuestro archivo descargado.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 5

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

2. Seleccionamos el idioma deseado.

3. Aceptamos la licencia.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 6

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

4. Seleccionamos las opciones que bien por default, o sea FULL. Luego siguiente:

5. Elegimos el directorio donde se instalar nuestro compilador, dejemos la ruta que por defecto est predeterminado luego Instalara automticamente.

6. Se da inicio a la instalacin del compilador, copiado de archivos, etc.


Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 7

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

7. Una vez finalizado, apreciaremos sta ventana, la que nos permitir verificar la instalacin de nuestro compilador C++, seleccionamos Ejecutar Dev-C++ 5, para luego presionar el botn Terminar.

8. Una vez que est cargado nuestro compilador, verificamos que las rutas a las libreras estn correctamente instaladas. Vamos a Herramientas -> Opciones del compilador.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 8

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

9. Vamos a la pestaa Directorios, luego a la sub pestaa Binarios y verificamos que la ruta sea c:\Dev-Cpp\Bin (Se visualizara as siempre y cuando hayan instalado el compilador en el directorio por default).

10. Luego sub pestaa Libreras, verificamos que la ruta sea C:\Dev-Cpp\lib, repito, sta ruta es siempre cuando en la instalacin hallamos elegido el directorio por default.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 9

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

11. Sub pestaa Cabeceras C, verificamos C:\Dev-Cpp\include

12. Y lo mismo para la pestaa Cabeceras C++

13. Ahora, que sucede si nos faltaba alguna ruta de las que estn en las imgenes?, pues bueno hay que agregarlas; cmo? Muy fcil, fjense que en cada sub pestaa (binarios, libreras, cabeceras, etc) existe un cono en la parte inferior lado derecho con forma a una carpeta (la que est destacada con un cuadrado rojo en la imagen), dnle un clic y les abrir la ventana de bsqueda de carpeta, en esa ventana seleccionan la carpeta que les falta, luego aceptar y aceptar.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 10

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Para Windows Vista: Existen problemas para compilar con Dev-C++ en Windows Vista, el cual se debe a un error de construccin (Build Error), para solucionar este problema, hay que instalar el Dev-C++ de forma normal, para luego hacer algunas pequeas modificaciones. 1. En Herramientas -> Opciones del compilador, y en la pestaa directorios sub pestaa Binarios, en ella agregar la ruta C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2, esto se realiza como se menciono anteriormente, presionando el cono inferior derecho con forma de carpeta.

2. Luego en Pestaa Programas, modificar los archivos que ya estn, agregando la ruta completa del archivo, como se observa en la imagen. Ejemplo: se dice gcc.exe debes agregar c:\Dev-Cpp\Bin\gcc.exe

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 11

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Entorno de Dev C++

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS Explora todo el men principal del Software Dev-C++. Investigar otros IDEs para desarrollar los algoritmos desarrollados en clases.

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente. Hizo uso de comentarios para documentar los ejercicios.

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5

Realizacin en forma coherente y con lgica. Resultados obtenidos fueron correctos. Dedicacin del estudiante durante la prctica. TOTAL

30 % 20 % 10 % 100 %

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 12

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Observaciones ________________________________________________________________________________ _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 13

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 02
CONCEPTOS BSICOS DE LOS PROGRAMAS EN C++ I. OBJETIVOS Conocer la estructura general de un programa en C++. Conocer los tipos de datos, constantes, variables en C++. Utilizar el entorno DEV C++.

II. INTRODUCCIN 1. Estructura general de un programa en C++. a) Encabezado del programa (archivos de cabecera): # include <nombre_de_libreria> b) Cuerpo del programa (funcin main): int main() { declaracion de variables; sentencias; return 0 ; } c) Variables: Lugar donde se almacena los datos a utilizar, que pueden ser de un tipo de dato particular. d) Constantes: Si un dato no va a cambiar su valor durante la ejecucin del programa, generalmente se declara como un valor constante (const). 2. Tipos de datos y tamaos del estndar ANSI de C++. C++ es un lenguaje que hace distincin entre minsculas y maysculas para las instrucciones y variables; es decir que no es lo mismo digitar COUT o Cout que cout, por lo tanto se debe tener en cuenta los siguientes recomendaciones: a) Todas las palabras reservadas de C++ (return, int, ect), y funciones predefinidas (system(), main, etc), deben escribirse en minsculas.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 14

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

b) Al declarar variables en C++, por ejemplo una variable entera A , considere que A mayscula es diferente de a minscula. c) Al declarar variables en C++, por ejemplo una variable entera var uno, considere que producira un error debido a que no se reconocen los espacios en blanco para la declaracin de variable, razn por la cual se sugiere utilizar un guion bajo(_) var_uno o unirlas varuno.

3. Los comentarios. Son seales que utiliza el programador para explicar que hacen las lneas de programacin para documentacin interna, normalmente un programa tiene comentarios slo en las instrucciones que podran dar lugar a dudas debido a que un programa con demasiados comentarios innecesarios dificultan la lectura del programa, los comentarios son ignorados por el compilador. Todos los comentarios en C++ comienzan con // para los de una lnea y /* */ para comentarios multilnea. 4. Instrucciones de Entrada/Salida (E/S) en C++. C++ tiene dos instrucciones principales para presentar y capturar datos :

cout

trabaja con el operador de insercin trabaja con el operador de extraccin

<< >>
Pgina 15

cin

Ing. Carlos Alberto Silva Delgado - 2011 - I

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

La instruccin cout permite imprimir datos en la pantalla de la computadora, la sintaxis es la siguiente: cout<<"mensaje a desplegar"; o bien cout <<"el valor de X es:" <<X;

Donde "X" indica la variable o dato a imprimir. La instruccin cin permite leer informacin desde el teclado, la sintaxis es la siguiente: int var; cin>>var; Donde var es la variable a ser capturada desde el teclado. III. MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop.

IV. PROCEDIMIENTOS Realice los siguientes ejemplos en el Software Dev-C++. Ejemplo N01: holamundo.cpp PROGRAMA /* programa realizado por: digite su nombre */ # include <iostream.h> using namespace std; int main () Explicacin lnea por lnea Indica que se va digitar un comentario. Libreras que nos permiten hacer uso de sentencias de escape "cout" y "cin". La funcin main representa la cabecera del programa. { cout <<"hola"; system("PAUSE"); }
Ing. Carlos Alberto Silva Delgado - 2011 - I

Indica el inicio del programa. Instruccin que imprime mensajes. Realiza una pausa. Finaliza el programa.
Pgina 16

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Para correr nuestro programa primero debemos compilarlo y luego ejecutarlo, ubique la siguiente

barra en el DEV C ++

, para compilar el programa hacemos click en el botn , tenemos un tercer

, si el programa no contiene ningn error, hacemos click en ejecutar botn que realiza las dos funciones al mismo tiempo Ejemplo N02: suma.cpp .

Ejemplo N 03: En una empresa de calzado, se aplican los siguientes descuentos al sueldo base de cada uno de sus empleados: Renta (10%), AFP Confa (7%) y Seguro Social (5%). Desarrollar un programa en C++ que pida el sueldo base de un empleado y que determine los descuentos y el sueldo neto a pagar.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 17

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejemplo N 04: Disear el programa que permita obtener el salario neto de un empleado, a partir del nmero de horas trabajadas en el mes. Al salario nominal, se le aplica un descuento del 15%. Debe mostrar como resultado un mensaje en donde debe verse el nombre del empleado, el nmero de horas trabajadas, el salario nominal, el descuento aplicado y el salario neto. V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Disear el programa que visualice la letra A mediante asteriscos. 2. Disear el programa que lea un texto de cinco lneas y lo presente en pantalla. 3. Disear el programa que lea 5 nmeros enteros y tres nmeros reales y los visualice. 4. Disear el programa que permita leer su nombre y direccin y visualice la misma. 5. Disear el programa que lea la base y la altura de un trapecio, y calcule su rea. 6. Disear el programa que imprima una pgina de texto con no ms de 40 caracteres por lnea. 7. Disear el programa que lea el radio de una circunferencia y calcule su longitud. 8. Disear el programa que lea tres nmeros reales, y los visualice. 9. Disee los programas de los algoritmos realizados en clase. VI. Evaluacin de Anlisis de Resultados

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios.

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica. Resultados obtenidos fueron correctos. Dedicacin del estudiante durante la prctica. TOTAL

30 % 20 % 10 % 100 %
Pgina 18

Ing. Carlos Alberto Silva Delgado - 2011 - I

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Observaciones ________________________________________________________________________________ _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 19

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 03
OPERADORES Y EXPRESIONES I. OBJETIVOS Conocer los Operadores y Expresiones en C++. Utilizar el entorno DEV C++.

II. INTRODUCCIN Operadores y Expresiones Los programas C++ constan de datos, sentencias de programas y expresiones. Una expresin es, una sucesin de operadores y operandos debidamente relacionados que especifican un clculo. C++ soporta un conjunto potente de operadores unitarios binarios y de otros tipos.
Tipo Operadores Suma: + Resta: Aritmticos Multiplicacin: * Divisin: / Mdulo: % Igual: == Distinto: != Relacionales Menor: < Menos o igual: <= Mayor: > Mayor o igual: >= No lgico: ! Booleanos Y lgico: && O lgico: || Operaciones con bits No nivel bits: ~ Y nivel bits: & O nivel bits: | Operaciones lgicas, aplicadas sobre enteros, siendo 0 false y otro valor true. Operaciones lgicas aplicadas a nivel de bits. En los desplazamientos: a << c, significa desplazar c bits el valor a. int a, b, c; (!(a && (b || c))) int a= 0xff, b= 0xf0; (a & b); (a | b); Operadores de comparacin entre enteros, caracteres y reales. int cond1= (32>=4); int cond2= (cond1<6); cond1==cond2; Operadores aritmticos elementales. Ms operaciones en las libreras matemticas. Descripcin Ejemplo char c= 'A'-'a'; int i= c%4; long l= 0xff*((double) 1); double d= (2/3)*3;

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 20

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


Xor nivel bits: ^ Despl. izq.: << Despl. Der.: >> Asignacin: =

a << 2;

Asignacin

Suma con asig.: += Resta con asig.: -= *=, /=, Preincremento: ++c

Operaciones de asignacin a una variable. Las de forma: a+= b, son equivalentes a: a= a + b

int a, b, c; a= b= c= 0; a+= 1; b+= c+= a; char c, d= 0; c= d++; d= c++; sizeof(char); sizeof(double); int i; i= (i= 2, i++, i*= 2); int a, b, max, min; max= (a>b ? a : b); min= (a<b ? a : b);

Incrementales

Postincremento: c++ Predecremento: --c Postdecremento: c--

Preincremento: devuelve c y hace c= c+1 Postincremento: hace c= c+1 y devuelve c Devuelve el tamao (en bytes) de un tipo de datos. Sirve para unir varias expresiones en una

Size of

sizeof(tipo)

Concatenacin de expresiones

expr1 , expr2

misma lnea de cdigo. El resultado final es el de la derecha. Expresin condicional. Si exp1 es true el resultado es exp2, si no exp3.

Condicional

exp1 ? exp2:exp3

III. MATERIALES Y EQUIPOS A UTILIZAR IV. Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia y Laptop. Pizarra, Plumones y Mota.

PROCEDIMIENTOS Generar programas con los operadores descritos en la tabla anterior, para ello deber crear una carpeta en mis documentos o en el escritorio, donde guardara los ejercicios desarrollados.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 21

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Escribir un programa que lea la hora de un da de notacin de 24 horas y la respuesta en notacin de 12 horas. Por ejemplo, si la entrada es 13:45, la salida ser 1:45 PM. El programa pedir al usuario que introduzca exactamente cinco caracteres. Por ejemplo, las nueve en punto se introduce como 09:00. 2. Escribir un programa que acepte un ao escrito en cifras arbigas y visualice el ao escrito en nmeros romanos, dentro del rango 1000 a 2100. Nota: Recuerde que V=5, X=10, L=50, C=100, D=500 y M=1000 IV = 4 MCM = 1900 MCMXL = 1940 XL = 40 MCML = 1950 MCMLXXXIX = 1989 CM = 900 MCMLX = 196

3. Escribir un programa que determine si un ao es bisiesto. Un ao es bisiesto si es mltiplo de 4(por ejemplo 1984). Sin embargo, los aos mltiplos de 100 slo son bisiestos cuando a la vez son mltiplos de 400(por ejemplo, 1800 no es bisiesto, mientras que 2000 si lo es). 4. Construir un programa que indique si un nmero introducido por teclado es positivo, igual a cero, o negativo, utilizar para hacer la seleccin el operador ?. 5. Escribir un programa que lea dos enteros y calcule e imprima su producto, cociente y el resto cuando el primero se divide por el segundo. 6. Escribir un programa que lea tres nmeros y nos escriba el mayor y el menor. 7. Escribir un programa que solicite al usuario la longitud y anchura de una habitacin y, a continuacin, visualice su superficie y permetro. 8. Escribir un programa que lea cuatro nmeros y calcule la media aritmtica. 9. Escribir un programa que lea el radio de un crculo y calcule su rea, as como la longitud de la circunferencia de ese radio. 10. Escribir un programa que lea el radio y la altura de un cono y calcule su volumen y rea total.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 22

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

11. Escribir un programa que lea tres enteros de tres dgitos y calcule y visualice la suma y su producto. La salida ser justificada a derecha. 12. Escribir un programa que lea tres nmeros y si el tercero es positivo calcule y escriba la suma de los tres nmeros, y si es negativo calcule y escriba su producto. 13. Se desea calcular el salario neto semanal de los trabajadores de una empresa de acuerdo a las siguientes normas: Horas Semanales trabajadas < 38 a una tasa dada. Horas extras (38 o ms) a una tasa 50 por 100 superior a la ordinaria. Impuestos 0 por 100, si el salario bruto es menor o igual a 600 soles Impuestos 10 por 100, si el salario bruto es mayor de 600 soles.

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios.

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica. Resultados obtenidos fueron correctos. Dedicacin del estudiante durante la prctica. TOTAL

30 % 20 % 10 % 100 %

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 23

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Observaciones ________________________________________________________________________________ _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 24

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 04
ESTRUCTURAS DE CONTROL SELECTIVAS I. OBJETIVOS. Conocer las Estructuras de Control Selectivas en C++. Utilizar el entorno DEV C++.

II.

INTRODUCCIN Estructuras de control selectivas Las sentencias if, if-else, if-else-if y switch, son utilizadas para construir estructuras de control, la comparacin de las mismas se muestra en el siguiente cuadro. Estructuras de Seleccin (Simple)

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 25

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Estructuras de Seleccin (Anidada: simple y mltiple) Simple

Mltiple

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 26

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

III. MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop. Pizarra, Plumones y Mota.

IV. PROCEDIMIENTOS Ejercicio N 01 Crear un diagrama de flujo y programa en C++ que verifique si un nmero ingresado por el usuario es positivo o negativo.

INICIO

LEER: A

A> 0

ESCRIBIR: Positivo

ESCRIBIR: Negativo

FIN

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 27

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejercicio N 02 Crear un programa que determine si un nmero es par o impar, en caso que el nmero sea par verificar si el nmero est entre 10 y 100 incluyndolos.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 28

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejercicio N 03 Se necesita un programa que muestre un men con las siguientes opciones: 1. Suma 3. Resta Se pide que utilice la estructura switch 2. Multiplicacin 4. Divisin

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 29

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejercicio N 04: Convertir el siguiente flujograma en su equivalente programa en C++

Ejercicio N 05: Modifique el ejercicio N 03, para validar la operacin de la divisin, es decir que si el usuario elige la divisin y el n2 es cero, enve un mensaje de error. Ejercicio N 06: Crear un programa que pida 3 nmeros al usuario y determine cul es el mayor y menor de los nmeros.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 30

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

V.

Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Disee un programa que solicite de una persona, su edad, sexo y telfono; si el sexo es m M, que muestre en pantalla el mensaje El seor nombre con edad se ha registrado o si es f o F La seorita nombre con edad se ha registrado. En caso contrario mandar un mensaje: Sexo no vlido. Ejemplo:

2. Disear el programa que permita los siguiente, un vendedor recibe su salario con base a las ventas. Si las ventas son menores de 200 recibe 200 + ventas. Si las ventas son igual a 200 en total obtiene 500, pero si las ventas son mayores a 200 son 500 + 10% de la venta. 3. Disear el programa que permita determinar el mximo de tres nmeros. 4. Disear el programa que determine el mximo y el mnimo de tres nmeros. 5. Disear el programa que determine si un nmero es cuadrado perfecto. 6. Disear el programa que calcule el impuesto de los trabajadores de una empresa considerando que aquellos empleados cuyo salario es el mnimo estn exentos de este pago. 7. Disear el programa para que me muestre si una persona es mayor de edad o no ingresando para ello la edad de la persona. Nota: Considerar la mayora de edad los 18 aos. 8. Si un ngulo es igual a 90 grados imprima el mensaje El ngulo es un ngulo recto, de lo contrario imprima el mensaje El ngulo no es ngulo recto. 9. Si la temperatura est por encima de 100 grados desplegar el mensaje arriba del punto de ebullicin del agua, de lo contrario desplegar el mensaje abajo del punto de ebullicin del agua. 10. Escriba un programa en C++ que le pida al usuario que introduzca dos nmeros. Si el primer nmero introducido es mayor que el segundo nmero el programa deber imprimir el mensaje

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 31

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

El primer nmero es mayor, de lo contrario deber imprimir el mensaje El primer nmero es menor. Pruebe su programa introduciendo los nmeros 5 y 8 y luego usando los nmeros 11 y 2. 11. Una fbrica pequea genera su propia energa con un generador de 20 kilowatts y un generador de 50 kilowatts. El gerente de la planta indica cul generador se requiere al introducir un cdigo de carcter. Escriba un programa en C++ que acepte este cdigo como entrada. Si se introduce el cdigo s deber desplegarse un mensaje que le indique al capataz de la planta que use el generador ms pequeo; de lo contrario deber ser la salida un mensaje que le indique el uso del generador ms grande. VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica Resultados obtenidos fueron correctos Dedicacin del estudiante durante la prctica TOTAL

30 % 20 % 10 % 100 %

Observaciones _______________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 32

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 05
ESTRUCTURAS DE CONTROL REPETITIVAS I. OBJETIVOS II. Conocer las Estructuras de Control Repetitivas en C++. Utilizar el entorno DEV C++.

INTRODUCCIN ESTRUCTURAS DE CONTROL REPETITIVAS La sentencia while: El bucle while tiene una condicin del bucle (expresin lgica) que controla la secuencia de repeticin. La posicin de esta condicin del bucle es delante del cuerpo del bucle y significa que un bucle while es un bucle pretest de modo que cuando se ejecuta el mismo, se evala la condicin antes de que se ejecute el cuerpo del bucle. ALGORITMO SINTAXIS

while ( condicin ) { Bloque de Instrucciones; }

Las sentencias del cuerpo del bucle se repiten mientras que la expresin lgica (condicin del bucle) sea verdadera. Cuando se evala la expresin lgica y resulta falsa, se termina y se sale del bucle y se ejecuta la siguiente sentencia de programa despus de la sentencia while.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 33

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

LA SENTENCIA FOR: El bucle for es el ms adecuado para implementar bucles controlados por contador que son bucles en los que un conjunto de sentencias se ejecutan una vez por cada valor de un rango especificado, de acuerdo al algoritmo. Por cada valor de una variable contador de un rango especfico: ejecutar sentencias. ALGORITMO SINTAXIS

i = 1; i < = n ; i++

for (i=1; i <= n ; i++) { Bloque de instrucciones;

sentencia (accion)

El bucle for contiene las cuatro partes siguientes: La parte de Iniciacin_contador inicializa las variables de control del bucle. La parte de Condicin contiene una expresin lgica que hace que el bucle realice las iteraciones de las sentencias. La parte de progresin_contador incrementa la variable o variables de control del bucle. Las Sentencias, acciones o sentencias que se ejecutarn por cada iteracin del bucle.

LA SENTENCIA DO WHILE: La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez.

Despus de cada ejecucin de sentencia se evala expresin. Si es verdadera se repite el cuerpo del bucle (sentencia). Si es falsa, se termina el bucle y se ejecuta a siguiente sentencia

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 34

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


SINTAXIS

ALGORITMO

do { Bloque de Instrucciones; } while ( condicin );

III. IV.

MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop. Pizarra, Plumones y Mota. PROCEDIMIENTOS Crear una carpeta en mis documentos o en el escritorio con los programas desarrollados en el laboratorio.

V.

INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. Ejercicios de Instrucciones de repeticin (While, For, Do While) While

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 35

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

1. Escriba un programa en C++ que convierta galones en litros. El programa deber desplegar galones de 10 a 20 en incrementos de un galn y los litros equivalentes correspondientes. Use la relacin que 1 galn contiene 3.785 litros. 2. Escriba un programa en C++ que convierta pies en metros. El programa deber desplegar pies de 3 a 30 en incrementos de tres pies y los metros equivalentes correspondientes. Use la relacin que hay en 3.28 pies en un metro. 3. Una maquina comprada por 28000 dlares se deprecia 4000 dlares por ao durante siete aos. Escriba y ejecute un programa en C++ que calcule y despliegue una tabla de depreciacin para siete aos. La tabla deber tener la forma:

Ao

Depreciacin Valor al final del Depreciacin ao acumulada 24000 20000 16000 12000 8000 4000 0 4000 8000 12000 16000 20000 24000 28000

1 2 3 4 5 6 7

4000 4000 4000 4000 4000 4000 4000

4. Un automvil viaja a una velocidad promedio de 55 millas por hora durante cuatro horas. Escriba un programa en C++ que despliegue la distancia, en millas, que el automvil ha recorrido despus de 1, 2, etc.., horas hasta el final del viaje. 5. El valor del nmero de Euler, e, puede aproximarse usando la frmula:

Usando esta frmula, escriba un programa en C++ que aproxime el valor de e usando un ciclo while que termine cuando la diferencia entre dos aproximaciones sucesivas difiera por menos que 10 e-9.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 36

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

6. Una serie aritmtica se define por:

Donde a es el primer trmino, d es la diferencia comn y n es el nmero de trminos que se van a sumar. Usando esta informacin, escriba un programa en C++ que use un ciclo while para desplegar cada trmino y para determinar la suma de la serie aritmtica si se tiene que a=1, d=3 y n=100. Asegrese que su programa despliegue el valor que ha calculado. 7. Una serie geomtrica se define por:

Donde a es el primer trmino, r es la razn comn y n es el nmero de trminos en la serie. Usando esta informacin, escriba un programa en C++ que utilice un ciclo while para desplegar cada trmino y para determinar la suma de una serie geomtrica si se tiene que a=1, r=0.5 y n=10. Asegrese que su programa despliega el valor que se ha calculado. 8. Adems del promedio aritmtico de un conjunto de nmero, se puede calcular una media geomtrica y una media armnica. La media geomtrica de un conjunto de n nmeros x1,x2,xn se define como: Y la media armnica como:

Usando estas frmulas, escriba un programa en C++ que continu aceptando nmeros hasta que se introduzca el nmero 999 y luego calcule y despliegue tanto la media geomtrica como la armnica de los nmeros introducidos. (Sugerencia: Ser necesario que su programa cuente en forma correcta el nmero de valores introducidos) For 9. Escriba y ejecute un programa en C++ que despliegue una tabla de 20 conversiones de temperatura de Fahrenheit a Celsius. La tabla deber comenzar con un valor Fahrenheit de 20 grados e incrementarse en valores de 4 grados. Recuerde que:

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 37

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

10. La expansin de un puente de acero conforme se calienta hasta una temperatura Celsius final, TF, desde una temperatura Celsius inicial, T0, puede aproximarse usando la formula:

Donde a es el coeficiente de expansin (el cual para el acero es 11.7 e-6) y L es el largo del puente a la temperatura T0. Usando esta frmula, escriba un programa en C++ que despliegue una tabla de longitudes de expansin para un puente de acero que tiene 7365 metros de largo a 0 grados Celsius, conforme la temperatura incrementa a 40 grados en incrementos de 5 grados. 11. La probabilidad que una llamada telefnica individual dure menos de t minutos puede aproximarse por la funcin de probabilidad exponencial:

Donde a es la duracin de la llamada promedio y e es el numero de Euler (2.71828).Por ejemplo, suponiendo que la duracin de la llamada promedio es 2 minutos, la probabilidad que una llamada durar menos de 1 minuto se calcula como 1-e-1/2=0.3297. Usando esta ecuacin de probabilidad, escriba un programa en C++ que calcule y despliegue una lista de probabilidades de la duracin de una llamada menor que 1 a menor que 10 minutos, en incrementos de un minuto.

12. El ndice de llegadas de clientes en un banco concurrido en Andahuaylas puede estimarse usando la funcin de probabilidad de Poisson.

Donde x = el nmero de clientes que llegan por minuto; =el nmero promedio de llegadas por minuto y e el nmero de Euler (2.71828). Por ejemplo, si el nmero promedio de clientes que entran en el banco es de tres clientes por minuto, entonces es igual a tres. Por tanto, la probabilidad que un cliente llegue en cualquier minuto es:
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 38

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Y la probabilidad que llegan dos clientes en cualquier minuto es:

Usando la funcin de probabilidad de Poisson, escriba un programa en C++ que calcule y despliegue la probabilidad de llegada de 1 a 10 clientes en cualquier minuto cuando el ndice de llegadas promedio es de tres clientes por minuto. 13. Una pelota de golf es soltada desde un avin. La distancia, d, que cae la pelota en t segundos est dada por la ecuacin d=(1/2)gt2, donde g es la aceleracin debida a la gravedad y es igual a 32 pies/s2. Usando esta informacin, escriba y ejecute un programa en C++ que despliegue la distancia que cae en cada intervalo de un segundo para diez segundos y la distancia que cae la pelota de golf al final de cada intervalo. La salida deber completar la siguiente tabla:

Tiempo

Distancia en el intervalo Distancia total actual

0 1 .

0.0 16.0 . .

0.0 16.0 . . .

10

14. La secuencia de Fibonacci es 0,1,1,2,3,5,8,13, donde los primeros dos trminos son 0y 1, y cada trmino a partir de entonces es la suma de los dos trminos precedentes; es decir Fib[n]=Fib[n1]+Fib[n-2]. Usando esta informacin, escriba un programa en C++ que calcule el ensimo nmero en una secuencia de Fibonacci, donde n sea introducido de manera iterativa en el programa por el usuario. Por ejemplo si n=6, el programa deber desplegar el valor de 5.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 39

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Do While 15. Usando una instruccin do, escriba un programa para aceptar una calificacin. El programa deber solicitar una calificacin en forma continua en tanto se introduzca una calificacin invlida. Una calificacin invlida en cualquier calificacin menor que 0 o mayor que 100. Despus que se ha introducido una calificacin vlida, su programa deber desplegar el valor de la calificacin introducida. 16. Escriba un programa que solicite en forma continua que se introduzca una calificacin. Si la calificacin es menor que 0 o mayor que 100, su programa deber imprimir un mensaje apropiado que informe al usuario que se ha introducido una calificacin invlida, de lo contrario la calificacin deber sumarse a un total. Cuando se introduzca una calificacin de 999 el programa deber salir del ciclo de repeticin y calcular y desplegar el promedio de las calificaciones vlidas introducidas. 17. Escriba un programa para invertir los dgitos de un nmero entero positivo. Por ejemplo, si se introduce el nmero 8735, el nmero desplegado deber ser 5378. (Sugerencia: Use una instruccin do y continuamente quite y despliegue el dgito de las unidades del nmero. Si la variable num en un inicio contiene el nmero introducido, el dgito de las unidades se obtiene como (num % 10). Despus que se despliega un dgito de unidades, dividir el nmero entre 10 establece el nmero para la siguiente iteracin. Por tanto (8735%10) es 5 y (8735/10) es 873. La instruccin do deber continuar en tanto el nmero remanente no sea cero.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 40

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica Resultados obtenidos fueron correctos Dedicacin del estudiante durante la prctica TOTAL

30 % 20 % 10 % 100 %

Observaciones _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 41

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 06
FUNCIONES Y MDULOS I. II. OBJETIVOS Conocer las Funciones y Mdulos en C++. Utilizar el entorno DEV C++.

INTRODUCCIN

Concepto de una Funcin Una funcin es un conjunto de instrucciones independientes cuyo objetivo es el de minimizar la complejidad de un problema, el procedimiento consiste en descomponerlos en subproblemas ms fciles de resolver. Una funcin debe realizar una tarea especfica. Como resultado del conjunto de instrucciones de una funcin, se han tenido que realizar operaciones y tal vez modificaciones de los datos que la funcin tena a disposicin, generalmente este resultado se devuelve en forma de valor. Estbamos familiarizados con el uso de la funcin principal void main(), que siempre debe de estar en cualquier programa, pero resulta que podemos crear las funciones que nos parezcan necesarias para resolver de una manera ms sencilla el problema que estemos tratando. Cundo utilizar funciones? Cuando veamos que secciones o bloques de cdigo se repiten varias veces podemos llevar esta tarea a una funcin, lo que nos ahorra esfuerzo y evita lneas de cdigo repetidas. Cuando necesitemos realizar una operacin sobre algn tipo de dato y producto de ello necesitemos un valor de respuesta. Como por ejemplo calcular el cuadrado de un nmero entero. Una funcin tiene la siguiente sintaxis:
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 42

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


SINTAXIS

<tipo> Es el tipo de dato que devuelve la funcin. Si se coloca main la funcin no devuelve ningn valor. Parmetros Es un conjunto de variables, las cuales se escriben con su tipo de dato y su nombre, separadas por comas, que vienen a constituir los argumentos de la funcin.

Cuerpo Es todo lo que se encuentra entre las llaves {} y contiene un conjunto de sentencias. nombreF Es el nombre que le damos a nuestra funcin puede ser el que queramos menos la palabras reservadas del lenguaje

return Esta sentencia se usa si el tipo de dato de retorno no es void. Return devuelve una expresin. Se pueden colocar varios returns a lo largo de un programa y cuando la funcin encuentra a cualquiera termina.

Ejemplo 01: En el siguiente ejemplo se definir una funcin para que calcule el rea de un tringulo.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 43

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

En la lnea 3 podemos ver que el tipo de dato que devolver la funcin es un entero (int) que el nombre de la funcin es areaTriangulo y tienen dos parmetros de tipo entero base y altura. El cuerpo de la funcin comprende todas las lneas de cdigo desde la lnea 4 hasta la lnea 8. Cuerpo de una funcin El cuerpo de una funcin contiene todas las instrucciones que le permiten realizar su tarea, podemos definir variables cuyo mbito o vida tendr duracin slo en el cuerpo de la funcin (variables locales). Tambin se puede hacer llamada a otras funciones o declarar tipos de datos definidos por el usuario, en sntesis se puede trabajar en el cuerpo de una funcin con todas las ventajas que el lenguaje nos ofrece pero orientado a la resolucin de un problema especfico. Ejemplo 02: # include <iostream.h> void mostrar (char nombre[]) { cout <<nombre; } Valor de retorno Una funcin despus de haber realizado operaciones con los datos que se le proporciona debe de devolver algo, ya sea en forma de un valor o si no haber efectuado alguna modificacin con los datos o sino mostrar algo por pantalla. El valor que devuelve la funcin se fija con la instruccin return, cuando la funcin encuentra esa palabra acaba e inmediatamente devuelve el valor que se indica. En el ejemplo 01 en la lnea 7 se devuelve el valor que contiene la variable rea. Existen funciones que no devuelven ningn valor, estas void main () { Mostrar ("UMSS"); }

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 44

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

llevan como tipo de dato de retorno void, pero no significan que no hacen nada, pueden realizar clculos o simplemente mostrar algo por pantalla. mbito de las Variables Variables locales Todas la variables que se crean dentro del cuerpo de una funcin tienen mbito o vida slo en el cuerpo mismo de la funcin, estas variables son llamadas locales. Esto quiere decir que podemos utilizar estas variables slo en la funcin pues al terminar esta las variables se destruyen. Variables globales Las variables globales son definidas fuera de cualquier funcin, estn definidas de una manera parecida a las libreras, estas variables tienen un alcance global en todo el programa, esto quiere decir que pueden ser accedidas de cualquier parte del programa. Llamada o Invocacin a una funcin Una vez escrita la funcin, podemos utilizarla escribiendo su nombre y luego dndole los parmetros correspondientes: Sintaxis: NombreFuncion( parmetros ). En el ejemplo 1 en la lnea 13 se llama a la funcin areaTriangulo para que el valor de retorno se muestre. Cmo trabaja una funcin? Una funcin es un conjunto de sentencias independientes que se ejecutan cada vez que se llama o invoca a una funcin. Cada vez que se encuentra una llamada a una funcin el control del programa se pasa a la funcin, es decir, la ejecuta y cuando esta acaba entonces el control vuelve a la seccin del programa desde donde se hizo la llamada. En cuanto a los parmetros, en el caso que utilicemos variables, no se debe de pensar de que existe alguna relacin entre las variables que se pasan y las que estn definidas como parmetros en la funcin, a menos que las referenciemos.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 45

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

En el ejemplo 1 cuando se hace la llamada a la funcin areaTriangulo se utiliza dos variables baseT y alturaT, estas dos variables nada tienen que ver con las variables que se definieron como parmetros de la funcin en la lnea 13 base y altura, lo que ocurre es que baseT es correspondiente a base al igual que alturaT y altura. Lo que es importante es que las variables que se pasen sean del mismo tipo que de los parmetros definidos en la funcin. Los parmetros de una funcin. Una funcin puede tener de 0 a n parmetros y lo ms comn es que utilice los valores que guardan los parmetros para realizar la operacin y luego devolver un resultado, est el caso del ejemplo 1 en el que la funcin areaTriangulo tiene dos parmetros enteros base y altura, estas variables contienen los valores a partir de los cuales se calcular el rea del tringulo. Debemos tener en cuenta que los parmetros son variables locales, slo las podemos utilizar dentro de la funcin. Paso de parmetros por valor Esto significa que cuando hacemos la llamada a la funcin como parmetros le damos valores, si es que colocamos variables como parmetros la funcin solo toma los valores. En el ejemplo 1 en la lnea 13 se llama a la funcin areaTriangulo as: areaTriangulo (baseT,alturaT) Cuando el paso de parmetros es por valor viene a ser como si solo los valores de las variables baseT y alturaT se pasarn como parmetros a la funcin as: areaTriangulo(3,4). Pasa de parmetros por Referencia En este caso existe una formalidad de las variables, despus de haberlas pasado como parmetros en una funcin, estas sufren cambios, producto de las operaciones que se realizan dentro de la funcin, para mostrar cmo funciona esta parte se resolver el mismo problema que en el ejemplo 1 utilizando paso de parmetros por referencia. Para que los cambios de un parmetro se reflejen se debe de utilizar el operador de referencia &, en el ejemplo anterior en la lnea 3 se utiliza el operador & que va delante de la
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 46

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

variable base, esto quiere decir que lodos los cambios que se hagan sobre esta variable en la funcin, tendrn efecto en la variable que se utilice al hacer la llamada, baseT en el anterior ejemplo. En la lnea 11, se llama a la funcin: areaTriangulo (baseT , alturaT); En este caso la variable baseT es la correspondiente a la variable base de la funcin areaTriangulo todos los cambios que se realicen en la variable base afectarn a la variable baseT. Despus de la lnea 11 la variable baseT habr cambiado conteniendo el rea del tringulo. Por qu ocurre esto? :Porque ya no se pasan simplemente valores sino se pasa una direccin de memoria. Ejemplo 03

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 47

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

III. MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop. Pizarra, Plumones y Mota.

IV. PROCEDIMIENTOS Crear una carpeta en mis documentos o en el escritorio donde guardara los programas desarrollados en el laboratorio. Ejemplo 04: Escribir una funcin que calcule los primeros 10 nmeros primos.
1: #include <iostream.h> 2: int esPrimo (int N) 3: { 4: for (int i = 2; i <= N/2; i++) 5: if (N % i = 0) 6: return 1; 7: } 8: void main () 9: { 10: int NPrimo = 0, contador = 1; 11: while (NPrimo < 10) 12: { 13: if (esPrimo (contador)) 14: { 15: NPrimo + +; 16: cout <<"El"<<NPrimo<<"Numero Primo es"<<contador<<endl; 17: } 18: contador ++; 19: } 20: }

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 48

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

V.

Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Escribir una funcin que calcule la media de un conjunto de n>0 nmeros ledos del teclado. 2. Escribir una funcin que decida si un nmero entero es capica. El nmero 24842 es capica. El nmero 134 No lo es. 3. Escribir un programa que encuentre el valor mayor, el valor menor y la suma de los datos de entrada. Obtener la media de los datos mediante una funcin. 4. Escribir una funcin que permita calcular la serie:

5. Escribir una funcin que sume los 30 primeros nmeros impares. 6. Escribir una funcin que calcule la suma de los 20 primeros nmeros primos. 7. Escribir una funcin que encuentre y escriba todos los nmeros perfectos menores que un valor constante max. 8. Escriba un programa que lea dos nmeros x y n y calcule la suma de la progresin geomtrica.

1+x+x2+x3++xn.
9. Escribir un programa que mediante funciones determine el rea del crculo correspondiente a la circunferencia circunscrita de un tringulo del que conocemos las coordenadas de los vrtices. 10. Escribir un programa que lea dos enteros positivos n y b y mediante un funcin CambiarBase visualice la correspondiente representacin del nmero de n en la base b. 11. Escribir el inverso de un nmero entero dado (1234, inverso 4321).
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 49

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica Resultados obtenidos fueron correctos Dedicacin del estudiante durante la prctica TOTAL

30 % 20 % 10 % 100 %

Observaciones ________________________________________________________________________________ _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 50

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 07
ARRAYS (ARREGLOS) I. II. OBJETIVOS Conocer los Arrays(arreglos) en C++. Utilizar el entorno DEV C++.

INTRODUCCIN

Arrays ( arreglos) Un arreglo es un conjunto o coleccin finita de datos de un mismo tipo. Los elementos de un arreglo pueden ser accedidos por medio de un subndice i. Podemos considerar a un arreglo desde el punto de vista matemtico como un vector, y a un arreglo bidimensional una matriz. Declaracin de un arreglo Un arreglo se define indicando el tipo de arreglo, es decir, el tipo de datos de todos los elementos del arreglo, luego se le da un nombre al arreglo y finalmente se le da un tamao. <tipo> nombreArreglo [Tamao] Por ejemplo tengo un arreglo de nmeros enteros: int arreglo[4]; En el caso anterior el tipo del arreglo es entero (int). Se le da una dimensin al arreglo que va entre los caracteres '[' y ']' , en el caso anterior la dimensin es 4, esto quiere decir que en la memoria se reservaron 4 posiciones para almacenar 4 valores enteros. Inicializar un Arreglo Existen varias maneras de inicializar un arreglo, una manera muy sencilla es poner entre llaves ({ }), los elementos del arreglo separados por comas.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 51

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


A = {51, 60, 70, 95};

Tambin podemos utilizar la estructura de control for para inicializar los elementos del arreglo. Acceso a los elementos de un Arreglo Puedo acceder a un elemento por medio de un subndice, por ejemplo si yo quiero acceder al primer elemento tendr que hacerlo de esta manera : int A = arreglo[0]; En la variable A se almacenara el valor de 51, para acceder al segundo valor: A = arreglo[1]; En la variable A se almacenar el valor de 60, y as sucesivamente con los dems elementos.

Si nos damos cuenta tener un arreglo es mucho ms ventajoso que tener definidas 4 variables. Desventajas. En ocasiones, no podemos predecir con precisin el tamao que un arreglo tendr por lo que podemos definir un arreglo muy grande, lo que nos lleva a desperdiciar memoria, por ejemplo si defino un arreglo de 100 elemento (arreglo[100]), y slo utilizo 5 posiciones de memoria, las dems 95 estarn desperdiciadas, la solucin a este problema la veremos ms adelante en lo que se denomina punteros.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 52

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejemplo 01 Se desea ingresar las notas finales de 10 alumnos de la materia de Introduccin a la programacin, para luego emitir un reporte del promedio de todas las notas. # include <iostream.h> Void main () { const int TAM =10; int i , promedio = 0; int arreglo [TAM]; for (i=0; i <TAM; i++) { cout <<"ingrese la nota del estudiante #"<<i+1<<":\n"; cin >>arreglo[i]; } for (i=0; i <TAM; i++) promedio = promedio + arreglo[i]; promedio = promedio / TAM; cout << "el promedio de las notas es :"<<promedio; }

No hubiera sido muy prctico manejar 10 variables diferentes para guardar las notas de los 10 alumnos, utilizando un arreglo se nos simplifican mucho las cosas. Nota: Se puede declarar un arreglo dndole la dimensin o tamao por un valor constante const int TAM=10; int arreglo[TAM]; si TAM no fuera constante el programa devolvera mensaje de error. Arreglos Bidimensionales Un arreglo bidimensional est compuesto, por un conjunto de elementos homogneos y se puede acceder a los datos utilizando dos subndices, este tipo de arreglo es tambin conocido como matriz.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 53

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Declaracin Un arreglo bidimensional se define as: int arreglo[10][10]; float matriz[10][10]; tambin podemos utilizar constantes para definir la dimensin del arreglo de dos dimensiones: const int N = 10; int arreglo[N][N]; Inicializacin Una matriz o arreglo bidimensional se puede inicializar de este modo: int matriz[3][3] = {{1,2,3},{4,5,6},{7,8,9}}; Con la anterior asignacin se crea en memoria una matriz igual a la de abajo 0 0 1 2 1 4 7 1 2 5 8 2 3 6 9

Tambin podemos utilizar una estructura for dentro de otra estructura for para inicializar los valores de un arreglo de dos dimensiones como se muestra a continuacin: Acceso a los elementos de un arreglo bidimensional En un arreglo de dos dimensiones necesitamos tambin dos ndices para acceder a sus elementos. Si utilizamos: matriz[i][j], entonces i se refiere a la fila y j a la columna. Para acceder al elemento de la segunda fila y segunda columna de la matriz de la Fig. 8.1 hacemos: int nro = matriz[1][1]; En la variable nro se guardara el nmero 5. Las matrices o arreglos bidimensionales se suelen utilizar en clculos matemticos, operaciones con matrices, recorridos por matrices, y cualquier uso que nosotros le podamos

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 54

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

dar. Se pueden definir arreglos de ms de 2 dimensiones, pero su manejo se dificultara enormemente. III. MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop. Pizarra, Plumones y Mota.

IV. PROCEDIMIENTOS Crear una carpeta en mis documentos o en el escritorio en donde guardaras los programas desarrolladas en el laboratorio. Ejemplo 01: Leer desde teclado una matriz de nmeros enteros de dimensin 3x3.
1: # include <iostream.h> 2: void main () 3: { 4: const int TAM = 3; 5: int matriz [TAM][TAM]; 6: for (int i=0 ; i <= TAM ; i++) 7: { 8: for (int j=0 ; j <= TAM ; j++) 9: {
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 55

10: cout <<"ingrese el elemento ["<<i<<","<<j<<"]"; 11: cin >> matriz [i][j]; 12: } 13: } 14: }

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejemplo 02 (cuadrado perfecto) Se debe imprimir un cuadrado mgico de tamao N, donde N es un nmero impar comprendido entre 3 y 11. Un cuadrado mgico est compuesto de nmeros enteros entre 1 y N, con las siguientes caractersticas: la sumas de las filas, columnas, diagonales son iguales, como se ve en el siguiente ejemplo: 8 3 4 1 5 9 6 7 2

El mtodo de generacin del cuadrado mgico consiste en situar el nmero 1 en la casilla del centro de la primera fila, el siguiente nmero se debe situar en la casilla ubicada en la fila anterior (por encima) y en la columna de la derecha. Este proceso se repite hasta colocar los N nmeros. Es importante saber que el cuadrado mgico es cclico, es decir, la fila anterior (encima) de la primera fila es la ltima fila y la columna a la derecha de la ltima es la primera columna. En caso de que un nmero se debe colocar en una casilla que ya est ocupada, entonces se elige la casilla que se encuentra debajo (en la siguiente fila, la misma columna) del nmero que acabamos de ubicar. Ejemplo 03 (MULTIPLICACIN de Matrices) Se requiere un programa que realice la multiplicacin de dos matrices, para tal efecto se deben ingresar las dos matrices por teclado teniendo el cuidado de controlar que la primera matriz tenga una dimensin de N*M y la segunda de M*N para que se pueda realizar la multiplicacin. Solucin . . . para que el lector lo trabaje en laboratorio.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 56

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

V.

Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Escribir un programa que convierta un nmero romano (en forma de cadena de caracteres) en nmeros arbigo. M D C L X V I 1000 500 100 50 10 5 1 2.

Escribir una funcin a la que se le proporcione una fecha (da, mes, ao), as como nmero de das a aadir a esta fecha. La funcin debe calcular la nueva fecha visualizarla. 3. Escribir una funcin que acepte como parmetro un vector que puede contener elementos duplicados. La funcin debe sustituir cada valor repetido por -5 y devolver al punto donde fue llamado el vector modificado y el nmero de entradas modificadas. 4. Escribir un programa que lea una coleccin de cadenas de caracteres de longitud arbitraria. Por cada cadena leda, su programa har lo siguiente: a) Visualizar la longitud de la cadena. b) Contar el nmero de ocurrencias de palabras de cuatro letras. c) Sustituir cada palabra de cuatro letras por una cadena de cuatro asteriscos e imprimir la nueva cadena. 5. Escribir un programa que lea una frase, sustituya todas las secuencias de dos o ms blancos por un solo blanco y visualice la frase restante. 6. Escribir un programa que desplace una palabra leda del teclado desde la izquierda hasta la derecha de la pantalla. 7. Escribir un programa que lea una serie de cadenas, a continuacin, determine si la cadena es un identificador vlido C++. Sugerencias: utilizar los siguientes subprogramas: longitud
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 57

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

(tamao del identificador en el rango permitido); primero (determinar si el nombre comienza con un smbolo permitido); restantes (comprueba si los restantes son caracteres permitidos). 8. Escribir una funcin conversin que reciba como parmetro una cadena representando una fecha en formato dd/mm/aa, como 17/11/91 y la devuelva en formato de texto: 17 noviembre 1991. 9. Escribir un programa que permita escribir en sentido inverso una cadena de caracteres. 10. Buscar una palabra en una cadena y calcular su frecuencia de aparicin. 11. Escribir un programa en el que se genere aleatoriamente un vector de 20 nmeros enteros. El vector ha de quedar de tal forma que la suma de los 10 primeros elementos sea mayor que la suma de los 10 ltimos elementos. Mostrar el vector original y el vector con la distribucin indicada. 12. El juego del ahorcado se juega con dos personas(o una persona y una computadora). Un jugador selecciona una palabra y el otro jugador trata de adivinar la palabra adivinando letras individuales. Disear un programa para jugar al ahorcado. Sugerencia: almacenar una lista de palabras en un array y seleccionar palabras aleatoriamente.

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica Resultados obtenidos fueron correctos Dedicacin del estudiante durante la prctica TOTAL

30 % 20 % 10 % 100 %

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 58

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Observaciones ________________________________________________________________________________ _______________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 59

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

GUIA DE LABORATORIO N 08
CADENAS I. II. OBJETIVOS Conocer las Cadenas en C++. Utilizar el entorno DEV C++.

INTRODUCCIN

Carcter: Un carcter es el tomo de los programas de computadora, un carcter es un smbolo que puede ser una letra del alfabeto o un carcter especial. carcter ocupa 8 bits en memoria, y existen 256 caracteres diferentes. Cada carcter se lo codifica en un nmero entero, es decir, que cada carcter tiene su correspondiente representacin entera, el cdigo ASCII es precisamente esto. Cadenas: Una cadena o cadena de caracteres nos es ms que una serie de caracteres manipulados como una unidad. Si asemejamos una cadena al lenguaje castellano sera como una palabra, que es un conjunto de slabas y vocales en donde cada una de estas viene a ser una carcter. Visto desde otro punto vendra a ser un arreglo de caracteres. Una cadena puede contener cualquier carcter, puede almacenar un nombre propio una direccin, es decir, lo que nosotros precisemos. Declaracin Una cadena se la define de la siguiente manera: char cadena[20]; La cadena anterior puede contener un mximo de 20 caracteres. Inicializacin Se puede inicializar una cadena de la siguiente manera: cadena = "Hola" ;
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 60

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Cualquier valor que se le asigne a una cadena va entre comillas dobles " ", como en el ejemplo anterior "Hola" est entre comillas dobles. Una cadena siempre finaliza con el carcter de fin de cadena \0, que siempre se aade al final automticamente, en el ejemplo anterior se aade al final de Hola el carcter de fin de cadena. Tambin podemos considerar a una cadena como un arreglo de caracteres, y se puede inicializar de la siguiente manera: cadena = { H, o, l, a } ; El arreglo de caracteres se vera de esta forma: H o 0 1 l 2 a \0 3 4

Ntese que en la posicin 4 se aumenta el fin de cadena Ejemplo 01 Se desea tener un programa que sea amable con el usuario, el programa deber conocer el nombre del usuario y responderle con un mensaje amigable.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 61

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

En el ejemplo anterior el mensaje "Cul es tu nombre?" es una cadena pues est entre comillas. Tambin es una cadena la variable nombre que recibir un valor desde teclado. Operaciones con Cadenas Existen muchas operaciones que se pueden realizar utilizando cadenas, la mayora de la operacin que podemos requerir se encuentran ya a nuestra disposicin dentro de la librera string.h Longitud La longitud de una cadena la podemos conocer utilizando la funcin strlen. Sintaxis: strlen( cadena ) ; Ejemplo 02 # include <iostream.h> void main () { char nombre [30]; int tamao; cout <<"cual es tu nombre?\n"; cin >>nombre; tamao = strlen (nombre); cout <<"Tu nombre tiene "<< tamao <<"letras"; }

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 62

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Comparacin Para saber si dos cadenas son exactamente iguales utilizamos la funcin strcmp. Sintaxis : strcmp ( cadena1, cadena2 ); Esta funcin devuelve un valor de acuerdo al resultado de la comparacin. Devuelve: 0 Mayor a 0 Menor a 0 Ejemplo 03 # include <iostream.h> # include <string.h> void main () { char contrasea [30], recontrasea [30]; int resultado; cout <<"escribe tu contrasea \n"; cin>>contrasea; cout << "re escribe tu contrasea \n"; cin >>recontrasea; resultado = strcmp (contrasea, recontrasea); if (resultado ==0) cout << "la contrasea no coincide"; }
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 63

si la dos cadenas son exactamente iguales si la cadena 1 es mayor a la cadena 2 si la cadena 1 es menor que la cadena 2

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Copia Podemos reflejar todo el contenido de una cadena a otra, en otras palabras la copiamos tal cual, para esto utilizamos la funcin strcpy. Sintaxis: strcpy( cadenaDestino, cadenaOrigen );

Todo el contenido de la cadenaOrigen se copia a la cadenaDestino, si esta ltima tuviera algn valor este se borra. Ejemplo 04

Concatenacin Podemos juntar o concatenar dos cadenas una a continuacin de la otra. Utilizamos la funcin strcat.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 64

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Sintaxis strcat( cadenaDestino, cadenaOrigen ); Todo el contenido de la cadenaOrigen se aade a continuacin de la cadenaDestino, si esta ltima contiene algo entonces al final contendr lo que contena ms el contenido de la cadenaOrigen. Ejemplo 05 Escriba una funcin que permita conocer la longitud de una cadena. La funcin deber llamarse longitud.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 65

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Ejemplo 05

III. MATERIALES Y EQUIPOS A UTILIZAR Gua de Laboratorio (Disponible en la Direccin Electrnica www.unajma.edu.pe). Laboratorio de Computo (20 PCs). Software Dev C++. Can Multimedia. Laptop.
Pizarra, Plumones y Mota.

IV. PROCEDIMIENTOS Crear una carpeta en mis documentos o en el escritorio donde guardara los programas realizados en el laboratorio. Elaborar los ejemplos anteriores con el propsito de familiarizarse con su funcionamiento.
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 66

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

V.

Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. 1. Esta tarea deber ser entregada al docente la prxima semana, de manera digital e impreso. Hacer un programa que lee lneas del teclado hasta que se introduce control ms Z. En cada lnea debe haber dos nmeros reales. El programa presenta por cada lnea leda otra lnea con la suma de los dos nmeros. 2. Escribir un programa que encuentre dos cadenas introducidas por teclado que sean anagramas. Se considera que dos cadenas son anagramas si contienen exactamente los mismos caracteres en el mismo o en diferente orden. Hay que ignorar los blancos y considerar que las maysculas y las minsculas son iguales. 3. Escribir un programa para las lneas de un texto sabiendo que el mximo de caracteres por lnea es 80 caracteres. Contar el nmero de palabras que tiene cada lnea, as como el nmero total de palabras ledas. 4. Escribir una funcin que reciba como parmetro una cadena de caracteres y la invierta, sin usar la funcin strrev. 5. Escribir un programa que lea lneas de texto obtenga las palabras de cada lnea y las escriba en pantalla en orden alfabtico. Se puede considerar que el mximo nmero de palabras por lnea es 28. 6. Escribir un programa que lea una lnea de texto y escriba en pantalla las palabras de que consta la lnea sin utilizar las funciones de string.h y particularmente sin usar strtok(). 7. Un sistema de encriptacin simple consiste en sustituir cada carcter de un mensaje por el carcter que est situado a tres posiciones alfabticas por adelante suyo. Escribir una funcin que tome como parmetro una cadena y devuelva otra cifrada como se ha explicado. 8. Escribir un programa que lea un texto, y dos palabras claves, clave1 y clave2. El programa debe sustituir todas las apariciones de clave1 por clave2, mostrar el nuevo texto, e indicar el nmero de intercambios realizados.

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 67

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

9. Otro sistema de encriptacin consiste en sustituir cada carcter del alfabeto por otro decidido de antemano, pero siempre el mismo. Utilizar este mtodo en una funcin que tome como parmetros el mensaje a cifrar y una cadena con las correspondencias ordenadas de los caracteres alfabticos. La funcin devolver un puntero a la cadena cifrada del mensaje. 10. Escribir una funcin que genere un cdigo alfanumrico diferente cada vez que sea llamada devolvindolo en forma de cadena. El argumento de dicha funcin es el nmero de caracteres que va a tener el cdigo generado. 11. Escribir una funcin que reciba una palabra y genere todas las palabras que se pueden construir con sus letras. 12. Modificar la funcin anterior para que slo genere las palabras que comiencen por una constante.

VI. EVALUACIN DE ANLISIS DE RESULTADOS

N 1 2

Criterios Finaliz todos los ejercicios correctamente Hizo uso de comentarios para documentar los ejercicios

% Asignado 30 % 10 %

% Obtenido

Observacin

3 4 5 6

Realizacin en forma coherente y con lgica Resultados obtenidos fueron correctos Dedicacin del estudiante durante la prctica TOTAL

30 % 20 % 10 % 100 %

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 68

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

Observaciones _______________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________ Conclusiones ________________________________________________________________________________ ________________________________________________________________________________ ________________________________________________________________________________

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 69

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

CUADERNILLO DE EJERCICIOS PROPUESTOS


1. Disee el programa que acepte dos nmeros reales de un usuario y un cdigo seleccionado. Si el cdigo seleccionado introducido es 1, haga que el programa sume los dos nmeros introducidos con anterioridad y despliegue el resultado; si el cdigo seleccionado es 2, los nmeros debern multiplicarse, y si el cdigo seleccionado es 3, el primer nmero deber ser dividido entre el segundo nmero. 2. Escriba un programa para desplegar los dos indicadores siguientes: a. Introduzca un mes (use 1 para Ene, etc.): b. Introduzca un da del mes: c. Haga que su programa acepte y almacene un nmero en la variable mes en respuesta al primer indicador, y acepte y almacene un nmero en la variable da en respuesta al segundo indicador. Si el mes introducido no est entre 1 y 12 inclusive, imprima un mensaje informando al usuario que se ha introducido un mes invlido. Si el da introducido no est entre 1 y 31, imprima un mensaje informando al usuario que se ha introducido un da invlido. 3. El cuadrante en el que reside una lnea trazada desde el origen es determinado por el ngulo que forma la lnea con el eje x positivo como sigue: ngulo desde el eje X positivo Entre 0 y 90 grados Entre 90 y 180 grados Entre 180 y 270 grados Entre 270 y 360 grados Cuadrante I II III IV

Usando esta informacin, escriba un programa en C++ que acepte el ngulo de la lnea como una entrada del usuario y determine y despliegue el cuadrante apropiado a los datos introducidos. (Nota: Si el ngulo tiene exactamente 0, 90, 180 o 270 grados, la lnea correspondiente no reside en ningn cuadrante sino que se encuentra en un eje).
Ing. Carlos Alberto Silva Delgado - 2011 - I Pgina 70

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

4. Modifique el programa anterior de modo que se despliegue un mensaje que identifique un ngulo de cero grados como el eje x positivo, un ngulo de 90 grados con el eje y positivo, un ngulo de 180 grados como el eje x negativo y un ngulo de 270 grados como el eje y negativo. 5. Todos los aos que se dividen exactamente entre 400 o que son divisibles exactamente entre cuatro y no son divisibles exactamente entre 100 son aos bisiestos. Por ejemplo, en vista que 1600 es divisible exactamente entre 400, el ao 1600 fue un ao bisiesto. Del mismo modo, en vista que 1988 es divisible exactamente entre cuatro pero no entre 100, el ao 1988 tambin fue un ao bisiesto. Usando esta informacin, escriba un programa en C++ que acepte el ao como una entrada del usuario, determine si el ao es un ao bisiesto y despliegue un mensaje apropiado que le indique al usuario si el ao introducido es un ao bisiesto o no. 6. Con base en el ao del modelo y el peso de un automvil la Provincia de Andahuaylas determina la clase del vehculo y la tarifa de registro que le corresponde usando la siguiente tabla: Ao del modelo Peso Clase de peso 1970 o anterior Menos de 2700 lbs. 2700 a 3800 lbs. Ms de 3800 lbs. 1971 a 1979 Menos de 2700 lbs. 2700 a 3800 lbs. Ms de 3800 lbs. 1980 o posterior Menos de 3500 lbs. 3500 lbs. a ms 1 2 3 4 5 6 7 8 Tarifa de registro S/. 16.50 S/. 25.50 S/. 46.50 S/. 27.00 S/. 30.50 S/. 52.50 S/. 19.50 S/. 52.50

Usando esta informacin, escriba un programa en C++ que acepte el ao y el peso de un automvil y determine y despliegue la clase y la tarifa de registro para el automvil. If anidadas 7. Un ngulo es considerado agudo si es menor que 90 grados, obtuso si es mayor que 90 grados y ngulo recto si es igual a 90 grados. Usando esta informacin, escriba un programa en C++ que

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 71

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s

acepte un ngulo, en grados, y despliegue el tipo de ngulo correspondiente a los grados introducidos. 8. El nivel de grado de los estudiantes universitarios se determina de manera tpica de acuerdo con la siguiente tabla: Nmero de crditos Grado completados Primer ao Menor que 2 Segundo ao 32 a 63 Tercer ao 64 a 95 Cuarto ao 96 a ms 9. Usando esta informacin, escriba un programa en C++ que acepte el nmero de crditos que ha completado un estudiante, determine el grado del estudiante y lo despliegue. 10. La letra que representa las calificaciones de un estudiante se calcula de acuerdo con la siguiente tabla: CALIFICACIN NUMRICA Mayor que o igual a 90 Menor que 90 pero mayor que o igual a 80 Menor que 80 pero mayor que o igual a 70 Menor que 70 pero mayor que o igual a 60 Menor que 60 LETRA A B C D F

Usando esta informacin, escriba un programa en C++ que acepte la calificacin numrica de un estudiante, convierta la calificacin numrica a su calificacin en letra equivalente y despliegue la letra. 11. La tolerancia de componentes crticos en un sistema se determina por la aplicacin de acuerdo con la siguiente tabla:

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 72

U Un niiv ve er rs siid da ad dN Na ac ciio on na all JJo os s M Ma ar ra aA Ar rg gu ue ed da as s


UNAJMA

A As siig gn na attu urra a:: IIn nffo orrm m ttiic ca a III G GU UIIA AD DE EL LA AB BO OR RA AT TO OR RIIO O

C Ca ar rr re er ra aP Pr ro offe es siio on na all d de e IIn ng ge en niie er ra ad de eS Siis stte em ma as s


ESTADO DE LA TOLERANCIA

ESPECIFICACIN Menor que 0.1% Exploracin espacial Mayor que o igual a 0.1% y menor que 1% Grado militar Mayor que o igual a 1% y menor que 10% Grado comercial Mayor que o igual a 10% Grado de juguete 12. Usando esta informacin, escriba un programa en C++ que acepte la lectura de tolerancia de un componente y determine la especificacin que debera asignarse al componente. 13. Escriba un programa en C++ que acepte un nmero seguido por un espacio y luego en letra. Si la letra que sigue al nmero es f, el programa tratara al nmero introducido como una temperatura en grados Fahrenheit, convertir el nmero a los Grados Celsius equivalente y desplegara un mensaje adecuado. Si la letra que sigue al nmero es c, el programa tratar al nmero introducido como una temperatura en Celsius, convertir el nmero a los grados Fahrenheit equivalentes y desplegar un mensaje adecuado. Si la letra no es f ni c, el programa imprimir el mensaje que los datos introducidos, son incorrectos y terminara. Us una cadena if-else en su programa y use las frmulas de conversin. a. Celsius=(5.0/9.0)*(Fahrenheit-32.0) b. Fahrenheit=(9.0/5.0)*Celsius+32.0

Ing. Carlos Alberto Silva Delgado - 2011 - I

Pgina 73