SlideShare una empresa de Scribd logo
Ejercicios Programación
1.- EJECUCIÓN SECUENCIAL
1. Algoritmo que pida un número real 'r' y calcule el perímetro y el área de la circunferencia de
radio r (p=2*PI*r, a=PI*r*r).
2. Algoritmo que pida dos números enteros y calcule su suma, su producto, su resta y su cociente.
3. Algoritmo que calcule la media de tres números.
4. Algoritmo que pida dos números reales a y b y calcule la hipotenusa del triángulo
rectángulo de catetos a y b, h=sqrt(a*a+b*b), es decir, raíz cuadrada de la suma de los cuadrados de
los catetos, (Teorema de Pitágoras).
5. Visualizar el número de pulsaciones que una persona debe tener por cada 10 segundos de
ejercicio, la edad se pide por teclado. La fórmula es:
Num pulsaciones = (220 - edad ) /10
6. Pedir por teclado el número de hombre y el número de mujeres que hay en un grupo de
estudiantes. Visualizar el porcentaje de hombres y mujeres del total.
7. Calcular el salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. El
dato del salario se pide por teclado.
8. En un hospital existen tres áreas: Ginecología, Pediatría y Traumatología. El presupuesto anual
del hospital se reparte conforme a la siguiente tabla:
Area Porcentaje del presupuesto
Ginecología 40%
Traumatología 30%
Pediatría 30%
Visualizar el dinero que recibirá cada área en función de los porcentajes, teniendo en cuenta que el
presupuesto es una cantidad que se introduce por teclado.
Ejercicios Programación
2.- Decisión simple y doble (IF / IF-ELSE)
9. Algoritmo que pida un número y diga si es mayor que 10 o menor-o-igual que 10.
10. Algoritmo que pida dos números 'a' y 'b' e indique si 'a' es mayor que 'b' o no.
11. Algoritmo que pida dos números 'a' y 'b' e indique si su suma es positiva, negativa o cero.
12. Algoritmo que pida dos números 'a' y 'b' e imprima 'OK' si ambos son positivos o 'a' es positivo.
Debe imprimir 'NO' en otro caso.
13. Algoritmo que pida dos números 'nota' y 'edad' y un carácter 'sexo' y muestre el mensaje
'ACEPTADA' si la nota es mayor o igual a cinco, la edad es mayor o igual a dieciocho y el sexo
es 'M'. En caso de que se cumpla lo mismo, pero el sexo sea 'V', debe imprimir 'POSIBLE'.
14. Algoritmo que pida tres números y los muestre ordenados.
15. Algoritmo que pida cinco números y muestre los que sean mayores que la media.
16. Algoritmo que calcule, según la siguiente tabla, el impuesto a pagar según el salario anual. Se
pedirán como datos al usuario el salario mensual y el número de pagas.
Salario anual Porcentaje de impuesto
------------- ----------------------
< 1000000 5%
1000000-2500000 12%
2500001-3800000 15%
3800001-6000000 22%
> 6000000 30%
17. Pedir la introducción de una serie de valores por teclado. Se deberá visualizar el valor mínimo y
la media. El criterio para dejar de introducir valores será que se responda N (no) a la pregunta
“¿desea continuar introduciendo valores”?
18. Programa que pida la introducción de valores por teclado, hasta que la suma de los mismos
supere los 200 kg.
19. Aceptar por teclado la duración de una llamada telefónica y determinar la cantidad a pagar,
teniendo en cuenta que: Toda llamada que dure menos de 3 minutos tiene un coste total de 10
céntimos, y cada minuto adicional a partir de los tres primeros cuenta 5 céntimos. Dar el
resultado en euros (€).
20. Pedir la introducción de dos números enteros, a y b. Si a es mayor que b visualizar la suma y en
caso contrario, visualizar el producto.
21. Programa que calcule el área, bien de un círculo, bien de un rectángulo. Pedirá que se
introduzca C o R. Si se introdujo C, pedir el radio y visualizar área. Si se introdujo R, pedir base
y altura y visualizar área.
Ejercicios Programación
22. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si
trabaja 40 horas o menos se le paga 16€ por hora. Si trabaja más de 40 horas se le paga 16 € por
cada una de las primeras 40 horas y 20 € por cada hora extra. El número de horas que trabaja el
obrero es un dato que se pide por teclado.
23. Algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o
más se aplica un descuento del 20% sobre el total de la compra, y si son menos de tres camisas
un descuento del 10%. El número de camisas y el precio por unidad de cada camisa (todas las
camisas valen lo mismo) se pide por teclado.
24. Leer una temperatura y escribir que deporte es apropiado para esa temperatura, usando los
siguientes criterios:
DEPORTE TEMPERATURA (ºF)
Natación > 85
Tenis 70 < Temp. <= 85
Golf 32 < Temp. <= 70
Esquí 10 < Temp. <= 32
Deportes interior <=10
Ejercicios Programación
3.- Decisión múltiple (SWITCH)
25. Algoritmo que pida notas numéricas enteras (hasta que una sea negativa) e imprima sus
equivalentes en texto (0-2 => MD, 3-4 => I, 5 => Suf, 6 => B, 7-8 => Not, 9-10 => Sob, otro
=> Error).
26. Algoritmo que pida un número entero entre uno y doce e imprima el número de días que tiene
el mes correspondiente.
27. Algoritmo que pida una letra e imprima si es vocal o consonante.
28. Algoritmo que muestre un menú ( 1.- Escribir 'A', 2.- Escribir 'B', 3.- Escribir 'C', 4.- Salir ), lea
una opción y la ejecute (escribiendo 'A', 'B' o 'C') o termine si la opción es 4.
29. Realizar un programa en el cual un usuario introducirá un número del 1 al 7, y ese número debe
de traducirse en el día de la semana correspondiente según su posición en la semana.
30. Realizar un programa que aceptará por teclado, un número del 1 al 6, donde dependiendo del
número introducido sucederá lo siguiente: 1.- suma; 2.- resta, 3.- multiplicación, 4.- división, 5.-
modulo, 6.- salir. Para poder obtener un resultado en las opciones del 1 al 5 hay que pedir dos
números por teclado, en el 6 el programa finalizará.
Ejercicios Programación
4.- Bucles (While / Do-While)
31. Algoritmo que pida números hasta que se introduzca un cero.
32. Algoritmo que pida números mientras sean mayores que cien.
33. Algoritmo que pida números hasta que se introduzca uno negativo. Entonces debe indicar
cuántos números se han introducido.
34. Algoritmo que pida parejas de números hasta que sean iguales O uno de ellos sea cero.
35. Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media
de todos los números introducidos.
36. Algoritmo que pida caracteres e imprima 'VOCAL' si son vocales y 'CONSONANTE' si no.
37. Algoritmo que pida números hasta que uno sea cero. En cada iteración (desde la segunda) debe
imprimir la suma de los dos últimos números.
38. Algoritmo que pida números enteros hasta que se introduzca uno negativo y cuente cuántos
están entre 5 y 10, cuántos entre 11 y 15 y cuántos fuera de estos intervalos.
39. Contar los números positivos introducidos mediante teclado. Detener el algoritmo al leer un
número cero o negativo.
40. Introducir las notas de 10 alumnos y obtener el porcentaje de aprobados, si determinamos que
un aprobado es que aquella nota que es 5 o mayor que 5.
41. Calcular la potencia de un número. La base de cualquier número es real y el exponente es un
tipo entero. y=xn.. Los datos de la base y el exponente se introducen desde teclado.
42. Pedir la introducción de una serie de valores por teclado. Para cada uno de ellos se deberá
visualizar su sumatoria (la suma de cada uno de los valores introducidos). El criterio para dejar
de introducir valores será o bien que hayamos introducido 20 números o bien que la ultima
sumatoria calculada sea mayor que 300.
Ejercicios Programación
5.- Bucle Para (For)
43. Algoritmo que muestre los números entre a y b (ambos valores enteros dados por el usuario).
44. Algoritmo que calcular la suma de los diez primeros números.
45. Algoritmo que muestre los números entre 1 y 20.
46. Algoritmo que muestre los números pares entre 2 y 30.
47. Algoritmo que pida dos números, a y b, y muestre los números que hay entre a y b, ambos
incluídos. Si a es mayor que b, debe mostrar un mensaje de error.
48. Algoritmo que pida dos números, a y b, y cuente desde el menor hasta el mayor.
49. Algoritmo que multiplique dos números introducidos por el usuario usando sumas sucesivas.
50. Algoritmo que pida n números enteros (n dado por el usuario) y calcule su suma y su media.
51. Algoritmo que pida n números enteros (n dado por el usuario) y calcule el menor de ellos.
52. Algoritmo que pida al usuario un número entero n y muestre la tabla de multiplicar de ese
número.
53. Algoritmo que muestre la tabla de multiplicar de los números 1,2,3,4 y 5.
Ejercicios Programación
6.- General
54. Diseñar un programa que muestre la suma de los números impares comprendidos entre dos
valores numéricos enteros y positivos introducidos por teclado.
55. Escribir un programa que lea el número de habitantes de 20 poblaciones y muestre el porcentaje
(sobre el total de habitantes) de habitantes que pertanecen a:
Una población pequeña (menos de 2.000 habitantes).
Una población media (entre 2.000 y 300.000 habitantes).
Una población grande (más de 300.000 habitantes).
56. Diseñar el algoritmo correspondiente a un programa que lee dos números y presenta una serie
de opciones correspondientes a distintas operaciones que podemos realizar con ellos (suma,
resta, multiplicación y división), de manera que en función de la opción elegida, muestra el
resultado de la operación realizada. En aquellos casos en los que se desee seguir operando con
los mismos números, se debe contestar 'S' (Sí) al siguiente mensaje: "¿Otra operación con los
mismos números S/N?" o 'N' (No), en caso contrario. Finalmente el programa deberá concluir
tras responder 'S' (Sí) o 'N' (No) a la siguiente pregunta: "¿Terminar S/N?".
57. Escribir un programa que permita realizar descuentos en un comercio, en función del total de
compras realizadas por cada cliente. Para realizar dichos descuentos, se deben leer los importes
de cada compra parcial de un cliente hasta que un importe sea igual a cero, posteriormente se
escribirá el importe total a pagar teniendo en cuenta que se pueden efectuar los siguientes
descuentos:
a) Si el importe total de la compra está entre 300 y 900 €., el descuento es del 15%.
b) Si el importe total de la compra es mayor de 900 €. el descuento es del 20%.
La lectura de clientes finaliza tras responder al mensaje de "¿Más clientes S/N?", mostrando
al final la suma total de todos los importes cobrados.
58. Diseñar un programa que permita calcular los salarios semanales de los trabajadores de una
empresa a partir de los siguientes datos:
1. Número de horas trabajadas.
2. El turno de trabajo realizado.
Mañanas (M).
Tardes (T).
Noches (N).
3. La tarifa ordinaria por hora de cada uno de los
trabajadores.
Para el cálculo del salario bruto se tendrá en cuenta que el turno de tarde se paga a 1.2 más de la
tarifa ordinaria, mientras que el turno de noche se paga a 1.5 más, también de la tarifa ordinaria.
Para el cálculo del salario neto se realizan determinados descuentos destinados al pago de impuestos
de la siguiente forma:
1. Si el salario bruto es menor de 900 €. el descuento es del 0.8%.
2. Si el salario bruto está entre 900 y 1800 € el descuento es del 10%.
Ejercicios Programación
3. Si es mayor de 1800 € el descuento es del 12%.
Se desea escribir el salario neto de cada trabajador junto con el importe total de salarios
abonados.
La lectura de los datos finaliza respondiendo 'S' (Sí) o 'N' (No) a la siguiente pregunta "¿Más
trabajadores S/N?".
59. Diseñar el algoritmo correspondiente a un programa que realice las siguientes operaciones:
1. Lee por teclado los siguientes datos:
Nombre completo del empleado.
Nombre de la empresa en la que trabaja.
Sueldo anual.
Edad (en años).
La introducción de estos datos finaliza al leer nombre con valor "Final".
2. Visualizar en pantalla:
• En el caso de no haber introducido ningún dato correcto, mostrar el mensaje de "No
se ha introducido ningún dato de empleados. Fin del programa".
• En el caso de introducir una edad incorrecta (menor de 18 años o superior a 65
años), mostrar el siguiente mensaje de error: "Edad incorrecta. Introduce otra edad".
Este mensaje aparecerá hasta que la edad introducida sea correcta o adecuada.
• En el caso de introducir datos válidos se mostrarán la edad media de los empleados
de la empresa, el nombre y edad del empleado con menor sueldo junto con el
valor del mismo y en aquellos casos en los que existan varios empleados con el
mismo sueldo mínimo se visualizará el introducido con mayor edad.
60. Diseñar un programa que permita calcular las gratificaciones a pagar a los empleados de una
empresa con motivo de celebrar sus 20 años de funcionamiento. Se deberá leer el nombre y
número de años que cada trabajador lleva en dicha empresa, finalizando la lectura de datos al
introducir un nombre igual a "Fin". Se desea realizar un listado con los nombres de los
empleados y su gratificación correspondiente, teniendo en cuenta la siguiente tabla:
Años trabajados en la empresa Gratificación en €
Más de 3 y menos de 10 300
Entre 10 y 15 500
Más de 15 900
Al final se desea escribir el total de gratificaciones abonadas.
61. Escribir un programa que lea las temperaturas obtenidas en 15 observatorios meteorológicos y
escriba la temperatura mínima y cuántas mínimas se han producido.
Ejercicios Programación
62. Diseñar el algoritmo correspondiente a un programa que realice las siguientes operaciones:
a) Leer por teclado dos valores númericos que representan la base y el exponente de una
potencia donde el exponente es un número entero positivo o negativo. La introducción de
datos se termina por la contestación a un mensaje de "¿Terminar S/N?".
b) Visualizar por cada par de números introducidos la potencia correspondiente, teniendo en
cuenta los siguientes casos:
b.1) Si la base y el exponente son cero, se mostrará un mesaje de error que diga
"Datos erróneos".
b.2) Si el exponente es cero la potencia es 1.
b.3) Si el exponente es negativo la fórmula matemática de la potencia es pot = 1 /
baseexp. En este caso, si la base es cero escribir un mensaje de "Datos erróneos".
(No utilizar la función pow(a,b) que nos proporciona la clase Math de Java).
63. Escribir un programa que lea el nombre, sexo (V/M) y edad de una serie de personas de una
población, finalizando la lectura de datos cuando un nombre sea igual a '*' y muestre como
resultado la media de edad de cada sexo, así como el nombre del varón y el de la mujer de
mayor edad.
64. Diseñar un programa que permita adivinar al ordenador un determinado número entero y
positivo para lo cual se deben leer los límites en los que está comprendido dicho número. El
programa deberá ir mostrando números que recibirán las siguientes respuestas:
1. 'S', si es correcto.
2. 'A', si es más alto que el número a adivinar.
3. 'B', si es más bajo.
Al finalizar el programa, se deberá escribir el número de intentos realizados para acertar el número.
Hacer uso de las clases o métodos que consideres necesarios para poder solventar el problema del
número aleatorio.
65. Pedir un número entero por teclado y mostrar un mensaje que indique si es positivo, negativo o
cero.
66. Pedir tres números reales y calcular y mostrar su media aritmética.
67. Pedir los tres coeficientes de una ecuación de segundo grado y calcular las soluciones de dicha
ecuación. Considerar todas las posibilidades.
68. Una compañía eléctrica desea calcular el importe de las facturas. Se debe pedir el tipo de cliente
('a', 'b' o 'c') y el consumo en KWh. El importe será un coste fijo (que depende del tipo de
cliente) más el producto del consumo por el precio unitario de cada KWh (que depende del tipo
de cliente y de la cantidad consumida). La tabla de tarifas es la siguiente:
Ejercicios Programación
Coste/KWh
_______________________
tipo cli <500 entre 500 >5000 Fijo
y 5000
A 10 8 6 2000
B 15 12 10 4000
C 20 16 15 6000
69. Codificar un programa que permita determinar cualquier elemento de la serie de Fibonacci,
introduciendo como número de entrada, el número del que se desea saber la serie:
a1=1, a2=1 y ai=ai-1 + ai-2 si i >= 3
70. Codificar un programa que permita determinar si un número es primo. Se puede demostrar que
un número es primo si no hay números primos más pequeños que él que lo dividan. En
consecuencia, para determinar si N es primo, es suficiente con verificar únicamente los números
primos menores que N como posibles divisores.
71. Codificar un programa que permita determinar el menor número de billetes de 500, 200, 100,
50, 20, 10, 5 € necesarios para pagar una cantidad C asignada. El dinero sobrante se mostrará
como sobrante. Opcional: determinar también la cantidad de monedas de cada tipo del sobrante
que queda, teniendo como monedas posibles, 1, 0.50, 0.20, 0.10, 0.05, 0.01 €
72. Se desea calcular el salario neto semanal de un trabajador en función del número de horas
trabajadas y la tasa de impuestos:
- Las primeras 35 horas se pagan a tarifa normal
- Las horas que pasen de 35 se pagan a 1.5 veces la tarifa normal.
- Las tasas de impuestos son:
- Las primeras 1000 € son libres de impuestos.
- Las siguientes 250 € tienen un 25 por 100 de impuestos.
- Las restantes, un 45 por 100 de impuestos
- La tarifa horaria es de 35 €.
Se desea codificar un programa que pida el nombre y las horas trabajadas y calcule el salario bruto,
las tasas descontadas y el salario neto.
73. Generar el siguiente "árbol" de dígitos utilizando bucles anidados. No escribir las cadenas de
dígitos completas, sino determinar una relación lógica que permita generar dicho árbol poco a
poco.
Ejercicios Programación
1
232
34543
4567654
567898765
67890109876
7890123210987
890123454321098
90123456765432109
000
000
Ejercicios Programación
7.- Funciones (Métodos en JAVA)
74. Calcular una clase en Java, que implemente un método para cada una de estos cálculos:
A. Cálculo del área del círculo (el método recibe el radio y devuelve el área)
B. Cálculo del área de un rectángulo (el método recibe la base y altura y devuelve el área).
C. Calculo de la hipotenusa de un triángulo rectángulo (el método recibe los catetos y devuelve
la hipotenusa).
Para probar el funcionamiento, la clase debe contener el método main (principal). Las lecturas se
realizan desde teclado, y los métodos no tienen parámetros. Realizar las validaciones pertinentes
para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al
usuario que los introduzca correctamente, hasta que lo haga bien.
75. Realizar una clase igual que la anterior, pero con la salvedad de que los métodos van a recibir
por parámetros, los datos de entrada que necesita para realizar los cálculos en cada caso.
Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso
de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo
haga bien.
76. Realizar una clase igual que la anterior, pero realizaremos un menú con las opciones
disponibles de cálculo, para que el usuario elija que es lo que desea calcular: 1. Circulo; 2.
Rectángulo; 3. Triángulo y 4. Salir. Realizar las validaciones pertinentes para que los datos de
entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los
introduzca correctamente, hasta que lo haga bien.
77. Modificar el ejercicio anterior, añadiendo nuevas funcionalidad al menú, para poder calcular: 4.
Seno de un ángulo; 5. Coseno de un ángulo; 6. Tangente de un ángulo; 7. Salir. Para poder
realizar el ejercicio, se debe de hacer uso de la clase Math de la API de Java.
78. Leer dos números N y M y mostrar los números primos comprendidos en ese rango. Realizar
una clase que implemente un método para determinar si un número es primo o no, y crear un
método principal para validar que funciona bien. Realizar las validaciones pertinentes para que
los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario
que los introduzca correctamente, hasta que lo haga bien.
79. Realizar una clase en Java que lea la altura en cos de 20 personas y muestre cuantas superan
1,90 metros y la mayor y menos altura introducida. Habrá de realizar un método para validar las
alturas leídas. Se consideran válidas al alturas comprendidas entre 100 y 300 cms. Realizar
también un método para calcular cuantas personas cumplen con el 1,90 m y además la mayor y
la menor (se puede disgregar cuanto como se desee). Realizar las validaciones pertinentes para
que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al
usuario que los introduzca correctamente, hasta que lo haga bien.
80. Realizar una clase en Java que calcule la edad de 10 individuos a partir de las fechas de
nacimiento y la fecha actual (para calcular la fecha actual y para que el programa esté siempre
actualizado utilizar la clase Date de Java). La clase deberá de crear como mínimo un método
para validar la fecha introducida sea correcta y otro para realizar el cálculo de la edad. Realizar
un main para comprobar el funcionamiento del mismo
Ejercicios Programación
81. Realizar una clase en Java, donde se realizar una serie de métodos para calcular, el área y el
volumen de una esfera, cuyo dato de entrada necesario será el radio, y calcular también área y
perímetro de un rectángulo, cuyos datos de entrada son la base y altura. Realizar las
validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos
errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien.
Realizar un main para comprobar el funcionamiento del ejercicio.
82. Realizar una clase en Java, igual que la anterior, pero los datos de entrada que son leídos desde
teclado, se les pasará a los métodos por parámetro, en cada caso el correspondiente a lo que
necesita.
83. Modificar el ejercicio anterior, para que el programa presente un menú con las opciones: 1-
esfera; 2-rectángulo y 3- salir. En cada caso mostrar área y volumen de la figura pertinente.
84. Realizar una clase en Java que realice: a) las primeras 10 potencias de un número (el método no
devuelve nada). Utilizar la función pow de la clase Math. b) Los N primeros términos de la
sucesión de Fibonacci. Realizar las validaciones pertinentes para que los datos de entrada sean
correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca
correctamente, hasta que lo haga bien.
85. Realizar una clase en Java, que diseñe un método para calcular las raíces reales de una ecuación
de 2º grado. El método recibirá por parámetros los coeficientes (a, b, y c) y dejará guardas las
raíces reales en el caso de que existan. El método devolverá un 1 si existen las raíces y un 0 en
otro caso. Realizar un método main para comprobar el funcionamiento del ejercicio.
86. Realizar una clase en Java, la cual implemente un método que calcule y devuelva el factorial de
un número introducido por teclado. Realizar un método main para comprobar el funcionamiento
del ejercicio.
87. Realizar una clase en Java que implemente un método que calcule y devuelva el número de días
que faltan hasta final de año, partiendo de una fecha determinada. (se puede hacer uso de la
clase Data de Java en todo lo que se necesite). La fecha se introduce por teclado en día, mes y
año. Se deberá de tener en cuenta si el año es bisiesto. Realizar las validaciones pertinentes para
que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al
usuario que los introduzca correctamente, hasta que lo haga bien. Realizar un método main para
comprobar el funcionamiento del ejercicio.
88. Realizar una clase en Java, que al ejecutarla me devuelva tres números en orden creciente,
siendo estos introducidos por teclado en cualquier orden. Implementar un método que los
ordene. Realizar un main para comprobar el funcionamiento del ejercicio.
89. Realizar una clase en Java, que debe de recoger por teclado los nombres y años trabajados en la
empresa de una serie de empleados hasta que se introduce un nombre que sea ‘*’. El programa
deberá imprimir los nombres de los empleados y la gratificación correspondiente anual en base
al valor calculado y devuelto por un método que tiene en cuanta lo siguiente:
Ejercicios Programación
AÑOS TRABAJADOS GRATIFICACION EN €
Menos de 10 No corresponde gratificación
Entre 10 y 20 800
Entre 20 y 30 1000
Más de 30 1500
Al final se imprimirá el importe total de las gratificaciones a pagar.
Será necesario realizar todas las validaciones que sean oportunas respecto los datos de entrada, y en
el caso de datos incorrectos, se volverán a solicitar al usuario. Realizar un main para comprobar el
funcionamiento del ejercicio.
90. Realizar una clase en Java, que introduzca por teclado dos números y presenta una serie de
opciones de operaciones aritméticas a realizar con los mismos (suma, resta, multiplicación y
división). En función de la opción seleccionada por el usuario, se llama al método
correspondiente que devuelve el valor del resultado de la operación. Después de mostrar el
resultado se le deberá de preguntar al usuario si desea seguir operando “¿Desea seguir operando
S/N?”, en caso de ’N’ finaliza la ejecución del programa, en caso de ’S’, se le debe de preguntar
al usuario si quiere operar con los mismos números, en caso afirmativo, volvemos a mostrar las
opciones del menú, y en caso negativo, habrá que volver al inicio del programa.
91. Realizar una clase en Java, que calcule el número de la suerte de cualquier persona. Realiza
métodos para leer, calcular y mostrar. Implementa un main para poder comprobar el
funcionamiento de la clase. ¿Qué es un número de la suerte? A partir de la fecha de nacimiento
de una persona, por ejemplo, 16-08-73, el número correspondiente de la suerte será, 8
(1+6+0+8+1+9+7+3). Introduce los datos individualmente, pidiendo dia, mes y año, validando
los datos, para que la introducción sea correcta.
92. Basándote en el ejercicio anterior, vas a realizar una clase que obtenga como salida la misma,
pero la introducción de los datos será de una vez no individualmente, es decir, 160873
93. En base a lo anterior, vas a realizar lo mismo, pero lo datos se van a introducir, con la siguiente
forma, 16-08-73, investiga la API de Java para intentar solventar este problema.
94. Realizar una clase en Java, que calcule el factorial de un número “n”, que será leído por teclado.
Implementa un método que calcule el factorial,y que el número que se ha leído por teclado se le
pase por parámetros. Crear un método main para comprobar el funcionamiento de la clase.
95. Realizar una clase en Java, que obtenga todos los números primeros entre 2 y 100. Debe de
implementar un método que calcule para cada número si es o no primo, que tendrá la siguiente
cabecera: public boolean esPrimo (int). Crear un método main para calcular el funcionamiento
de la clase.
96. Resolver un programa que lea desde teclado un entero “n”, y calcule el término n-ésimo de una
serie definida de la siguiente manera:
a1=1 si n=1
an=2 * an-1 si n>1
El resultado de la serie es: 1,2,4,8,16, 32 … si n=4 el resultado es 8.
Ejercicios Programación
Realizar los métodos que creas necesario para el diseño de la clase, e implementar un método main
para comprobar su funcionamiento.
97. Resolver un programa que lea desde teclado un entero “n”, y calcule el término n-ésimo de una
serie definida de la siguiente manera:
a1=1 si n=1
a2=5 si n=2
an= an-1* an-2 si n>2
El resultado de la serie es: 1,5, 5, 25, 125,…
Realizar los métodos que creas necesario para el diseño de la clase, e implementar un método main
para comprobar su funcionamiento.
98. Realizar un programa en Java, que lea dos cadenas (string), que las concatene, y que pregunte al
usuario que indice de la cadena resultante quiere mostrar. Para realizar este ejercicio, subdividir
las funciones a realizar en diferentes métodos, y utiliza los métodos de la clase String.
99. Realizar un programa que lea un método por teclado y comprueba si es capicúa, es decir, si se
lee igual en ambos sentidos. Por ejemplo: 23132. Intenta subdivir el ejercicio en métodos que
hagan diferentes funcionalidades, y realiza un main para comprobar su funcionamiento.
100. Introduce una palabra por teclado, y comprueba si es palíndromo, es decir, si se lee igual en
ambos sentidos. Por ejemplo: oso. Intenta subdivir el ejercicio en métodos que hagan diferentes
funcionalidades, y realiza un main para comprobar su funcionamiento.

