You are on page 1of 43

GUIA 01

Reconocimiento del Hardware y Software a utilizar.

OBJETIVO:

Identificar y utilizar los componentes de hardware y software


que sern utilizados en el curso.

Ejercicio 1. Desarrolla con la ayuda del profesor un diagrama de bloques del


hardware de la computadora (PC) que estas utilizando.
Ejercicio 2. Prepara una lista de los dispositivos hardware que utiliza la PC y
clasifcalos por su tipo.
Ejercicio 3. Prepara una lista de los programas instalados en la computadora
y agrpalos de acuerdo a su tipologa.
Ejercicio 4. Elabora una tabla indicando 5 lenguajes de alto nivel y sus
caractersticas
Ejercicio 5. Define los trminos hardware y software.
En relacin con el hardware: Diferencia los trminos RAM y ROM. Qu
dispositivos de almacenamiento permanente de informacin conoces?.
Comenta las caractersticas de los ms frecuentemente utilizados.
En relacin con el software: Qu es un compilador y cual es su utilidad?.
Qu es un virus informtico?.
Ejercicio 6. Que son los microprocesadores?. Comenta su organizacin y
funcionalidad. Cita diferentes modelos de microprocesadores que conozcas en
el mercado.

Ejercicio 7. Explica el concepto de sistema operativo y sus funciones bsicas.


Cita los nombres de sistemas operativos que conozcas. Qu utilidad tiene la
extensin en el nombre de un fichero en los sistemas operativos de Microsoft
(MS-DOS, Windows...)?. Pon ejemplos de extensiones y su significado
Ejercicio 8. Las bases de datos permiten gestionar tablas proporcionando
funciones de bsqueda, seleccin, ordenacin, incluso de operacin
matemtica, de los contenidos de estas. Las hojas de clculo permiten tratar
1

informacin en formato de tabla, en cuyas celdas encontramos texto, nmeros,


incluso frmulas. Qu diferencias encuentras entre los dos tipos de
aplicacin?. Pon ejemplos donde encuentres ventajas de una herramienta
sobre la otra.
Ejercicio 9. En la tabal siguiente, escribe en la primera columna el numero que
corresponde al concepto definido.
Es un programa que permite crear y
modificar archivos digitales compuestos
nicamente por texto sin formato
Es un programa que permite traducir el
cdigo fuente de un programa en
lenguaje de alto nivel, a otro lenguaje
de nivel inferior (tpicamente lenguaje
mquina).
Es un programa informtico capaz de
analizar y ejecutar otros programas
escritos en un lenguaje de alto nivel.
Es un programa que toma los ficheros
de cdigo objeto generado en los
primeros pasos del proceso de
compilacin, la informacin de todos los
recursos necesarios (biblioteca), quita
aquellos recursos que no necesita, y
enlaza el cdigo objeto con
su(s)biblioteca con lo que finalmente
produce un fichero ejecutable o una
biblioteca..
Es un programa que permite depurar o
limpiar los errores de otro programa
informtico.
Agrupan estas herramientas de forma
que el programador no necesite
introducir mltiples comandos para
compilar, interpretar, depurar, etctera,
gracias a que habitualmente cuentan
con una interfaz grfica de usuario
(GUI) avanzada.

Los entorno de desarrollo


integrados

Enlazadores

Debugger

Editores de texto

Compiladores

Intrpretes

Ejercicio 10. Que representan los trminos Basic, C++, Java, VB .net, C#. Qu tienen
en comn?, Quines y para que los utilizan?

GUIA 02
Resolucin de problemas con computadora

OBJETIVO:

Identificar y realizar las fases de la resolucin de problemas.

Desarrollar pseudocodigos de aplicacin a problemas


cotidianos.

Ejercicio 1. Representa en un diagrama de flujo todos los pasos que has


realizado el da de hoy para llegara a la universidad partiendo de tu domicilio.
Ejercicio 2. Desarrolla un diagrama de flujo que indique todos los pasos
necesarios para retirar dinero de un cajero automtico.
Ejercicio 3. Desarrolla un diagrama de flujo en el cual se presenten en forma
detallada los pasos necesarios para crear un programa para la computadora.
Ejercicio 4. En un diagrama de flujo representa todos los pasos que has
seguido para realizar tu matricula.
Ejercicio 5. Desarrolla un diagrama de flujo en el cual se presenten todas las
actividades a realizar para aprender los temas de un curso y finalmente lograr
aprobarlo con un excelente promedio.
Ejercicio 6. Considera que el profesor te encarga calcular el promedio de las
edades de tus compaeros. En cuantas partes podras dividir esta tarea?
Qu operaciones se realizaran en cada una?, Qu informacin o datos
necesita cada una?, responde con certeza y en forma ordenada.
Ejercicio 7. Siguiendo atentamente las indicaciones del profesor codificar en
C# las instrucciones necesarias para convertir los mdulos del ejercicio 5 en un
programa en este lenguaje de programacin, compila y ejecuta el programa.
Ejercicio 8. Realiza un anlisis similar al del ejercicio 5 para el caso en el cual
tengas que viajar al extranjero.
Ejercicio 9. Desarrolla un diagrama de flujo en el cual se representen las
operaciones necesarias para que un comensal pueda elegir de un men los
platos de su preferencia de acuerdo al dinero que dispone.
Ejercicio 10. Un juego para dos personas tiene las siguientes reglas:
Se presentan 11 objetos sobre la mesa.
Cada jugador solo puede separar hasta 3 objetos en la jugada que le
corresponde.
El jugador que retira el ltimo objeto se considera el perdedor.
Desarrolla un diagrama de flujo que permita ganar siempre al jugador que
inicia la partida.
3

Ejercicio 11. Desarrolla un diagrama de flujo para calcular el sueldo de un


operario al cual se la paga por sus horas trabajadas (normales y extras) que se
debern ingresar conjuntamente con el pago por hora, para el calculo se
considera que las horas extras se pagan con un incremento del 50% al pago de
hora normal, adems calcular una bonificacin extraordinaria de 25% del pago
por horas normales y escribir los resultados.
Este ejercicio debe ser resuelto enumerando y realizando todas las etapas de
solucin de un problema.

GUIA 03
Diagramas de flujo problemas de la vida real

OBJETIVO:

Desarrollar diagramas de flujo aplicndolos a problemas


especficos.

Utilizar los diagramas de Nassi Sneidermann a casos reales.

Desarrollar pseudocodigos utilizando el programa PseInt


para su verificacin.

Ejercicio 1. Iniciar (ejecutar) el programa PseInt y con la ayuda del profesor


reconoce el entorno de trabajo de este programa.
Ejercicio 2. De acuerdo al punto anterior desarrolla un informe sobre:

Barra de Ttulo

Men de Opciones

Barra de Acceso Rpido

rea de Trabajo

rea de Informacin de Ejecucin

Barras de scroll

Ejercicio 3. Con el programa anterior y siguiendo atentamente las indicaciones


de tu profesor desarrolla tu primer pseudocdigo, que permita ingresar dos
nmeros y con ellos realizar las cuatro operaciones aritmticas.
Ejercicio 4. Desarrollar un diagrama de flujo para ingresar el valor de N y
obtenga la suma: 1+2+3++N. use la formula ..
Ejercicio 5. Desarrollar un diagrama de flujo para ingresar las dimensiones de
un terreno rectangular para calcular su rea y permetro.
Ejercicio 6. Desarrolla un diagrama de flujo necesario para calcular el rea de
un triangulo recibiendo como entrada la longitud de sus lados.
Ejercicio 7. Queremos conocer los datos estadsticos de una asignatura, por lo
tanto, necesitamos un algoritmo que lea el nmero de desaprobados,
aprobados, notables y sobresalientes de una asignatura, y nos devuelva:

El tanto por ciento de alumnos que han superado la asignatura.


El tanto por ciento de desaprobados, aprobados, notables y
sobresalientes de la asignatura.

Ejercicio 8. Se quiere calcular el sueldo de un operario, para lo cual se debe


leer su nombre, horas de trabajo normal y extras en la semana, pago por hora;
teniendo en cuenta que por cada hora extra el pago es de 15% mas que el
pago normal por hora, obtener el pago semanal.
Ejercicio 9 Desarrolla un diagrama de Nassi Sneidermann para cada uno de
los ejercicios anteriores.
Ejercicio10. Desarrollar un pseudocdigo por el cual se pueda leer dos
nmeros, calcular el porcentaje que representa el segundo del primero y
escribir el resultado.
Ejercicio11. Calcular los pagos mensuales de una
hipoteca y el total a pagar. El programa debe solicitar el
capital, el inters anual y el nmero de aos y debe
escribir la cuota a pagar mensualmente. Para calcular la
cuota se utiliza la siguiente frmula: Sea C el capital del
prstamo, R la tasa de inters mensual y N el nmero de
pagos. La cuota mensual viene dada por la formula indicada y el inters mensual
ser: inters anual / 100 /12.

Ejercicio12. Se quiere conocer el numero de das que ha vivido una persona


para lo cual se dispone de su fecha de nacimiento (DD, MM, AA), considerando
meses de 30 das, realizar el calculo y escribir el resultado.
Ejercicio 13. Desarrolla un pseudocodigo para leer la temperatura en grados
centgrados y la convierta a su equivalente en Celsius y Fahrenheit.

