Вы находитесь на странице: 1из 17

Universidad Nacional de Ingeniería

Facultad de Ingeniería Industrial y de Sistemas

Docente: MSc. Córdova Neri, T .

Introducción a la Computación

PROBLEMAS
CAPITULO I

Problemas propuestos: Parte I


1. Dado un número entero (días), determine y muestre el equivalente en años, meses y días sobrantes.. Por
simplicidad suponga que un año tiene 365 días y que cada mes tiene 30 días. Use los operadores // y % para
obtener cociente y residuo.
Ejemplo. 1372 días equivalen a 3 años, 9 meses y 7 días.
2. Dado un dato con la cantidad de días. Encuentre el equivalente en meses, semanas y días sobrantes. Suponga
que cada mes tiene treinta días.
Ejemplo. i el dato es 175 el resultado será 5 meses, 3 semanas y 4 días
3. Lea dos números de tres cifras cada uno. Sume la cifra central del primer número con la cifra central del
segundo número y muestre el resultado.
4. Dado un número entero de tres cifras. Muestre el mismo número pero con las cifras en orden opuesto.
5. Dado un número entero (cantidad de dólares), mostrar el valor equivalente usando la menor cantidad de
billetes de 100, 50, 20, 10, 5 y 1.
6. Dadas las tres calificaciones de dos estudiantes. La calificación final de cada uno es la suma de sus dos mejores
calificaciones. Muestre un mensaje que indique cual estudiante (1 o 2) tiene la mayor calificación final.
7. Dadas las tres calificaciones de un estudiante, encuentre y muestre la calificación mayor y la calificación
menor (no use estructuras condicionales)
8. Dados los tres lados de un triángulo determine su tipo: Equilátero, Isósceles, o Escaleno

9. Dadas la abscisa y ordenada de dos puntos, calcule su distancia al origen y determine cuál de los dos puntos
(primero o segundo) está más cerca del origen.
La respuesta Deberá ser un mensaje: ‘Punto 1’ o ‘Punto 2’

Punto Abscisa Ordenada


1 a b
2 c d

Fórmula de la distancia del punto (x, y) :al origen:: x 2 - y2

10. Lea la cantidad de KW que ha consumido una familia y el precio por KW. Si la cantidad es mayor a 700,
incremente el precio en 5% para el exceso de KW sobre 700. Muestre el valor total a pagar.
11. Juan, Pedro y José trabajan en una empresa que paga semanalmente. Ingrese para cada uno los siguientes datos
del trabajo semanal: horas trabajadas, salario por hora, y descuentos. Calcule el pago semanal que recibirá cada
uno y determine cuál de los tres recibirá el mayor pago semanal. No considere el pago de horas extras.

12. Lea las dimensiones de un bloque rectangular (largo, ancho y altura del bloque), y el diámetro de un agujero.
Determine si es posible que el bloque pueda pasar por el agujero.
Sugerencia: Calcule cada una de las tres diagonales del bloque. Si alguna de ellas tiene un valor menor al
diámetro del agujero muestre el mensaje: ‘Si pasa por el agujero’.

13. Un código de tres cifras debe cumplir la siguiente regla para que sea válido: La tercera cifra debe ser igual al
módulo 10 del producto de las dos primeras cifras. Escriba un programa que lea un código y verifique si cumple
la regla anterior. Muestre un mensaje correspondiente.
Ejemplo. 384 es un código válido pues el módulo de 3x8 en 10 es igual a 4

14. El número de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aeróbico se calcula
con la fórmula:
Género femenino (1): número de pulsaciones = (220 - edad en años)/10
Género masculino (2): n ú m e r o de pulsaciones = (210 - edad en años)/10
Lea la edad y el género y muestre el número de pulsaciones.

15. El índice de masa corporal IMC de una persona se calcula con la fórmula IMC=P/T2 en donde P es el peso
en Kg. y T es la talla en metros.
Lea un valor de P y de T, calcule el IMC y muestre su estado según la siguiente tabla:
IMC Estado Menos de 18.5
Desnutrido [18.5 a 25.5] Peso Normal Más
de 25.5 Sobrepeso

