TAREAS y TALLERES
TAREAS y TALLERES
TAREAS y TALLERES
TAREA INTRODUCCION – 1
Los siguientes 2 puntos están orientados a la fase de análisis de un problema, pues para
resolverlos, se necesitarán conceptos de algoritmos que aún no se han visto (ciclos). Por
ahora, lo que se solicita es que analice y resuelva el problema, determinando los datos
de entrada y de salida y haciendo todo el trabajo para resolverlo. En este momento NO
tiene que construir el algoritmo, esto se va a programar MAS ADELANTE.
http://ual.dyndns.org/Biblioteca/Matematicas_Financieras/Pdf/Unidad_16.pdf
https://es.wikiversity.org/wiki/Matem%C3%A1ticas_discretas/Bases
TAREA INTRODUCCION – 2
Escribir el programa en C++ que resuelva cada uno de los siguientes problemas:
1) NUEVO SUELDO
Lea los datos de sueldo de un empleado y porcentaje de aumento del sueldo para un
nuevo año (en formato porcentaje, por ejemplo, se digita 10 para indicar 10%). Calcule e
imprima el nuevo sueldo.
2) INCREMENTO PENSION
Lea los datos del valor de la pensión del colegio de un niño cualquiera en un año y en el
siguiente. Calcule e imprima cual fue el valor del incremento entre los dos años leídos,
entregando la respuesta en formato porcentaje.
3) DESCUENTO
Determine el valor de un pedido. Los datos son la cantidad y el valor unitario del artículo.
Se tiene un descuento del 5% sobre el valor bruto de la compra y se cobra un IVA del
19% sobre el valor bruto. La salida deberá ser el valor neto a cobrar.
TAREAS y TALLERES PARTE I Página: 2
4) NOMINA
Pedro ha trabajado un número de horas en la semana y se ha convenido con el pagarle
una determinada suma de dinero por cada hora trabajada. Por ley, Pedro debe afiliarse
a alguna EPS para tener cubierto los riesgos de salud. El aporte a los sistemas de salud
es el 13.5% del salario bruto, del cual el empleador cubre las 2/3 partes y el empleado
1/3 parte. El aporte para pensiones es del 10.5% del salario bruto que se reparte entre
empleador y empleado en la misma proporción que el sistema de salud. Pedrito está feliz
porque con este trabajo pudo afiliarse a Compensar y conoce bien los servicios de esta
Caja de Compensación por la que solo tiene que pagar $5,000 cuando ingrese a las
instalaciones ubicadas en la calle 26. Pedro recibe un subsidio por educación equivalente
al 5% de su salario bruto. Conociendo los datos del trabajo de Pedro de una semana,
calcule el valor neto que recibirá de pago dicha semana.
5) ESTACION DE SERVICIO
Una estación de servicio está interesada en mejorar el servicio que presta a sus clientes.
Para ello, debe comenzar por contabilizar el tiempo de atención por automóvil. Teniendo
como datos el tiempo de entrada (hora y minuto) y el tiempo de salida (hora y minuto),
ambos en formato 24 horas es decir hh:mm, calcular e imprimir el tiempo de permanencia
en la estación en el mismo formato de los datos de entrada. Se supone que el tiempo de
la salida es mayor que el de entrada y no hay carros que pasan de un día para otro (es
decir, que no hay automóviles cuya atención sea mayor a 24 horas).
NOTA: no puede usar condicionales porque NO se ha visto el tema. El problema se puede
resolver sin ello.
TALLER EXPRESIONES – 1
1) Se sabe que Anita en el año 1 tenía un determinado sueldo y que la empresa decidió
aumentar los salarios de todos los empleados para el año 2 en un porcentaje dado.
También se sabe que Anita en el año 3 devenga $400,000 más de lo que ganaba en
el año 1. Calcule el sueldo de Anita en el año 2, el sueldo en el año 3 y el porcentaje
de aumento entre el año 2 y el año 3.
3) Escribir un programa que lea la fecha de nacimiento de una persona y la fecha del día
en que se están haciendo los cálculos. Cada fecha se debe almacenar en un solo
número entero. Las fechas se digitan en formato aaaammdd, donde aaaa son los 4
dígitos del año, mm los dos dígitos del número del mes (de 01 a 12) y dd el día en dos
dígitos (desde 01 hasta 31). Por ejemplo, para almacenar la fecha de nacimiento del
15 de abril de 1707 se debe digitar 17070415.
Nota aclaratoria: el programa se debe resolver con lo visto hasta ahora, sin usar las
estructuras condicionales, tema que se verá más adelante.
TAREAS y TALLERES PARTE I Página: 4
TALLER EXPRESIONES – 2
1) El dueño de un parque de recreación desea saber el ingreso neto total por concepto
de venta de boletas de un día cualquiera. Los adultos pagan $15,000 por boleta y los
niños $10,000. Por ser el mes de los niños, a estos se les hace un descuento del 10%
en la boleta. Para obtener el ingreso neto total, se debe restar al ingreso bruto por
concepto de recaudo de boletas, el descuento de los niños y el valor correspondiente
al IVA, el cual se obtiene como el 20% aplicado al valor bruto por recaudo de boletas
de adultos y niños SIN tener en cuenta el descuento del mes de los niños.
2) El jefe de mercadeo debe resolver el siguiente trazado sobre las ventas de la sucursal
que maneja. El conoce las ventas del año 2 y sabe que son resultado un crecimiento
dado respecto de las ventas del año 1. Se le exige que el crecimiento del año 2 al 3
sea 5 puntos más en porcentaje respecto del crecimiento del año 1 al 2.
Teniendo los datos de ventas del año 2 y porcentaje de crecimiento del año 1 al 2,
usted debe construir un programa que informe las ventas del año 1 y del año 3, así
como el porcentaje de incremento entre el año 2 y 3.
1) Escribir un programa que lea dos números e imprima el mayor de los dos. Suponga
que los números son distintos.
2) Escribir un programa que lea los datos de sueldo y sexo de un empleado. Calcule el
sueldo para el año siguiente si la empresa aumenta un 7% a los hombres y un 10% a
las mujeres.
3) Escribir un programa que determine el valor de un pedido. Los datos son la cantidad
y el valor unitario del artículo. Se tiene la siguiente política de descuento: sí el valor
bruto de la compra supera $500,000 se hace un descuento del 5%; en caso contrario,
no hay descuento. Independientemente del descuento, se debe cobrar un IVA del 20%
sobre el valor bruto. La salida será el valor neto a cobrar.
4) Escribir un programa que calcule la tarifa mensual a pagar del celular, la cual depende
del consumo en minutos y que se hace con base a los siguientes criterios:
- La tarifa básica es de $50.000
- Para los primeros 500 minutos, el valor por minuto es de $100
- Después de los primeros 500 minutos el valor por minuto tiene un descuento del
40%
5) Realizar un programa que lea dos números e informe si el menor es divisor del mayor.
2) La entrada al cine los domingos tiene un costo promocional para niños (menores o
iguales a 12 años) y tercera edad (mayores de 60 años) del 50% del costo de la boleta.
Los adultos y jóvenes pagan la tarifa full de ese horario que es $12000. Escriba un
programa que informe para una persona que llega a la taquilla cuanto debe pagar por
la boleta ¿Usted le preguntaría algo a esa persona?
TAREAS y TALLERES PARTE I Página: 6
TAREA CONDICIONALES – 3
1) Escribir un programa que lea tres números distintos entre sí e imprima el mayor de
los tres.
2) Escribir un programa que lea tres números distintos entre sí y los imprima en orden,
ya sea ascendente, es decir, de menor a mayor, o descendente, de mayor a menor
(si maneja variables intermedias, la estructura de los condicionales puede resultar
igual, independientemente del tipo de ordenamiento que desee. Solo se modifica la
instrucción final de salida, es decir, como vaya a presentar el resultado).
1) Programa para calcular el costo neto de enviar una carta. Para ello Ud. debe solicitar
los datos de peso de la carta en gramos, el tipo de envío (una letra que puede ser C
para corriente ó R para recomendado) y el destino (una letra que puede ser L / local,
N / nacional ó I / internacional).
El valor bruto de la carta depende del peso y se cobra $100 por cada gramo. Se cobra
un IVA del 16% sobre el valor bruto y se reconoce un descuento sobre el valor bruto
dependiendo del tipo de envío y del destino según la siguiente tabla:
DESTINO
L N I
C 5% 5% 3%
ENVIO
R 4% 1% 1%
Muestre los resultados cuando viajan 10, 20 ó 30 personas ¿Qué número de personas
produce utilidad cero (punto de equilibrio del organizador)?
TAREAS y TALLERES PARTE I Página: 7
• Cualquier llamada iniciada entre las 8:00 a.m. y las 6:00 p.m., de lunes a viernes,
se cobra a razón de $500 por minuto.
• Cualquier llamada iniciada antes de las 8:00 a.m. y después de las 6:00 p.m., de
lunes a viernes, se cobra a razón de $200 el minuto.
TAREA CONDICIONALES – 5
1) SIGNO ZODIACAL
Escribir un programa que lea la fecha de nacimiento de una persona en un solo número
entero en formato aaaammdd, donde aaaa son los 4 dígitos del año, mm los dos dígitos
del número del mes (de 1 a 12) y dd el día en dos dígitos (si el día es 1° del mes se debe
digitar 01). Por ejemplo, para almacenar la fecha de nacimiento del 8 de febrero de 1940
se debe digitar 19400208.
2) TRIANGULO
Escribir un programa que lea 3 números y determine si estos tres números pueden formar
un triángulo (cada número equivaldría a la longitud del lado). En caso de que si pueda
formarse un triángulo, especifique si es equilátero, isósceles o escaleno (estas tres
opciones son mutuamente excluyentes).
TAREAS y TALLERES PARTE I Página: 8
Escriba un programa que calcule el costo neto de la entrada de una persona a un parque
de diversiones. Los datos con que se cuenta de cada persona son: la edad, la categoría
que se representa por un carácter (L: Local / T: Turista) y el tipo de entrada que también
se representa por un carácter (N: Normal / E: Especial / P: Plus). El costo bruto de la
entrada es de $20,000 para adultos y $15,000 para niños (menores de 12 años) y tercera
edad (mayores de 60 años). Por este mes se implementó un descuento que se muestra
en la siguiente tabla:
Categoría
L T
Tipo de Entrada Tipo de Entrada
N E P N E P
Edad <15 0% 0% 1% 2% 3% 5%
15<=edad<25 0% 0% 1% 2% 2.5% 4%
25<=edad<55 0% 0% 1% 2% 2.5% 4%
Edad>=55 0% 0% 1% 2% 3% 4%
Escribir un programa que calcule el salario neto semanal de un empleado. Para ello, Ud.
debe solicitar el número de horas trabajadas y el valor de pago de la hora. Las horas por
encima de 40 se consideran horas extras y se pagan al triple de la hora normal (por
ejemplo, si la persona trabajó 45 horas y el valor del pago de la hora a $6,000, 40 horas
se pagan a $6,000 y las restantes 5 se pagan a $18,000 y éste es recargo por horas
extras; si la persona trabajó 38 horas, no tiene recargo por horas extras).
Todos los empleados tienen una retención en la fuente sobre su salario bruto, el cual se
obtiene sin considerar el recargo por las horas extras. La tabla de retención es la
siguiente:
5) AÑO BISIESTO
Leer un número entero que equivale a un año. Determine si este es bisiesto o no.
TAREAS y TALLERES PARTE I Página: 9
TALLER CONDICIONALES – 1
1) Un programa recibe como entrada el saldo inicial de la cuenta y luego calcula los intereses,
los suma al saldo inicial y finalmente obtiene como resultado el saldo final. La salida del
programa debe ser los intereses calculados y el saldo final.
El plan de pagos de los intereses es el siguiente: unos intereses básicos a una tasa de interés
del 1.5% sobre saldos menores o iguales a $100,000. Unos intereses de excedentes a una tasa
del 1% sobre cada $200,000 que haya en excedente (sino se completa un excedente de
$200,000 completo no se cobran fracciones de intereses).
Por ejemplo, para un saldo inicial de una deuda de $800,000, los intereses serán:
o Los intereses básicos son 1.5% por los primeros $100,000, es decir $1,500.
o Los intereses de excedentes son sobre $700,000 por los que hay que pagar 1% por cada
excedente completo de $200,000. Entonces sería: 1% de los primeros $200,000 que son
$2,000, otro 1% por los siguientes $200,000 y finalmente, otro 1% por los últimos
$200,000. El total de intereses en excedentes son $6,000. Quedan $100,000 de saldo de
la deuda en excedentes que no pagan intereses.
Si el saldo inicial de la deuda por ejemplo fuese $60,000 los intereses serían tan solo $900 que
son los intereses básicos (1.5% de los $60,000) y la cantidad final a pagar sería de $60,900.
2) Escriba un programa que calcule e imprima el costo de una llamada telefónica de larga
distancia. El costo de esta se determina según el siguiente plan de tarifas:
o Cualquier llamada iniciada entre las 8:00 a.m. y las 6:00 p.m., de lunes a viernes, se cobra
a razón de $500 por minuto.
o Cualquier llamada iniciada antes de las 8:00 a.m. y después de las 6:00 p.m., de lunes a
viernes, se cobra a razón de $200 el minuto.
o Cualquier llamada iniciada en un sábado o domingo, de cobra a razón de $100 el minuto.
Los datos de entrada consistirán en el día de la semana y la hora en que se inició la llamada, y
la duración en minutos de la misma. La hora se deberá introducir en formato 24 horas (por
ejemplo 1:30 p.m. como 1330). El día se digitará como un carácter correspondiente a la
primera letra de la palabra del respectivo día, es decir, “l” para lunes, “d” para domingo. Use
“m” para martes y “x” para miércoles.
TALLER CONDICIONALES – 2
Escribir un programa que solicite el nombre del cliente, la edad de éste, el valor a
asegurar e imprima el costo neto de la póliza del seguro de vida.
Cada vez que en youtube se pasa el video de un artista, este recibe 50 centavos de
dólar como regalías. Cuando la canción es bajada desde itunes recibe 40 centavos
de dólar por regalías. Si su canción es descargada en un teléfono celular recibe 20
centavos de dólar y por cada disco vendido recibe 8 dólares.
Ahora, si la banda musical vendió más de 10000 dólares recibe un disco de oro y si
vendió más de 50000 dólares recibe un disco de platino en lugar de oro.
Escribir un programa que lea el nombre de una banda musical, la empresa de difusión
que lo promovió (una sola), número de eventos facturados (por ejemplo, si es el local,
equivale al número de discos vendidos, si es youtube, el número de veces que se
pasó el video, etc.). La salida será el total que se pagará a la banda musical por
concepto de regalías, y si tiene derecho a disco de oro o de platino o a ninguno de
estos.
2) Programa calcula edad promedio soldados sin saber cuántos soldados son:
a. hasta que digite si desea continuar.
b. hasta digitar -1 ó 0
3) Programa que lea las notas de los (n) alumnos de un salón (la nota será un número
real entre 0 y 5) y calcule el porcentaje de los alumnos que pasan y los que pierden.
4) Escribir un primer programa que lea un número (n) e imprima sus divisores. Al final
¿puede usted decir si ese número es primo o no? Escriba un segundo programa que
de manera más “eficiente” lea un número (n) y determine si este es primo o no ¿Por
qué se puede decir que el primer programa no es eficiente?
5) Problema que lea n números e imprima cual es el mayor y el menor de los números
leídos. Adicionalmente, informe en qué posición estaban respecto del orden en que
fueron leídos.
6) Escribir un programa que pregunte por el valor inicial de un bien, el número de años
en que este se va a depreciar y el valor final o de rescate. El programa debe mostrar
la tabla de depreciación lineal con las siguientes cuatro columnas:
AÑO VLR inicial AÑO DEPRECIACION VALOR final AÑO
7) Programa que lea las calificaciones de alumnos, cuando dichas calificaciones son
letras (cinco posibles casos, letras de la ‘a’ a la ‘e’). Debe calcular el porcentaje de
alumnos por cada tipo de nota, es decir, que porcentaje saco ‘a’, que porcentaje ‘b’,
etc. Use la estructura de selección múltiple. No saben cuántos alumnos son, una nota
de x indica fin de datos.
10) Escriba un programa que imprima los 20 primeros números de Fibonnacci. En estos,
cada número resulta ser la suma de los 2 anteriores. Los dos primeros números son
0 y 1. La serie resulta ser la siguiente:
0 - 1 - 1 - 2 - 3 - 5 - 8 - 13 - 21 - 34 - … - 2584 - 4181
TAREAS y TALLERES PARTE I Página: 12
11) Los conductores están preocupados por el kilometraje recorrido por sus automóviles.
Un conductor ha dado seguimiento a varios tanques de gasolina, registrando los
kilómetros recorridos y los litros utilizados en cada recorrido. Escriba un programa que
capture los datos de litros utilizados en cada tanque y kilómetros recorridos con ese
combustible. Se debe calcular y desplegar los kilómetros por litro obtenidos en cada
tanque. Un dato de litros utilizados igual a -1 indica fin de datos.
Litros Utilizados: 5
Kilómetros recorridos: 120
Kilómetros/litro del tanque = 24.000000
Litros Utilizados: -1
Para obtener el factorial del número hay que multiplicar todos los números enteros
que hay entre el 1 y ese número. Es decir: 7! = 1∙2∙3∙4∙5∙6∙7 = 5040
Sugerencia para trabajar algo nuevo o diferente: construya un ciclo decreciente que
calcule éste factorial de la siguiente manera:
n! = n ∙ (n-1) ∙ (n-2) ∙ … ∙ 3 ∙ 2 ∙ 1
1) Escribir un programa que sirva para adivinar un número entre 0 y 999. El número a
adivinar puede ser generado de manera aleatoria partiendo de la función random así:
3) Los divisores propios de un número entero n son los divisores positivos menores que
n. Un entero positivo se dice que es un número deficiente si la suma de sus divisores
propios es menor que el número; se dice que el número es perfecto si la suma de sus
divisores propios es igual al número; y se dice que es abundante si la suma de sus
divisores propios es mayor que el número.
Ejemplos:
Escribir un programa que lea dos números límites e imprima para todos los números
que hay entre dos límites, incluidos estos dos, si es perfecto, deficiente o abundante.
Adicionalmente informe, qué porcentaje de los números leídos es perfecto. Por
ejemplo, si los límites leídos son límite1=20 y límite 2=30, la salida será:
20 abundante
21 deficiente
22 deficiente
23 deficiente
24 abundante
25 deficiente
26 deficiente
27 deficiente
28 PERFECTO
29 deficiente
30 abundante
4) El rey Ignacio tiene N caballos en su caballeriza y desea herrarlos. Por herrar cada
caballo el herrero real cobra así: 1 centavo por el primer clavo que le coloque al caballo
y por cada clavo adicional cobra el doble que cobró al anterior. Al mandar herrar los
caballos el rey sabe el nombre del caballo y el número de clavos que necesita ese
caballo para ser herrado. Construya un programa que calcule:
TALLER CICLOS – 1
1) En la Isla del Edén vive una gran cantidad de hormigas que se reproducen a una tasa
del 40% mensual. Se realiza un experimento colocando en la isla un oso hormiguero
que se despierta al final de cada mes y se come 7,000 hormigas (o todas las hormigas
que hay si la población de hormigas en ese momento es inferior a esa cifra). Cuando
la población de hormigas sobrepasa el máximo de 28,000 comienza a haber problemas
de alimentación lo que hace que se reduzca la tasa de crecimiento al 31% mensual.
Escribir un programa que reciba como datos de entrada el número x de meses que
dura dicho experimento y un número inicial n de hormigas que hay en la isla. Calcular
y reportar el número de hormigas que hay en la isla al final de cada mes (después que
el oso ha despertado y devorado su porción de hormigas). Si por alguna circunstancia
el número de hormigas en la isla llega a ser 0 antes de los x meses, el programa debe
terminar e indicar con un mensaje este hecho.
2) Dos números son amigos, si cada uno de ellos es igual a la suma de los divisores
propios del otro. Por ejemplo 220 y 284 son amigos ya que:
Diseñe un programa que muestre todas las parejas de números amigos menores o
iguales que m, siendo m un número introducido por teclado.
3) Un triángulo recto puede tener lados que sean enteros. Un conjunto de tres valores
enteros para los lados de un triángulo recto se llama Triple de Pitágoras. Estos tres
lados deben satisfacer la relación de que la suma de los cuadrados de dos de los
lados es igual al cuadrado de la hipotenusa. Encuentre todos los triples de Pitágoras
para los lados y la hipotenusa, no mayores que 50. Utilice un triple ciclo para anidado
que pruebe esas posibilidades.
TAREAS y TALLERES PARTE I Página: 16
4) Un número entero se puede considerar como un conjunto donde los elementos son los
dígitos que lo componen. Crear un programa que lea dos números y calcule la
intersección y la diferencia entre los conjuntos que representan sus dígitos.
Suponga que ninguno de los dos números contiene el dígito 0, ni dígitos repetidos.
NO puede introducir como dato la cantidad de dígitos de los números.
TALLER CICLOS – 2
1 2 3 4 5 6 7 8 9
1 1
2 2 4
3 3 6 9
4 4 8 12 16
5 5 10 15 20 25
6 6 12 18 24 30 36
7 7 14 21 28 35 42 49
8 8 16 24 32 40 48 56 64
9 9 18 27 36 45 54 63 72 81
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9
4 5 6 7 8 9
5 6 7 8 9
6 7 8 9
7 8 9
8 9
9