Más contenido relacionado

PDF
PPTX
EJERCICIOS DE ALGORITMOS
PDF
Ejercicio de estructuras_condicionales
DOC
52 ejercicios-resueltos-en-pseudocodigo
DOCX
Taller pseint adsi 581708
DOCX
Problemas propuestos
PDF
Programas de computacion en Pseint
PDF
10 ejercicios-de-do-while
EJERCICIOS DE ALGORITMOS
Ejercicio de estructuras_condicionales
52 ejercicios-resueltos-en-pseudocodigo
Taller pseint adsi 581708
Problemas propuestos
Programas de computacion en Pseint
10 ejercicios-de-do-while

La actualidad más candente (20)

PDF
EJERCICIOS DE ALGORITMOS RESUELTOS
PDF
02 Ejercicios Resueltos diagramas de flujo
PDF
Leithold - formulario integrales
PPTX
Transformar decimal fraccionario a binario, octal y
PDF
Ejercicios resueltos de c++
PPTX
Algoritmo de la ecuación cuadrática
PDF
ALGORITMO RESUELTOS EN PSEINT
PPT
Problema del Transporte
PDF
Ejercicios bucles
PPTX
Distribucion Binomial
DOCX
Ejercicios Whule y Do While
PPTX
Ejercicios
PPT
Algoritmos resueltos
PDF
Ejercicios resueltos de cálculo de probabilidades
DOCX
Funciones trigonométricas inversas
PDF
Algoritmos con PSeInt
PPT
Campo+Electrico23
DOCX
Aplicaciones de los números complejos
PPT
Pl expo secundaria
PPTX
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
EJERCICIOS DE ALGORITMOS RESUELTOS
02 Ejercicios Resueltos diagramas de flujo
Leithold - formulario integrales
Transformar decimal fraccionario a binario, octal y
Ejercicios resueltos de c++
Algoritmo de la ecuación cuadrática
ALGORITMO RESUELTOS EN PSEINT
Problema del Transporte
Ejercicios bucles
Distribucion Binomial
Ejercicios Whule y Do While
Ejercicios
Algoritmos resueltos
Ejercicios resueltos de cálculo de probabilidades
Funciones trigonométricas inversas
Algoritmos con PSeInt
Campo+Electrico23
Aplicaciones de los números complejos
Pl expo secundaria
Programación: Pseudocódigo y algoritmo. Mcm, mcd, término Fibonacci y número ...
Publicidad

