Maual Laboratorio Dev C++para Windows 8

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 78

MANUAL PRACTICO DE

ALGORITMOS Y ESTRUCTURA DE DATOS

Elaborado por el PROF. ING. CARLOS ALBERTO SILVA DELGADO


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

CARLOS ALBERTO SILVA DELGADO.


Ingeniero en Informática y Sistemas.
CIP Nro. 96047

EXPERIENCIA EN DOCENCIA UNIVERSITARIA


Docente Ordinario de la Universidad Nacional de Moquegua – UNAM.

Ex-Docente Ordinario de la Universidad Nacional José María Arguedas – UNAJMA.

Docente Invitado de la Universidad Privada de Tacna - UPT.

Universidad Alas Peruanas - UAP.

Universidad José Carlos Mariátegui - UJCM.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

PRESENTACION

La responsabilidad de impartir la enseñanza universitaria, nos exige a inicios de


cada ciclo la necesidad de reforzar los esquemas ó estrategias metodológicas que nos
permitan llegar a la totalidad de los estudiantes. El presente trabajo denominado "Manual
de Guía de Laboratorio" pretende facilitar el proceso de enseñanza - aprendizaje, impartido
en torno a la asignatura de Ofimática, de la Carrera Profesional de Ingeniería de Sistemas e
Informática de la Universidad Nacional de Moquegua.

El manual de la guía de laboratorio no es otra cosa que la recopilación de


información, impartida por el suscrito en clases, por ello expreso mi profundo
agradecimiento a los estudiantes de la CPISI - UNAM que con sus inquietudes y aciertos
han contribuido de sobre manera en la elaboración del presente manual.

Su estructura y organización tiene el propósito de permitir al estudiante, iniciar su


aprendizaje de experto en la resolución de ejercicios de algoritmos por medio del lenguaje
de programación Dev C++ versión 5.6.2.; herramienta valiosa que nos auxiliara en la
creación de programas básicos. Las técnicas y métodos desarrollados tiene como propósito
que el alumno realice los ejercicios de prácticas en una forma razonada y no mecánica,
para esto se integra un respaldo teórico al inicio de cada unidad. Finalmente el estudiante
comprenderá de una manera global la importancia de resolver problemas utilizando
algoritmos, lo que le permitirá diseñar mejores programas.

Ing. Carlos Alberto Silva Delgado


Docente Ordinario CPISI - UNAM

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

CONTENIDO

DESCRIPCIÓN GUÍA DE PÁGINA


LABORATORIO

CARATULA 01

EL AUTOR 02

PRESENTACIÓN 03

CONTENIDO 04

INSTALACIÓN DEL ENTORNO DEV C++ Guía de Laboratorio 05 - 13


Nro. 01.

CONCEPTOS BÁSICOS DE LOS PROGRAMAS EN DEV C++ Guía de Laboratorio 14 - 19


Nro. 02.

OPERADORES Y EXPRESIONES Guía de Laboratorio 20 - 24


Nro. 03.

ESTRUCTURAS DE CONTROL SELECTIVAS Guía de Laboratorio 25 - 32


Nro. 04.

ESTRUCTURAS DE CONTROL REPETITIVAS Guía de Laboratorio 33 - 41


Nro. 05

FUNCIONES Y MÓDULOS Guía de Laboratorio 42 - 50


Nro. 06

ARRAYS (ARREGLOS) Guía de Laboratorio 51 - 59


Nro. 07

CADENAS Guía de Laboratorio 60 - 69


Nro. 08

CUADERNILLO DE EJERCICIOS PROPUESTOS 70 - 73

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 01
INSTALACIÓN DEL ENTORNO DEV C++ PARA WINDOWS 8

I. OBJETIVOS

 Conocer sobre el entorno de DEV C++, Versión 5.6.2.


 Instalar el Entorno DEV C++.
 Aprender a utilizar el entorno DEV C++.

II. INTRODUCCIÓN
DEV C++ : Bloodshed Dev - C++ es un entorno de desarrollo integrado (IDE por sus
siglas en inglés) para programar en lenguaje C/C++.

El entorno está desarrollado en el lenguaje Delphi de Borland. El cual tiene una


página de paquetes opcionales para instalar, con diferentes bibliotecas de código
abierto.

¿Cómo obtenerlo? : Existen varias webs disponibles para descargarlo, pero


nosotros bajaremos desde la web : http://sourceforge.net/

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.


IV. PROCEDIMIENTOS
Descargar Dev C++ Versión 5.6.2

http://sourceforge.net/ seleccionamos Orwell Dev - C++

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Seleccionamos a Download para descargar el portable del Dev - C++

Instalación Dev - C++

1. Ejecutamos nuestro archivo descargado.

2. Seleccionamos el idioma deseado.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

3. Aceptamos la licencia.

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

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

5. Elegimos el directorio donde se instalará nuestro compilador, dejemos la ruta


que por defecto está predeterminado luego Instalara automáticamente.

6. Se da inicio a la instalación del compilador, copiado de archivos, etc.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

7. Una vez finalizado, apreciaremos ésta ventana, la que nos permitirá verificar la
instalación de nuestro compilador C++, seleccionamos Ejecutar Dev-C++ 5, para
luego presionar el botón Terminar.

seleccionamos el idioma

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

seleccionamos consola, color e iconos

seleccionamos la opción recomendada

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

8. Una vez que está cargado nuestro compilador, verificamos que las rutas a las
librerías están correctamente instaladas. Vamos a Herramientas -> Opciones del
compilador.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Vamos a la pestaña Directorios, luego a la sub pestaña Binarios y verificamos

que la ruta sea


(Se visualizara así siempre y cuando hayan instalado el compilador en el
directorio por default).

Entorno de Dev C++

IDE Dev - C++

Barra de Herramientas
para Compilar y
Nombre de archivo Ejecutar

Área de Edición del Código

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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. EVALUACIÓN DE ANÁLISIS DE RESULTADOS


VII.
N° Criterios % Asignado % Observación
Obtenido

1 Finalizó todos los ejercicios correctamente. 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios.

3 Realización en forma coherente y con lógica. 30 %

4 Resultados obtenidos fueron correctos. 20 %

5 Dedicación del estudiante durante la práctica. 10 %

TOTAL 100 %

Observaciones

__________________________________________________________________________

__________________________________________________________________________

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 02
CONCEPTOS BÁSICOS 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. INTRODUCCIÓN

1. Estructura general de un programa en C++.

a) Encabezado del programa (archivos de cabecera): # include