GUIA 04
Pseudocodigos con Seudo Interprete PSeInt ()
Expresiones
Los primeros programas en C#

OBJETIVO:

Utilizar el Seudointerprete PSeInt para resolver problemas


completos.

Utilizar el lenguaje de programacin C# para convertir a


programas los pseudocdigos desarrollados en PSeInt.

Ejercicio 1. Para las siguientes expresiones, desarrolla el rbol sintctico,


construye la formula inicial y calcula el valor resultante para los valores que se
indican.
P=A+B*C-D

para A=5; B=7;C=4;D=5;

Q=A/B+C*D

para A=20;B=5;C=7;D=4;

R=(A+B)/(A-1)+C

para A=4; B=5;C=6;D=7;

S=A+(A/(A/(A/(A+1))))

para A=1;

Ejercicio 2. Iniciar (ejecutar) el programa Microsoft Visual C# y con la ayuda


del profesor reconoce el IDE (Entorno de Desarrollo Integrado) de este
programa.
Ejercicio 3. Siguiendo atentamente las indicaciones del profesor para codificar
en C# las instrucciones necesarias que te permitan convertir el seudocdigo del
ejercicio 5 en un programa en este lenguaje de programacin, compila y
ejecuta el programa.
Antes de desarrollar los siguientes ejercicios propuestos realiza la
codificacin con C# de cada uno de los ejercicios de la gua anterior.
Ejercicio 4. Desarrollar un pseudocodigo y su respectivo programa para
ingresar el radio y la altura de un cilindro para calcular el rea lateral y su
volumen. Utiliza el valor de pi como constante;
Ejercicio 5. Desarrollar un pseudocodigo y su respectivo programa para
ingresar las dimensiones de un cubo y calcular su volumen y el rea de todas
sus caras laterales.
Ejercicio 6. Disear un pseudocodigo y el programa necesario para definir
como constantes los ingredientes para preparar un litro de limonada, leer la
cantidad de litros a preparar y obtener la cantidad total de ingredientes
necesarios para preparar la cantidad de litros de limonada que se piden.

Ejercicio 7. En un laboratorio de fsica se tienen dos mviles en sentidos


opuestos, se desea ingresar la velocidad de cada uno de ellos y la distancia
que los separa para calcular el tiempo en que harn colisin. Desarrolla un
programa que realice dicho clculo.
Ejercicio 8. Se quiere calcular el importe de venta de un producto para lo cual
se debe leer su descripcin, precio, porcentaje de descuento y cantidad
vendida, Disear un programa que realice los clculos necesarios y escriba los
resultados.
Ejercicio 9. Desarrollar un pseudocdigo por el cual se pueda leer dos
nmeros, calcular el porcentaje que cada uno representa de la suma de ambos
y escribir el resultado.
Ejercicio 10. Desarrollar un programa que permita ingresar un monto de dinero
y calcular cuantos billetes de 200,100, 50, 20, 10 y monedas representa.
Ejercicio 11. Desarrollar un programa que permita ingresar una fecha como
DD, MM, AA y un numero de das de plazo, calcular una nueva fecha
aadiendo a la fecha la cantidad de das incesados y considerando meses de
30 das.
Ejercicio 12. Elaborar un programa que permita ingresar el precio de venta de
un articulo y el pago inicial que hace un cliente, se deber calcular el saldo, tres
cuotas a pagar y el pago adicional, el saldo es la diferencia entre el precio y la
inicial, la primera cuota equivale al saldo dividido entre tres y las siguientes se
calculan incrementando 10% a la anterior; el pago adicional es la diferencia
entre la suma de cuotas y el saldo.

GUIA 05
Diagramas de flujo, pseudocdigos e Instrucciones
secuenciales en C#

OBJETIVO:

Utilizar el Seudointerprete PSeInt para resolver problemas


completos.

Utilizar la clase Math de C# para resolver problemas


aplicando funciones matemticas.

Ejercicio 1. Desarrollar un pseudocodigo y su respectivo programa para leer


tres nmeros en cualquier orden y los escriba ordenados de mayor a meno.
Ejercicio 2. Desarrollar un pseudocodigo y su respectivo programa para
ingresar los coeficientes de una ecuacin de segundo grado, calcular las races
y escribir los resultados.
Ejercicio 3. Disear un pseudocodigo y el programa necesario para leer la
medida de un Angulo en radianes y escriba el valor de resultado de las seis
funciones trigonometricas conocidas.
Ejercicio 4. Elaborar un programa que permita leer la medida de los tres lados
de un triangulo y si forman un triangulo recto que escriba la medida de sus tres
ngulos.
Ejercicio 5. Elaborar un programa que permita leer la medida del lado de un
cuadrado y calcule la longitud de su diagonal.
Ejercicio 6. Se tiene una circunferencia de radio R con centro (0,0) en el plano
coordenado, se debe desarrollar un programa que lea el valor de R y calcule
las coordenadas de los cinco vrtices de un pentgono que se inscribir en
dicha circunferencia.
Ejercicio 7. Desarrollar un programa que permita leer 5 dgitos de un nmero
binario y lo transforme a un numero en base 10 escribiendo el resultado.
Ejercicio 8. Elaborar un programa mediante el cual sea posible leer dos
nmeros A y B, determinar el exponente que deber tener A par ser igual a B.
Ejercicio 9. Elaborar un programa mediante el cual sea posible leer dos
nmeros A y B, determinar el exponente que deber tener A, para ser igual a B.
Ejercicio 10. Desarrollar un programa que permita ingresar 4 nmeros cuya
suma representan el 100% de una muestra estadstica y considerando que se
desea representar estos valores en un grafico circular, se pide calcular la
medida de los ngulos (arcos) que le corresponde a cada uno de ellos.
9

GUIA 06
Aplicaciones de estructuras selectivas Uso del Si / if

OBJETIVO:

Aprender a utilizar el flujo de control de un programa.

Utilizar la estructura selectiva Si / if en sus diferentes formas.

Ejercicio 1. Desarrollar un pseudocodigo y su respectivo programa para que


dado un nmero, indique si es par o es impar.
Ejercicio 2. Desarrollar un Algoritmo que indica si un ao es bisiesto. Un ao
es bisiesto si es divisible por cuatro, excepto cuando es divisible por 100, a no
ser que sea divisible por 400. As, 1900 no fue bisiesto, pero 2000 s lo fue.
Ejercicio 3. Calcular el promedio de calificaciones de un alumno. Las dos
primeras notas valen 30% cada una y la tercera 40%. Si el promedio es mayor
o igual a 11 imprimir aprobado, de lo contrario dir reprobado. Si el promedio
es igual a 20, dir alumno excelente. Se desea imprimir el nombre del alumno,
cdigo de la materia y el promedio obtenido.
Ejercicio 4. Dado un nmero introducido por el usuario, indicar si ste es
positivo, negativo o nulo. Resulvelo usando estructura selectiva simple.
Ejercicio 5. Escribir una programa tal que dados los goles del equipo local (gl)
y los goles del equipo visitante (gv), devuelva una cadena de caracteres
indicando qu equipo ha ganado (resultados posibles: local, visitante,
empate).
Ejercicio 6. Dadas las lecturas del valor anterior y el actual de un medidor de
luz, escribir un programa que determine a cunto asciende la factura de la luz
de un determinado usuario. El importe es la suma de la cuota fija (12 soles)
ms una cuota variable que depende del consumo y se calcula por tramos: los
primeros 100 Kws, a 0.06 soles el Kw; los 150 Kws siguientes, a 0.04 soles el
Kw; si el consumo excede de 250 Kws, esa fraccin se cobra a 0.02 soles el
Kw.
Ejercicio 7. Un banco antes de conceder un prstamo, comprueba los ingresos
del solicitante. Si los ingresos son superiores a 12000 soles anuales, el crdito
se concede. Si los ingresos son inferiores a 12000 soles anuales pero
superiores a 10000 soles y el cliente tiene mximo 2 hijos, el crdito se
concede. Tambin se le concede, si tiene ingresos entre 8000 y 10000 soles
pero no tiene hijos. Realizar un programa que pida los ingresos anuales y el
nmero de hijos del solicitante, y diga si se le da el crdito o no.
10

Ejercicio 8. Disee un programa que lea el importe de la compra y la cantidad


recibida y calcule el cambio a devolver, teniendo en cuenta que el nmero de
monedas que se devuelven debe ser mnimo. Suponer que el sistema
monetario utilizado consta de monedas de 100, 50, 25, 5 y 1 unidad, y que hay
capacidad ilimitada de monedas.
Ejercicio 9. Escriba un algoritmo que lea tres nmeros enteros de un supuesto
tringulo, determine si realmente forman un tringulo, y muestre el tipo de
tringulo que es (si es un tringulo).
a) tringulo: La suma de dos cualesquiera de los lados debe ser mayor que
el otro.
b) equiltero: todos los lados son iguales.
c) issceles: solo dos lados son iguales.
d) escaleno: no tiene dos lados iguales.
2) Ejercicio 10. Dos entidades financieras ofrecen las siguientes tasas de
inters simple:

Desarrollar un programa que realice lo siguiente:


Solicite al usuario que ingrese el monto de dinero que desea depositar y el
tiempo (meses) que lo mantendr en el banco.
Determine cual de las dos entidades, A o B, es mas conveniente para
depositar el dinero y muestre un mensaje indicando en que banco debera
el usuario depositar el monto ingresado, y cuanto dinero tendr luego de
transcurrido el tiempo que indico al inicio.
Nota: Para calcular el inters simple se utiliza la siguiente formula:
Inters = Capital * Tasa * Tiempo
Ejercicio 11. Dos vehculos A y B viajan por una pista que tiene una parte
pedregosa entre los 20 y 40 Km., como se muestra en la figura:

Los vehculos parten de los 0km y se sabe que, en terreno pedregoso, el


vehculo A viaja al 80% de su velocidad normal y el vehculo B al 75% de su
velocidad normal.
Desarrollar un programa que realice lo siguiente:
Solicite al usuario que ingrese las velocidades de los dos vehculos en
kilmetros por hora (km/h).
Solicite el ingreso del nmero de horas transcurridas.
Muestre un mensaje indicando que vehculo va adelante (ambos parten
simultneamente) y las posiciones de cada uno de ellos.
Si alguna de las velocidades o el tiempo no es mayor que cero, imprima el
mensaje de error correspondiente.

11

Sugerencia: Calcule primero en que tiempo total se recorre cada segmento de


pista. Luego, compare el tiempo ingresado con dichos tiempos totales para
aplicar las formulas correspondientes.
Ejercicio 12. Determinar la cantidad de dinero que recibir un trabajador por
concepto de las horas extras trabajadas en una empresa, sabiendo que cuando
las horas de trabajo exceden de 40, el resto se consideran horas extras y que
stas se pagan al doble de una hora normal cuando no exceden de 8; si las
horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga
por una hora normal y el resto al triple.

Ejercicio 13. Introducir las notas de un estudinte pp, sp, ef y er (primer parcial,
segundo parcial, examen final y examen recuperatorio). Se desea calcular:

La nota final, reemplazando la nota del examen de recuperacin en la


peor nota de las tres notas anteriores (pp, sp o ef). Se debe tomar en
cuenta que la primera y la segunda nota se califican sobre 30 puntos y la
tercera nota se califica sobre 40 puntos (total = 100 puntos).
Si la nota final es mayor a 51 desplegar el mensaje APROBADO caso
contrario desplegar REPROBADO.

Ejercicio 14. Leer dos numeros reales LS y LI que representan los lmites
superior e inferior de un intervalo, respectivamente. Dado un numero n
determine si dicho numero pertenece al intervalo. En caso contrario, indique si
esta a la derecha o izquierda del intervalo.
Ejercicio 15. Una tienda ha puesto en oferta la venta al por mayor de cierto
producto, ofreciendo un descuento del 15% por la compra de ms de 3
docenas y 10% en caso contrario. Adems por la compra de ms de 3 docenas
se obsequia una unidad del producto por cada docena en exceso sobre 3.
Disee un algoritmo que determine el monto de la compra, el monto del
descuento, el monto a pagar y el nmero de unidades de obsequio por la
compra de cierta cantidad de docenas del producto.
Ejercicio 16. Una compaa dedicada al alquiler de automviles cobra $30
hasta un mximo de 300 Km. de distancia recorrida. Para ms de 300 Km. y
hasta 1000 Km., cobra $30 ms un monto adicional de $ 0.15 por cada
kilmetro en exceso sobre 300. Para ms de 1000 Km. cobra $30 ms un
monto adicional de $ 0.10 por cada kilmetro en exceso sobre 1000. Los
precios ya incluyen el 18% del impuesto general a las ventas, IGV. Disee un
algoritmo que determine el monto a pagar por el alquiler de un vehculo y el
monto incluido del impuesto.

12

Ejercicio 17. Disee un algoritmo para obtener el grado de eficiencia de un


operario de una fbrica de tornillos, de acuerdo a las siguientes condiciones,
que se le imponen para un perodo de prueba:
- Menos de 200 tornillos defectuosos.
- Ms de 10000 tornillos producidos.
El grado de eficiencia se determina de la siguiente manera:
- Si no cumple ninguna de las condiciones, grado 5.
- Si slo cumple la primera condicin, grado 6.
- Si slo cumple la segunda condicin, grado 7.
- Si cumple las dos condiciones, grado 8.

13

GUIA 07
Aplicaciones de estructuras selectivas Uso del Si / if

OBJETIVO:
Aplicar estructuras selectivas Uso de Segn _ Sea /
Switch.
Aplicar Estructuras de decisin anidadas.

Ejercicio 1. Desarrollar un pseudocodigo y su respectivo programa para


realizar la lectura de un numero entre 1 y 10 para escribirlo en su equivalente
en romano.
Ejercicio 2. Desarrollar un programa que permita ingresar una fecha como DD,
MM, AA y escribir la fecha en formato largo.
Ejercicio 3. Escribir un programa para ingresar dos nmeros y el signo de la
operacin aritmtica que se debe resolver, desarrollar la operacin y escribir el
resultado.
Ejercicio 4. Elaborar un programa que
presente un men por el cual se pueda
elegir la figura geomtrica para la cual se
desea calcular su rea, una vez
seleccionada la figura ingresar los datos
que sean necesarios para realizar el
calculo, calcular su superficie y escribir el
resultado.

Ejercicio 5. Elabore una aplicacin en


C#, para calcular el importe de una llamada Telefnica internacional. El importe
de la llamada telefnica est en funcin del nmero de minutos hablados y de
la zona a la cual se llama, de acuerdo a la Siguiente tabla:
El
de
sc
ue
nto
se
rea
liza solamente para llamadas de ms de 10 minutos.
14

Se ingresa el nmero de minutos hablados y el cdigo de la zona a la cual se


llama. Verifique que estos datos sean positivos.
Ejercicio 6. Escribir un programa para ingresar las notas de dos exmenes de
alumno, calcular el promedio y si el promedio es mayor o igual a 08 se ingresa
una tercera nota Recuperacin, que se debe promediar con el promedio
anterior para obtener el promedio final.
Ejercicio 7. Modifica el ejercicio anterior de
tal forma que se pueda obtener un mensaje
adicional que indique el nivel del estudiante
de acuerdo a la tabla de la figura adjunta.

Ejercicio 8. En una empresa se har un aumento al salario de acuerdo al


tiempo de servicio, para este aumento se tomar en cuenta lo siguiente:
Tiempo de servicio: de 1 a 5 aos

Aumento: S/. 100.

Tiempo de servicio: de 5 a 10 aos

Aumento: S/. 250.

Tiempo de servicio: de 10 a 20 aos

Aumento: S/. 400.

Tiempo de servicio: de 20 aos a ms

Aumento: S/. 550.

Escribir un programa que lea el tiempo de servicio de los trabajadores y calcule


el monto de aumento que le corresponde.
Ejercicio 9. El Instituto Peruano del Deporte (IPD) esta interesado en
promover el basketball y para ello necesita seleccionar personas que tengan
las siguientes caractersticas: EDAD: menor de 18 aos, ESTATURA: mnimo
1.80 cm., y PESO: mximo 80 Kg. Elabore un programa que le de entrada a los
datos de los aspirantes, verifique las condiciones y al que las cumpla imprima
su nombre.
Ejercicio 10. Teniendo en cuenta el ejercicio anterior considerar que la
seleccin se amplia a tres nuevas disciplinas y la seleccin se realiza de
acuerdo a la tabla.

Elabore un programa que le de entrada a los datos de los aspirantes, verifique


las condiciones y al que las cumpla imprima su nombre.

15

GUIA 08
APLICACIONES DE ESTRUCTURA REPETITIVA
MIENTRAS /WHILE

OBJETIVOS:

Saber utilizar adecuadamente la estructura de control


repetitiva while en la resolucin de problemas.

Utilizar el do while para validaciones de datos.

Utilizar variables de tipo acumulador y contador.

Utilizar variables centinela.

Ejercicio 1. Usando la instruccin mientras hacer un algoritmo para un


programa que imprima la serie 1, 3, 5, 7,9.
Ejercicio 2. Hacer un algoritmo para un programa que encuentre el primer
entero que haga que la suma de la serie 1, 2, 3, 4, 5, 6, 7, 8,9,...; supere 30.
Ejercicio 3. CONJETURA DE ULAM: Empiece con cualquier nmero entero
positivo. Si es par divdalo entre 2; y si es impar multiplique por 3 y aumente en
1. Obtngase enteros positivos repitiendo el proceso hasta llegar a 1. Ejemplo
si empezamos en 5 la serie sera: 5, 16, 8, 4, 2, 1.
Haga el algoritmo para un programa que nos permita obtener secuencias de
nmeros como las anteriores.
Ejercicio 4. Hacer el algoritmo para un programa que calcule la suma de
ciertos nmeros ingresados por el teclado. El clculo de la suma se har en
cualquier momento
Ejercicio 5. Escribir un algoritmo para un programa que imprima la siguiente
tabla de temperaturas Fahrenheit y Celsius. Sugerencia
F C
32 0
34 1,1111
36 2,2222
... ...
100 37,778
Ejercicio 6. Escriba el algoritmo para un programa que evale la funcin,
donde x toma los valores de 1 a 2 en pasos de 0.1. Para cada valor de x la
salida debe dar el valor de y el mensaje POSITIVO o NEGATIVO segn el
caso. Ejm: si y= 1.0 POSITIVO, Y=-1 NEGATIVO.
Ejercicio 7. Escriba el algoritmo para un programa de nmina usando un ciclo
mientras con centinela. Para cada empleado, el programa debe leer el nombre,
sexo, horas de trabajo, sueldo por hora e imprimir el pago. La segunda parte

