Ejercicios de Repaso Java
description
Transcript of Ejercicios de Repaso Java
1
FUNDAMENTOS DE PROGRAMACINEjercicios2
1. EJERCICIOS BSICOS DE METODOLOGIA
1. Hacer un programa que calcule el 10% de un nmero que introduzcamos por teclado.
2. Calcular el rea de un tringulo pidiendo la base y la altura. AREA=(BASE*ALTURA)/2
3. Programa que lee un nmero que corresponde al radio de una circunferencia y calcula e imprime la longitud de la misma y el rea del crculo correspondiente.
4. Programa que lee dos nmeros y calcula e imprime su suma, resta, producto y divisin.
5. Sacar la media de cinco nmeros que entran por teclado.
6. Hacer un programa que calcule descuentos en el precio de venta de un artculo. (Cant.Dcto:? Neto:?)
7. Hacer un programa que tras introducir un nmero calcule el cuadrado de dicho nmero.
8. Programa para resolver una ecuacin de primer grado (Y=A*X+B)
9. Hacer programa que pida nombre y sueldo de los empleados de una empresa. Una vez introducidos dichos datos calcular retencin, que ser un 10 % del sueldo si este es igual o menor que 100.000 y de un 12 % si este es superior a las 100.000.
10. Programa que lee dos nmeros y los visualiza en orden ascendente.
11. Programa que lee 3 nmeros y los visualiza ordenados ascendentemente.
12. Programa que lee una calificacin entre 0 y 10 y la transforma en nota alfabtica.
13. Hacer un programa que tras introducir un nmero cualquiera nos de un mensaje que ser, si el nmero es mltiplo de dos PAR y si no es mltiplo de dos IMPAR. (RESTO=Dividendo-(Divisor*Cociente)).
14. Hacer el algoritmo que dados n pares de coordenadas cartesianas (x,y), determine qu puntos estn dentro del crculo limitado por la circunferencia de ecuacin x2+y2=5.
15. Programa que lea un nmero correspondiente a un ao y escriba si es o no bisiesto (son bisiestos los mltiplos de 4, excepto los mltiplos de 100 que no lo son de 400).
16. Programa que obtenga e imprima la lista de los divisores de un nmero N entero positivo.
17. Programa que calcule e imprima la edad de una persona a partir de la fecha de su nacimiento y la fecha actual.
18. Programa que lea una fecha en formato DD MM AA y la visualiza en formato:
da N de MES del AO
19. Hacer programa que nos permita introducir los siguientes datos:
Cdigo empresa; dicho cdigo ha de ser numrico y no ha de ser superior a 500, en caso de teclear un cdigo superior dar mensaje de error y volver a solicitar dato.
Cdigo artculo; igual que en el caso anterior, el cdigo no ha de ser mayor de 100.
Stock mnimo; igual que en los anteriores, no ha de ser mayor de 2000.
Precio de compra; idem, no ha de ser mayor de 5000.
Margen; tanto por ciento de ganancia en artculo, efectuar igual tratamiento que en los anteriores, el margen no ha de ser superior a 100.
Una vez introducidos dichos datos dar el precio de venta al pblico, que se obtendr calculando el tanto por ciento (margen) del precio de compra y sumndoselo. A continuacin dar una opcin de continuacin (DESEA CONTINUAR(S/N)) si se teclea S volver a ejecutar el programa, en caso contrario finalizar.
23. Hacer programa que tras introducir dos nmeros, si uno de esos nmeros es negativo lo restamos, si ambos son positivos los sumamos.
24. Programa para resolver la ecuacin de segundo grado: Y= A*X2+B*X+C
25. Programa que obtenga el nmero decimal correspondiente a una cifra en nmeros romanos.
26. Calcular la suma de los cien primeros nmeros.
27. Escribir en pantalla los 50 primeros nmeros, 10 por lnea, con este formato: 1 2 10
28. Calcular el nmero de das que hay en tres aos normales (365 das). Hacer este programa sin emplear frmulas matemticas.
29. Calcular la suma de los 50 primeros nmeros impares.
30. Programa que calcule y visualice la suma y el producto de los nmeros pares comprendidos entre el 10 y el 30 (ambos inclusive).
31. Programa que lea una secuencia de 100 nmeros y visualice cuntos hay positivos, negativos y nulos.
32. Programa que lea N nmeros y saque el mayor y el menor de todos.
33. Se desea escribir un algoritmo que genere los n primeros trminos de la sucesin de Fibonacci. La sucesin de Fibonacci es 0,1,1,2,3,5,8,13,21,34,
34. Programa que lea una secuencia de nmeros no nulos, terminada con la introduccin de un 0, y obtenga e imprima el mayor, visualizando un mensaje de si se ha ledo algn nmero negativo.
35. Hacer programa que calcule el cubo de un nmero introducido por teclado. Calcular el cubo mediante contador y acumulador.
36. Programa que obtenga el producto de dos nmeros enteros positivos mediante sumas sucesivas.
37. Programa que obtenga el cociente y el resto de dos nmeros enteros positivos mediante restas.
38. Programa que genere la lista de los N primeros nmeros primos.
39. Programa que imprima la tabla de multiplicar de un nmero entero positivo.
40. Programa que lee un nmero entero positivo N y calcula e imprime cuntas cifras tiene.
41. Calcular el factorial de un nmero que entre por teclado o de varios dando un mensaje al final: DESEA CONTINUAR (S/N).
42. Calcular la suma de los nmeros comenzando en X y finalizando en Y que entrarn por teclado. Y ha de ser superior a X.
43. Sumar nmeros entre 5 y X, pero sumar slo los que acaben en 5.
44. Calcular los granos de trigo que entran en un tablero de ajedrez poniendo un grano en la primera casilla, dos en la segunda, cuatro en la tercera y as sucesivamente.
45. Hacer un programa que ofrezca 4 opciones (sumas, restas, multiplicaciones, divisiones). Visualizar 1.- Sumas, 2.- Restas, 3.- Multiplicaciones, 4.- Divisiones, 5.- Fin de proceso. En cada pantalla de operacin se pedirn 2 nmeros, se realizar la operacin y se visualizar el resultado. Pedir continuacin.
46. Visualizar: SUELDO: E.CIVIL: RETENCION (%): TOTAL RETENCION: LIQUIDO:
Pedir sueldo y e.civil, a continuacin calcular retencin que ser de un 5% si es casado y su sueldo es menor que 100.000 pts, de un 7% si es casado y su sueldo es mayor de 100.000 pts, de un 8% si es soltero y su sueldo es menor de 100.000 pts y de un 10 % si es soltero y su sueldo es mayor de 100.000 pts. Visualizar resultados y pedir opcin de continuacin.
1. EJERCICIOS BSICOS DE METODOLOGIA (de repaso)
47. Calcular el nmero de aprobados de una clase de 50 alumnos (una nota por alumno).
48. Disear un algoritmo para calcular la suma de los nmeros pares y de los nmeros impares, comprendidos entre 1 y 200.
49. Disear un algoritmo para calcular la media aritmtica de 50 nmeros introducidos por teclado, imprimir el resultado. Realizar el pseudocdigo con la estructura "mientras" y la estructura "repetir".
50. Calcular el factorial de un nmero que se pide por teclado. Utilizar las tres estructuras: "repetir", "mientras", "para".
51. Construir un algoritmo que lea una serie de nmeros distintos de cero y obtenga el mayor de ellos, si este es negativo aparecer el mensaje "es negativo". Se finalizar cuando introduzca el 99 (no se procesa).
52. Construir un algoritmo para calcular la suma de los cuadrados de los 100 primeros nmeros naturales.
53. Construir un algoritmo para visualizar los mltiplos de 4, comprendidos entre 4 y N (se dar por teclado). N es un nmero entero positivo y mayor que 4
54. Construir un algoritmo para saber el nmero de profesores y el n de profesoras mayores de 45 aos que hay en un centro de enseanza. Se leern las variables SEXO y EDAD para cada uno de ellos. El n de profesores estar en una variable que se lee por teclado.
55. Construir un algoritmo para calcular las tablas de multiplicar desde el 1 hasta el 10. Se visualizar con el formato:
Tabla del ......1Tabla del ......2
Tabla del ......10
1*1=1
2*1=2
10*1=10
1*2=2
2*2=4
10*2=20
56. Realizar un algoritmo que escriba los N primeros nmeros de la serie de Fibonacchi. El valor de N se introduce por teclado. N es un nmero entero positivo y mayor que 2. La serie de fibonacchi se genera as:
Fib(1)=1
Fib(2)=1
Fib(3)=Fib(1)+Fib(2)=2
Fib(4)=Fib(2)+Fib(3)=3
57. Construir un algoritmo que lea un nmero entero positivo y muestre si es primo o no.
58. Construir un algoritmo que me permita saber el mayor de tres nmeros, introducidos por teclado y me visualice el mayor de ellos.
59. Disear un algoritmo para un proceso que calcule y muestre por pantalla la nota media de una serie de notas introducidas por teclado. Estas notas debern estar comprendidas entre 0 y 10, y finalizar su proceso cuando se teclee el nmero 99.
60. Construir un algoritmo para un proceso en el que se introducen por teclado una serie de nmeros enteros positivos y mayores o iguales a 0(comprobarlo). La introduccin de nmeros finaliza con 0. Mostrar por pantalla:
Media aritmtica de los nmeros que sean mltiplos de dos.
Media aritmtica de los nmeros que sean mltiplos de tres.
Media aritmtica de los nmeros que sean mltiplos de cinco.
Los tres resultados anteriores ordenados de mayor a menor.
61. Construir un algoritmo para un proceso que nos calcule y muestre por pantalla la suma de los nmeros impares menores o iguales a otro nmero entero que ha de ser introducido previamente por teclado.
62. Disear un algoritmo para un proceso que calcule y muestre por pantalla el valor mximo y el valor mnimo de una serie de N nmeros que debern ser introducidos por teclado.
63. Construir un algoritmo que calcule el producto de dos nmeros enteros positivos mediante el denominado algoritmo ruso del producto. El algoritmo consiste en duplicar el primer factor y dividir (cociente entero) por 2 el segundo, obteniendo un producto equivalente, salvo si el segundo factor es impar, en cuyo caso es necesario acumular previamente el primero en dnde se va a obtener el resultado. El proceso termina cuando el segundo factor se hace 0.
Ejemplo: 25*6
Primer factor
Segundo factorAcumulador
25
6
0
50
3
50
100
1
150
200
0
150
64. Construir un algoritmo para un proceso que lea por teclado un nmero entero positivo N comprendido entre 100 y 999, ambos inclusive(comprobarlo) y lo muestre por pantalla con los dgitos en orden inverso.
Ejemplo Si N=427 se mostrar por pantalla 724
65. Construir un algoritmo para un proceso que nos calcule el valor aproximado del nmero e (base de los logaritmos neperianos) , mediante la siguiente aproximacin:
1 1 1 1 1
e = 1 + ------ + ------ + ------ + ------ + ------ +
1! 2! 3! 4! 5!
Efectuar el clculo de 10 trminos y mostrar el resultado final por pantalla.
66. Construir un algoritmo para un proceso que lea por teclado el valor de un nmero real positivo (x), en radianes, y calcule el valor aproximado de su funcin trigonomtrica seno mediante la siguiente aproximacin:
x x3 x5 x7 x9
sen x = ------ - ------ + ------ - ------ + ------ -
1! 3! 5! 7! 9!
Realizar el clculo para sucesivos trminos hasta que se encuentre uno cuyo valor absoluto sea menor de 0.001, mostrando entonces la aproximacin obtenida por pantalla.
67. La raz cuadrada de un nmero real positivo Q se puede aproximar mediante el siguiente mtodo:
x1=1 ; x2= (Q/x1 + x1) / 2 ; x3= (Q/x2 + x2) / 2 ; x4= (Q/x3 + x3) / 2 ; ..
Construir un algoritmo para un proceso que lea por teclado un nmero real positivo Q (comprobarlo) y nos calcule y muestre por pantalla la raz cuadrada del mismo mediante el mtodo indicado anteriormente. Realizar el clculo cuando dos trminos calculados consecutivos se diferencien en menos de 0.01, o bien cuando se hayan calculado 10 trminos.
68. Construir el algoritmo de un proceso para descomponer un nmero entero y positivo, que se ha de introducir por teclado(comprobarlo), en sus factores primos. Procedimiento a seguir: Se toma el nmero y se comprueba si el 2 lo divide, inclusive varias veces, luego el 3, y as sucesivamente. En caso afirmativo, se anota el factor y se divide el nmero por el antes de seguir, finalizando cuando se llegue a obtener el 1. El resultado sern los factores primos obtenidos que han de ir mostrndose por pantalla.
2. SOLUCIONES A LOS EJERCICIOS (de repaso)
47.
PROGRAMA: Aprobados
ENTORNO:
Aprob, Nota, I son numricas enteras
ALGORITMO
Inicio
Aprob=0
Para I=1 hasta 50 hacer
Escribir (Introduce una nota:)
Leer (Nota)
Si (Nota>5) Entonces
Aprob=Aprob+1
Fin Si
Fin Para
Escribir (El nmero de aprobados es,Aprob)
Fin48.
PROGRAMA: SumaParesImpares
ENTORNO:
SumaPares, SumaImpares, I son numricas enteras
ALGORITMO
Inicio
SumaPares=0
SumaImpares=0
Para I=1 hasta 200 hacer
Si (I MOD 2=0) Entonces
SumaPares=SumaPares+I
Sino
SumaImpares=SumaImpares+I
Fin Si
Fin Para
Escribir (La suma de los pares es,SumaPares, y la de los impares es,SumaImpares)
Fin49.PROGRAMA: MediaMientras
ENTORNO:
Num, Acum, Media, I son numricas enteras
ALGORITMO
Inicio
I=1
Acum=0
Mientras (I=50)
Media=Acum/I
Escribir (La media es,Media)
Fin
50.PROGRAMA: FactorialRepetir
ENTORNO:
Fact, I, Num son num. enteras
ALGORITMO
Inicio
Fact=1
Escribir (Introduce un nm:)
Leer (Num)
I=Num
Repetir
Fact=Fact*I
I=I-1
Hasta que (I1)
Fact=Fact*I
I=I-1
Fin Mientras
Escribir (Factorial:,Fact)
FinPROGRAMA: FactorialPara
ENTORNO:
Fact, I, Num son num. enteras
ALGORITMO
Inicio
Fact=1
Escribir (Introduce un nm:)
Leer (Num)
Para I=Num hasta 1 increm. -1
Fact=Fact*I
Fin Para
Escribir (Factorial:,Fact)
Fin
51.PROGRAMA: MayorDe0
ENTORNO:
Mayor, Num son numricas enteras
ALGORITMO
Inicio
Escribir (Introduce un Numero: (99 Acabar):)
Leer (Num)
Mayor=Num
Mientras (Num99) hacer
Si (MayorB) AND (A>C) Entonces
Escribir (El mayor es ,A)
Fin Si
Si (B>A) AND (B>C) Entonces
Escribir (El mayor es ,B)
Fin Si
Si (C>B) AND (C>A) Entonces
Escribir (El mayor es ,C)
Fin Si
Fin
59.
PROGRAMA Nota
ENTORNO:
Nota, Cn, Sn, Media son numricas flotantes
ALGORITMO
Inicio
Sn=0
Cn=0
Escribir (Introducir nota:)
Leer (Nota)
Mientras (Nota99)
Si (nota >=0) AND (Nota0)
Si (Num MOD 2 = 0) Entonces
Sdos=Sdos+Num
Cdos=Cdos+Num
Fin Si
Si (Num MOD 3 = 0) Entonces
Stres=Stres+Num
Ctres=Ctres+Num
Fin Si
Si (Num MOD 5 = 0) Entonces
Scinco=Scinco+Num
Ccinco=Ccinco+Num
Fin Si
Hasta que (Num=0)
MediaDos=Sdos/Cdos
MediaTres=Stres/Ctres
MediaCinco=Scinco/Ccinco
Si (MediaDos>MediaTres)AND(MediaTres>MediaCinco) Entonces
Escribir(MediaDos,MediaTres,MediaCinco)
Fin Si
Si (MediaDos>MediaCinco)AND(MediaCinco>MediaTres) Entonces
Escribir(MediaDos,MediaCinco,MediaTres)
Fin Si
Si (MediaTres>MediaDos)AND(MediaDos>MediaCinco) Entonces
Escribir(MediaTres,MediaDos,MediaCinco)
Fin Si
Si (MediaTres>MediaCinco)AND(MediaCinco>MediaDos) Entonces
Escribir(MediaTres,MediaCinco,MediaDos)
Fin Si
Si (MediaCinco>MediaTres)AND(MediaTres>MediaDos) Entonces
Escribir(MediaCinco,MediaTres,MediaDos)
Fin Si
Si (MediaCinco>MediaDos)AND(MediaDos>MediaTres) Entonces
Escribir(MediaCinco,MediaDos,MediaTres)
Fin Si
Fin
61.
PROGRAMA: SumaImpares
ENTORNO:
Suma, Num, ,Tope, I son numricas enteras
ALGORITMO
Inicio
Suma=0
Escribir (Introduce un nmero:)
Leer (Num)
Si (Num MOD 0 = 0)
Tope=Num-1
Sino
Tope=Num
Fin Si
Para I=Tope hasta 1 con incremento 2 hacer
Suma=Suma+I
Fin Para
Escribir (La suma de los impares es;Suma)
Fin
62.
PROGRAMA: MaximoMinimoENTORNO:
Max, Min, Num, ,Total, I son numricas enteras
ALGORITMO
Inicio
Escribir (Cuntos nmeros quieres introducir?)
Leer (Total)
Escribir (Introduce un nmero:)
Leer (Num)
Max=Num
Min=Num
Para I=2 hasta Total hacer
Escribir (Introduce un nmero:)
Leer (Num)
Si (Num>Max) Entonces
Max=Num
Fin Si
Si (Num