<nombre_de_libreria>
b) Cuerpo del programa (función 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 ejecución del
programa, generalmente se declara como un valor constante (const).

2. Tipos de datos y tamaños del estándar ANSI de C++.


C++ es un lenguaje que hace distinción entre minúsculas y mayúsculas 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:

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

a) Todas las palabras reservadas de C++ (return, int, ect), y funciones predefinidas
(system(), main, etc), deben escribirse en minúsculas.
b) Al declarar variables en C++, por ejemplo una variable entera “A”, considere que
A mayúscula es diferente de a minúscula.
c) Al declarar variables en C++, por ejemplo una variable entera “var uno”,
considere que produciría un error debido a que no se reconocen los espacios en
blanco para la declaración de variable, razón por la cual se sugiere utilizar un
guion bajo(_) “var_uno” o unirlas “varuno”.

3. Los comentarios.

Son señales que utiliza el programador para explicar que hacen las líneas de
programación ó para documentación interna, normalmente un programa tiene
comentarios sólo en las instrucciones que podrían 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 línea y /* */ para
comentarios multilínea.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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 inserción <<

cin trabaja con el operador de extracción >>

La instrucción 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 instrucción cin permite leer información 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

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

IV. PROCEDIMIENTOS

Realice los siguientes ejemplos en el Software Dev-C++.

Ejemplo N°01: holamundo.cpp

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

PROGRAMA Explicación línea por línea

/* programa realizado por: digite su nombre */ Indica que se va digitar un comentario.

# include <iostream.h> Librerías

using namespace std; Uso de nombres con espacios std cout y cin.

int main () La función main representa la cabecera.

{ Indica el inicio del programa.

cout <<"hola mundo"; cout Instrucción que imprime mensajes.

return 0; Realiza una pausa.

} Finaliza el programa.

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 botón

indicado, si el programa no contiene ningún error, hacemos click en ejecutar , tenemos un

tercer botón que realiza las dos funciones al mismo tiempo

Compilar
Compilar y
Ejecutar
Ejecutar

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejemplo N°02: 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 Confía (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.

Ejemplo N° 04:

Diseñar el programa que permita obtener el salario neto de un empleado, a partir del
número 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 número de horas trabajadas, el salario nominal, el descuento aplicado y el
salario neto.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS


Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.

1. Diseñar el programa que lea 5 números enteros y tres números reales y los visualice.
2. Diseñar el programa que permita leer su nombre y dirección y visualice la misma.
3. Diseñar el programa que lea la base y la altura de un trapecio, y calcule su área.
4. Diseñar el programa que lea el radio de una circunferencia y calcule su longitud.
5. Diseñar el programa que lea tres números reales, y los visualice.
6. Diseñe los programas de los algoritmos realizados en clase.
VI. Evaluación de Análisis de Resultados

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios.

3 Realización en forma coherente y con lógica. 30 %

4 Resultados obtenidos fueron correctos. 20 %

5 Dedicación del estudiante durante la práctica. 10 %

6 TOTAL 100 %

Observaciones

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

__________________________________________________________________________

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 03
OPERADORES Y EXPRESIONES

I. OBJETIVOS

 Conocer los Operadores y Expresiones en C++.


 Utilizar el entorno DEV C++.
II. INTRODUCCIÓN
Operadores y Expresiones

Los programas C++ constan de datos, sentencias de programas y expresiones. Una


expresión es, una sucesión de operadores y operandos debidamente relacionados
que especifican un cálculo. C++ soporta un conjunto potente de operadores
unitarios binarios y de otros tipos.

Tipo Operadores Descripción Ejemplo


Aritméticos Suma: + Operadores aritméticos elementales. char c= 'A'-'a';
Resta: - Más operaciones en las librerías int i= c%4;
Multiplicación: * matemáticas. long l= 0xff*((double) 1);
División: / double d= (2/3)*3;
Módulo: %

Relacionales Igual: == Operadores de comparación entre int cond1= (32>=4);


Distinto: != enteros, caracteres y reales.
Menor: < int cond2= (cond1<6);
Menos o igual: <=
Mayor: > cond1==cond2;
Mayor o igual: >=

Booleanos No lógico: ! Operaciones lógicas, aplicadas sobre int a, b, c;


Y lógico: && enteros, siendo 0  false y otro valor
O lógico: || true. (!(a && (b || c)))

Operaciones No nivel bits: ~ Operaciones lógicas aplicadas a nivel de int a= 0xff, b= 0xf0;
con bits Y nivel bits: & bits. En los desplazamientos: a << c,
O nivel bits: | significa desplazar c bits el valor a. (a & b);
Xor nivel bits: ^
Despl. izq.: << (a | b);
Despl. Der.: >>
a << 2;

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Asignación Asignación: = Operaciones de asignación a una int a, b, c;


Suma con asig.: += variable. Las de forma: a= b= c= 0;
Resta con asig.: -= a+= 1;
*=, /=, … a+= b, son equivalentes a: a= a + b b+= c+= a;

Incrementales Preincremento: ++c Preincremento: devuelve c y hace c= c+1 char c, d= 0;


Postincremento: c++ Postincremento: hace c= d++;
Predecremento: --c c= c+1 y devuelve c d= c++;
Postdecremento: c--

Size of sizeof(tipo) Devuelve el tamaño (en bytes) de un tipo sizeof(char);


de datos. sizeof(double);

Concatenación expr1 , expr2 Sirve para unir varias expresiones en una int i;
de expresiones misma línea de código. El resultado final i= (i= 2, i++, i*= 2);
es el de la derecha.

Condicional exp1 ? exp2:exp3 Expresión condicional. Si exp1 es true el int a, b, max, min;
resultado es exp2, si no exp3. max= (a>b ? a : b);
min= (a<b ? a : b);

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

IV. 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.

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS


Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.

1. Escribir un programa que lea la hora de un día de notación de 24 horas y la


respuesta en notación de 12 horas. Por ejemplo, si la entrada es 13:45, la salida
será 1:45 PM.
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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 año escrito en cifras arábigas y visualice el año
escrito en números 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 XL = 40 CM = 900

MCM = 1900 MCML = 1950 MCMLX = 196

MCMXL = 1940 MCMLXXXIX =


1989

3. Escribir un programa que determine si un año es bisiesto. Un año es bisiesto si es


múltiplo de 4(por ejemplo 1984). Sin embargo, los años múltiplos de 100 sólo son
bisiestos cuando a la vez son múltiplos de 400(por ejemplo, 1800 no es bisiesto,
mientras que 2000 si lo es).
4. Construir un programa que indique si un número introducido por teclado es
positivo, igual a cero, o negativo, utilizar para hacer la selección 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 números y nos escriba el mayor y el menor.
7. Escribir un programa que solicite al usuario la longitud y anchura de una habitación
y, a continuación, visualice su superficie y perímetro.
8. Escribir un programa que lea cuatro números y calcule la media aritmética.
9. Escribir un programa que lea el radio de un círculo 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.
11. Escribir un programa que lea tres enteros de tres dígitos y calcule y visualice la
suma y su producto. La salida será justificada a derecha.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

12. Escribir un programa que lea tres números y si el tercero es positivo calcule y
escriba la suma de los tres números, 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 más) 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. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios.