16

debe imprimir el pago promedio para las mujeres y el pago promedio para los
hombres.
Ejercicio 8. Las potencias de 2 son: 1, 2, 4, 8,16,..... Para obtener la siguiente
potencia se multiplica la anterior por 2. Escribir el algoritmo para un programa
que imprima la primera potencia de 2 que pasa de 1000.
Ejercicio 9. Escriba un algoritmo para un programa en el que el usuario debe
introducir enteros positivos entre 1 y 5. El programa debe informar al usuario
cuando haya escrito un nmero que hace que la suma pase de 21, imprimiendo
la suma y el ltimo entero introducido y el mensaje "mas de 21".
Ejercicio 10. Escriba el algoritmo para un programa que imprima la sucesin
completa de ULAM para un entero de entrada, si la longitud de toda la sucesin
es no ms de 10. En caso contrario slo se imprimir los 10 primeros enteros
de la sucesin. Haga las pruebas de mano para sucesiones de menores de 10
nmeros iguales a 10 y mayores de 10.
Ejemplo
5: 16, 8, 4, 3, 1.
25: 76, 38, 19, 58, 29, 88, 44, 22, 11,34.
x

Ejercicio 11. e se puede expresar como la siguiente serie infinita.

Si se considera 1 como el trmino 0, x como el primer trmino, como el


segundo trmino, como el tercer trmino, etc; entonces el trmino n es igual al
trmino n-1 multiplicado por. Haga el algoritmo para un programa basado en
esta serie para encontrar una aproximacin a . El programa debe parar cuando
el ltimo trmino sumando sea menor de 0.0001. Compruebe el programa
para y compare con el valor de la funcin que devuelve este valor ( ) en
cualquier lenguaje de programacin.
Ejercicio 12. Escriba el algoritmo para un programa que cuente el nmero de
cifras de un entero de entrada hasta 32000. As para una entrada de 583 la
salida debe ser "3 cifras", asegrese que el programa funcione para 1 y 10.
Para cero la salida debe ser "UNA CIFRA". El programa no debe cerrarse hasta
ingresar el nmero 0.
Ejercicio 13. Escriba el algoritmo para un programa en el que se pida al
usuario ingresar 10 nmeros enteros impares para sumarlos. Elabore el
programa de manera que no se arruine si el usuario escribe algunos enteros
pares. El programa debe salir del ciclo e imprimir la suma slo cuando se
hayan ingresado los 10 enteros impares.
Ejercicio 14. Que salida producen los siguientes fragmentos de cdigo?
a) y =20;
while (y > 0)
y:= y-3;
Console.WriteLine(y);

b) y:=10;
while (y >0)
y =y+4
Console.WriteLine(y);

17

GUIA 09
APLICACIONES CON ESTRUCTURAS REPETITIVAS
DO WHILE /

FOR

OBJETIVOS:

Saber utilizar adecuadamente la estructura de control


repetitiva for en la resolucin de problemas.

Utilizar el do while para validaciones de datos.

Utilizar variables de tipo acumulador y contador.

Ejercicio 1. Hacer el algoritmo para un programa, que calcule la mxima rea


de un terreno rectangular de lados 100-2x y x respectivamente, para valores
de x entre 15 y 30.
Ejercicio 2. Hacer el algoritmo para un programa que calcule el mayor y el
menor nmero de 8 nmeros ingresados por el teclado.
Ejercicio 3. Hacer el algoritmo para el ejercicio 1, para encontrar solamente el
valor de la mayor rea e imprimir el valor de x para el esta rea mxima.
Ejercicio 4. Escrbase el algoritmo para un programa en el que se pide al
usuario ingresar el nombre, sexo, nmero de horas de trabajo y el sueldo por
hora para cada uno de seis empleados. La primera parte de la impresin en el
papel debe dar el nombre y el pago para cada empleado. La segunda parte
debe dar totales separados y pagos promedios separados para hombres y para
mujeres. El programa puede suponer que hay al menos un empleado de cada
sexo.
Ejercicio 5. Escriba un algoritmo que muestre y cuente la cantidad de nmeros
primos entre 100 y 500.
Ejercicio 6. Escriba el algoritmo para un programa que imprima la suma de 15
elementos de la serie: 1/2 +3/4 +7/8 +15/16...
Ejercicio 7. Escriba el algoritmo para un programa que calcule el factorial de
un nmero n ingresado por el teclado.
Ejercicio 8. Para "Gaseosas Amazona" escriba el algoritmo para un programa
que procese e imprima la informacin de la nmina de sus diez empleados.
Para cada caso, el programa debe leer el nombre, las horas de trabajo, el pago
por hora normal y la edad.
Ejemplo: Un grupo tpico de datos podra ser:
NOMBRE

N.H.T.

P.H.

Juan Sopla

50

EDAD
57

18

El pago por hora despus de las 40 horas de trabajo tiene un aumento


equivalente al 50% del pago por hora normal. As, un empleado que trabaja 50
horas a S/. 5.00 por hora tendr un pago total de S/. 275.00. Al trabajador se le
retiene un impuesto de la siguiente manera:
10% de los primeros S/.200.00 y 20% de la cantidad adicional. La primera parte
de la impresin en papel debe ser la informacin relevante de cada empleado.
Ejemplo:
Nombre
Edgar Jara

Total
275

Horas de trabajo
50

Impuesto
35

Sueldo por hora Neto


5
240

Edad
57

La segunda parte debe informar sobre el pago total promedio para los
empleados de al menos 55 aos. El nombre y el pago total para el empleado
de menos de 55 aos con mximo pago total (se puede suponer que no hay
empate).
Ejemplo
Nombre
Ada
Maria
Dario
Mirta
Sara
Miura
Jorge

NHT
50
60
45
50
50
70
45

PagoH
5
4
6
6
10
7
10

Edad
40
15
58
60
40
80
52

Total
275
280
285
330
550
595
475

Des1
35
36
37
46
90
99
75

Neto
240
244
248
284
460
496
400

La solucin sera: Empleado menor de 55 aos con mximo sueldo es Sara


con 460 soles.
El promedio del sueldo para los empleados mayor de 55 aos es: 342.667
soles
Ejercicio 9 .Escriba el algoritmo para un programa Interactivo para calificar a
un grupo de 40 alumnos de la UNAT-A. El programa debe leer el nombre y sus
3 calificaciones para cada alumno. Debe calcular el promedio para cada uno y
despus determinar si el alumno es aprobado o no; se requiere un promedio de
al menos 12 para aprobar. La primera parte de la salida en el papel debe ser el
nombre del alumno, 3 calificaciones, promedio y un mensaje (aprobado
desaprobado). La segunda parte de salida en el papel debe dar el nmero de
alumnos que aprobaron y el nmero de los que obtuvieron al menos 18 de nota.
Ejercicio 10. Escriba el algoritmo para un programa que calcule la suma de n
de trminos ingresado por el teclado de la serie 5/6,11/12,23/14,.....
Ejercicio 11. Hacer el algoritmo para un programa que imprima 3 grupos, 5
veces "CHACHAPOYAS" en cada grupo. Antes de cada grupo deber decir
"HOLA".
Ejercicio 12. Escribir un cdigo que resuelva la siguiente suma (n lo
proporciona el usuario)
S = 1 /2 + 1/3 + 1/4 + + 1/n

19

Ejercicio 13. Escribir un cdigo que resuelva la siguiente suma (n es


proporcionada por el usuario)
S = 1 /2 + 2/22 + 3/23 + 4/24 + n/2n
Ejercicio 14.. Escriba un programa que calcule si un numero N es perfecto.
Los nmeros perfectos se caracterizan porque la suma de sus divisores
positivos (excepto el mismo numero) es igual al numero, por ejemplo 6 es
perfecto dado que 1 + 2 + 3 = 6
Ejercicio 15. Escriba un programa que tenga como salida lo siguiente.
a
ae
aei
aeio
aeiou
aeio
aei
ae
a
Ejercicio 16 .Modificar el programa anterior para que dada una letra dibuje el
siguiente pino, suponiendo que la letra dada sea h
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefg
abcdef
abcde
abcd
abc
ab
a
Ejercicio 17. Mostrar este grafico
@@@@@@@@@@
@@@@@@@@@@
@@@@@@@@@@
Ejercicio 18. Crear un programa que lea un nmero entero y a partir de l cree
un cuadrado de asteriscos con ese tamao. Los asteriscos slo se vern en el
borde del cuadrado, no en el interior-

20

Ejercicio 19. Crear un programa para calcular el salario semanal de unos


