Professional Documents
Culture Documents
PROBLEMAS DE PROGRAMACIÓN
1. Diseñe un DFD tal que dados los datos A, B, C, D que representan nombres de personas, los
escriba lo mismos en orden inverso a como ingresaron.
2. Elabore un DFD tal que dado como datos el nombre de un dinosaurio, su peso y su longitud,
expresadas estos dos últimos en kilogramos y pies respectivamente, escriba el nombre del
dinosaurio, su peso expresado en toneladas y su longitud expresada en metros.
1 tonelada equivale a 1000 kilógramos
1 pie equivale a 0.3047 metros
3. Construya un DFD tal que dado el costo de un artículo vendido y la cantidad de dinero entregada
por el cliente, calcule e imprima el cambio que se debe entregar al mismo. Si el cambio es negativo
debe enviar un mensaje donde indique que el producto no puede ser vendido por falta de dinero.
4. Elabore un DF que reciba dos números e imprima las operaciones básicas y el resultado que se
obtiene de realizar esas operaciones
6. Escribir un algoritmo que calcule e imprima el área de un triángulo en función de base y altura
8. Construya un DFD que permita solicitar el radio de un círculo y calcula su área y su perímetro. A=
𝜋 𝑟2 P = 2𝜋𝑟
9. Construya un DFD tal que dado como dato la calificación obtenida por un estudiante en un
examen, escriba “aprobado” en caso de que esa calificación sea mayor a 8 o caso contrario debe
decir a “practicar más”
10. Realice un DFD que dado el nombre de un curso y 5 calificaciones de un alumno obtenidas a lo
lardo del semestre en dicho curso, construya un DFD que imprima el nombre del curso, nombre del
estudiante y el promedio de sus calificaciones
11. Realice un DFD que solicite un número e indicar si es positivo, nulo o negativo
12. Construya un DFD que resuelva el problema que tienen en una gasolinera. Los pisteros de la misma
registran o introducen el precio por litro de la gasolina y la máquina expendedora de la gasolina
registra en galones la cantidad vendida. Elabore DFD que calcule e imprimir la cantidad de litros
de gasolina vendidos así como el monto que se le debe cobrar al cliente.
Cada galón tiene 3.785 litros
13. Crear un programa que lea dos números y los escriba de mayor a menor o bien decir si son iguales.
14. Hacer un programa que solicite un número y decir si es par o impar. Debe imprimir el número y la
leyenda respectiva
16. Hacer un DFD que solicita tres números y mostrarlos ordenados de mayor a menor
17. Escribir un algoritmo que calcule e imprima el área de un triángulo en función de base y altura
18. Construya un DFD recibe una nota de 0 a 10 y mostrar la nota y su equivalente en letras de la
siguiente forma: Insuficiente ( si la nota es menor a 70), Suficiente ( si la nota es mayor o igual
a70 pero menor que 80), Bien ( si la nota es mayor o igual a 80 pero menor que 90), Muy bien ( si
la nota es mayor o igual a 80 pero menor que 90), Excelente.(si la nota es igual a 100)
19. En algunas universidades no costarricenses las notas son asignadas de acuerdo a letras del
alfabeto y no a números, Desarrolle un algoritmo que permita convertir calificaciones numéricas a
calificaciones alfabéticas de acuerdo al siguiente patrón:
Nota numérica Nota alfabética
100 A
90 – 89 B
80 – 89 C
60 – 79 D
40 – 59 E
0 - 39 F
20. Realizar un algoritmo que permita convertir temperaturas dadas en grados Celsius a temperaturas
en grados Fahrenheit. F = 9/5 (C + 32)
21. Hacer un programa que solicita una nota numérica entera entre 0 y 10, e imprimir dicha nota con
su respectiva escritura en inglés Ejs 1 one, 9 nine
22. Determinar el área y volumen de un cilindro cuyas dimensiones radio y altura se leen desde el
teclado.
1. V = r2 h = 3.141592
2. S = 2 r h
23. Pedir los coeficientes de una ecuación de 2º grado, de la forma AX2 + BX + C y muestre sus
soluciones reales. Si no existen, debe indicarlo.
24. Dado como dato el nombre y sueldo de un trabajador, aplíquele un aumento del 15% si su sueldo
es inferior a $1000, pero si es mayor a esa cantidad el aumento es de un 10%. Imprima en este
caso el nombre, sueldo anterior al aumento, la cantidad de dinero que va a recibir por el aumento
así como su nuevo sueldo.
25. Hacer un DFD que solicita una hora de la forma horas “HH”, minutos “MM” y segundos “SS”;
imprimir la hora una vez transcurrido un segundo de la hora que se ingreso
26. Tres atletas recorren la misma distancia y se registra sus tiempos en horas, minutos y segundos.
Se desea saber el tiempo total utilizando por los atletas en horas, minutos y segundos
28. Realizar un algoritmo que permita intercambiar entre si los valores de dos variables A y B. Debe
imprimir las variables tanto antes como después de haber intercambiado los valores
29. Elabore un DF que reciba del teclado un número e imprima el mes del año al cual corresponde ese
número si se introduce un número que no corresponde a ningún mes enviar un mensaje de error
30. En una tienda efectúan descuentos a los clientes dependiendo del monto de la compra. El
descuento se efectúa con base en el siguiente criterio.
Si el monto es menor a $500 no hay descuento.
Si el monto está comprendido entre $500 y $1000 el descuento es del 5%
Si el monto es mayor a $1000 pero menor o igual a $7000 el descuento es del 11%
Si el monto es mayor a $7000 pero menor a $15000 el descuento es del 18%
Si el monto es igual o mayor a $15000 el descuento es del 25%
Hacer un DFD que dado el monto de compra se imprima el monto de la compra, la cantidad
del descuento así como la cantidad que debe pagar el cliente.
31. Cinco amigos van a una soda a compartir un rato después de una jornada de estudio. La dueña
de la soda los ofrece el siguiente menú
Hamburguesa 250
Refrescos 200
Ensalada 350
Salchichas 275
Sopa 500
Pastel 450
Postre 350
Elabore un DF que permita a la dueña del negocio calcular el monto total que deben pagar los 5
clientes una vez solicitada la cuenta. Debe desglosar los montos de acuerdo a lo solicitado por los
clientes, además se sabe que se debe pagar un 13% de impuestos.
32. Hacer un DFD que indique si al recibir un número que corresponde a un año cualquiera, decir si
ese año es bisiesto siguiendo las siguientes reglas: si el año no es divisible por 4 no es bisiesto,
ahora si el año es divisible por 4 es bisiesto salvo en aquellos casos donde ese año es divisible por
100 también debe ser divisible por 400 para poder ser bisiesto.
33. Pedir dos fechas y mostrar el número de días que hay de diferencia, las fechas deben ser
introducidas por teclado con el formato DIA, MES, AÑO verificar si esas fechas son correctas, si no
es así indicar a través de un mensaje que esa información no corresponde a fechas válidas.
34. Diseñar un DF en el que a partir de una fecha introducida por teclado con el formato DIA, MES,
AÑO verificar si esa fecha es correcta, si es así obtenga la fecha del día siguiente, de lo contrario
indicar a través de un mensaje que esa información no corresponde a ninguna fecha.
36. Pedir un número entre 0 y 9.999 y mostrarlo con las cifras al revés. Ej. 1754 4571
38. Hacer un DF que solicita dos números e indica si alguno de ellos es divisible por el otro, e indicar
cuál es el divisor del otro. Ej 8 y 4 indica 4 es un divisor de 8
39. Escribir un programa que lea tres números que corresponden a los lados de un triángulo e indique
el tipo de triángulo que forman (isósceles, equilátero, escaleno). Comprobar que los números
realmente formen un triángulo, sino emitir el error.
40. Determinar la hipotenusa de un triángulo rectángulo una vez que se han introducido los valores de
los catetos de un triángulo rectángulo. Recuerde a2 + b2 = c2
41. Pedir un número de 0 a 99 y mostrar dicho número en letras. Por ejemplo, para 56 mostrar:
cincuenta y seis.
42. Dada una cantidad expresada en pies, y otra en metros. Determinar la suma pero convertida a
pulgadas, a yardas, a metros y a millas por separado. Considere las siguientes equivalencias:
1 milla = 1609 metros, 1 pulgada = 0.0254 metros, 1 yarda = 3 pies, 1 pie = 12 pulgadas.
43. El gobierno ha implementado como parte de su programa social, un subsidio familiar bajo la
siguiente reglamentación:
a) Las familias que tienen hasta 2 hijos, reciben $ 70.00, las que tienen hasta 3 y 5 reciben $90.00
y las que tienen 6 o más reciben $120 mensual.
b) Por cada hijo en edad escolar reciben $10.00 adicionales. Se considera la edad escolar entre 6
y 18 años.
c) Si la madre de familia es viuda, la familia recibe $ 20.00 adicionales.
Hacer un DFD que Determine el monto mensual que recibirá una familia de acuerdo a su realidad
familiar. Usted debe distinguir cuales son las entradas y las salidas.
44. En una finca hay 5 estanques llenos de agua, cuyas capacidades están dadas en litros o en yardas
cúbicas. De la cantidad total de agua: el 45% se dedica para el cultivo de tilapia, el 30% para el
consumo doméstico y el 25% se dedica al riego. Diseñe un programa que haga lo siguiente:
Reciba la cantidad de agua que existe en cada uno de los estanques y en medida utiliza.
Determine la cantidad total de agua expresada en pies cúbicos y en metros cúbicos.
Determine las cantidades de agua dedicada al riego y al consumo doméstico expresada en metros
cúbicos y en pies cúbicos.
Determine la cantidad de agua que utilizan para el cultivo de tilapia expresada en metros cúbicos,
pies cúbicos y en yardas cúbicas.
Considere los siguientes factores de conversión:
1 pie cúbico = 0.0283 metros cúbicos, 1 metro cúbico = 1000 litros, 1 yarda cúbica = 27 pies cúbicos.
45. Una Olimpiada de tiro al blanco se llega a un acuerdo entre los participantes para que el puntaje
obtenido sea calculado con base al puntaje original ( 0 a 10 ) alcanzando en el tiro efectuado,
multiplicado por un factor según la siguiente tabla:
Para un tiro realizado determine el puntaje total aplicando el factor que le corresponde.
47. En una librería han puesto en oferta la venta de cuadernos al por mayor, obsequiando lapiceros
Lucas, Cross y/o Novo dependiendo de la cantidad de cuadernos comprados, de la siguiente
manera:
Las compras menores a 12 cuadernos, no se obsequia nada.
Las compras mayores o iguales a 12 pero menos que 24 se obsequio: 1 lapicero Lucas por cada 4
cuadernos.
Las compras mayores o iguales a 24 pero menos que 36 se obsequio: 1 lapicero Lucas por cada 4
cuadernos hasta llegar a 24, más 2 lapiceros Cross por cada 3 cuadernos comprados a partir de
los 25 en adelante..
Las compras mayores o iguales a 36 se obsequio: 1 lapicero Lucas por cada 3 cuadernos hasta
llegar a 24, más 2 lapiceros Cross por cada 3 cuadernos comprados a partir de los 25 con tope a
36 y de los 36 en adelante se les da 1 lapiceros Novo por cada 2 cuadernos adicionales.
Diseñe un programa que imprima la cantidad de cuadernos comprados y además determine e
informe cuántos lapiceros Lucas, Cross y Novo recibe un cliente como obsequio.
48. Diseñe un programa que ingrese un número entero positivo que no tenga más de 4 cifras y lo
imprima completando con ceros por la izquierda de tal manera que siempre se observe con 4 cifras.
Por ejemplo, si el número ingresado es 18, el resultado deberá ser 0018. Si el número ingresado
no es correcto debe imprimir un mensaje de error.
CICLOS
51. Escribir un programa que lea exactamente 8 números y luego escriba la suma de todos ellos
52. Modificar el programa anterior para que en lugar de leer 8 números, se puedan leer tantos números
como se quiera hasta que llegue un cero. El programa debe imprimir la cantidad de números que
ingresaron y el resultado de la suma de todos los números leídos.
53. Pedir números hasta que se teclee uno negativo, y mostrar cuántos números se han introducido.
54. Hacer un programa que solicite de entrada una cantidad de números que corresponden a las
temperaturas por día a un sector de la cordillera de los Andes, y da como salida la cantidad de
días que se registraron las temperaturas, la cantidad de días que hubo temperaturas bajo cero, la
cantidad de días que hubo temperaturas mayores o iguales a cero. La cantidad de temperaturas a
ingresar las decide el usuario ya que el programa le debe preguntar ¿Quiere continuar Si/No?
55. Hacer un programa que introducidos diez números por teclado calcular e imprima el valor mínimo.
58. Realizar un programa que lea un número natural K e imprima la suma de todos los números
naturales que sean menores a él
60. Realice un DFD que reciba 10 números enteros, e imprimir la cantidad de números pares que
ingresaron, la suma de los números pares, la cantidad de números impares que ingresaron, la suma
de los números impares y el total de la suma de los números que ingresaron.
61. Diseñar un algoritmo para determinar si un número N es primo (un número es primo sólo puede ser
divisible por el mismo y por la unidad)
63. Dadas las edades y alturas de 5 alumnos, mostrar la edad y la estatura promedio, la cantidad de
alumnos mayores de 18 años, y la cantidad de alumnos que miden más de 1.75 m.
64. Programa que lea una serie de números (leer hasta que se le indique que no hay más números
para ingresar) y que calcule e imprima su media aritmética
65. Hacer un programa que calcula e imprime los números perfectos menores a 1000. Un número es
perfecto si la suma de sus divisores excepto el mismo es igual al propio número.
Ejemplo 6 es un número perfecto porque 1 + 2 + 3 = 6
66. La división de dos números se puede obtener a base de restas. Elabore un DFD que recibe dos
números enteros que son el dividendo y el divisor e imprima el resultado del cociente y del residuo
obtenidos estos a base de restas
67. La multiplicación de dos números se puede obtener a base de sumas. Elabore un DFD que recibe
dos números enteros que son los factores de la multiplicación e imprima el resultado (total) obtenido
este a base de sumas
68. Programa que escriba todo el código ASCII (el código ASCII va de 0 a 255 y representa el número
con el que los ordenadores almacenan los caracteres)
69. Crear un programa que lea un número entero y a partir de él cree un cuadrado de asteriscos con
ese tamaño. Los asteriscos sólo se verán en el borde del cuadrado, no en el interior-
70. Crear un programa que lea cantidades y precios, al final indique el total de la factura.
Primero se pregunta:
Introduzca la cantidad vendida, tras lo cual el usuario introducirá un número entero positivo.
Después se pregunta:
Introduzca el precio que será un número decimal positivo.
Se debe preguntar si se va introducir más datos. ( S/N) La lectura termina cuando al preguntar se
introduce una N. e inmediatamente después de eso imprimir el total
Prof. Ana Salas E.
71. Crear un programa para calcular los salarios semanales de sus empleados, a los que se les paga
15 euros por hora si éstas no superan las 35 horas. Cada hora por encima de 35 se considerará
extra y se paga a 22 €.
El programa solicita el nombre del trabajador , cantidad de horas trabajadas del trabajador y calcular
el salario e imprime el nombre del trabajador junto con el salario devengado.
Además el programa debe preguntar si deseamos calcular otro salario, si es así hace nuevamente
el cálculo para otro trabajador de lo contrario termina
72. Crear un programa que escriba dos columnas de números, en la primera se colocan los números
del 1 al 100, en la segunda los números del 100 al 1
73. Crear un programa que lea un número entero y positivo y que escriba tres columnas. La primera
cuenta desde uno hasta el número escrito contando de uno en uno; la segunda columna cuenta de
dos en dos y la tercera de tres .en tres
74. Hacer un programa que recibe un número K, entero y mayor a 0 y múltiplo de 5. Debe imprimir la
siguiente serie de números 5,10,15,20,25,30,35....K.
77. Hallar la sumatoria de: 2! + 4! + 6! + 8! + ... n! donde n es un número mayor que cero y par
78. Recibe un número entero y retorne un nuevo número con sus cifras invertidas.
79. Leer un número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número
negativo
80. Leer un número e indicar si es positivo o negativo. El proceso se repetirá hasta que se introduzca
un 0.
81. Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar.
82. Pedir números hasta que se teclee uno negativo, y mostrar cuántos números se han introducido.
83. Realizar un juego para adivinar un número. Para ello pedir un número N, y luego ir solicitando
números indicando “mayor” o “menor” según sea mayor o menor con respecto a N. El proceso
termina cuando el usuario acierta.
84. Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos.
85. Pedir números hasta que se introduzca uno negativo, y calcular la media.
90. Diseñar un programa que muestre el producto de los 10 primeros números impares.
91. Diseña una aplicación que muestre las tablas de multiplicar del 1 al 10.
92. Pedir 10 números. Mostrar la media de los números positivos, la media de los números negativos
y la cantidad de ceros.
94. Una empresa que se dedica a la venta de desinfectantes necesita un programa para gestionar las
facturas. En cada factura figura: el código del artículo, la cantidad vendida en litros y el precio por
litro.
Se pide de 5 facturas introducidas: Facturación total, cantidad en litros vendidos del artículo 1
y cuantas facturas se emitieron de más de 600 €.
95. Igual que el anterior pero suponiendo que no se introduce el precio por litro. Solo existen tres
productos con los siguientes precios: 1) 0,6 €/litro, 2) 3 €/litro y 3) 1,25 €/litro
96. Dadas 6 notas, escribir la cantidad de alumnos aprobados, condicionados (=4) y suspensos.
99. Recibe dos números enteros, el primero representa un número decimal y el segundo representa la
base de numeración a la cual hay que convertir el primer número. Elabore un programa que permita
cambiar el número decimal a su respectiva base de numeración solicitada.
101. Crear un programa que lea un número e indique su valor en la sucesión de Fibonacci (llamarle
Fibonacci).
102. Crear el programa asteriscos4 en el que se introduce un número entero y se crea una pirámide
de asteriscos. Por ejemplo si se introduce el 6, el resultado sería:
*
***
*****
*******
*********
***********
105. Una empresa tiene N trabajadores, a cada uno de ellos le paga un sueldo según las horas
trabajadas a cierta tarifa por hora. Además a cada trabajador cuyo sueldo supero los 600 soles le
descuenta 10% por concepto de impuestos. Se desea saber cuántos trabajadores ganan más de
600 soles, cuantos ganan hasta 600 soles y cuanto dinero se tiene que pagar al estado por concepto
de impuestos.
106. Se ponen a la venta, las entradas para un partido de fútbol internacional, cuyo precio depende
de la tribuna, así: tribuna norte y sur cuesta 25 nuevos soles, tribuna oriente cuesta 45 nuevos soles
y tribuna occidente cuesta 65 nuevos soles. Diseñe usted, la solución a un programa que controle
la venta de dichas entradas a fin de poder saber la cantidad de personas que asisten a cada tribuna,
la cantidad total de personas (Asistencia) y el monto total recaudado por la venta de todas las
entradas. (Recaudación).
ARRAYS (MATRICES)
107. Dado el vector T de tamaño n. Si el tamaño es par invertir los elementos de la mitad de los
elementos
Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4]
108. Dadas dos matrices A y B intercambiar los mínimos de A con los máximos de B.
109. Crear un programa que contenga una función llamada copiarArray ) que reciba dos arrays y el
tamaño de los mismos (deben de ser del mismo tamaño) y que consiga copia en el segundo array
el contenido del primero
110. Crear un programa llamado paresImpares que cree un array de 100 números aleatorios del 1
al 1000. Una vez creado, mostrar el contenido y después organizarlo de forma que estén juntos los
elementos pares y los impares. Después, volver a mostrar el array
111. Crear un programa llamado vendedores que cree un array de 18 X 10 indicando que poseemos
una empresa de 18 vendedores cada uno de los cuales vende 10 productos.
113. Crear un programa que mediante un menú admita reservar o cancelar asientos de un avión, así
como mostrar qué asientos están ocupados y libreas actualmente. El array tendrá 25 filas y 4
columnas
114. Crear un programa que cree un array con 1000 letras mayúsculas aleatorias y que cuenta
cuántas veces aparece cada letra en el array
115. Determine el menor valor de 5 números, indicando además la posición en que se leyó dicho
número. Considere que el menor valor puede repetirse. Por Ejm. Si los números ingresados fueran:
14, 19, 14, 16, 15. Los resultados deben ser: El menor valor ingresado fue 14 y corresponde a la
posición uno y tres.