16. Otro reporte de salud muestra una tabla diferente del índice de masa corporal IMC de una persona que se
calcula con la fórmula IMC=P/T2 en donde P es el peso en Kg. y T es la talla en metros.
Lea un valor de P y de T, calcule el IMC y muestre su estado según la siguiente tabla:
IMC Es
tado Menor a 20 Desnutrido [20, 25)
Normal [25,30) Sobrepeso
[30,35) Obesidad Grado 1 [35,40)
Obesidad Grado 2
Mayor a 40 Obesidad Grado 3
17. En un concurso hay tres jueces. La opinión del juez es 1 si está a favor y 0 si está en contra. Para que un
participante pueda continuar en el concurso debe tener al menos dos votos favorables. Escriba un algoritmo
que lea los votos de los tres jueces y muestre el resultado mediante un mensaje: CONTINUA o
ELIMINADO. No sume votos. Debe compararlos.

18. Dadas las dimensiones de un bloque rectangular, calcule y muestre el área de la cara de mayor dimensión.

19. Se conocen tres de los cuatro números de una matriz cuadrada de tamaño 2. Lea estos tres números
y determine cuál debe ser el cuarto número para que el determinante de la matriz sea igual a 0.

20. Leer un número x y los números a, b. Suponga que a<b. y que x ≠ a, x ≠ b. Determine en qué lugar
se encuentra el número x, antes de a, entre a y b o después de b. Muestre un mensaje.

21. Lea las tres calificaciones que obtuvo un estudiante en una materia. No suponga que estos tres números
están ordenados. Describa como ordenarlos en forma ascendente y hacer reporte

22. Lea los números de matrícula de tres estudiantes que toman la materia A y los números de
matrícula de tres estudiantes que toman la materia B. Encuentre cuantos estudiantes que toman la materia A,
también toman la materia B.

23.- Se tienen 3 recipientes cilíndricos, opacos y sin marcas, de 12, 7, y 5 galones de capacidad. El recipiente
de 12 galones está lleno de combustible. El objetivo es repartir el combustible en dos partes iguales usando
únicamente los tres recipientes. Considere que puede trasladar el combustible entre recipientes pero no se
dispone de algún instrumento de medición.

12 gal. 7 gal. 5 gal.


a) Describa gráficamente el resultado esperado
b) Diseñar el programa para obtener la solución. Numere las instrucciones
d) Ejecute las instrucciones y registre los cambios del contenido de las variables e) Verifique que
el algoritmo produce la solución esperada.
Para probar su algoritmo puede completar una tabla como la siguiente. Suponga que A, B, C representan a
los recipientes con la capacidad y en el orden dados en el gráfico anterior.
Instrucción A B C
Inicio 12 0 0
1

Lenguaje de Programación 4 Msc. Córdova Neri, T


2
...

Nota: Existe una solución en 12 pasos (en cada paso se traslada de un recipiente a otro).

24.-Diseñar un algoritmo que permite resolver lo siguiente: Tres misioneros y tres caníbales deben atravesar
un río en un bote en el que sólo caben dos personas. Pueden hacer los viajes que quieran, pero en en las orillas
y en el bote el número de caníbales no debe ser mayor al de los misioneros porque ya podemos suponer lo
que ocurriría. El bote no puede cruzar el río si no hay al menos una persona dentro para que lo dirija.
Sugerencia: Defina los misioneros como M1, M2, M3 y los caníbales como C1, C2, C3. Las variables R1,
R2 son las orillas del río y B el bote. El contenido de estas variables cambiará mediante las
instrucciones del algoritmo. Después de construir el algoritmo puede completar una tabla como la siguiente
para verificar el resultado:
Instrucción R1 B R2
Inicio M1,M2,M3,C1,C2,C3
1
2
...
Final M1,M2,M3,C1,C2,C3