3 Realización en forma coherente y con lógica. 30 %

4 Resultados obtenidos fueron correctos. 20 %

5 Dedicación del estudiante durante la práctica. 10 %

6 TOTAL 100 %

Observaciones

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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. INTRODUCCIÓN
Estructuras de control selectivas

Las sentencias if, if-else, if-else-if y switch, son utilizadas para construir estructuras de
control, la comparación de las mismas se muestra en el siguiente cuadro.

Estructuras de Selección (Simple)

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Estructuras de Selección (Anidada: simple y múltiple)

Simple

Múltiple

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

IV. PROCEDIMIENTOS

Ejercicio Nº 01

Crear un diagrama de flujo y programa en C++ que verifique si un número ingresado por el
usuario es positivo o negativo.

INICIO

LEER: A

A> 0

ESCRIBIR: ESCRIBIR:
Positivo Negativo

FIN

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejercicio Nº 02: Crear un programa que determine si un número es par o impar, en caso
que el número sea par verificar si el número está entre 10 y 100 incluyéndolos.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejercicio Nº 03

Se necesita un programa que muestre un menú con las siguientes opciones:

1. Suma 2. Multiplicación
3. Resta 4. División
Se pide que utilice la estructura switch:

Ejercicio Nª 04:
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Convertir el siguiente flujograma en su equivalente programa en C++

Ejercicio Nº 05: Modifique el ejercicio Nª 03, para validar la operación de la división, es


decir que si el usuario elige la división y el n2 es cero, envíe un mensaje de error.

Ejercicio Nº 06: Crear un programa que pida 3 números al usuario y determine cuál es el
mayor y menor de los números.

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.

1. Diseñe un programa que solicite de una persona, su edad, sexo y teléfono; si el sexo es
m ó M, que muestre en pantalla el mensaje El señor nombre con edad se ha registrado
o si es f o F La señorita nombre con edad se ha registrado. En caso contrario mandar un
mensaje: Sexo no válido. Ejemplo:

2. Diseñar 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. Diseñar el programa que permita determinar el máximo de tres números.
4. Diseñar el programa que determine el máximo y el mínimo de tres números.
5. Diseñar el programa que determine si un número es cuadrado perfecto.
6. Diseñar el programa que calcule el impuesto de los trabajadores de una empresa
considerando que aquellos empleados cuyo salario es el mínimo están exentos de este
pago.
7. Diseñar 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 mayoría de edad los 18
años.
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 ebullición del agua”, de lo contrario desplegar el mensaje “abajo del punto de
ebullición del agua”.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

10. Escriba un programa en C++ que le pida al usuario que introduzca dos números. Si el
primer número introducido es mayor que el segundo número el programa deberá
imprimir el mensaje “El primer número es mayor”, de lo contrario deberá imprimir el
mensaje “El primer número es menor”. Pruebe su programa introduciendo los números
5 y 8 y luego usando los números 11 y 2.
11. Una fábrica pequeña genera su propia energía con un generador de 20 kilowatts y un
generador de 50 kilowatts. El gerente de la planta indica cuál generador se requiere al
introducir un código de carácter. Escriba un programa en C++ que acepte este código
como entrada. Si se introduce el código s deberá desplegarse un mensaje que le
indique al capataz de la planta que use el generador más pequeño; de lo contrario
deberá ser la salida un mensaje que le indique el uso del generador más grande.

VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios

3 Realización en forma coherente y con lógica 30 %

4 Resultados obtenidos fueron correctos 20 %

5 Dedicación del estudiante durante la práctica 10 %

6 TOTAL 100 %

Observaciones

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

__________________________________________________________________________

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 05

ESTRUCTURAS DE CONTROL REPETITIVAS

I. OBJETIVOS

Conocer las Estructuras de Control Repetitivas en C++.

Utilizar el entorno DEV C++.

II. INTRODUCCIÓN
ESTRUCTURAS DE CONTROL REPETITIVAS

La sentencia while: El bucle while tiene una condición del bucle (expresión lógica) que
controla la secuencia de repetición. La posición de esta condición 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 evalúa la condición antes de que se ejecute el cuerpo del bucle.

ALGORITMO SINTAXIS

while ( condición )

Bloque de Instrucciones;

Las sentencias del cuerpo del bucle se repiten mientras que la expresión lógica (condición
del bucle) sea verdadera. Cuando se evalúa la expresión lógica y resulta falsa, se termina y

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

se sale del bucle y se ejecuta la siguiente sentencia de programa después de la sentencia


while.

LA SENTENCIA FOR: El bucle for es el más 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 específico: ejecutar sentencias.

ALGORITMO SINTAXIS

i = 1; i < = n ; i++ for (i=1; i <= n ; i++)

sentencia (accion) Bloque de instrucciones;

El bucle for contiene las cuatro partes siguientes:

 La parte de Iniciación_contador inicializa las variables de control del bucle.


 La parte de Condición contiene una expresión lógica que hace que el bucle realice
las iteraciones de las sentencias.
 La parte de progresión_contador incrementa la variable o variables de control del
bucle.

Las Sentencias, acciones o sentencias que se ejecutarán por cada iteración del bucle.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

LA SENTENCIA DO WHILE: La sentencia do-while se utiliza para especificar un bucle


condicional que se ejecuta al menos una vez.

Después de cada ejecución de sentencia se evalúa expresión. Si es


verdadera se repite el cuerpo del bucle (sentencia). Si es falsa, se
termina el bucle y se ejecuta a siguiente sentencia

ALGORITMO SINTAXIS

do

Bloque de Instrucciones;

while ( condición );

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

IV. PROCEDIMIENTOS
Crear una carpeta en mis documentos o en el escritorio con los programas desarrollados en
el laboratorio.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso. Ejercicios de Instrucciones de repetición (While, For, Do While)

While

1. Escriba un programa en C++ que convierta galones en litros. El programa deberá


desplegar galones de 10 a 20 en incrementos de un galón y los litros equivalentes
correspondientes. Use la relación que 1 galón 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 relación que hay en 3.28 pies en un metro.
3. Una maquina comprada por 28000 dólares se deprecia 4000 dólares por año durante
siete años. Escriba y ejecute un programa en C++ que calcule y despliegue una tabla de
depreciación para siete años. La tabla deberá tener la forma:
Año Depreciación Valor al final del Depreciación
año acumulada

1 4000 24000 4000