operarios a los que se les paga 15 soles por hora si stas no superan las 35
horas. Cada hora por encima de 35 se considerar extra y se paga a 22 soles.
El programa pide las horas del trabajador y devuelve el salario que se le debe
pagar. Adems el programa debe preguntar si deseamos calcular otro salario,
si es as el programa se vuelve a repetir
Ejercicio 20 Se desea realizar una estadstica de los pesos de los alumnos
de un colegio de acuerdo a la siguiente tabla
:-Menos de -Entre 40 y 50 -Ms de 50 y menos de -Ms igual a 60 kg.
40 kg.
kg.
60 kg.
La entrada de datos termina cuando se ingresa peso 0
Ejercicio 21. Crear el programa en el que se introduce un nmero entero y se
crea una pirmide de asteriscos. Por ejemplo si se introduce el 6, el resultado
sera:
*
***
*****
*******
*********
***********
Ejercicio 22. Modificar el ejercicio anterior para que aparezca un rombo.
Ejercicio 23 Crear un programa que escriba dos columnas de nmeros, en la
primera se colocan los nmeros del 1 al 100, en la segunda los nmeros del
100 al 1
Ejercicio 24. Crear un programa en C# que lea un nmero entero y positivo y
que escriba tres columnas. La primera cuenta desde uno hasta el nmero
escrito contando de uno en uno; la segunda columna cuenta de dos en dos y la
tercera de tres.
Ejercicio 25 Crear el programa tablaMultiplicar que escriba la tabla de
multiplicar del nmero 1 al nmero 15
Ejercicio 26. Crear un programa que muestre un men como este:
1) Salir
2) Sumatorio
3) Factorial
Tras mostrar el men, el programa debe leer un nmero del 1 al tres si se elige
1, el programa acaba. Si se elige 2 se calcula el sumatorio del nmero, si se
elige 3 se calcula el factorial (en ambos casos el programa pedir escribir el
nmero sobre el que se calcula el sumatorio o el factorial). Tras calcular el
sumatorio o el factorial e indicar el resultado, el programa volver a mostrar el
men y as sucesivamente.

21

Ejercicio 27 Crear un programa que lea un nmero e indique su valor en la


sucesin de Fibonacci (llamarle Fibonacci).
Esta sucesin calcula su valor de la siguiente manera. Slo es vlido para
nmeros positivos, si el nmero es un uno, la sucesin vale 1 si es dos, la
sucesin vale 2. Para el resto la sucesin es la suma de la sucesin de los dos
nmeros anteriores.
Es decir, para 7 el valor sera lo que valga la sucesin de 6 ms la sucesin de
cinco.
Ejercicio 28. Se dispone de las notas de 3 alumnos. Cada uno de ellos puede
tener una o varias notas. Escribir un algoritmo que permita obtener la media de
cada alumno y la media de la clase a partir de la entrada de las notas desde el
Terminal.

Ejercicio 29. Imprimir todos los nmeros primos entre 2 y 1000 inclusive.

Ejercicio 30 Rellenar una matriz identidad de 4 por 4 elementos

22

Ejercicio 31. Leer 100 nmeros y determinar la media de los nmeros positivos
y la media de los nmeros negativos.

Ejercicio 32. Calcular el ensimo trmino de la seria de Fibonacci.

Ejercicio 33. Imprimir una tabla de multiplica 15 x 15.

23

GUIA 10
APLICACIONES CON ARREGLOS UNIDIMENSIONALES I

OBJETIVOS:

Desarrollar aplicaciones que utilicen las operaciones bsicas


con arreglos unidimensionales o vectores (asignacin,
lectura, escritura, recorridos de un vector (mximos,
mnimos, contar, acumular, etc.), insercin, y borrado.
Desarrollar aplicaciones con vectores contadores y
acumuladores.
Desarrollar aplicaciones que realicen operaciones con ms
de un vector.

Hacer el algoritmo en pseudocodigo (PseInt) y su cdigo en C# de cada uno


de los problemas propuestos.
Recorridos en un vector:
Problema 1. Ingresar por teclado los sueldos de N empleados y calcular el
promedio, minimo y maximo sueldo. El numero de empleados y los sueldos deben
ser ingresados por teclado.
Problema 2 Inicializar los nombres de 6 vendedores y leer sus ventas durante un
mes. Calcular y mostrar la comision, si esta se calcula asi: Para las ventas por
encima del promedio la comision es del 20%, en caso contrario la comision es del
15% sobre las ventas
Problema 3. En un arreglo unidimensional se ha almacenado el nmero total de
toneladas de cereales cosechadas durante cada mes del ao anterior. Se desea
obtener la siguiente informacin: a) El promedio anual de toneladas cosechadas,
b) Cuntos meses tuvieron una cosecha superior al promedio anual?, c)
Cuntos y en que meses tuvieron una cosecha inferior al promedio anual?
Problema 4. Hacer un programa que permita ingresar por teclado una cantidad de
nombres y sus respectivas notas y luego mostrarlas en pantalla. Debe tambin
contar las notas superiores al Promedio e indicar los nombres de los alumnos que
tuvieron dichas notas.
Problema 5 Se tienen los vectores paralelos que almacenan los nombres de los
pacientes de una clnica y su respectivo numero de cama. Hacer una aplicacin
que permita ingresar elementos a los vectores o retirarlos, segn que los pacientes
ingresen a la clnica o sean dados de alta. Considere un mximo cupo de camas
en la clnica (ejemplo 30 camas). Use un men de opciones.
Problema 6. Escribir un programa que almacene en un vector los nmeros primos
comprendidos entre 1 y 100. Recuerde que un nmero primo es aquel que

24

nicamente es dividido entre el mismo y la unidad.


1,2,3,5,7,11,13,17, . No primos: 4,6,8,9,1214,15,

Por ejemplo, Primos:

Problema 7. Crear un vector de n elementos. Visualizarlo luego de desplazar los


elementos una posicin de tal forma que el ltimo elemento ocupe la primera
posicin, el primero la segunda y as sucesivamente.
Problema 8. Generar un vector de N ceros y unos alternativamente, luego imprima
de cuantos unos quedo formado.
Problema 9. En una central de autobuses. Al comprar o reservar un boleto el
pasajero proporciona su nombre y selecciona el nmero de asiento. Los autobuses
cuentan con 42 asientos, aunque sin embargo no siempre se ocupan todos los
asientos. Realice un programa que dada una reservacin o compra de boletos de
un autobs, imprima una lista de los pasajeros y las posiciones que ocupan.
Problema 10. Cargar dos vectores de 11 elementos cada uno. Uno de ellos
contendr el nombre de los jugadores de un equipo de ftbol infantil; el otro el
peso de cada jugador. Se desea saber:
a) La cantidad de jugadores con peso entre 30 y 35 Kg inclusive.
b) La cantidad de jugadores con peso entre 36 y 40 Kg inclusive
c) La cantidad de jugadores con peso mayor a 40 kg.
d) El promedio de peso de los jugadores del equipo
c) Un listado de jugadores con su peso correspondiente
d) El jugador de mayor peso
Operaciones con varios vectores:
Problema 11 Hacer un programa que calcule el pago por cada curso y el
pagoTotal que debe realizar un alumno al matricularse, si para ello cuenta con la
siguiente informacin ingresada por teclado: el numero de cursos que lleva, un
vector con la cantidad de creditos de cada uno de los cursos. Considere que el
pago por cada credito es un valor constante de 120 soles.
Problema 12. Hacer un programa que calcule las ganancias que se obtienen en
una bodega, en cada uno de los N meses, si se ingresan por teclado el numero de
meses (N) y los ingresos y egresos en cada uno de los meses. Se debe mostrar
un reporte con los ingresos, egresos y ganancia en cada mes.
Problema 13 Se desea pintar N paredes de dimensiones rectangulares diferentes,
para ello se tomaron el largo y ancho de cada una, se halla el rea cada una y se
guarda en un vector, para luego ordenarlas de menor a mayor, visualizar como
qued luego de ordenarlas, as mismo mostrar el costo de mano de obra para
pintarlas, si el costo de pintado por metro cuadrado es de 10 soles y la cantidad
de pintura y costo en pintura si el rendimiento de pintura es de 25 m2/galn (2
manos), teniendo en cuenta que el costo por galn es de 30 soles. Debe
mostrarse este reporte:
Area

costo-mano obra

Galon_pintura

costo-pintura

costo_pared

99.9

99.9

99.9

99.9

999.99

99.9

99.9

99.9

99.9

999.99

99.9

99.9

99.9

99.9

999.99

TOTAL

999.9

999.9

999.99

999.99

Costo/pared = costo mano de obra + costo de pintura


25

Vectores contadores y acumuladores:


Problema 14. Hacer un programa que calcule la frecuencia con que se repiten las
notas ingresadas por teclado, si se ingresan N notas hasta que el usuario lo decida.
Debe mostrarse el vector de frecuencias y el promedio de las notas. Se asume
que las notas oscilan entre 0 y 20.
Problema 15. El gerente de un supermercado que cuenta con 8 cajas
registradoras, le ha pedido hacer un programa que permita el acceso a las 8 cajas
de manera que se pueda registrar el monto de las ventas en cada caja, asi como
el monto total recaudado en las 8 cajas. Por cada transaccion (venta) se solicita
ingresar el monto de venta y el numero de caja en que se realiza la transaccin.
Las transacciones se repiten hasta que el usuario lo decida.
Varios:
Problema 16. Cargar un vector de 35 elementos y mostrar por pantalla el valor
que ms veces se encuentre repetido.
Problema 17. Dado un vector de N valores enteros, se desea eliminar los
repetidos. Ejemplo:
VEC = (2,3,2,1,6,2,6,4,2,6) VEC = (2,3,1,6,4)

