You are on page 1of 8

PROBLEMAS PROPUESTOS

1. Realizar un programa que genere una tabla de los cuadrados y cubos de los
números desde 1 hasta un tope leído desde el teclado. Po ejemplo, si el tope es
3 la tabla será:

NUMERO CUADRADO CUBO


1 1 1
2 4 8
3 9 27

2. Realizar un programa para convertir temperaturas de grados Fahrenheit (F);


desde 0 hasta 212 grados, a grados Celsius (C) de punto flotante con tres
dígitos de presión, utilizando la formula.

C=(5.0/9)*(F-32)

4. Realizar un programa que ingrese desde teclado un número entero binario e


imprimir su equivalente decimal. Validar que los dígitos del numero sean
binarios (solo dígitos 0 y 1). Por ejemplo, el equivalente decimal del número
1011 binario es: 1*8+0*4+1*2+1*1=8+0+2+1, es decir 11.

6. Realizar un programa que ingrese desde teclado un numero positivo n, y


calcule la suma de los números impares desde 1 hasta n. por ejemplo, calcular
la suma de los n números impares:
1+3+5+………….+2*n-1
El programa debe determinar cuándo se ingresa un número negativo o cero.

8. Realizar un programa que lea desde teclado una serie de caracteres hasta un
fin de archivo <<Ctrl Z>> y que cuente los caracteres leídos, las palabras y las
líneas del texto ingresado. Se definirá una palabra como una secuencia de
caracteres sin espacios en blanco, sin tabulado y sin nueva línea.

10. Escribir un programa que imprima la figura de un diamante como en el


grafico siguiente. Se puede utilizar funciones printf () que impriman ya sea
un asterisco (*), o un espacio en blanco, minimizando el número de funciones
printf (). Utilizar una estructura de repetición anidada.
El programa debe leer un número impar del rango 1 al 19 a fin de especificar
el número de líneas del diamante. A continuación se deberá desplegar un
diamante del tamaño apropiado. Por ejemplo, si el número de líneas es 9 la
figura será:

12. Escribir un programa que cifre los datos enteros de cuatro dígitos. El programa
debe leer un entero de cuatro dígitos y cifrarlo como sigue: reemplazar cada
digito por el resultado de sumarle 7 y de determinar su residuo de 10. A
continuación intercambiar el primer digito con el tercero, y el segundo con el
cuarto. Por último, imprimir el entero cifrado.
El programa debe introducir un entero de cuatro dígitos para cifrarlo, y luego
descifrarlo para formar el número original.

14. Realizar un menú para cada uno de los siguientes enunciados:

a) Leer dos números del teclado, calcular la suma de los números y


desplegar el resultado.
b) Leer dos números del teclado, determinar y desplegar cual es el mayor
de los 2 números.
c) Leer desde el teclado una serie de números positivos, suponiendo que el
valor del centinela es de -1 para indicar la entrada de fin de datos.
Luego determinar y desplegar la suma de la serie de números.

16. Generar la siguiente “pirámide” de dígitos utilizando lazos anidados

Realizar un programa para ingresar el número de líneas de la pirámide (mayor


que 0), también determinar la formula que genere los dígitos correspondientes
para cada línea y luego imprimir la pirámide

18. Una gran empresa química paga a su personal de ventas en base a


comisiones. El personal de ventas recibe 200 dólares por semana más 9% de
las ventas brutas de esta semana. Por ejemplo, una persona de ventas que
vende 5000 dólares de productos químicos en una semana, recibe 20 dólares
más 9% de 5000 dólares, ósea un total de 650 dólares. Desarrollar un
programa que introduzca las ventas brutas de cada vendedor correspondiente
a la última semana, calcule y despliegue las ganancias de dicho vendedor.
Procesar las cifras vendedor por vendedor. Por ejemplo:

Ingrese la ventas< -1 para fin>:5000 <ENTER>


El salario es: 650 dólares
Ingrese las ventas < -1 para fin>: <ENTER>
El salario es: 290 dólares
Ingrese las ventas <-1 para fin >:-1 <ENTER>