2 4000 20000 8000

3 4000 16000 12000

4 4000 12000 16000

5 4000 8000 20000

6 4000 4000 24000

7 4000 0 28000

4. Un automóvil 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
automóvil ha recorrido después de 1, 2, etc.., horas hasta el final del viaje.
5. El valor del número de Euler, e, puede aproximarse usando la fórmula:

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Usando esta fórmula, 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.
6. Una serie aritmética se define por:

Donde a es el primer término, d es la “diferencia común” y n es el número de términos


que se van a sumar. Usando esta información, escriba un programa en C++ que use un
ciclo while para desplegar cada término y para determinar la suma de la serie
aritmética si se tiene que a=1, d=3 y n=100. Asegúrese que su programa despliegue el
valor que ha calculado.
7. Una serie geométrica se define por:

Donde a es el primer término, r es la “razón común” y n es el número de términos en la


serie. Usando esta información, escriba un programa en C++ que utilice un ciclo while
para desplegar cada término y para determinar la suma de una serie geométrica si se
tiene que a=1, r=0.5 y n=10. Asegúrese que su programa despliega el valor que se ha
calculado.
8. Además del promedio aritmético de un conjunto de número, se puede calcular una
media geométrica y una media armónica. La media geométrica de un conjunto de n
números x1,x2,…xn se define como:
Y la media armónica como:

Usando estas fórmulas, escriba un programa en C++ que continué aceptando números
hasta que se introduzca el número 999 y luego calcule y despliegue tanto la media
geométrica como la armónica de los números introducidos. (Sugerencia: Será necesario
que su programa cuente en forma correcta el número de valores introducidos)

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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:

10. La expansión de un puente de acero conforme se calienta hasta una temperatura


Celsius final, TF, desde una temperatura Celsius inicial, T0, puede aproximarse usando
la fórmula:

Donde a es el coeficiente de expansión (el cual para el acero es 11.7 e-6) y L es el largo
del puente a la temperatura T0. Usando esta fórmula, escriba un programa en C++ que
despliegue una tabla de longitudes de expansión 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 telefónica individual dure menos de t minutos puede
aproximarse por la función de probabilidad exponencial:

Donde a es la duración de la llamada promedio y e es el número de Euler (2.71828).Por


ejemplo, suponiendo que la duración 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 ecuación de probabilidad, escriba un programa en C++ que calcule y
despliegue una lista de probabilidades de la duración 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 función de probabilidad de Poisson.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Donde x = el número de clientes que llegan por minuto; λ=el número promedio de llegadas
por minuto y e el número de Euler (2.71828). Por ejemplo, si el número 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:

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

Usando la función 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 avión. La distancia, d, que cae la pelota en t
segundos está dada por la ecuación d=(1/2)gt2, donde g es la aceleración debida a la
gravedad y es igual a 32 pies/s2. Usando esta información, 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 0.0 0.0

1 16.0 16.0

. . .

. .

10 . .

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

14. La secuencia de Fibonacci es 0,1,1,2,3,5,8,13,… donde los primeros dos términos son 0y
1, y cada término a partir de entonces es la suma de los dos términos precedentes; es
decir Fib[n]=Fib[n-1]+Fib[n-2]. Usando esta información, escriba un programa en C++
que calcule el enésimo número 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.

Do While