25.-Diseñar un programa que resolver el siguiente problema: Había un pastor que cuidaba a un lobo, una
oveja y una canasta de lechugas. El pastor tenía que cruzar un río, para lo cual disponía de un pequeño bote
en el que solamente cabían él y un animal, o él y la canasta de lechugas. El problema es conseguir que pasen
todos al otro lado del río sano y salvo, sin que nadie se coma a nadie. Al lobo no le gustan las lechugas,
pero como se puede suponer, el lobo no puede quedarse a solas con la oveja y tampoco la oveja puede
quedarse sola con las lechugas. El pastor debe guiar al bote en cada viaje.
Sugerencia: Defina símbolos para los datos P: pastor, L: lobo, O: oveja, C: canasta. Las variables R1, R2
son las orillas del río y B el bote. El contenido de estas variables cambiará mediante las instrucciones
del algoritmo.
Instrucción R1 B R2
Inicio P, L, O, C
1
2
...
Final P, L, O, C

26.-. Diseñar un programa para resolver el siguiente problema:


Se tiene una caja con nueve bolas, semejantes en apariencia, entre las cuales hay una más pesada que las
otras ocho. No se sabe cuál es y se trata de hallarla efectuando solamente dos pesadas en una balanza de dos

Lenguaje de Programación 5 Msc. Córdova Neri, T


platillos en equilibrio.

Después de construir el algoritmo puede completar una tabla como la siguiente para verificar el
resultado, en donde a, b, c, d, e, f, g, h, i representan a las nueve bolas.

Instrucción Caja Platillo izquierdo Platillo derecho


Inicio a, b, c, d, e, f, g, h, i
1
2
...
Final

27.- Diseñar un programa para que precisa las instrucciones necesarias para preparar una fiesta sorpresa
para su amiga o su amigo. En las instrucciones debe incluir los días y horas en los que serán desarrolladas
las actividades. Haga referencia a la fecha y hora cero en la que ocurrirá el evento. Verifique su algoritmo
mediante un cuadro con fechas y horas. En este cuadro anote el desarrollo de las actividades siguiendo las
instrucciones del programa. Note que este tipo de algoritmos no se puede verificar que cumplen el objetivo
propuesto como en los ejercicios anteriores. Pueden considerarse únicamente como instructivos para
organizar el desarrollo de actividades.
28.- Lea la cantidad de KW que ha consumido una familia y el precio por KW. Si la cantidad es mayor a
700, incremente el precio en 5% para el exceso de KW sobre 700. Muestre el valor total a pagar.

29.- Lea un valor de temperatura t y un código p que puede ser 1 o 2. Si el código es 1 convierta la
temperatura t de grados f a grados c con la fórmula c=5/9(t-32). Si el código es 2 convierta la temperatura
t de grados c a f con la fórmula: f=32+9t/5. Muestre el resultado.

30.- Dadas las dimensiones de un bloque rectangular, calcule las diagonales de las tres caras diferentes.
Muestre el valor de la mayor diagonal

Lenguaje de Programación 6 Msc. Córdova Neri, T


31.-.- Un cliente realiza compras en una tienda comercial, y para realizar el pago usa su tarjeta de ahorros y
como consecuencia requiere de sus datos de validación compuestos por: Usuario y clave, datos de 3 cifras y
son obtenidos en forma aleatoria (ver interface). Si los
datos son correctos, el sistema envía un mensaje de
bienvenida y luego seguir las instrucciones del vendedor:
Sr. Existe una oferta por la venta al por mayor de cierto
producto, ofreciendo un descuento del 15% por la
compra de más de 3 docenas y 10% en caso contrario.
Además por la compra de más de 3 docenas se obsequia
una unidad del producto por cada docena en exceso sobre
3. Diseñar un programa que determine el monto de la
compra, el monto del descuento, el monto a pagar y el
número de unidades de obsequio por la compra de cierta
cantidad de docenas del producto
Si los datos del usuario contiene error, enviar el
mensaje;” Sr. Datos No válidos, hasta luego

32.- Diseñe un programa que permita leer lea un número


enteros de tres cifras y determine si es igual al revés del
número. Por ejemplo: 353, 878,

33- Diseñe un programa que permita leer un


número entero de 3 cifras, y forme el mayor
número posible con las cifras del número
ingresado. El número formado debe tener el
mismo signo que el número ingresado.

34.- Calcular el total que una persona debe pagar en una llantería, si el precio de cada llanta es de
$80.000 si se compran menos de 5 llantas y de
$70.000 si se compran 5 o más.