Problema 18. Una empresa que administra un eventos que consiste de dos
talleres y un congreso, debe reportar la siguiente informacin:
Evento: nombre del evento
Congreso: nombre congreso
Taller I: nombre de taller 1
Taller II: nombre del taller 2
Participantes en el Congreso (listado DNI y nombres de los inscritos, indicando los
ponentes)
Participantes en el Taller I (listado DNI y nombres de los inscritos)
Participantes en el Taller II (listado DNI y nombres de los inscritos)
Ingresos totales del Evento
Ingresos por cada taller y por el congreso
Sabiendo que los talleres son opcionales; es decir: un participante puede
inscribirse en el Congreso y en un slo taller o asistir nicamente al congreso. El
costo del congreso es independiente del costo de un taller, mientras que ambos
talleres cuestan lo mismo. Si el participante es ponente; o sea, que va a presentar
un trabajo en el congreso, su costo de inscripcin en ste se reduce a la mitad.
Considere costo del Congreso 100 soles, el costo de los talleres 30 soles
Problema 19. Una empresa tiene E empleados para cada uno de los cuales
registra los siguientes datos: Nombre, DNI, Sueldo base, Ventas realizadas,
Estado civil, Nmero de Hijos.
El programa debe calcular para cada empleado el sueldo neto mediante la relacin
siguiente:
Sueldo Neto = Sueldo base + Comisin por ventas Descuento por impuesto Descuento por
seguro.
26

Donde: la comisin por ventas es el 5% de las ventas realizadas


El descuento por seguro se obtiene como sigue:
Si el empleado es soltero el descuento es de 100
Si el empleado es casado sin hijos el descuento es de Bs. 150
Si el empleado es casado con hijos el descuento es de Bs. 50 + 8 por cada
hijo
El descuento por el impuesto (DI) se obtiene como sigue: Suponga que llamamos
TA a la suma del sueldo base + comisin por ventas, entonces:
Si TA es menor o igual a 400 DI = 0
Si TA es mayor que 400 y menor o igual a 800 DI = 3% de TA
Si TA es mayor que 800 y menor o igual a 1000 DI = 4% de TA
Si TA es mayor de 1000 DI = 6% de TA
El programa debe imprimir DNI, nombre y sueldo neto para cada empleado, el
monto total que la empresa debe pagar por concepto de sueldos, el monto total
por comisiones de ventas, el monto total de los descuentos por impuesto y por
seguro.
Problema 20. Una investigacin sobre licencias se lleva a cabo mediante el
llenado de un cuestionario que tiene la siguiente informacin:
ASUNTO
Tipo de licencia

CODIGO DE RESPUESTA
1 = corredor
2 = vendedor

Edad

Aos de edad

Educacin

1 = educacin media incomple


2 = educacin media completa
3 = educacin tcnica complet
4 = grado universitario

El problema consiste en analizar N cuestionarios y calcular:


a) Porcentaje de corredores y vendedores
b) Edad promedio
c) Cantidad de respuestas segn su nivel de educacin
e) Quienes tienen mayor nivel educativo los corredores o los vendedores
Problema 21 Se tiene un arreglo que contiene datos duplicados, recorrer el
arreglo sustituyendo el valor de 0 en los valores que se encuentran duplicados.
8 6 3 8 3 7 1 8
8 6 3 0 0 7 1 0
Problema 22. Por medio de un arreglo de un solo ndice resuelva el siguiente
problema. Una compaa paga a sus vendedores con base en una comisin. Los
vendedores reciben $200 a la semana ms 9% de sus ventas netas durante la
27

semana. Por ejemplo, un vendedor cuyas ventas brutas son de $5000, a la semana
recibe $200 ms 9% de $5000, es decir un total de $650. Escriba un programa (con
un arreglo de contadores) que determine la cantidad de vendedores que ganaron
salarios dentro de los siguientes rangos (suponga que el salario de cada vendedor
se cierra a una cifra entera):
a) $200 - $299
b) $300 - $399
c) $400 - $499
d) $500 - $599
e) $600 - $699
f) $700 - $799
g) $800 - $899
h) $900 - $999
i) $1000 o ms
Problema 23. Nuestro siguiente programa, HISTOGRAMA.CPP, lee la
informacin en forma de un grfico de barras o histograma, barra consistente
en la misma cantidad de asteriscos. El siguiente programa, ESTADSTICA.CPP,
muestra un ejemplo en los que se utiliza la computadora para recolectar y
analizar los resultados de las encuestas y sondeos de opinin. Utiliza el arreglo
respuestas, inicializado con 100 respuestas (representadas por la constante
TAMANO_RESPUESTAS de una encuesta. Cada una de las respuestas es un
nmero del 1 al 9. El programa calcula la media, la mediana y la moda de los
99 valores.

28

GUIA 11
APLICACIONES CON ARREGLOS UNIDIMENSIONALES II
Ordenamiento por mtodo de burbuja y Bsqueda
secuencial

OBJETIVOS:

Desarrollar aplicaciones que utilicen los mtodos


ordenamiento creciente o decreciente de un vector

Desarrollar aplicaciones que utilicen el metodo de busqueda


secuencial..

de

BUSQUEDA:
Problema 1 Buscar el cdigo de un paciente; si lo encuentra mostrar su nombre y
su Diagnostico; y si no lo encuentra muestre un mensaje adecuado. Repetir hasta
que el usuario lo decida.
Problema 2. Inicializar los vectores paralelos, codigo nombre, sexo, y promedio
ponderado de 10 alumnos. Hacer un programa que permita la busqueda por codigo
si lo encuentra muestre el nombre del alumno su sexo y su promedio ponderado
debe mostrar un mensaje tambien indicando si el promedio es aprobatorio o no.
Problema 3 Hacer un programa que busque el codigo de un empleado en un array
de codigos ordenados en orden creciente. Si lo encuentra muestre su nombre y su
sueldo actualizado de acuerdo al estado civil: casado incrementa el sueldo en 20%
y los solteros en 15%. Debe inicializarse los codigos, nombres y estado civil de los
N empleados. Si no lo encuentra muestre un mensaje adecuado. Repetir hasta que
ingrese 0 como codigo.
Problema 4 Buscar por codigo en un vector CodigoProd, que almacena los codigos
de N productos paralelos a otros(precio unitario y cantidad en almacen). Si lo
encuentra mostrar sus datos respectivos y efectuar una compra por una cantidad de
unidades actualizando las unidades en el almacen. Se debe mostrar el monto
parcial de la venta. Cuando termina la compra mostrar el monto total de la venta
Ing. Codigo del producto: 99
Xxxxxx precio: 99.99 unidades: 999 en almacen
Cuantas unidades desea ? 99
Xxxxxxx 99.99 99 S/. 99.99 de monto parcial
Otra compra S/N ? S

...
Otra compra S/N ? N
S/. 999.99 por la compra total.

29

ORDENAMIENTO
Problema 5. Inicializar un arreglo que almacena los nombres de 10 vendedores,
luego leer sus ventas en el mes y finalmente ordenarlos en orden decreciente. Se
debe mostrar los arreglos paralelos, donde se aprecie las ventas ordenadas.
Problema 6. Dados los arreglos paralelos que almacenan los datos de los
vendedores de una empresa: nombre, sexo, VentaMensual, se pide ordenarlos en
orden decreciente segn las ventas mensuales, b) en orden alfabetico segn el
nombre, en orden creciente segn el sexo.

30

GUIA 12
APLICACIONES CON ARREGLOS BIDIMENSIONALES I
(o Matrices)

OBJETIVOS:

Desarrollar aplicaciones que utilicen la estructura de datos


array bidimensional, con las principales operaciones sobre el:
recorrido, suma por filas, suma por columnas, operaciones
basicas con matrices

Problema 1. Dada una matriz A de orden NxM hallar su matriz transpuesta


Problema 2. Dada dos matrices A y B de orden NxM calcular la suma
Problema 3. Escribir un programa que genere dos matrices de dimensiones NxM y
MxP a partir de los valores ledos por teclado, y realice el producto de las dos
matrices, mostrando la matriz resultante.
Problema 3. Introducir un valor del 1 al 20 en un arreglo bidimensional de 5 filas y 4
columnas, el nmero que se introduzca, digamos 3 debe almacenarse en la casilla
correspondiente; y los dems valores valdrn 0; si se ingresa el 15; si se ingresa el
8 y as sucesivamente, se tendra esta matriz:
0
0
0
0
0

0
0
0
0
0

3 0
0 8
0 0
15 0
0 0

Los valores solo van a ser validos del 1 al 20; si yo pongo otro
fuera de ese parmetro me debe de rechazar el valor y pedir otra
vez el valor. Tambin debe pedir si se quiere introducir mas datos,
y mostrar la tabla; si se introduce un valor ya repetido que debe
marcar que el dato ya existe, mostrar el mensaje para introducir
nuevamente.

Problema 4. Un comercio utiliza para la atencin a sus clientes 5 cajeros (1,2,3,4,5)


por cada transaccin se ingresa el numero de cajero e importe de la transaccin,
que puede ser retiro, deposito y otros. El proceso finaliza cuando en nmero de caja
se ingresa cero. Determinar: a) total de ingresos, retiros y otros en cada caja b) cual
fue el cajero con menos ingresos y con mayores retiros c) visualizar el total por cada
caja.
Problema 5.
En un arreglo se almacenan las X calificaciones finales en el primer ciclo de Y
alumnos. Escriba un programa que calcule e imprima:
a) El promedio ponderado en el ciclo de cada alumno, si paralelo a las
calificaciones por curso se tiene los crditos de cada curso del primer ciclo.
b) Numero de cursos aprobados y desaprobados de cada alumno
31