20. Desarrollar un programa que determine el sueldo para cada uno de los
empleados de una empresa. La empresa paga”tiempo normal” para las
primeras 40 horas trabajadas de cada empleada y paga “sobre tiempo” de 1.5
veces para todas las horas trabajadas en exceso de 40 horas. Para introducir la
información de cada uno de los empleados, se tiene una lista de los empleados
de la empresa, el número de horas que cada empleado trabajo la última
semana, y la tasa horaria de cada empleado. Determinar y desplegar el sueldo
de cada uno de los empleados. Por ejemplo:

Ingrese # de horas trabajadas < -1 para fin >: 39 <ENTER>


Ingrese la tasa horaria (00.00 dólares): 10 <ENTER>
El salario es: 390 dólares
Ingrese # de horas trabajadas < -1 para fin >: 41 <ENTER>
Ingrese la tasa horaria (00.00 dólares): 10 <ENTER>
El salario es : 415 dólares
Ingrese # de horas trabajadas < -1 para fin> : -1 <ENTER>

22. Una persona invierte p sucres en una cuenta de ahorros, que reditúa a interés
del r%. Suponiendo que todo el interés se queda en depósito dentro de la
cuenta, calcular e imprimir la cantidad de dinero en la cuenta durante n años.
Para la determinación del interés compuesto se utiliza la formula:
𝑎 = 𝑝(1 + 𝑟)𝑛

Donde:
-p, es la cantidad original invertida (el principal).
-r, es la tasa anual de interés.
-n, es el número de años.
-a, es la cantidad del depósito al final del año n.
Realizar un programa para tasas de interés del 5%, 6%, 7%, 8%,9% y 10%.
Además el programa solo debe utilizar enteros para calcular el iteres
compuesto.
“sugerencia”: tratar todas las cantidades monetarias como números enteros de
centavos. A continuación “dividir” el resultado en su posición sucres y en su
posición centavos, mediante el uso de las operaciones de división y el residuo
respectivamente. Insertar un punto.

24. Cuando se realiza en un banco un préstamo de P dólares, cada mes se deberá


devolver C dólares hasta que se haya completado la cantidad total prestada.
Parte del pago mensual serán intereses calculados como el i por ciento de la
cantidad aun no pagada. El resto del pago servirá para reducir la cantidad
adeudada.
Escribir un programa que determine la siguiente información:
a) La cantidad de interés pagado por mes.
b) La cantidad de dinero aplicado a la reducción de la deuda total cada
mes.
c) La cantidad total de intereses que se lleva pagada al final de cada mes.
d) La cantidad de deuda aun no pagada al final de cada mes.
e) El numero de pagos mensuales necesarios para devolver el préstamo.
f) La cuantía del último pago, porque puede ser menor a C.
26. Realizar un programa que calcule la “media geométrica” de una lista de n
números, utilizando la siguiente fórmula:
𝑥𝑚𝑒𝑑𝑖𝑎 = [𝑥1 𝑥2 𝑥3 … … … … 𝑥𝑛 ]1⁄𝑛

28. “Los números de Fibonacci” son miembros de una serie en la que cada
número es igual a la suma de los números anteriores, así:
𝐹𝑖 = 𝐹𝑖−1 + 𝐹𝑖−2
Donde 𝐹𝑖 , es el i-ésimo numero de Fibonacci son por definición iguales a 1.
Por ejemplo, los cuatro primeros números de la serie serian:
𝐹1 = 1
𝐹2 = 1
𝐹3 = 𝐹2 + 𝐹1 = 1 + 1 = 2
𝐹4 = 𝐹3 + 𝐹2 = 2 + 1 = 3

Escribir un programa que determine los n números de la serie de Fibonacci.


30. Se puede calcular el seno de un ángulo x de forma aproximada, utilizando la
siguiente serie infinita:
𝑠𝑒𝑛𝑜(𝑥) = 𝑥 − 𝑥 3 ⁄3! + 𝑥 5 ⁄5! − 𝑥 7 ⁄7! + … … … ..

Donde x, se encuentra en radianes (1 radian=180°).

Escribir un programa que lea el valor de x, y calcule su seno. El programa


realizarlo de dos formas diferentes:

a) Sumar los n primeros términos, en donde n es un enteros positivo que se