35.- En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento
dependiendo de un número de dos cifras que se escoge al azar. Si el número escogido es menor
que 74 el descuento es del 15 % sobre el total de la compra, si es mayor o igual a 74 el
descuento es del 2 0%. Obtener cuánto dinero se le descuenta.

36.- Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de
ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es:

núm. pulsaciones = (220 - edad) /10


y si el sexo es masculino:

núm. pulsaciones = (210 - edad) /10

37.- Una compañía de seguros está abriendo un departamento de finanzas y estableció un programa
para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es
menor que $500.000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que

Lenguaje de Programación 7 Msc. Córdova Neri, T


$500.000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cuál será
la cuota que debe pagar un cliente.

38.- En una escuela el costo de matrícula de los alumnos se determina según el número de
materias que cursan. El costo de todas las materias es el mismo.

Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si el


promedio obtenido por un alumno en el últimoperiodo es mayor o igual que 4,5, se le hará un
descuento del 30 % sobre la matrícula y no se le cobrara IVA; si el promedio obtenido es menor
que 4,5 deberá pagar la matrícula completa, la cual incluye el 10 % de IVA.

Obtener cuánto debe pagar un alumno.

39.- Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones:
Si los ingresos del comprador son menores de
$800.000 o más la cuota inicial será del 15 % del costo de la casa y el resto se distribuirá
en pagos mensuales, a pagar en diez años. Si los ingresos del comprador son de $800.000
o más la cuota inicial será del 30 % del costo de la casa y el resto se distribuirá en pagos
mensuales a pagar en 7 años.

La empresa quiere obtener cuánto debe pagar un comprador por concepto de cuota
inicial y cuánto por cada pago parcial.

40.- El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que
consiste en que los dueños de la empresa deben obligatoriamente depositar en una cuenta
bancaria un porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden
solicitar a la empresa que deposite directamente una cuota fija o un porcentaje de su salario
en la cuenta del SAR, la cual le será descontada de su pago.

Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total
de dinero que estará depositado a esa cuenta cada mes, y el pago mensual que
recibirá.42Una persona desea iniciar un negocio, para lo cual piensa verificar cuánto
dinero le prestará el
banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a
menos que el monto por hipotecar su casa sea muy pequeño. Si el monto de la hipoteca es
menor que $100’000.000 entonces invertirá el
50 % de la inversión total y un socio invertirá el otro 50 %. Si el monto de la hipoteca es de
$100’000.000 o más, entonces invertirá e l monto total de la hipoteca y el resto del dinero
que se necesite para cubrir la inversión total se repartirá a partes iguales entre el socio y él.

41.- El gobierno del estado colombiano desea reforestar un bosque que mide determinado
número de hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados,
entonces decidirá sembrar de la siguiente manera:

% de superficie del bosque Tipo de árbol


70 % pino
20 % roble
10 % cedro

Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces decidirá
sembrar de la siguiente manera:

Lenguaje de Programación 8 Msc. Córdova Neri, T


% de superficie del bosque Tipo de árbol
50 % pino
30 % roble
20 % cedro

El gobierno desea saber el número de pinos, robles y cedros que tendrá que sembrar en el
bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros cuadrados caben
15 robles y en 18 metros cuadrados caben 10 cedros. También se sabe que una hectárea
equivale a 10 mil metros cuadrados.

29

Lenguaje de Programación 9 Msc. Córdova Neri, T


CAPITULO II

Ejercicios de programación con ciclos o bucles


Muchos problemas son tomados del autor Español: Luis Rodríguez Ojeda
1.- Diseñar un programa que permita calcular el promedio, el menor valor y el mayor valor de los pesos de n
paquetes en una bodega. Estos datos ingresan uno a la vez dentro de un ciclo. n es un dato ingresado al
inicio.
2.- Diseñar un programa que permita clasificar los pesos de los n objetos de una bodega en tres grupos:
menor a 10 Kg., entre 10 y 20 Kg., más de 20 Kg. Los datos ingresan uno a la vez en un ciclo.

3. Diseñar un programa que permita determine la cantidad de términos que deben sumarse de la serie 12 +
22 + 33 + 44 +...
Para que el valor de la suma sea mayor a un número x ingresado al inicio.