c) Porcentaje de alumnos con promedio ponderado aprobado en el ciclo.


d) Nmero de alumnos con promedio mayor o igual a 8.
Problema 6.
Se desea desarrollar un programa que relacione la informacin de los sntomas
que padece un paciente con la informacin de los sntomas de las diferentes
enfermedades. El nombre de los pacientes debe colocarse en un vector, el nombre
de las enfermedades debe colocarse en otro vector, la informacin sobre los
sntomas de cada paciente est codificada en una matriz en donde las filas
representa cada paciente y las columnas los diferentes sntomas que padece y la
informacin de los sntomas de cada enfermedad debe colocarse en una matriz en
donde las filas representan las diferentes enfermedades y las columnas los
sntomas de cada enfermedad. Las matrices de sntomas tendrn solamente los
valores verdadero o falso, en donde verdadero representa que el sntoma est
presente en la enfermedad o en el paciente, segn sea el caso, y falso lo contrario.
El programa debe:
Generar un reporte de los pacientes con la enfermedad que padecen
Generar un reporte con la enfermedad ms comn, el nmero de pacientes que la
tienen y el porcentaje.
Generar un reporte con la enfermedad menos comn, el nmero de pacientes que
la tienen y el porcentaje.
Problema 7. Escribir un programa que determine si un matriz A de NxN es
simtrica o no. La matriz es simtrica si se cumple que A[i][j]=A[j][i].
Problema 8. Escribir un programa que lea los elementos de una matriz A de
NxN y retorne la transpuesta de A en otra matriz B de NXN, tal que B[i][j]=A[j][i].
Problema 9. Hacer un algoritmo que permita obtener el productos de dos
matrices A[i][j] y B[j][k].
Problema 10. Hacer un algoritmo que permita rotar los elementos del contorno
de una matriz NxM en sentido horario (Los elementos internos sern ceros)
Problema 11 Obtener la transpuesta de una matriz
a) cuadrada
b) no cuadrada (teniendo en cuenta de que tamao deber ser la nueva
matriz)
Problema 12. Se tiene una matriz, intercambiar los elementos de 2 renglones
seleccionados por el usuario.
Problema 13. Obtener en un arreglo la suma de los elementos de cada
columna par de una matriz y el producto de los elementos de cada columna
impar de la misma matriz.

32

Problema 14. Imprimir las siguientes figuras:


a) +
++
+++
++++
+++++
++++++
b)

c)

+
+++
+++++
+++++++
+++++
+++
+
++++++
+++++
++++
+++
++
+

Problema 15. Se tiene un arreglo bidimensional (matriz) que almacena los


sueldos de los docentes de la universidad Sedes Sapientiae en los meses de
Abril a Agosto del 2002. Hacer un algoritmo y programa que a) muestre los
sueldos totales de cada profesor en semestre 1 del ao 2002. b) muestre la
suma de los sueldos en cada mes entre Abril y Agosto. c) El total de los
sueldos en el ciclo 1 del 2002.
Problema 16. En una tabla gasto se guardan los gato de una empresas
durante los 12 meses de ao, en cada uno de sus 15 rubros : tiles de oficina,
telfono luz agua salario alquiler, etc. Hace una algoritmo que me permita
determinar a) El total de los gasto mensualde GM. B) Los gasto anuales de
cada uno de los 15 rubros. GAPR. c) En que rubro se da el mayor gasto anual.
D) En que rubro se da menor gasto anual. E) En que mens durante el ao se
produjo el mayor gasto.
I j RUMBROS
M 1 2 3 4 5
1
2
3
4
5
6
7
8
9
10

10 11 12 13 14 15

GM
GmI

33

11
12
GAPR

GARPj

Problema 17. Un instituto desea controlar los resultados de los alumnos en las
distintas asignaturas de la facultad de Ingeniera. El programa debe ingresar las
calificaciones de los alumnos y visualizar en pantalla la media de notas por
alumno y la media de notas por asignatura.
Las asignaturas estn codificadas de 1 a 6 y hay 30 alumnos.

34

GUIA 13
APLICACIONES CON ARREGLOS BIDIMENSIONALES II
(o Matrices)

OBJETIVOS:

Desarrollar operaciones con varios matrices: suma, resta,


multiplicacion.

Desarrollar operaciones con matrices y vectores.

Matrices como contadores y como acumuladores

Problema 1: Una empresa importadora de equipos y repuestos compra N


(mximo 20) diferentes artculos de 4 pases.
Desarrolle un programa que realice lo siguiente:
Ingrese los nombres de los N artculos
Ingrese los nombres de los 4 pases
Ingrese en una matriz el precio que cada artculo tiene en cada pas.
Este ingreso se har en el mismo orden en que se ingresaron los
nombres de los artculos ( es decir: precios del primer artculo en los 4
pases, luego precios del segundo artculo en los 4 pases, etc.)
Problema 2: Se desea escribir un programa que permita manejar la
informacin de habitantes de un complejo habitacional. El mismo posee 7
torres; a su vez cada torre posee 20 pisos y cada piso 6 departamentos.
Se desea saber:
a) Cantidad total de habitantes del complejo
b) Cantidad promedio de habitantes por piso de cada torre
c) Cantidad promedio de habitantes por torre
Problema 3: En cada una de las 4 semanas (1 mes) 3 compaas clientes hacen
pedido por cierta cantidad de levadura, cuyos valores son ingresados por teclado.
Hacer un programa que permita determinar: a) la cantidad de levadura que se
requiere para proveer de levadura cada semana a las 3 compaias, b) la cantidad
de levadura mensual que requiere cada compaa, c) la cantidad total de levadura
que se debe tener al mes para poder abastecer a los 3 clientes.
Problema 4. Una empresa de cerveza que tiene dos plantas consume bsicamente
3 tipos de materia prima (malta, levadura y agua). Se desea saber la cantidad total
de materia prima que se consume en la empresa, por cada semana del mes de
cada materia prima.

35

ConsMP1

ConsMP2

ConsMPT

ConsTPMP

36

GUIA 14
APLICACIONES CON FUNCIONES

OBJETIVOS:

Definir y utilizar funciones definidas por el usuario.

Integrar funciones desarrolladas por otros programadores de


acuerdo a sus necesidades

FUNCIONES
Problema 1. Escribe el cdigo en C# de las siguientes funciones:
a) La funcin... static int cuentaCeros (ref
int [ ] Arr )
que recibe un arreglo de enteros y regresa el nmero de ceros que se
encuentran dentro del arreglo.
Por ejemplo, si el arreglo A tuviera los valores A[0]=0, A[1]=1, A[2]=4, A[3]=2,
A[4]=5 y A[5]=0, el resultado de cuentaCeros(ref A) debe ser 2.
b) La funcin... static
int sumaPares ( ref int [ ] Arr )
que recibe un arreglo de enteros y regresa el resultado de sumar slo los
nmeros pares que hay dentro del arreglo.
Por ejemplo, si el arreglo A tuviera los valores A[0]=8, A[1]=1, A[2]=4, A[3]=2,
A[4]=5 y A[5]=10, el resultado de sumaPares(ref A) debe ser 8+4+2+10 es
decir 24.
c) La funcin... static int cuentaRepeticiones ( ref int [ ] Arr, int x )
que recibe un arreglo de enteros y un valor entero x. La funcin regresa el
nmero de veces que se repite el valor de x en el arreglo.
Por ejemplo, si el arreglo A tuviera los valores A[0]=8, A[1]=2, A[2]=4, A[3]=2,
A[4]=5 y A[5]=2, el resultado de cuentaRepeticiones(ref A,2) debe ser 3.
Problema 2. Escribir una funcin que calcule y retorne el factorial de un
nmero natural pasado como parmetro, en forma iterativa. Realizar todas las
validaciones que considere necesarias.
Problema 3. Una empresa tiene E empleados para cada uno de los cuales
registra los siguientes datos: Nombre, DNI, Sueldo base, Ventas realizadas,
Estado civil, Nmero de Hijos.
El programa debe calcular para cada empleado el sueldo neto mediante la relacin
siguiente:
Sueldo Neto = Sueldo base + Comisin por ventas Descuento por impuesto
Descuento por seguro.

37

Donde: la comisin por ventas es el 5% de las ventas realizadas


El descuento por seguro se obtiene como sigue:
Si el empleado es soltero el descuento es de 100
Si el empleado es casado sin hijos el descuento es de Bs. 150
Si el empleado es casado con hijos el descuento es de Bs. 50 + 8 por cada
hijo
El descuento por el impuesto (DI) se obtiene como sigue: Suponga que llamamos
TA a la suma del sueldo base + comisin por ventas, entonces:
Si TA es menor o igual a 400 DI = 0
Si TA es mayor que 400 y menor o igual a 800 DI = 3% de TA
Si TA es mayor que 800 y menor o igual a 1000 DI = 4% de TA
Si TA es mayor de 1000 DI = 6% de TA
El programa debe imprimir DNI, nombre y sueldo neto para cada empleado, el
monto total que la empresa debe pagar por concepto de sueldos, el monto total
por comisiones de ventas, el monto total de los descuentos por impuesto y por
seguro.
Nota: Estructure el programa usando el concepto de subprogramas. Por
ejemplo:
Programa principal

Lectura
Impresin

Descuento_Seguro

Descuento_Impuesto

38

GUIA 15
APLICACIONES CON PROCEDIMIENTOS Y FUNCIONES