Similar a Ejercicios programacion (20)

DOCX
ejercicio ciclos repetitivos
DOCX
Ciclos repetitivos
PPTX
9. estructuras de control parte ii
DOCX
Ejercicio en c
PDF
Serie pseint
PDF
Serie algoritmos
PPTX
Clase2 ejercicios
PDF
1 2019 cbp100 primer parcial_2da_oportunidad
PDF
Guiafundamentos2
PDF
Ejercicios resueltos
PDF
ejercicios-resueltos (1).pdf
PDF
ejercicios-resueltos.pdf
PDF
Ejercicios resueltos2
PPTX
Ejercicios grupales programacion
PPTX
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
PDF
0603 tc1001 act programación básica c++
DOCX
Ejercicios de programación
PDF
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
PDF
Reglas basicas de programacion
PDF
Algoejemplospseudocodigo
ejercicio ciclos repetitivos
Ciclos repetitivos
9. estructuras de control parte ii
Ejercicio en c
Serie pseint
Serie algoritmos
Clase2 ejercicios
1 2019 cbp100 primer parcial_2da_oportunidad
Guiafundamentos2
Ejercicios resueltos
ejercicios-resueltos (1).pdf
ejercicios-resueltos.pdf
Ejercicios resueltos2
Ejercicios grupales programacion
24 Ejercicios de Programación (Análisis-Seudocodigo-Java)
0603 tc1001 act programación básica c++
Ejercicios de programación
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
Reglas basicas de programacion
Algoejemplospseudocodigo
Publicidad