4.- Diseñar un programa que dado dos números enteros a, b, determine su máximo común
divisor m. Ejemplo: a = 36, b = 45 entonces m = 9

5. Diseñar un programa que permita calcular un valor aproximado para la constante π usando la
siguiente expresión:
Π/4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 – 1/11 + 1/13 ...

La cantidad de términos es un dato que debe ser ingresado al inicio del algoritmo.

6.- Diseñar un programa que permita leer los votos de n personas. Cada voto es un número 1, 2, o 3
correspondiente a tres candidatos. Si el dato es 0 es un voto en blanco. Si es otro número es un voto nulo.
Determine el total de votos de cada candidato y el total de votos blancos y nulos.

7.- Diseñar un programa que permita leer coordenadas de u, v de la ubicación de una fábrica y las coordenada
x, y de n sitios de distribución. Encuentre cual es la distancia del sitio más alejado de la fábrica

8.- Diseñar un programa que permita encontrar el mayor valor de la función f(x)=sen(x)+ln(x),
para los valores: x = 1.0, 1.1, 1.2, 1.3,..., 4

9.- Diseñar un programa que permita lo siguiente: Se tienen una lista de las coordenadas x, y de n puntos
en un plano. Lea sucesivamente las coordenadas de cada punto y acumule las distancias del punto al
origen. Muestre la distancia total acumulada.

10.- Diseñar un programa que permita determinarla suma de los términos de la serie 13 + 23 + 33 +... + n3
en donde n es un número natural

11.- Diseñar un programa que permita determinar la suma de los n primeros números de la serie: 1, 1, 2,
3, 5, 8, 13, 21,
en la cual cada término, a partir del tercero, se obtiene sumando los dos términos anteriores

Lenguaje de Programación 10 Msc. Córdova Neri, T


12.- Diseñar un programa que permita lo siguiente: El inventor del juego del ajedrez pidió a su rey que como
recompensa le diera por la primera casilla 2 granos de trigo, por la segunda, 4 granos, por la tercera 8, por
la cuarta 16, y así sucesivamente hasta llegar a la casilla 64.
El rey aceptó. Suponga que cada Kg. de trigo consta de 20000 granos de trigo. Si cada tonelada tiene
1000 Kg. describa un algoritmo para calcular la cantidad de toneladas de trigo que se hubiesen necesitado.

En el ciclo describa la suma 21 + 22 + 23 + 24 +… + 264

13.- Una persona tiene una lista con los precios de n artículos y dispone de una cierta cantidad de dinero. Los
artículos son identificados con la numeración natural. Escriba un programa para leer estos datos y obtener los
siguientes resultados
a) Muestre la identificación de los artículos que puede comprar
b) Para cada artículo cuyo precio es menor que la cantidad de dinero disponible, Diseñar un programa que
permita determinar la cantidad que puede comprar.

14.- La plataforma de un transporte tiene capacidad para llevar hasta m kilos. Se tiene una lista ordenada en
forma creciente con el peso de n paquetes. Diseñar un programa que permita determinar cuantos paquetes
pueden ser transportados. La elección debe hacerse comenzando con los paquetes de menor peso.

15.- En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo
de un número de una cifra que se escoge al azar. Si el numero escogido es menor que 7 el descuento es del
5% sobre el total de la compra, si es mayor o igual a 7 el descuento es del 10%. Lea la cantidad de dinero.
Genere el número aleatorio y muestre cuánto dinero se le descuenta. Diseñar el programa
16.- Diseñar un programa que muestre dos números aleatorios con valores enteros entre 1 y 100 tales que la
suma sea un número primo.

17.- Diseñar un programa que permita leer un número par. Encuentre dos números al azar tales que la
suma sea igual al dato dado.
18.- Diseñar un programa que permita Leer un número par. Encuentre dos números al azar tales que sean
primos y la suma sea igual al dato dado.

19.- Diseñar un programa que Simule el siguiente juego entre tres ranas. Las ranas están al inicio de una pista
de 20 m. En turnos cada rana realiza un salto. El salto es aleatorio y puede ser: a) Brinca y cae en el mismo
lugar, b) Salta 0.5 m en la dirección correcta, c) Salta 1 m en la dirección correcta, d) Salta 0.5 m
retrocediendo. Determine cuál de las tres ranas llega primero a la meta.
20.- Dado un valor entero positivo n verifique que 13+23+33+…+n3 = (1+2+3+…n)2