introduce desde el teclado.
b) Sumar términos de la serie hasta que el valor del termino siguiente sea menor
(en modulo) a un error seleccionado por el usuario. Por el ejemplo, un error
típico de 10−5
En este caso indicar el número de términos utilizados para conseguir la
respuesta final.

32. “Un numero primo” es la cantidad entera que es divisible solo por 1 y por si
mismo. Escribir un programa que imprima una lista con los n primeros
números primos.
34. Una “terna pitagórica” es el conjunto de los tres valores enteros
correspondientes a los lados de un triángulo rectángulo. Estos tres lados deben
de satisfacer la relación: de que la suma se los cuadrados de dos de los lados
(catetos) es igual al cuadrado de la hipotenusa.
Realizar un programa que encuentre todas las ternas pitagóricas para lado1,
lado2 e hipotenusa, todos ellos no mayores de 500. Utilizar un lazo for de
tripe anidamiento, que pruebe todas las posibilidades.

36. Escribir un programa que introduzca el año en el rango de 1994 al 1999,, y


utilice un lazo para producir un calendario condesado e impreso de forma
nítida. Considerar los años bisiestos.

38. Generar una grafica en la pantalla y en la impresora de la siguiente función:


𝑦 = 𝑒 −0.1𝑡 𝑠𝑒𝑛𝑜0.5𝑡
Se debe utilizar un asterisco (*) para cada punto que aparezca en la grafica.
Hacer que la grafica se imprima verticalmente, con un punto (un asterisco) por
línea.
“Sugerencia”: determinar la posición del asterisco redondeando el valor de y al
entero más cercano y utilizando una escala adecuada al número de caracteres
por línea. Cada línea impresa debe consistir en un asterisco precedido por el
número adecuado de espacios en blanco.
40. Escribir un programa que permita leer tres números y determine el valor
máximo, indicando cuales de los números ingresados corresponde a ese
máximo.
42. Una empresa paga a sus empleados como se muestra a continuación:
“Gerentes”. Reciben un salario semanal fijo.
“Trabajadores horarios”. Reciben un salario horario fijo por las primeras 40
horas de trabajo, y reciben 1.5 veces su sueldo horario para las horas extras
trabajadas.
“Trabajadores a Comisión”. Reciben 250 dólares mas 5.7% de sus ventas
semanales brutas.
“Trabajadores a destajo”. Reciben una cantidad fija de dinero por cada una de
las piezas que produce cada trabajador a destajo, que trabaja solo un tipo de
piezas.
Escribir un programa para calcular la nomina semanal de cada empleado, no se
sabe por anticipado el número de empleados y cada tipo de empleado tiene su
propio código de nomina así:
1 los gerentes
2 los trabajadores
3 los trabajadores a comisiones
4 los trabajadores a destajo

Utilizar una sentencia switch para calcular la nomina de cada empleado,


basado en el código de nomina de dicho empleado.

44. El equipo de futbol L.D.U ha tenido una buena campaña y desea premiar a sus
jugadores con un aumento del salario para la siguiente temporada.
Los sueldos deben ajustarse de la siguiente tabla:
SUELSO ACTUAL (dólares) AUMENTO (%)

0 - 900
20
901 - 1300
10
1301 - 1800
5
Sobre 1800
nada
El equipo tiene como un máximo de 30 jugadores. Diseñar un programa que
lea el nombre del jugador y su salario actual, y que a continuación imprima el
nombre, el sueldo actual y el sueldo aumentado; al final de la lista debe
proporcionar también el monto total de la nomina actual y el monto de la
nueva nomina que incluye los aumentos mencionados.

46. Una empresa de ventas por coreo vende cinco productos distintos, cuyos
precios de menudeo se muestran en la tabla siguiente:
NUMERO DE PRODUCTO PRECIO AL MENUDEO
29.80 dólares
1
45.00
2
99.80
3
44.90
4
68.70
5

Escribir un programa que lea una serie de pares de números, como sigue:
a) Numero del producto
b) Cantidad vendida en un día.

El programa deberá utilizar una sentencia switch para ayudar a determinar el


precio de menudeo de cada producto. Además, calcular y desplegar el valor
total de menudeo, de todos los productos vendidos la semana pasada.