Último (20)

PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Lección 6 Escuela Sab. A través del mar rojo.pdf
Escuelas Desarmando una mirada subjetiva a la educación
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
ciencias-1.pdf libro cuarto basico niños
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...

Ejercicios programacion

  • 1. Ejercicios Programación 1.- EJECUCIÓN SECUENCIAL 1. Algoritmo que pida un número real 'r' y calcule el perímetro y el área de la circunferencia de radio r (p=2*PI*r, a=PI*r*r). 2. Algoritmo que pida dos números enteros y calcule su suma, su producto, su resta y su cociente. 3. Algoritmo que calcule la media de tres números. 4. Algoritmo que pida dos números reales a y b y calcule la hipotenusa del triángulo rectángulo de catetos a y b, h=sqrt(a*a+b*b), es decir, raíz cuadrada de la suma de los cuadrados de los catetos, (Teorema de Pitágoras). 5. Visualizar el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, la edad se pide por teclado. La fórmula es: Num pulsaciones = (220 - edad ) /10 6. Pedir por teclado el número de hombre y el número de mujeres que hay en un grupo de estudiantes. Visualizar el porcentaje de hombres y mujeres del total. 7. Calcular el salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. El dato del salario se pide por teclado. 8. En un hospital existen tres áreas: Ginecología, Pediatría y Traumatología. El presupuesto anual del hospital se reparte conforme a la siguiente tabla: Area Porcentaje del presupuesto Ginecología 40% Traumatología 30% Pediatría 30% Visualizar el dinero que recibirá cada área en función de los porcentajes, teniendo en cuenta que el presupuesto es una cantidad que se introduce por teclado.
  • 2. Ejercicios Programación 2.- Decisión simple y doble (IF / IF-ELSE) 9. Algoritmo que pida un número y diga si es mayor que 10 o menor-o-igual que 10. 10. Algoritmo que pida dos números 'a' y 'b' e indique si 'a' es mayor que 'b' o no. 11. Algoritmo que pida dos números 'a' y 'b' e indique si su suma es positiva, negativa o cero. 12. Algoritmo que pida dos números 'a' y 'b' e imprima 'OK' si ambos son positivos o 'a' es positivo. Debe imprimir 'NO' en otro caso. 13. Algoritmo que pida dos números 'nota' y 'edad' y un carácter 'sexo' y muestre el mensaje 'ACEPTADA' si la nota es mayor o igual a cinco, la edad es mayor o igual a dieciocho y el sexo es 'M'. En caso de que se cumpla lo mismo, pero el sexo sea 'V', debe imprimir 'POSIBLE'. 14. Algoritmo que pida tres números y los muestre ordenados. 15. Algoritmo que pida cinco números y muestre los que sean mayores que la media. 16. Algoritmo que calcule, según la siguiente tabla, el impuesto a pagar según el salario anual. Se pedirán como datos al usuario el salario mensual y el número de pagas. Salario anual Porcentaje de impuesto ------------- ---------------------- < 1000000 5% 1000000-2500000 12% 2500001-3800000 15% 3800001-6000000 22% > 6000000 30% 17. Pedir la introducción de una serie de valores por teclado. Se deberá visualizar el valor mínimo y la media. El criterio para dejar de introducir valores será que se responda N (no) a la pregunta “¿desea continuar introduciendo valores”? 18. Programa que pida la introducción de valores por teclado, hasta que la suma de los mismos supere los 200 kg. 19. Aceptar por teclado la duración de una llamada telefónica y determinar la cantidad a pagar, teniendo en cuenta que: Toda llamada que dure menos de 3 minutos tiene un coste total de 10 céntimos, y cada minuto adicional a partir de los tres primeros cuenta 5 céntimos. Dar el resultado en euros (€). 20. Pedir la introducción de dos números enteros, a y b. Si a es mayor que b visualizar la suma y en caso contrario, visualizar el producto. 21. Programa que calcule el área, bien de un círculo, bien de un rectángulo. Pedirá que se introduzca C o R. Si se introdujo C, pedir el radio y visualizar área. Si se introdujo R, pedir base y altura y visualizar área.
  • 3. Ejercicios Programación 22. Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40 horas o menos se le paga 16€ por hora. Si trabaja más de 40 horas se le paga 16 € por cada una de las primeras 40 horas y 20 € por cada hora extra. El número de horas que trabaja el obrero es un dato que se pide por teclado. 23. Algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o más se aplica un descuento del 20% sobre el total de la compra, y si son menos de tres camisas un descuento del 10%. El número de camisas y el precio por unidad de cada camisa (todas las camisas valen lo mismo) se pide por teclado. 24. Leer una temperatura y escribir que deporte es apropiado para esa temperatura, usando los siguientes criterios: DEPORTE TEMPERATURA (ºF) Natación > 85 Tenis 70 < Temp. <= 85 Golf 32 < Temp. <= 70 Esquí 10 < Temp. <= 32 Deportes interior <=10
  • 4. Ejercicios Programación 3.- Decisión múltiple (SWITCH) 25. Algoritmo que pida notas numéricas enteras (hasta que una sea negativa) e imprima sus equivalentes en texto (0-2 => MD, 3-4 => I, 5 => Suf, 6 => B, 7-8 => Not, 9-10 => Sob, otro => Error). 26. Algoritmo que pida un número entero entre uno y doce e imprima el número de días que tiene el mes correspondiente. 27. Algoritmo que pida una letra e imprima si es vocal o consonante. 28. Algoritmo que muestre un menú ( 1.- Escribir 'A', 2.- Escribir 'B', 3.- Escribir 'C', 4.- Salir ), lea una opción y la ejecute (escribiendo 'A', 'B' o 'C') o termine si la opción es 4. 29. Realizar un programa en el cual un usuario introducirá un número del 1 al 7, y ese número debe de traducirse en el día de la semana correspondiente según su posición en la semana. 30. Realizar un programa que aceptará por teclado, un número del 1 al 6, donde dependiendo del número introducido sucederá lo siguiente: 1.- suma; 2.- resta, 3.- multiplicación, 4.- división, 5.- modulo, 6.- salir. Para poder obtener un resultado en las opciones del 1 al 5 hay que pedir dos números por teclado, en el 6 el programa finalizará.
  • 5. Ejercicios Programación 4.- Bucles (While / Do-While) 31. Algoritmo que pida números hasta que se introduzca un cero. 32. Algoritmo que pida números mientras sean mayores que cien. 33. Algoritmo que pida números hasta que se introduzca uno negativo. Entonces debe indicar cuántos números se han introducido. 34. Algoritmo que pida parejas de números hasta que sean iguales O uno de ellos sea cero. 35. Algoritmo que pida números hasta que se introduzca un cero. Debe imprimir la suma y la media de todos los números introducidos. 36. Algoritmo que pida caracteres e imprima 'VOCAL' si son vocales y 'CONSONANTE' si no. 37. Algoritmo que pida números hasta que uno sea cero. En cada iteración (desde la segunda) debe imprimir la suma de los dos últimos números. 38. Algoritmo que pida números enteros hasta que se introduzca uno negativo y cuente cuántos están entre 5 y 10, cuántos entre 11 y 15 y cuántos fuera de estos intervalos. 39. Contar los números positivos introducidos mediante teclado. Detener el algoritmo al leer un número cero o negativo. 40. Introducir las notas de 10 alumnos y obtener el porcentaje de aprobados, si determinamos que un aprobado es que aquella nota que es 5 o mayor que 5. 41. Calcular la potencia de un número. La base de cualquier número es real y el exponente es un tipo entero. y=xn.. Los datos de la base y el exponente se introducen desde teclado. 42. Pedir la introducción de una serie de valores por teclado. Para cada uno de ellos se deberá visualizar su sumatoria (la suma de cada uno de los valores introducidos). El criterio para dejar de introducir valores será o bien que hayamos introducido 20 números o bien que la ultima sumatoria calculada sea mayor que 300.
  • 6. Ejercicios Programación 5.- Bucle Para (For) 43. Algoritmo que muestre los números entre a y b (ambos valores enteros dados por el usuario). 44. Algoritmo que calcular la suma de los diez primeros números. 45. Algoritmo que muestre los números entre 1 y 20. 46. Algoritmo que muestre los números pares entre 2 y 30. 47. Algoritmo que pida dos números, a y b, y muestre los números que hay entre a y b, ambos incluídos. Si a es mayor que b, debe mostrar un mensaje de error. 48. Algoritmo que pida dos números, a y b, y cuente desde el menor hasta el mayor. 49. Algoritmo que multiplique dos números introducidos por el usuario usando sumas sucesivas. 50. Algoritmo que pida n números enteros (n dado por el usuario) y calcule su suma y su media. 51. Algoritmo que pida n números enteros (n dado por el usuario) y calcule el menor de ellos. 52. Algoritmo que pida al usuario un número entero n y muestre la tabla de multiplicar de ese número. 53. Algoritmo que muestre la tabla de multiplicar de los números 1,2,3,4 y 5.
  • 7. Ejercicios Programación 6.- General 54. Diseñar un programa que muestre la suma de los números impares comprendidos entre dos valores numéricos enteros y positivos introducidos por teclado. 55. Escribir un programa que lea el número de habitantes de 20 poblaciones y muestre el porcentaje (sobre el total de habitantes) de habitantes que pertanecen a: Una población pequeña (menos de 2.000 habitantes). Una población media (entre 2.000 y 300.000 habitantes). Una población grande (más de 300.000 habitantes). 56. Diseñar el algoritmo correspondiente a un programa que lee dos números y presenta una serie de opciones correspondientes a distintas operaciones que podemos realizar con ellos (suma, resta, multiplicación y división), de manera que en función de la opción elegida, muestra el resultado de la operación realizada. En aquellos casos en los que se desee seguir operando con los mismos números, se debe contestar 'S' (Sí) al siguiente mensaje: "¿Otra operación con los mismos números S/N?" o 'N' (No), en caso contrario. Finalmente el programa deberá concluir tras responder 'S' (Sí) o 'N' (No) a la siguiente pregunta: "¿Terminar S/N?". 57. Escribir un programa que permita realizar descuentos en un comercio, en función del total de compras realizadas por cada cliente. Para realizar dichos descuentos, se deben leer los importes de cada compra parcial de un cliente hasta que un importe sea igual a cero, posteriormente se escribirá el importe total a pagar teniendo en cuenta que se pueden efectuar los siguientes descuentos: a) Si el importe total de la compra está entre 300 y 900 €., el descuento es del 15%. b) Si el importe total de la compra es mayor de 900 €. el descuento es del 20%. La lectura de clientes finaliza tras responder al mensaje de "¿Más clientes S/N?", mostrando al final la suma total de todos los importes cobrados. 58. Diseñar un programa que permita calcular los salarios semanales de los trabajadores de una empresa a partir de los siguientes datos: 1. Número de horas trabajadas. 2. El turno de trabajo realizado. Mañanas (M). Tardes (T). Noches (N). 3. La tarifa ordinaria por hora de cada uno de los trabajadores. Para el cálculo del salario bruto se tendrá en cuenta que el turno de tarde se paga a 1.2 más de la tarifa ordinaria, mientras que el turno de noche se paga a 1.5 más, también de la tarifa ordinaria. Para el cálculo del salario neto se realizan determinados descuentos destinados al pago de impuestos de la siguiente forma: 1. Si el salario bruto es menor de 900 €. el descuento es del 0.8%. 2. Si el salario bruto está entre 900 y 1800 € el descuento es del 10%.
  • 8. Ejercicios Programación 3. Si es mayor de 1800 € el descuento es del 12%. Se desea escribir el salario neto de cada trabajador junto con el importe total de salarios abonados. La lectura de los datos finaliza respondiendo 'S' (Sí) o 'N' (No) a la siguiente pregunta "¿Más trabajadores S/N?". 59. Diseñar el algoritmo correspondiente a un programa que realice las siguientes operaciones: 1. Lee por teclado los siguientes datos: Nombre completo del empleado. Nombre de la empresa en la que trabaja. Sueldo anual. Edad (en años). La introducción de estos datos finaliza al leer nombre con valor "Final". 2. Visualizar en pantalla: • En el caso de no haber introducido ningún dato correcto, mostrar el mensaje de "No se ha introducido ningún dato de empleados. Fin del programa". • En el caso de introducir una edad incorrecta (menor de 18 años o superior a 65 años), mostrar el siguiente mensaje de error: "Edad incorrecta. Introduce otra edad". Este mensaje aparecerá hasta que la edad introducida sea correcta o adecuada. • En el caso de introducir datos válidos se mostrarán la edad media de los empleados de la empresa, el nombre y edad del empleado con menor sueldo junto con el valor del mismo y en aquellos casos en los que existan varios empleados con el mismo sueldo mínimo se visualizará el introducido con mayor edad. 60. Diseñar un programa que permita calcular las gratificaciones a pagar a los empleados de una empresa con motivo de celebrar sus 20 años de funcionamiento. Se deberá leer el nombre y número de años que cada trabajador lleva en dicha empresa, finalizando la lectura de datos al introducir un nombre igual a "Fin". Se desea realizar un listado con los nombres de los empleados y su gratificación correspondiente, teniendo en cuenta la siguiente tabla: Años trabajados en la empresa Gratificación en € Más de 3 y menos de 10 300 Entre 10 y 15 500 Más de 15 900 Al final se desea escribir el total de gratificaciones abonadas. 61. Escribir un programa que lea las temperaturas obtenidas en 15 observatorios meteorológicos y escriba la temperatura mínima y cuántas mínimas se han producido.
  • 9. Ejercicios Programación 62. Diseñar el algoritmo correspondiente a un programa que realice las siguientes operaciones: a) Leer por teclado dos valores númericos que representan la base y el exponente de una potencia donde el exponente es un número entero positivo o negativo. La introducción de datos se termina por la contestación a un mensaje de "¿Terminar S/N?". b) Visualizar por cada par de números introducidos la potencia correspondiente, teniendo en cuenta los siguientes casos: b.1) Si la base y el exponente son cero, se mostrará un mesaje de error que diga "Datos erróneos". b.2) Si el exponente es cero la potencia es 1. b.3) Si el exponente es negativo la fórmula matemática de la potencia es pot = 1 / baseexp. En este caso, si la base es cero escribir un mensaje de "Datos erróneos". (No utilizar la función pow(a,b) que nos proporciona la clase Math de Java). 63. Escribir un programa que lea el nombre, sexo (V/M) y edad de una serie de personas de una población, finalizando la lectura de datos cuando un nombre sea igual a '*' y muestre como resultado la media de edad de cada sexo, así como el nombre del varón y el de la mujer de mayor edad. 64. Diseñar un programa que permita adivinar al ordenador un determinado número entero y positivo para lo cual se deben leer los límites en los que está comprendido dicho número. El programa deberá ir mostrando números que recibirán las siguientes respuestas: 1. 'S', si es correcto. 2. 'A', si es más alto que el número a adivinar. 3. 'B', si es más bajo. Al finalizar el programa, se deberá escribir el número de intentos realizados para acertar el número. Hacer uso de las clases o métodos que consideres necesarios para poder solventar el problema del número aleatorio. 65. Pedir un número entero por teclado y mostrar un mensaje que indique si es positivo, negativo o cero. 66. Pedir tres números reales y calcular y mostrar su media aritmética. 67. Pedir los tres coeficientes de una ecuación de segundo grado y calcular las soluciones de dicha ecuación. Considerar todas las posibilidades. 68. Una compañía eléctrica desea calcular el importe de las facturas. Se debe pedir el tipo de cliente ('a', 'b' o 'c') y el consumo en KWh. El importe será un coste fijo (que depende del tipo de cliente) más el producto del consumo por el precio unitario de cada KWh (que depende del tipo de cliente y de la cantidad consumida). La tabla de tarifas es la siguiente:
  • 10. Ejercicios Programación Coste/KWh _______________________ tipo cli <500 entre 500 >5000 Fijo y 5000 A 10 8 6 2000 B 15 12 10 4000 C 20 16 15 6000 69. Codificar un programa que permita determinar cualquier elemento de la serie de Fibonacci, introduciendo como número de entrada, el número del que se desea saber la serie: a1=1, a2=1 y ai=ai-1 + ai-2 si i >= 3 70. Codificar un programa que permita determinar si un número es primo. Se puede demostrar que un número es primo si no hay números primos más pequeños que él que lo dividan. En consecuencia, para determinar si N es primo, es suficiente con verificar únicamente los números primos menores que N como posibles divisores. 71. Codificar un programa que permita determinar el menor número de billetes de 500, 200, 100, 50, 20, 10, 5 € necesarios para pagar una cantidad C asignada. El dinero sobrante se mostrará como sobrante. Opcional: determinar también la cantidad de monedas de cada tipo del sobrante que queda, teniendo como monedas posibles, 1, 0.50, 0.20, 0.10, 0.05, 0.01 € 72. Se desea calcular el salario neto semanal de un trabajador en función del número de horas trabajadas y la tasa de impuestos: - Las primeras 35 horas se pagan a tarifa normal - Las horas que pasen de 35 se pagan a 1.5 veces la tarifa normal. - Las tasas de impuestos son: - Las primeras 1000 € son libres de impuestos. - Las siguientes 250 € tienen un 25 por 100 de impuestos. - Las restantes, un 45 por 100 de impuestos - La tarifa horaria es de 35 €. Se desea codificar un programa que pida el nombre y las horas trabajadas y calcule el salario bruto, las tasas descontadas y el salario neto. 73. Generar el siguiente "árbol" de dígitos utilizando bucles anidados. No escribir las cadenas de dígitos completas, sino determinar una relación lógica que permita generar dicho árbol poco a poco.
  • 12. Ejercicios Programación 7.- Funciones (Métodos en JAVA) 74. Calcular una clase en Java, que implemente un método para cada una de estos cálculos: A. Cálculo del área del círculo (el método recibe el radio y devuelve el área) B. Cálculo del área de un rectángulo (el método recibe la base y altura y devuelve el área). C. Calculo de la hipotenusa de un triángulo rectángulo (el método recibe los catetos y devuelve la hipotenusa). Para probar el funcionamiento, la clase debe contener el método main (principal). Las lecturas se realizan desde teclado, y los métodos no tienen parámetros. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 75. Realizar una clase igual que la anterior, pero con la salvedad de que los métodos van a recibir por parámetros, los datos de entrada que necesita para realizar los cálculos en cada caso. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 76. Realizar una clase igual que la anterior, pero realizaremos un menú con las opciones disponibles de cálculo, para que el usuario elija que es lo que desea calcular: 1. Circulo; 2. Rectángulo; 3. Triángulo y 4. Salir. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 77. Modificar el ejercicio anterior, añadiendo nuevas funcionalidad al menú, para poder calcular: 4. Seno de un ángulo; 5. Coseno de un ángulo; 6. Tangente de un ángulo; 7. Salir. Para poder realizar el ejercicio, se debe de hacer uso de la clase Math de la API de Java. 78. Leer dos números N y M y mostrar los números primos comprendidos en ese rango. Realizar una clase que implemente un método para determinar si un número es primo o no, y crear un método principal para validar que funciona bien. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 79. Realizar una clase en Java que lea la altura en cos de 20 personas y muestre cuantas superan 1,90 metros y la mayor y menos altura introducida. Habrá de realizar un método para validar las alturas leídas. Se consideran válidas al alturas comprendidas entre 100 y 300 cms. Realizar también un método para calcular cuantas personas cumplen con el 1,90 m y además la mayor y la menor (se puede disgregar cuanto como se desee). Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 80. Realizar una clase en Java que calcule la edad de 10 individuos a partir de las fechas de nacimiento y la fecha actual (para calcular la fecha actual y para que el programa esté siempre actualizado utilizar la clase Date de Java). La clase deberá de crear como mínimo un método para validar la fecha introducida sea correcta y otro para realizar el cálculo de la edad. Realizar un main para comprobar el funcionamiento del mismo
  • 13. Ejercicios Programación 81. Realizar una clase en Java, donde se realizar una serie de métodos para calcular, el área y el volumen de una esfera, cuyo dato de entrada necesario será el radio, y calcular también área y perímetro de un rectángulo, cuyos datos de entrada son la base y altura. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. Realizar un main para comprobar el funcionamiento del ejercicio. 82. Realizar una clase en Java, igual que la anterior, pero los datos de entrada que son leídos desde teclado, se les pasará a los métodos por parámetro, en cada caso el correspondiente a lo que necesita. 83. Modificar el ejercicio anterior, para que el programa presente un menú con las opciones: 1- esfera; 2-rectángulo y 3- salir. En cada caso mostrar área y volumen de la figura pertinente. 84. Realizar una clase en Java que realice: a) las primeras 10 potencias de un número (el método no devuelve nada). Utilizar la función pow de la clase Math. b) Los N primeros términos de la sucesión de Fibonacci. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. 85. Realizar una clase en Java, que diseñe un método para calcular las raíces reales de una ecuación de 2º grado. El método recibirá por parámetros los coeficientes (a, b, y c) y dejará guardas las raíces reales en el caso de que existan. El método devolverá un 1 si existen las raíces y un 0 en otro caso. Realizar un método main para comprobar el funcionamiento del ejercicio. 86. Realizar una clase en Java, la cual implemente un método que calcule y devuelva el factorial de un número introducido por teclado. Realizar un método main para comprobar el funcionamiento del ejercicio. 87. Realizar una clase en Java que implemente un método que calcule y devuelva el número de días que faltan hasta final de año, partiendo de una fecha determinada. (se puede hacer uso de la clase Data de Java en todo lo que se necesite). La fecha se introduce por teclado en día, mes y año. Se deberá de tener en cuenta si el año es bisiesto. Realizar las validaciones pertinentes para que los datos de entrada sean correctos, y en el caso de datos errores, debemos de pedirle al usuario que los introduzca correctamente, hasta que lo haga bien. Realizar un método main para comprobar el funcionamiento del ejercicio. 88. Realizar una clase en Java, que al ejecutarla me devuelva tres números en orden creciente, siendo estos introducidos por teclado en cualquier orden. Implementar un método que los ordene. Realizar un main para comprobar el funcionamiento del ejercicio. 89. Realizar una clase en Java, que debe de recoger por teclado los nombres y años trabajados en la empresa de una serie de empleados hasta que se introduce un nombre que sea ‘*’. El programa deberá imprimir los nombres de los empleados y la gratificación correspondiente anual en base al valor calculado y devuelto por un método que tiene en cuanta lo siguiente:
  • 14. Ejercicios Programación AÑOS TRABAJADOS GRATIFICACION EN € Menos de 10 No corresponde gratificación Entre 10 y 20 800 Entre 20 y 30 1000 Más de 30 1500 Al final se imprimirá el importe total de las gratificaciones a pagar. Será necesario realizar todas las validaciones que sean oportunas respecto los datos de entrada, y en el caso de datos incorrectos, se volverán a solicitar al usuario. Realizar un main para comprobar el funcionamiento del ejercicio. 90. Realizar una clase en Java, que introduzca por teclado dos números y presenta una serie de opciones de operaciones aritméticas a realizar con los mismos (suma, resta, multiplicación y división). En función de la opción seleccionada por el usuario, se llama al método correspondiente que devuelve el valor del resultado de la operación. Después de mostrar el resultado se le deberá de preguntar al usuario si desea seguir operando “¿Desea seguir operando S/N?”, en caso de ’N’ finaliza la ejecución del programa, en caso de ’S’, se le debe de preguntar al usuario si quiere operar con los mismos números, en caso afirmativo, volvemos a mostrar las opciones del menú, y en caso negativo, habrá que volver al inicio del programa. 91. Realizar una clase en Java, que calcule el número de la suerte de cualquier persona. Realiza métodos para leer, calcular y mostrar. Implementa un main para poder comprobar el funcionamiento de la clase. ¿Qué es un número de la suerte? A partir de la fecha de nacimiento de una persona, por ejemplo, 16-08-73, el número correspondiente de la suerte será, 8 (1+6+0+8+1+9+7+3). Introduce los datos individualmente, pidiendo dia, mes y año, validando los datos, para que la introducción sea correcta. 92. Basándote en el ejercicio anterior, vas a realizar una clase que obtenga como salida la misma, pero la introducción de los datos será de una vez no individualmente, es decir, 160873 93. En base a lo anterior, vas a realizar lo mismo, pero lo datos se van a introducir, con la siguiente forma, 16-08-73, investiga la API de Java para intentar solventar este problema. 94. Realizar una clase en Java, que calcule el factorial de un número “n”, que será leído por teclado. Implementa un método que calcule el factorial,y que el número que se ha leído por teclado se le pase por parámetros. Crear un método main para comprobar el funcionamiento de la clase. 95. Realizar una clase en Java, que obtenga todos los números primeros entre 2 y 100. Debe de implementar un método que calcule para cada número si es o no primo, que tendrá la siguiente cabecera: public boolean esPrimo (int). Crear un método main para calcular el funcionamiento de la clase. 96. Resolver un programa que lea desde teclado un entero “n”, y calcule el término n-ésimo de una serie definida de la siguiente manera: a1=1 si n=1 an=2 * an-1 si n>1 El resultado de la serie es: 1,2,4,8,16, 32 … si n=4 el resultado es 8.
  • 15. Ejercicios Programación Realizar los métodos que creas necesario para el diseño de la clase, e implementar un método main para comprobar su funcionamiento. 97. Resolver un programa que lea desde teclado un entero “n”, y calcule el término n-ésimo de una serie definida de la siguiente manera: a1=1 si n=1 a2=5 si n=2 an= an-1* an-2 si n>2 El resultado de la serie es: 1,5, 5, 25, 125,… Realizar los métodos que creas necesario para el diseño de la clase, e implementar un método main para comprobar su funcionamiento. 98. Realizar un programa en Java, que lea dos cadenas (string), que las concatene, y que pregunte al usuario que indice de la cadena resultante quiere mostrar. Para realizar este ejercicio, subdividir las funciones a realizar en diferentes métodos, y utiliza los métodos de la clase String. 99. Realizar un programa que lea un método por teclado y comprueba si es capicúa, es decir, si se lee igual en ambos sentidos. Por ejemplo: 23132. Intenta subdivir el ejercicio en métodos que hagan diferentes funcionalidades, y realiza un main para comprobar su funcionamiento. 100. Introduce una palabra por teclado, y comprueba si es palíndromo, es decir, si se lee igual en ambos sentidos. Por ejemplo: oso. Intenta subdivir el ejercicio en métodos que hagan diferentes funcionalidades, y realiza un main para comprobar su funcionamiento.