21.- Diseñar un programa que genere n parejas de número primos gemelos. Estos números primos tienen
la propiedad que además de ser primos, la distancia entre ellos es
2. Ejemplo. 3 y 5, 5 y 7, 11 y 13, 17 y 19, etc

22.- En un juego se debe asignar a cada persona un número mágico que se obtiene con la siguiente regla: Se
suman los dígitos de la fecha de nacimiento y se suman nuevamente los dígitos del resultado hasta obtener
un solo dígito, como en el siguiente ejemplo. Diseñar el programa:

Fecha de Nacimiento: 28/11/1989


28 + 11 + 1989 = 2028 ⇒ 2 + 0 + 2 + 8 = 12 ⇒ 1 + 2 = 3
Entonces el número buscado es 3

Lenguaje de Programación 11 Msc. Córdova Neri, T


Lea tres números: día, mes, año y muestre el número mágico correspondiente
23. Diseñar un programa para resolver el siguiente problema: En la Asamblea de un partido político hay dos
posibles candidatos para inscribirlo en las elecciones de alcalde. Para elegir al candidato del partido, cada una
de las n personas asistentes a la reunión entregan un voto. Se deben leer uno por uno los votos y determinar si
alguno de los dos candidatos obtuvo más de la mitad de los votos. Este será el candidato.
24. Analice el siguiente programa que usa un ciclo for. Escriba un programa equivalente que produzca el
mismo resultado, pero sustituyendo el ciclo for por un ciclo while Debe definir una variable para conteo de
repeticiones y la condición para salir del ciclo.
n = int(input(‘Ingrese un dato: ‘))
s=0
for i in range(1,n):
s = s + i**2
print(s)
25. Diseñar un programa con un ciclo. Dentro del ciclo se generarán tres números aleatorios con valores
enteros del 1 al 10. El programa deberá terminar cuando en alguna repetición, uno de los tres números sea
igual al producto de los otros dos números. Muestre los números resultantes. Muestre también la cantidad
de repeticiones que se realizaron.

26.- El cuadrado de cualquier número terminado en 5 se lo puede formar como el producto:


(decenas)(decenas+1) + 25
Ejemplo. 852 = 10(8)10(9) + 25 = 7225
4752 = 10(47)10(48) + 25 = 225625

Diseñar un programa que verifique si se cumple esta regla con los números 5, 10, 15, 20,
..., m. Si no es verdad, muestre el primer número que no cumple esta regla, m es un dato.

27.- Diseñar un programa que dado un entero positivo n, se desea verificar que la suma de los primeros n

n ú m e r o s impares es igual a n2

Ejemplo. n = 5  1 + 3 + 5 + 7 + 9 = 52

Prueba. Realice una prueba de su algoritmo anterior.

Prueba n Ciclo i Impar k s Salida


5 0
1 1 1
2 3 4
3 5 9
4 7 16
5 9 25 ‘Verdadero’

Se verifica que el resultado es ‘Verdadero’.

Lenguaje de Programación 12 Msc. Córdova Neri, T


28.- C Diseñar un programa que permita calcular el mayor valor de los pesos de n paquetes en una bodega.
Estos datos ingresan uno a la vez dentro de un ciclo. Al inicio ingrese el valor de n para especificar la
cantidad de ciclos que se realizarán
29.- Lea los votos de n personas en una consulta. Cada voto es un número 0, o 1 correspondiente a la opción
a favor (1) o en contra (0). Al inicio lea el valor de n para especificar la cantidad de ciclos que se realizarán.
Diseñar su programa

30.- Diseñar un programa que determine la suma de los n primeros números de la serie: 1, 1, 2, 3, 5, 8,
13, 21, .... en la cual cada término, a partir del tercero, se obtiene sumando los dos términos
anteriores
31.- Diseñar un programa para leer un valor aproximado para la constante π usando la siguiente
expresión:
π/4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 – 1/11 + 1/13 ...
La cantidad de términos es un dato que debe ser ingresado al inicio del algoritmo.