15. Usando una instrucción do, escriba un programa para aceptar una calificación. El
programa deberá solicitar una calificación en forma continua en tanto se introduzca
una calificación inválida. Una calificación inválida en cualquier calificación menor que 0
o mayor que 100. Después que se ha introducido una calificación válida, su programa
deberá desplegar el valor de la calificación introducida.
16. Escriba un programa que solicite en forma continua que se introduzca una calificación.
Si la calificación es menor que 0 o mayor que 100, su programa deberá imprimir un
mensaje apropiado que informe al usuario que se ha introducido una calificación
inválida, de lo contrario la calificación deberá sumarse a un total. Cuando se introduzca
una calificación de 999 el programa deberá salir del ciclo de repetición y calcular y
desplegar el promedio de las calificaciones válidas introducidas.
17. Escriba un programa para invertir los dígitos de un número entero positivo. Por
ejemplo, si se introduce el número 8735, el número desplegado deberá ser 5378.
(Sugerencia: Use una instrucción do y continuamente quite y despliegue el dígito de las
unidades del número. Si la variable num en un inicio contiene el número introducido, el
dígito de las unidades se obtiene como (num % 10). Después que se despliega un dígito
de unidades, dividir el número entre 10 establece el número para la siguiente iteración.
Por tanto (8735%10) es 5 y (8735/10) es 873. La instrucción do deberá continuar en
tanto el número remanente no sea cero.

VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios

3 Realización en forma coherente y con lógica 30 %

4 Resultados obtenidos fueron correctos 20 %

5 Dedicación del estudiante durante la práctica 10 %

6 TOTAL 100 %

Observaciones

__________________________________________________________________________

__________________________________________________________________________

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 06
FUNCIONES Y MÓDULOS

I. OBJETIVOS

Conocer las Funciones y Módulos en C++.

Utilizar el entorno DEV C++.

II. INTRODUCCIÓN

Concepto de una Función

Una función es un conjunto de instrucciones independientes cuyo objetivo es el de


minimizar la complejidad de un problema, el procedimiento consiste en descomponerlos
en subproblemas más fáciles de resolver. Una función debe realizar una tarea específica.
Como resultado del conjunto de instrucciones de una función, se han tenido que realizar
operaciones y tal vez modificaciones de los datos que la función tenía a disposición,
generalmente este resultado se devuelve en forma de valor. Estábamos familiarizados con
el uso de la función 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 más sencilla el problema que estemos tratando.

¿Cuándo utilizar funciones?

Cuando veamos que secciones o bloques de código se repiten varias veces podemos llevar
esta tarea a una función, lo que nos ahorra esfuerzo y evita líneas de código repetidas.
Cuando necesitemos realizar una operación sobre algún tipo de dato y producto de ello
necesitemos un valor de respuesta. Como por ejemplo calcular el cuadrado de un número
entero.

Una función tiene la siguiente sintaxis:

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

SINTAXIS

<tipo> Es el tipo de dato que Cuerpo Es todo lo que se return Esta sentencia se

devuelve la función. Si se coloca encuentra entre las llaves {} y usa si el tipo de dato de

main la función no devuelve ningún contiene un conjunto de retorno no es void. Return

valor. sentencias. devuelve una expresión. Se

Parámetros Es un conjunto de nombreF Es el nombre que pueden colocar varios

variables, las cuales se escriben con le damos a nuestra función returns a lo largo de un

su tipo de dato y su nombre, puede ser el que queramos programa y cuando la

separadas por comas, que vienen a menos la palabras reservadas función encuentra a

constituir los argumentos de la del lenguaje cualquiera termina.

función.

Ejemplo 01: En el siguiente ejemplo se definirá una función para que calcule el área de un
triángulo.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

En la línea 3 podemos ver que el tipo de dato que devolverá la función es un entero (int)
que el nombre de la función es areaTriangulo y tienen dos parámetros de tipo entero base
y altura. El cuerpo de la función comprende todas las líneas de código desde la línea 4
hasta la línea 8.

Cuerpo de una función

El cuerpo de una función contiene todas las instrucciones que le permiten realizar su tarea,
podemos definir variables cuyo ámbito o vida tendrá duración sólo en el cuerpo de la
función (variables locales). También se puede hacer llamada a otras funciones o declarar
tipos de datos definidos por el usuario, en síntesis se puede trabajar en el cuerpo de una
función con todas las ventajas que el lenguaje nos ofrece pero orientado a la resolución de
un problema específico.

Ejemplo 02:

# include <iostream.h> void main ()

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

void mostrar (char nombre[]) {

{ Mostrar ("UMSS");

cout <<nombre; }

Valor de retorno

Una función después 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
modificación con los datos o sino mostrar algo por pantalla. El valor que devuelve la
función se fija con la instrucción return, cuando la función encuentra esa palabra acaba e
inmediatamente devuelve el valor que se indica. En el ejemplo 01 en la línea 7 se devuelve
el valor que contiene la variable área. Existen funciones que no devuelven ningún valor,
estas llevan como tipo de dato de retorno void, pero no significan que no hacen nada,
pueden realizar cálculos o simplemente mostrar algo por pantalla.

Ámbito de las Variables

Variables locales

Todas la variables que se crean dentro del cuerpo de una función tienen ámbito o vida sólo
en el cuerpo mismo de la función, estas variables son llamadas locales. Esto quiere decir
que podemos utilizar estas variables sólo en la función pues al terminar esta las variables
se destruyen.

Variables globales

Las variables globales son definidas fuera de cualquier función, están definidas de una
manera parecida a las librerías, estas variables tienen un alcance global en todo el
programa, esto quiere decir que pueden ser accedidas de cualquier parte del programa.

Llamada o Invocación a una función

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Una vez escrita la función, podemos utilizarla escribiendo su nombre y luego dándole los
parámetros correspondientes: Sintaxis: NombreFuncion( parámetros ). En el ejemplo 1 en
la línea 13 se llama a la función areaTriangulo para que el valor de retorno se muestre.

¿Cómo trabaja una función?

Una función es un conjunto de sentencias independientes que se ejecutan cada vez que se
llama o invoca a una función. Cada vez que se encuentra una llamada a una función el
control del programa se pasa a la función, es decir, la ejecuta y cuando esta acaba entonces
el control vuelve a la sección del programa desde donde se hizo la llamada.

En cuanto a los parámetros, en el caso que utilicemos variables, no se debe de pensar que
existe alguna relación entre las variables que se pasan y las que están definidas como
parámetros en la función, a menos que las referenciemos.

En el ejemplo 1 cuando se hace la llamada a la función areaTriangulo se utiliza dos


variables baseT y alturaT, estas dos variables nada tienen que ver con las variables que se
definieron como parámetros de la función en la línea 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 parámetros definidos en la
función.

Los parámetros de una función.

Una función puede tener de 0 a n parámetros y lo más común es que utilice los valores que
guardan los parámetros para realizar la operación y luego devolver un resultado, está el
caso del ejemplo 1 en el que la función areaTriangulo tiene dos parámetros enteros base y
altura, estas variables contienen los valores a partir de los cuales se calculará el área del
triángulo. Debemos tener en cuenta que los parámetros son variables locales, sólo las
podemos utilizar dentro de la función.

Paso de parámetros por valor

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Esto significa que cuando hacemos la llamada a la función como parámetros le damos
valores, si es que colocamos variables como parámetros la función solo toma los valores.
En el ejemplo 1 en la línea 13 se llama a la función areaTriangulo así: areaTriangulo
(baseT,alturaT) Cuando el paso de parámetros es por valor viene a ser como si solo los
valores de las variables baseT y alturaT se pasarán como parámetros a la función así:
areaTriangulo(3,4).

Pasa de parámetros por Referencia

En este caso existe una formalidad de las variables, después de haberlas pasado como
parámetros en una función, estas sufren cambios, producto de las operaciones que se
realizan dentro de la función, para mostrar cómo funciona esta parte se resolverá el mismo
problema que en el ejemplo 1 utilizando paso de parámetros por referencia.

Para que los cambios de un parámetro se reflejen se debe de utilizar el operador de


referencia &, en el ejemplo anterior en la línea 3 se utiliza el operador & que va delante de
la variable base, esto quiere decir que lodos los cambios que se hagan sobre esta variable
en la función, tendrán efecto en la variable que se utilice al hacer la llamada, baseT en el
anterior ejemplo. En la línea 11, se llama a la función: areaTriangulo (baseT , alturaT);

En este caso la variable baseT es la correspondiente a la variable base de la función


areaTriangulo todos los cambios que se realicen en la variable base afectarán a la variable
baseT. Después de la línea 11 la variable baseT habrá cambiado conteniendo el área del
triángulo.

¿Por qué ocurre esto? :Porque ya no se pasan simplemente valores sino se pasa una
dirección de memoria.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejemplo 03

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.


IV. PROCEDIMIENTOS
Crear una carpeta en mis documentos o en el escritorio donde guardara los programas
desarrollados en el laboratorio.

Ejemplo 04: Escribir una función que calcule los primeros 10 números primos.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

1: #include <iostream.h> 12: {


2: int esPrimo (int N) 13: if (esPrimo (contador))
3: { 14: {
4: for (int i = 2; i <= N/2; i++) 15: NPrimo + +;
5: if (N % i = 0) 16: cout <<"El"<<NPrimo<<"Numero Primo es"<<contador<<endl;
6: return 1; 17: }
7: } 18: contador ++;
8: void main () 19: }
9: { 20: }
10: int NPrimo = 0, contador = 1;
11: while (NPrimo < 10)

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS


1. Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
2. Escribir una función que calcule la media de un conjunto de n>0 números leídos del
teclado.
3. Escribir una función que decida si un número entero es capicúa. El número 24842 es
capicúa. El número 134 No lo es.
4. 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 función.
5. Escribir una función que permita calcular la serie:

6. Escribir una función que sume los 30 primeros números impares.


7. Escribir una función que calcule la suma de los 20 primeros números primos.
8. Escribir una función que encuentre y escriba todos los números perfectos menores que
un valor constante max.
9. Escriba un programa que lea dos números x y n y calcule la suma de la progresión
geométrica. 1+x+x2+x3+…+xn.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

10. Escribir un programa que mediante funciones determine el área del círculo
correspondiente a la circunferencia circunscrita de un triángulo del que conocemos las
coordenadas de los vértices.
11. Escribir un programa que lea dos enteros positivos n y b y mediante un función
CambiarBase visualice la correspondiente representación del número de n en la base
b.
12. Escribir el inverso de un número entero dado (1234, inverso 4321).
VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios

3 Realización en forma coherente y con lógica 30 %

4 Resultados obtenidos fueron correctos 20 %

5 Dedicación del estudiante durante la práctica 10 %

6 TOTAL 100 %

Observaciones

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Conclusiones
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

__________________________________________________________________________

GUIA DE LABORATORIO N° 07

ARRAYS (ARREGLOS)

I. OBJETIVOS

Conocer los Arrays(arreglos) en C++.

Utilizar el entorno DEV C++.

II. INTRODUCCIÓN

Arrays ( arreglos)

Un arreglo es un conjunto o colección finita de datos de un mismo tipo. Los elementos de


un arreglo pueden ser accedidos por medio de un subíndice i. Podemos considerar a un

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

arreglo desde el punto de vista matemático como un vector, y a un arreglo bidimensional


una matriz.

Declaración 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
tamaño.

<tipo> nombreArreglo [Tamaño]

Por ejemplo tengo un arreglo de números enteros: int arreglo[4];

En el caso anterior el tipo del arreglo es entero (int).

Se le da una dimensión al arreglo que va entre los caracteres '[' y ']' , en el caso anterior la
dimensión 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.

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

También 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 subíndice, 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];

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