OBJETIVOS:

Saber utilizar parametros por valor, por referencia y como


parametro de salida.

Identificar el ambito de las variables (locales y globales).

Problema 1. Escribe el cdigo en C# de los siguientes procedimientos:


a) El procedimiento:

static void inicia1 (ref int [ ] Arr )

que recibe un arreglo de enteros y el tamao del arreglo y le asigna a cada localidad
del array los valores 0,3,6,..,3*(n-1) donde n es la longitud del arreglo.
Por ejemplo, si definimos el siguiente arreglo:
int [ ] A;
A= new int[6];
Y despus ejecutamos la instruccin...
inicia1(ref A);
...las localidades de A deben ser A[0]=0, A[1]=3, A[2]=6, A[3]=9, A[4]=12 y A[5]=15.
b) El procedimiento:
static void inicia2( ref int [ ] Arr )
que recibe un arreglo de enteros y le asigna a cada localidad los valores n-1, n2,...,2,1,0 donde n es la longitud del arreglo.
Por ejemplo, si definimos el siguiente arreglo:
int [ ] B;
B= new int[6];
y despus ejecutamos la instruccin...
inicia2( ref B );
las localidades de B deben ser B[0]=5, B[1]=4, B[2]=3, B[3]=2, B[4]=1 y B[5]=0.
c) El procedimiento:
static void inicia3 ( ref bool [ ] Arr )
que recibe un arreglo de valores booleanos y le asigna de manera intercalada los
valores true y false.
Por ejemplo, si definimos el siguiente arreglo:

39

bool [ ] C;
C= new bool[6];
y despus ejecutamos la instruccin...
inicia3 (ref C );
las localidades de C deben ser C[0]=false, C[1]=true, C[2]=false, C[3]=true, C[4]=false
y C[5]=true.
d) El procedimiento... static void sustituye (ref int [ ] Arr, int old, int nuevo)
que recibe un arreglo de enteros y dos valores enteros old y nuevo. El procedimiento
debe reemplazar todos los valores old del arreglo por el valor de nuevo.
Por ejemplo, si el arreglo A tuviera los valores A[0]=8, A[1]=2, A[2]=4, A[3]=2, A[4]=5 y
A[5]=2, el resultado de sustituye(A,2,7) debe ser A[0]=8, A[1]=7, A[2]=4, A[3]=7, A[4]=5
y A[5]=7.
Problema 2. Escribe el codigo en C# de los mtodos (procedimientos o
funciones)
a). Escribe el cdigo en C# del procedimiento static void intercambia(ref int [ ]A, int i,
int j), que recibe un arreglo de enteros y dos valores enteros que corresponden a dos
localidades del arreglo. El procedimiento intercambia los valores de las localidades i y j
del arreglo. Por ejemplo, si el arreglo A tuviera los valores A = [8 1 4 7 5 10 6 3 9], la
operacin intercambia(ref A, 2, 5) intercambia los valores A[2] y A[5], modificando el
arreglo de la siguiente forma A = [8 1 10 7 5 4 6 3 9].
b). Escribe el cdigo en C# del procedimiento static void invierte(int [ ] Arr), que recibe
un arreglo de enteros. El procedimiento invierte la secuencia de valores del arreglo.
Por ejemplo, si el arreglo A tuviera los valores A = [10 3 5 2 3 9 10 4 7 1], la operacin
invierte(ref A) intercambia los valores del arreglo invirtiendo la secuencia del arreglo:
A = [1 7 4 10 9 3 2 5 3 10].
c). Escribe el cdigo en C# del procedimiento static void rotaDerecha(ref int [ ] Arr),
que recibe un arreglo de enteros. El procedimiento mueve a cada elemento una
posicin adelante, colocando el ltimo valor del arreglo en la primera localidad del
arreglo resultante. Por ejemplo, si el arreglo A tuviera los valores A = [0 1 2 3 4 5 6 7]
despus de evaluar rotaDerecha(ref A) el arreglo se modifica de la siguiente manera:
A = [7 0 1 2 3 4 5 6].
d). Escribe el cdigo en C# de la funcin static int mayor(ref int [ ] A, int inf, int sup),
que recibe un arreglo de enteros y dos valores enteros inf y sup. La funcin regresa el
mayor valor del arreglo dentro del rango definido por las posiciones inf y sup. Por
ejemplo, si tenemos el siguiente arreglo: A = [10 12 2 0 4 35 24], la instruccin
mayor(A, 0, 3) regresa 12 y mayor(A, 0, 6) regresa 35.

40

e). Escribe el cdigo en C# de la funcin static int posMayor (ref int [ ] A, int inf, int sup)
que recibe un arreglo de enteros y dos valores enteros inf y sup. La funcin regresa la
posicin de la localidad que contiene al mayor valor del arreglo. Por ejemplo, si
tenemos el arreglo: A = [10 12 2 0 4 35 24], la instruccin posMayor(A,0,3) regresa 1 y
posMayor(A, 0, 6) regresa 5.
f). Escribe el cdigo en C# del procedimiento static void ordena2(ref int [ ] A), que
recibe un arreglo de enteros y el procedimiento ordena los valores del arreglo de
mayor a menor. Por ejemplo, si tenemos el arreglo A = [10 29 4 23 31 24 15 6],
despus de evaluar ordena2(ref A), el arreglo se modifica de la siguiente manera: A =
[31 29 24 23 15 10 6 4].
g). Escribe el cdigo en C# de la funcin static bool iguales(ref int [ ] A1, ref int [ ]A2),
que recibe dos arreglos de enteros y el procedimiento regresa true si los dos arreglos
contienen la misma secuencia de valores y false de otra manera.
Por ejemplo, si tenemos los arreglos...
A1 = [31 24 23 15 10 6 4]
A2 = [31 24 23 15 10 6 4]
A3 = [10 4 23 31 24 6 8]
la evaluacin de iguales(ref A1, ref A2) es true y la evaluacin de iguales(ref A1, ref
A3) es false.

Problema 3. Debido a que se trata de una funcin, la definicin del problema


se enfocar a la interfaz de la funcin. Por consiguiente, se debe considerar
que la funcin aceptar y regresar algo. Llamaremos a la funcin
busquedaSec() A partir del enunciado del problema, la funcin deber buscar
en un arreglo de enteros un
valor de un elemento determinado. De esta manera, la funcin necesita dos
cosas para realizar este trabajo:(1) el arreglo y (2) el elemento que se va a
buscar. Estos sern los parmetros de la funcin,
Problema 4. Hacer un programa que use 3 mtodos:
1. Procedimiento Menu() que no tiene parametros ni retorna valor, solo muestra
lo siguiente:
<1> Calcular el area de un rectangulo
<2> Calcular el area de un circulo
Ingrese su opcion:
2. Funcin CalAreaCirculo() que tiene como parametro r y retorna el area del
circulo.
3. Funcin CalAreaRectangulo() que tiene como parametros b y h y retorna el
area del rectangulo.
En el mtodo principal, muestre el menu de opciones llamando al
procedimiento menu(). Luego ingrese su opcion. Segn la opcion elegida,
ingrese por teclado los valores que necesita y la llamada a la funcion, para que
la opcion seleccionada se lleve a cabo. Por ejemplo, si elije 2, solicite ingresar

41

el radio y llamar a la funcin CalAreaCirculo() para que calcule el area, el valor


retornado debe mostrarse en pantalla. Repetir hasta que el usuario lo decida.
Problema 5. Un cajero automtico tiene billetes de S/.100, S/.50, S/.20 y S/.10
. Los clientes pueden retirar un mximo de S/.2000 y un mnimo de S/.10 por
transaccin.
Desarrolle un aplicacin que solicite al cliente el monto que desea retirar, y
luego, usando un procedimiento, determine el nmero de cada tipo de billete
que se debe entregar al cliente. Antes de invocar(llamar) a procedimiento, la
aplicacin verificar que el monto del retiro cumpla con ser menor o igual que
S/.2000, mayor o igual a S/.10 y mltiplo exacto de S/.10.
El procedimiento deber considerar que se entregar el mayor nmero posible
de billetes de mayor denominacin.(ejemplo: si el monto es S/.1960, la
respuesta debe ser 19 billetes de S/.100, 1 billete de S/.50, 0 billetes de S/.20 y
un billete de S/.10)

42

GUIA 16
APLICACIONES CON PROCEDIMIENTOS Y FUNCIONES ARREGLOS Y FUNCIONES COMO PARMETROS.
RECURSIN.

OBJETIVOS:

Definir y utilizar funciones y procedimientos definidos por el


usuario usando areglos y funciones como parametros.

Integrar funciones o procedimientos desarrolladas por otros


programadores de acuerdo a sus necesidades

Ejercicio 1 Escribir una funcin que reciba como parmetros un arreglo de


doubles y su longitud, y devuelva al mximo (o el mnimo) valor contenido en l.
Ejercicio 2 Escribir una funcin que reciba un arreglo de doubles y su longitud
como parmetros, y retorne el promedio aritmtico de los valores contenidos en
l.
Ejercicio 3. Escriba las funciones recursivas necesarias para resolver los
siguientes problemas:
Sumar los dgitos de un nmero natural
Calcular el producto de dos nmeros naturales
Sumatoria
1
1
1
1
S =1+
+ + ... +
+
2
3
n 1
n

43

You might also like