32.- Diseñar un programa que permita determine la cantidad de términos que deben sumarse de la serie 11

+ 22 + 33 + 44 +... para que el valor de la suma sea mayor a un número x ingresado al inicio.
33.- Industria del Hielo.- Una empresa
dispone de un bloque de hielo con un peso
mayor de 15 cifras y como unidad de medida
TM. Para su venta, el bloque se debe cortar en
partes y con unidad de medida m3. Los valores
de cada corte solo deben tomar pesos entre 1...
9 m3 no necesariamente ordenados pero si
pueden ser iguales(no todos).
Considerando que el peso es en TM siempre
será un número PAR. Diseñar un programa que
permita leer el peso total del bloque de hielo y
hacer las siguientes consultas:
A) Mostrar todos los bloques extraídos mediante el proceso de corte. Verificar si la suma del proceso de
cortes es igual al peso total del bloque
B) Para fines de distribución, describa ¿cuál es el proceso más óptimo...? . Diseñe e implemente y mostrar
resultados.
C) Según B), mostrar los bloques repetidos, las veces que se repite y sus posiciones respectivas

33.- Algoritmo del Módulo 11”: El problema se basa en generar el Código de Usuario (Alumno, Empleado,
Ciudadano, Vehículo, etc. ) durante el proceso de Registro de datos en el sistema Informático. Este proceso se
conoce con el nombre de “Algoritmo del Módulo 11”, el cual consiste en que el usuario ingresa un Dato entero

Lenguaje de Programación 13 Msc. Córdova Neri, T


(defina el tamaño) y luego se descompone en la suma de factores de multiplicación de los dígitos del Dato por
los dígitos desde 2...9, y el resultado se extrae el resto, a este se le asigna una letra “ABCDEFGHIJK “(vector
cadena) según resultado del resto.

Ejemplo: Generar código de 2 empleados, código registrado en la Base de Datos del Sistema de Planilla de la
Universidad
I.- Empleado 1: Monzón
Ingrese código: 838509
Suma de Factores = 8*2 +3*3+ 8*4 +5*5+0*6+9*7 = 145
Modulo11 = 145%11 = 2 Asignación de letra = ‘C’
Código Generado: 838509C
II.- Empleado 2: Córdova
Ingrese código: 848139
Suma de Factores = 8*2 +4*3+ 8*4 +1*5+3*6+9*7 =146
Modulo11 = 164%11 = 3 Asignación de letra = ‘D’
Código Generado: 848139D
34.- Sistema de Administración de Postulantes. El siguiente sistema es administrado por un Informático,
quien para administrar los procesos del examen de admisión, primero debe validar sus datos de entrada al
sistema por: Usuario = “TCN” y Clave = FIIS”. Se admite solo 3 errores. Si la identificación ante el sistema
es correcto, entonces el informático puede procesar la siguiente información:

En la Universidad MFI rinden examen de


admisión 8000 postulantes para 4
Facultades cuyo código son (ver tabla):
La universidad aplica 3 tipos de
exámenes a sus postulantes: Los
postulantes que obtengan por lo menos
dos exámenes aprobados (mayor o igual
a 11) son Admitidos, en caso contrario
son Rechazados. En base a esto se pide
diseñar un programa que permita:
a) Mostrar por cada postulante el mensaje “Admitido” o “Rechazado”
b) Presentar el número de ingresantes por Facultad
c) Facultad con mayor y menor número de ingresantes.
d) El número total de no ingresantes a las diferentes facultades

Lenguaje de Programación 14 Msc. Córdova Neri, T


35.- Diseñar un programa que permita generar una tabla de multiplicar de dimensión n*m (usuario lee n,m.)
luego hacer reporte:
a).-Total de números dentro de la tabla con un
dígito y mostrar los datos
b).- Total de números dentro de la tabla con
dos dígitos y mostrar los datos
C.-Total de números dentro de la tabla con
tres y mostrar Datos
d).- Encontrar el número mayor y mostrarlo
en forma invertida.
e).- Usando respuesta en c), encontrar el total
de dígitos pares y mostrar la suma
acumulada. Análogo para los dígitos impares.

36,.Números amigos: Dos números amigos