En la variable A se almacenará el valor de 60, y así sucesivamente con los demás


elementos.

Si nos damos cuenta tener un arreglo es mucho más ventajoso que tener definidas 4
variables.

Desventajas.

En ocasiones, no podemos predecir con precisión el tamaño 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 sólo utilizo 5 posiciones de
memoria, las demás 95 estarán desperdiciadas, la solución a este problema la veremos más
adelante en lo que se denomina punteros.

Ejemplo 01

# include <iostream.h> cout <<"ingrese la nota del estudiante #"<<i+1<<":\n";

Void main () cin >>arreglo[i];

{ }

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

const int TAM =10; for (i=0; i <TAM; i++)

int i , promedio = 0; promedio = promedio + arreglo[i];

int arreglo [TAM]; promedio = promedio / TAM;

for (i=0; i <TAM; i++) cout << "el promedio de las notas es :"<<promedio;

{ }
Se desea ingresar las notas finales de 10 alumnos de la materia de Introducción a la
programación, para luego emitir un reporte del promedio de todas las notas.

No hubiera sido muy práctico 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 dándole la dimensión o tamaño por un valor constante

const int TAM=10;

int arreglo[TAM];

si TAM no fuera constante el programa devolvería mensaje de error.

Arreglos Bidimensionales

Un arreglo bidimensional está compuesto, por un conjunto de elementos homogéneos y se


puede acceder a los datos utilizando dos subíndices, este tipo de arreglo es también
conocido como matriz.

Declaración

Un arreglo bidimensional se define así: int arreglo[10][10]; float matriz[10][10];

también podemos utilizar constantes para definir la dimensión del arreglo de dos
dimensiones: const int N = 10; int arreglo[N][N];

Inicialización
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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 asignación se crea en memoria una matriz igual a la de abajo

0 1 2

0 1 2 3

1 4 5 6

2 7 8 9

También podemos utilizar una estructura for dentro de otra estructura for para inicializar
los valores de un arreglo de dos dimensiones como se muestra a continuación:

Acceso a los elementos de un arreglo bidimensional

En un arreglo de dos dimensiones necesitamos también 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 número 5.

Las matrices o arreglos bidimensionales se suelen utilizar en cálculos matemáticos,


operaciones con matrices, recorridos por matrices, y cualquier uso que nosotros le
podamos dar. Se pueden definir arreglos de más de 2 dimensiones, pero su manejo
se dificultaría enormemente.

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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 números enteros de dimensión 3x3.

1: # include <iostream.h> 10: cout <<"ingrese el elemento ["<<i<<","<<j<<"]";

2: void main () 11: cin >> matriz [i][j];

3: { 12: }

4: const int TAM = 3; 13: }

5: int matriz [TAM][TAM]; 14: }

6: for (int i=0 ; i <= TAM ; i++)