son dos números enteros positivos a y b
tales que a es la suma de los divisores propios
de b, y b es la suma de los divisores propios de a. (la unidad se considera divisor propio, pero no lo es el mismo
número).
Un ejemplo es el par de naturales (220, 284), ya que:
Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284.
Los divisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220.
Si un número es amigo de sí mismo (es igual a la suma de sus divisores propios), recibe el nombre de número
perfecto.

37.- Descomposición de un numero en operaciones ARITMETICAS: Algunos números enteros n>=2 se


pueden representar como alguna de las operaciones
aritméticas, en particular, suma de dos enteros al
cuadrado
N = a2+b2., a<=b
por ejemplo 50 = 12 + 72 = 52 + 52. 2 formas
Por tanto, diseñar un programa que determine la cantidad
de formas distintas t en las que se puede escribir un
numero entero n como suma de dos cuadrados a2 + b2
donde 0 ≤ a ≤ b ≤ n.

Lenguaje de Programación 15 Msc. Córdova Neri, T


38 .- Diseñar un programa que permita leer un numero N entero compuesto por 3 o más dígitos, luego leer un
digito d y este buscarlo si esta en N.
Mostrar lo siguientes reportes:
1.-Secuencia formada del digito buscado
2.- Total de dígitos encontrados
3.- Suma de dígitos buscados
4.- Secuencia no formada
5.- Total de dígitos
6.- Suma de dígitos de Secuencia no formada
39.- Procesar Edades: Programa para leer n edades de niños
y luego mostrar los solicitado en la siguiente
interface.
Observe que las edades solo están en el rango
de 1..9, las cuales se pueden repetir :

40.- Diseñar un programa que permita leer de


un número entre 0 y 999, y luego genere reportes
para conocer cuántos dígitos tiene el mismo.
Finalizar el programa cuando se edita el valor 0.
También averiguar si existen números capicúas.
El programa debe ser interactivo.
41.- Diseñar un programa que en forma aleatoria capture números y luego forme una se secuencia de solo
números pares, impares.
42.- Diseñar un programa que solicite la lectura de números por teclado, obtener su promedio. Finalizar la
lectura de valores cuando se ingresa el valor 0.
Cuando la finalización depende de algún valor ingresado por el operador conviene el empleo de la estructura do
while, por lo menos se cargará un valor (en el caso más extremo se carga 0, que indica la finalización de la carga
de valores).
43.- Diseñar un programa que permita ingresar el peso (en kilogramos) de piezas.
El proceso termina cuando ingresamos el valor 0. Se debe informar:
a) Cuántas piezas tienen un peso entre 9.8 Kg. y 10.2 Kg.?, cuántas con más de 10.2 Kg?
b) cuántas con menos de 9.8 Kg?
c) La cantidad total de piezas procesadas.
44.-Una planta que fabrica perfiles de hierro posee un lote de n piezas.Diseñar un programa que pida ingresar
por teclado la cantidad de piezas a procesar y luego ingrese la longitud de cada perfil; sabiendo que la pieza

Lenguaje de Programación 16 Msc. Córdova Neri, T


cuya longitud esté comprendida en el rango de 1,20 y 1,30 son aptas. Imprimir por pantalla la cantidad de piezas
aptas que hay en el lote.
45.- Diseñar un programa que lea n números enteros y calcule la cantidad de valores mayores o iguales.1000.
Este tipo de problemas también se puede resolver empleando la estructura repetitiva for. Lo primero que se hace
es cargar una variable que indique la cantidad de valores a ingresar.
46. -Se cuenta con la siguiente información:
Las edades de 50 estudiantes del turno mañana.
Las edades de 60 estudiantes del turno tarde.
Las edades de 110 estudiantes del turno noche.
Las edades de cada estudiante deben ingresarse por teclado.
a) Obtener el promedio de las edades de cada turno (tres promedios)b) Imprimir dichos promedios (promedio
de cada turno)
c) Mostrar por pantalla un mensaje que indique cuál de los tres turnos tiene un promedio de edades mayor.
47. - Diseñar un programa que permita conocer el número total de puntos que se encuentran en el interior de la
elipse:
X*x/16 + y*y / 9=1.

Lenguaje de Programación 17 Msc. Córdova Neri, T