7: {

8: for (int j=0 ; j <= TAM ; j++)

9: {

Ejemplo 02 (cuadrado perfecto)

Se debe imprimir un cuadrado mágico de tamaño N, donde N es un número impar


comprendido entre 3 y 11. Un cuadrado mágico está compuesto de números
enteros entre 1 y N, con las siguientes características: la sumas de las filas,
columnas, diagonales son iguales, como se ve en el siguiente ejemplo:

8 1 6

3 5 7

4 9 2

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

El método de generación del cuadrado mágico consiste en situar el número 1 en la


casilla del centro de la primera fila, el siguiente número 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 números. Es importante saber que el cuadrado mágico
es cíclico, 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 número
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 número que
acabamos de ubicar.

Ejemplo 03 (MULTIPLICACIÓN de Matrices)

Se requiere un programa que realice la multiplicación 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 dimensión de N*M y la segunda de M*N
para que se pueda realizar la multiplicación.

Solución . . . para que el lector lo trabaje en laboratorio.

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.

1. Escribir un programa que convierta un número romano (en forma de cadena de


caracteres) en números arábigo.
M 1000

D 500

C 100

L 50

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

X 10

V 5

I 1

2. Escribir una función a la que se le proporcione una fecha (día, mes, año), así como
número de días a añadir a esta fecha. La función debe calcular la nueva fecha
visualizarla.
3. Escribir una función que acepte como parámetro un vector que puede contener
elementos duplicados. La función debe sustituir cada valor repetido por -5 y devolver al
punto donde fue llamado el vector modificado y el número de entradas modificadas.
4. Escribir un programa que lea una colección de cadenas de caracteres de longitud
arbitraria. Por cada cadena leída, su programa hará lo siguiente:
5. Visualizar la longitud de la cadena.
6. Contar el número de ocurrencias de palabras de cuatro letras.
7. Sustituir cada palabra de cuatro letras por una cadena de cuatro asteriscos e imprimir la
nueva cadena.
8. Escribir un programa que lea una frase, sustituya todas las secuencias de dos o más
blancos por un solo blanco y visualice la frase restante.
9. Escribir un programa que desplace una palabra leída del teclado desde la izquierda
hasta la derecha de la pantalla.
10. Escribir un programa que lea una serie de cadenas, a continuación, determine si la
cadena es un identificador válido C++. Sugerencias: utilizar los siguientes
subprogramas: longitud (tamaño del identificador en el rango permitido); primero
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

(determinar si el nombre comienza con un símbolo permitido); restantes (comprueba si


los restantes son caracteres permitidos).
11. Escribir una función conversión que reciba como parámetro una cadena representando
una fecha en formato ‘dd/mm/aa’, como 17/11/91 y la devuelva en formato de texto:
17 noviembre 1991.
12. Escribir un programa que permita escribir en sentido inverso una cadena de caracteres.
13. Buscar una palabra en una cadena y calcular su frecuencia de aparición.
14. Escribir un programa en el que se genere aleatoriamente un vector de 20 números
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 distribución indicada.
15. 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. Diseñar un programa para jugar al ahorcado. Sugerencia:
almacenar una lista de palabras en un array y seleccionar palabras aleatoriamente.

VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios

3 Realización en forma coherente y con lógica 30 %

4 Resultados obtenidos fueron correctos 20 %

5 Dedicación del estudiante durante la práctica 10 %

6 TOTAL 100 %

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Observaciones

__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Conclusiones

__________________________________________________________________________

__________________________________________________________________________

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

GUIA DE LABORATORIO N° 08
CADENAS

I. OBJETIVOS

Conocer las Cadenas en C++.

Utilizar el entorno DEV C++.

II. INTRODUCCIÓN

Carácter: Un carácter es el átomo de los programas de computadora, un carácter es un


símbolo que puede ser una letra del alfabeto o un carácter especial. carácter ocupa 8 bits
en memoria, y existen 256 caracteres diferentes. Cada carácter se lo codifica en un número
entero, es decir, que cada carácter tiene su correspondiente representación entera, el
código ASCII es precisamente esto.

Cadenas: Una cadena o cadena de caracteres nos es más que una serie de caracteres
manipulados como una unidad. Si asemejamos una cadena al lenguaje castellano sería
como una palabra, que es un conjunto de sílabas y vocales en donde cada una de estas
viene a ser un carácter.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Visto desde otro punto vendría a ser un arreglo de caracteres. Una cadena puede contener
cualquier carácter, puede almacenar un nombre propio una dirección, es decir, lo que
nosotros precisemos.

Declaración

Una cadena se la define de la siguiente manera: char cadena[20];

La cadena anterior puede contener un máximo de 20 caracteres.

Inicialización

Se puede inicializar una cadena de la siguiente manera: cadena = "Hola" ;

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 carácter de fin de cadena ‘\0’, que siempre se añade al
final automáticamente, en el ejemplo anterior se añade al final de “Hola” el carácter de fin
de cadena.

También 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 vería de esta forma:

‘H’ ‘o’ ‘l’ ‘a’ ‘\0’

0 1 2 3 4

Nótese que en la posición 4 se aumenta el fin de cadena.

Ejemplo 01
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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.

En el ejemplo anterior el mensaje "¿Cuál es tu nombre?" es una cadena pues está entre
comillas. También 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 mayoría de la


operación que podemos requerir se encuentran ya a nuestra disposición dentro de la
librería string.h

Longitud

La longitud de una cadena la podemos conocer utilizando la función strlen.

Sintaxis: strlen( cadena ) ;

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejemplo 02:

# include <iostream.h>

void main ()

char nombre [30];

int tamaño;

cout <<"cual es tu nombre?\n";

cin >>nombre;

tamaño = strlen (nombre);

cout <<"Tu nombre tiene "<< tamaño <<"letras";

Comparación

Para saber si dos cadenas son exactamente iguales utilizamos la función strcmp.

Sintaxis : strcmp ( cadena1, cadena2 );

Esta función devuelve un valor de acuerdo al resultado de la comparación. Devuelve:

0 si la dos cadenas son exactamente iguales


Mayor a 0 si la cadena 1 es mayor a la cadena 2
Menor a 0 si la cadena 1 es menor que la cadena 2

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Ejemplo 03

# include <iostream.h>

# include <string.h>

void main ()

char contraseña [30], recontraseña [30];

int resultado;

cout <<"escribe tu contraseña \n";

cin>>contraseña;

cout << "re escribe tu contraseña \n";

cin >>recontraseña;

resultado = strcmp (contraseña, recontraseña);

if (resultado ==0)

cout << "la contraseña no coincide";

Copia

Podemos reflejar todo el contenido de una cadena a otra, en otras palabras la copiamos tal
cual, para esto utilizamos la función strcpy.

Sintaxis: strcpy( cadenaDestino, cadenaOrigen );

Todo el contenido de la cadenaOrigen se copia a la cadenaDestino, si esta última tuviera


algún valor este se borra.

Ejemplo 04

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Concatenación

Podemos juntar o concatenar dos cadenas una a continuación de la otra. Utilizamos la


función strcat.

Sintaxis

strcat( cadenaDestino, cadenaOrigen );

Todo el contenido de la cadenaOrigen se añade a continuación de la cadenaDestino, si esta


última contiene algo entonces al final contendrá lo que contenía más el contenido de la
cadenaOrigen.

Ejemplo 05

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Escriba una función que permita conocer la longitud de una cadena. La función
deberá llamarse longitud.

Ejemplo 05

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

III. MATERIALES Y EQUIPOS A UTILIZAR

Guía de Laboratorio - Laboratorio de Computo - Instalador del software Dev C++.

Cañón Multimedia – Laptop – Pizarra - Plumones – Mota - etc.

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 propósito de familiarizarse con su


funcionamiento.

V. INVESTIGACIONES Y EJERCICIOS COMPLEMENTARIOS

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.

1. Esta tarea deberá ser entregada al docente la próxima semana, de manera digital e
impreso.
Hacer un programa que lee líneas del teclado hasta que se introduce control más Z.
En cada línea debe haber dos números reales. El programa presenta por cada línea
leída otra línea con la suma de los dos números.
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 mayúsculas y las minúsculas son iguales.
3. Escribir un programa para las líneas de un texto sabiendo que el máximo de
caracteres por línea es 80 caracteres. Contar el número de palabras que tiene cada
línea, así como el número total de palabras leídas.
4. Escribir una función que reciba como parámetro una cadena de caracteres y la
invierta, sin usar la función strrev.
5. Escribir un programa que lea líneas de texto obtenga las palabras de cada línea y las
escriba en pantalla en orden alfabético. Se puede considerar que el máximo número
de palabras por línea es 28.
6. Escribir un programa que lea una línea de texto y escriba en pantalla las palabras de
que consta la línea sin utilizar las funciones de string.h y particularmente sin usar
strtok().
7. Un sistema de encriptación simple consiste en sustituir cada carácter de un mensaje
por el carácter que está situado a tres posiciones alfabéticas por adelante suyo.
Escribir una función que tome como parámetro una cadena y devuelva otra cifrada
como se ha explicado.

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

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 número de intercambios realizados.
9. Otro sistema de encriptación consiste en sustituir cada carácter del alfabeto por otro
decidido de antemano, pero siempre el mismo. Utilizar este método en una función
que tome como parámetros el mensaje a cifrar y una cadena con las
correspondencias ordenadas de los caracteres alfabéticos. La función devolverá un
puntero a la cadena cifrada del mensaje.
10. Escribir una función que genere un código alfanumérico diferente cada vez que sea
llamada devolviéndolo en forma de cadena. El argumento de dicha función es el
número de caracteres que va a tener el código generado.
11. Escribir una función que reciba una palabra y genere todas las palabras que se
pueden construir con sus letras.
12. Modificar la función anterior para que sólo genere las palabras que comiencen por
una constante.

VI. EVALUACIÓN DE ANÁLISIS DE RESULTADOS

N° Criterios % Asignado % Observación


Obtenido

1 Finalizó todos los ejercicios correctamente 30 %

2 Hizo uso de comentarios para documentar los 10 %


ejercicios

3 Realización en forma coherente y con lógica 30 %

4 Resultados obtenidos fueron correctos 20 %

5 Dedicación del estudiante durante la práctica 10 %

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

6 TOTAL 100 %

Observaciones

Conclusiones

__________________________________________________________________________

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

CUADERNILLO DE EJERCICIOS PROPUESTOS

1. Diseñe el programa que acepte dos números reales de un usuario y un código


seleccionado. Si el código seleccionado introducido es 1, haga que el programa sume
los dos números introducidos con anterioridad y despliegue el resultado; si el código
seleccionado es 2, los números deberán multiplicarse, y si el código seleccionado es 3,
el primer número deberá ser dividido entre el segundo número.
2. Escriba un programa para desplegar los dos indicadores siguientes:
a. Introduzca un mes (use 1 para Ene, etc.):
b. Introduzca un día del mes:
c. Haga que su programa acepte y almacene un número en la variable mes en
respuesta al primer indicador, y acepte y almacene un número en la variable día 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 inválido.
Si el día introducido no está entre 1 y 31, imprima un mensaje informando al
usuario que se ha introducido un día inválido.
3. El cuadrante en el que reside una línea trazada desde el origen es determinado por el
ángulo que forma la línea con el eje x positivo como sigue:

Ángulo desde el eje X positivo Cuadrante

Entre 0 y 90 grados I

Entre 90 y 180 grados II

Entre 180 y 270 grados III

Entre 270 y 360 grados IV

Usando esta información, escriba un programa en C++ que acepte el ángulo de la línea
como una entrada del usuario y determine y despliegue el cuadrante apropiado a los

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

datos introducidos. (Nota: Si el ángulo tiene exactamente 0, 90, 180 o 270 grados, la
línea correspondiente no reside en ningún cuadrante sino que se encuentra en un eje).
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 años que se dividen exactamente entre 400 o que son divisibles exactamente
entre cuatro y no son divisibles exactamente entre 100 son años bisiestos. Por ejemplo,
en vista que 1600 es divisible exactamente entre 400, el año 1600 fue un año bisiesto.
Del mismo modo, en vista que 1988 es divisible exactamente entre cuatro pero no
entre 100, el año 1988 también fue un año bisiesto. Usando esta información, escriba
un programa en C++ que acepte el año como una entrada del usuario, determine si el
año es un año bisiesto y despliegue un mensaje apropiado que le indique al usuario si
el año introducido es un año bisiesto o no.
6. Con base en el año del modelo y el peso de un automóvil la Provincia de Andahuaylas
determina la clase del vehículo y la tarifa de registro que le corresponde usando la
siguiente tabla:
Año del modelo Peso Clase de Tarifa de
peso registro

1970 o anterior Menos de 2700 lbs. 1 S/. 16.50

2700 a 3800 lbs. 2 S/. 25.50

Más de 3800 lbs. 3 S/. 46.50

1971 a 1979 Menos de 2700 lbs. 4 S/. 27.00

2700 a 3800 lbs. 5 S/. 30.50

Más de 3800 lbs. 6 S/. 52.50

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

1980 o posterior Menos de 3500 lbs. 7 S/. 19.50

3500 lbs. a más 8 S/. 52.50

Usando esta información, escriba un programa en C++ que acepte el año y el peso de
un automóvil y determine y despliegue la clase y la tarifa de registro para el automóvil.
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 información, escriba un
programa en C++ que 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 típica de
acuerdo con la siguiente tabla:
Número de créditos Grado
completados
Primer año
Menor que 2
Segundo año
32 a 63
Tercer año
64 a 95
Cuarto año
96 a más

9. Usando esta información, escriba un programa en C++ que acepte el número de


créditos 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:
CALIFICACIÓN NUMÉRICA LETRA

Mayor que o igual a 90 A

Menor que 90 pero mayor que o igual a 80 B

Ing. Carlos A. Silva Delgado


UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

Menor que 80 pero mayor que o igual a 70 C

Menor que 70 pero mayor que o igual a 60 D

Menor que 60 F

Usando esta información, escriba un programa en C++ que acepte la calificación


numérica de un estudiante, convierta la calificación numérica a su calificación en letra
equivalente y despliegue la letra.
11. La tolerancia de componentes críticos en un sistema se determina por la aplicación de
acuerdo con la siguiente tabla:
ESTADO DE LA TOLERANCIA
ESPECIFICACIÓN
Menor que 0.1%
Exploración 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 información, escriba un programa en C++ que acepte la lectura de
tolerancia de un componente y determine la especificación que debería asignarse al
componente.
13. Escriba un programa en C++ que acepte un número seguido por un espacio y luego en
letra. Si la letra que sigue al número es f, el programa tratara al número introducido
como una temperatura en grados Fahrenheit, convertirá el número a los Grados Celsius
equivalente y desplegara un mensaje adecuado. Si la letra que sigue al número es c, el
programa tratará al número introducido como una temperatura en Celsius, convertirá
el número 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
Ing. Carlos A. Silva Delgado
UNIVERSIDAD NACIONAL DE MOQUEGUA
Carrera Profesional de Ingeniería de Sistemas e Informática

incorrectos y terminara. Usé una cadena if-else en su programa y use las fórmulas de
conversión.
a. Celsius=(5.0/9.0)*(Fahrenheit-32.0)
b. Fahrenheit=(9.0/5.0)*Celsius+32.0

Ing. Carlos A. Silva Delgado

También podría gustarte