SlideShare una empresa de Scribd logo
PRIMER INFORME DE LABORATORIO
DESARROLLO DE LOS EJERCICIOS
1. Diseñar el algoritmo y programa para hallar el cociente y residuo de dos números enteros.
I. Análisis:
a) Datos de entrada: a, b.
b) Datos de salida: c, r.
c) Modelo matemático/lógico:
c=a divb
r=a modb
II. Diseño
a) Diagrama de flujo
inicio
a, b lee
c=a/b
r=a%b
c, r imp.
fin
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b
 Proceso:
c=a/b
r=a%b
in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5
 Salida: imprime: c, r
 Fin
III. Aplicación
a) Codificación:
1. package ejercicios;
2. importjava.util.Scanner;
3. publicclassEjercicios{
4. publicstaticvoidmain(String[] args) {
5. inta=0,b=0,c=0,r=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese el primernumero");
8. a=entrada.nextInt();
9. System.out.println("ingrese el primernumero");
10. b=entrada.nextInt();
11. c=a/b;
12. r=a%b;
13. System.out.println("el residuoes:"+r);
14. System.out.println("el cociente es:"+c);
15. }
16. }
b) Pruebade escritorio
n1=n/10
r1=n%10
n2=n1/10
r2=n1%10
n3=n2/10
r3=n2%10
n4=n3/10
r4=n3%10
r5=n4%10
in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5
In imprime
fin
Inicio
n lee
2. Diseñarel algoritmoyprogramatal que dado unnúmerode 5 dígitosdevolverel númeroen
ordeninverso.
I. Análisis:
a) Datos de entrada: n.
b) Datos de salida: in.
c) Modelo matemático/lógico:
n1=n/10
r1=n%10
n2=n1/10
r2=n1%10
n3=n2/10
r3=n2%10
n4=n3/10
r4=n3%10
r5=n4%10
in= (r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: n
 Proceso:
n1=n/10
r1=n%10
n2=n1/10
r2=n1%10
n3=n2/10
r3=n2%10
n4=n3/10
r4=n3%10
r5=n4%10
in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5
 Salida: imprime: in
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio2;
2. import java.util.Scanner;
3. public class Ejercicio2 {
4. public static void main(String[] args) {
5. int n,r1,r2,r3,r4,r5,in,n1,n2,n3,n4;
6. System.out.println("ingrese un número con cinco dígitos");
7. Scanner num=new Scanner (System.in);
8. n=num.nextInt ();
9. n1=n/10;
10. r1=n%10;
11. n2=n1/10;
12. r2=n1%10;
13. n3=n2/10;
14. r3=n2%10;
15. n4=n3/10;
16. r4=n3%10;
17. r5=n4%10;
18. in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5;
19. System.out.println("El número con cinco dígitos inversamente es:");
20. if(n%10==0)
21. {
22. System.out.println("0"+in);
23. }
24. else
25. {
26. System.out.println(in);
27. }
28. }
29. }
b) Prueba de escritorio:
3. Diseñarel algoritmoyprogramaque permitacrear un programapara convertirunacantidad
dada ensegundosahoras, minutosysegundos.
I. Análisis
a) Datos de entrada:s
b) Datos de salida:h,m, sf
c) ModeloM. /L.:
h=s div3600
s=s mod 3600
m=s div60
s=s mod 60
sf=s
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 inicio
 datosde entrada:s
 proceso:
h=s/3600
s=s%3600
m=s/60
s=s%60
sf=s
 datosde salida:h,m, sf
 fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg3;
Inicio
s lee
c, r imp.
h=s/3600
s=s%3600
m=s/60
s=s%60
sf=s
Fin
2. importjava.util.Scanner;
3. publicclassEjercicio3{
4. publicstaticvoidmain(String[] args) {
5. ints=0, h=0,m=0,sf=0 ;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese lacantidad de segundos");
8. s=entrada.nextInt();
9. h=s/3600;
10. s=s%3600;
11. m=s/60;
12. s=s%60;
13. sf=s;
14. System.out.println("hay"+h+"horas"+m+" minutos"+sf+"segundos");
15. }
16. }
b) Pruebade escritorio
4. Diseñarel algoritmoyprogramapara determinarsi unnúmeroenteroespositivo,negativoo
neutro.
I. Análisis:
a) Datos de entrada: x.
b) Datos de salida: “positivo”, “negativo”, “neutro”.
c) Modelo matemático/lógico:
if(x==0)
Verdad: “El número es neutro”
Falso: if(x>0)
Verdad: “El número es positivo”
Falso: “El número es negativo”
II. Diseño:
a) Diagrama de flujo:
“negativo”“positivo”
inicio
x lee
fin
if
x==0
if
x>0
V F
V
F
“neutro”
b) Pseudocódigo:
 Inicio
 Entrada: lee: x
 Proceso:
if(x==0)
Verdad: “El número es neutro”
Falso: if(x>0)
Verdad: “El número es positivo”
Falso: “El número es negativo”
 Salida: imprime: “neutro”, “positivo”, “negativo”.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio4;
2. import java.util.Scanner;
3. public class Ejercicio4 {
4. public static void main(String[] args) {
5. int x;
6. System.out.println("Ingrese un número entero");
7. Scanner num=new Scanner(System.in);
8. x=num.nextInt();
9. if(x==0)
10. {
11. System.out.println("El número es neutro");
12. }
13. else
14. {
15. if(x>0)
16. {
17. System.out.println("El número es positivo");
18. }
19. else
20. {
21. System.out.println("El número es negativo");
22. }
23. }
24. }
25. }
b) Prueba de escritorio:
5. Diseñarel algoritmoyprogramatal que dado tresnúmerosenterosdevolverel número
mayor.
I. Análisis
a) Datos de entrada:a, b, c
b) Datos de salida:a
c) ModeloM. /L.:
Si a<b
V:aux=a
a=b
b=aux
Si a<c
V:aux=a
a=c
c=aux
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 inicio
 datosde entrada:a, b, c
 proceso:
if(a<b)
aux=a
a=b
b=aux
if(a<c)
inicio
a,b,c lee
fin
a imp.
aux=a
a=b
b=aux
if
a<b
aux=a
a=c
c=aux
if
a<c
V
F
V
F
aux=a
a=c
c=aux
 datosde salida:a
 fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg5;
2. importjava.util.Scanner;
3. publicclassEjercicio5{
4. publicstaticvoidmain(String[] args) {
5. inta=0,b=0,c=0,aux=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingreseel primernumeroentero");
8. a=entrada.nextInt();
9. System.out.println("ingreseel segundonumeroentero");
10. b=entrada.nextInt();
11. System.out.println("ingreseel tercernumeroentero");
12. c=entrada.nextInt();
13.
14. if(a<b)
15. {
16. aux=a;
17. a=b;
18. b=aux;
19. }
20.
21. if(a<c)
22. {
23. aux=a;
24. a=c;
25. c=aux;
26. }
27.
28. System.out.println("el númeromayores"+a);
29. }
30. }
b) Pruebade escritorio
6. Diseñarel algoritmoyprogramatal que dado lahora, minutoysegundo,encuentre lahora
del siguientesegundo.
I. Análisis:
a) Datos de entrada: h,m,s.
b) Datos de salida:hn,mn,sn.
c) Modelomatemático/lógico:
t=h*3600+m*60+s+1
hn=t/3600
r=t%3600
mn=r/60
r1=r%60
sn=r1
II. Diseño:
a) Diagrama de flujo:
t=h*3600+m*60+s+1
hn=t/3600
r=t%3600
mn=r/60
r1=r%60
sn=r1
fin
Inicio
h,m,s lee
Hn,mn,sn
c) Pseudocódigo:
 Inicio
 Entrada: lee: h,m,s.
 Proceso:
t=h*3600+m*60+s+1
hn=t/3600
r=t%3600
mn=r/60
r1=r%60
sn=r1
 Salida: imprime: hn,mn,sn.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio6;
2. import java.util.Scanner;
3. public class Ejercicio6 {
4. public static void main(String[] args) {
5. int h,m,s,t,r,hn,mn,sn,r1;
6. System.out.println("Ingrese la hora");
7. Scanner num=new Scanner(System.in);
8. h=num.nextInt();
9. System.out.println("Ingrese el minuto");
10. Scanner num1=new Scanner(System.in);
11. m=num.nextInt();
12. System.out.println("Ingrese los segundos");
13. Scanner num2=new Scanner(System.in);
14. s=num.nextInt();
15. t=h*3600+m*60+s+1;
16. hn=t/3600;
17. r=t%3600;
18. mn=r/60;
19. r1=r%60;
20. sn=r1;
21. System.out.println("La hora del siguiente segundo es:");
22. System.out.println(hn+":"+mn+":"+sn);
23. }
24. }
c) Prueba de escritorio:
7. Diseñar el algoritmo y programa tal que dada la fecha (D,M,A) encuentre la fecha del día
siguiente.
I. Análisis:
a) Datos de entrada: d, m, a.
b) Datos de salida: d, m, a.
c) Modelo matemático/lógico:
if(d>=28)
switch (m)
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
if(d==31)
d=d-30
m=m+1
else
d=d+1
case 2:
r=a%4
if(r==0)
d=29
else
d=d-27
m=m+1
case 4:
case 6:
case 9:
case 11:
if(d==30)
d=d-29
m=m+1
else
d=d+1
case 12:
if(d==31)
d=1
m=1
a=a+1
else
d=d+1
else
d=d+1
II. Diseño
a) Diagrama de flujo
12
V F
2
V F
d=d+1
FV
4,6,9,1
FV
FV
1,3,5,7,8,10
m
if
d==30
d=d-29
m=m+1
d=d+1
if
r%4==0
d=29 d=d-27
m=m+1
if
d==31
d=1
m=1
a=a+1
d=d+1
if
d==31
1
d=d+1d=d-30
m=m+1
fin
d,m,a imp.
if
d>=28
inicio
a,b,c lee
b) Pseudocódigo:
 Inicio
 Entrada: lee: d, m, a
 Proceso:
if(d>=28)
{
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
{
if(d==31)
{
d=d-30;
m=m+1;
}
else
{
d=d+1;
}
}
break;
case 2:
{
r=a%4;
if(r==0)
{
d=29;
}
else
{
d=d-27;
m=m+1;
}
}
break;
case 4:
case 6:
case 9:
case 11:
{
if(d==30)
{
d=d-29;
m=m+1;
}
else
{
d=d+1;
}
}
break;
case 12:
{
if(d==31)
{
d=1;
m=1;
a=a+1;
}
else
{
d=d+1;
}
}
break;
}
}
else
{
d=d+1;
}
 Salida: imprime: d, m, a
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg7;
2. importjava.util.Scanner;
3. publicclassEjercicio7{
4. publicstaticvoidmain(String[] args) {
5. Scannerteclado=new Scanner(System.in);
6. intm=0,d=0,a=0,r;
7. System.out.println("Ingreselafecha dia:");
8. d=teclado.nextInt();
9. System.out.println("Ingreselafechames:");
10. m=teclado.nextInt();
11. System.out.println("Ingreselafechaaño:");
12. a=teclado.nextInt();
13. if(d>=28)
14. {
15. switch(m)
16. {
17. case 1:
18. case 3:
19. case 5:
20. case 7:
21. case 8:
22. case 10:
23. {
24. if(d==31)
25. {
26. d=d-30;
27. m=m+1;
28. }
29. else
30. {
31. d=d+1;
32. }
33. }
34. break;
35. case 2:
36. {
37. r=a%4;
38. if(r==0)
39. {
40. d=29;
41. }
42. else
43. {
44. d=d-27;
45. m=m+1;
46. }
47. }
48. break;
49.
50. case 4:
51. case 6:
52. case 9:
53. case 11:
54. {
55. if(d==30)
56. {
57. d=d-29;
58. m=m+1;
59. }
60. else
61. {
62. d=d+1;
63. }
64. }
65. break;
66. case 12:
67. {
68. if(d==31)
69. {
70. d=1;
71. m=1;
72. a=a+1;
73. }
74. else
75. {
76. d=d+1;
77. }
78. }
79. break;
80. }
81. }
82. else
83. {
84. d=d+1;
85. }
86. System.out.println("El diasiguiente es:"+d+"/"+m+"/"+a);
87. }
88. }
b) Pruebade escritorio
8. Diseñarel algoritmoyprogramaque permitadeterminarsi unalumnoapruebaorepruebaun
curso,sabiendoque aprobarási su promediode trescalificacionesesmayoroigual a 70;
repruebaencaso contrario.
I. Análisis:
a) Datos de entrada: n1,n2,n3.
b) Datos de salida: “aprueba”, “reprueba”.
c) Modelo matemático/lógico:
P=(n1+n2+n3)/3
if(P>=70)
Verdad: “aprueba”
Falso: “reprueba”
II. Diseño:
a) Diagrama de flujo:
“aprueba” “reprueba”
inicio
n1,n2,n3
fin
if
P>=70
V
P=(n1+n2+n3)/3
F
c) Pseudocódigo:
 Inicio
 Entrada: lee: n1, n2, n3.
 Proceso:
P=(n1+n2+n3)/3
if(P>=70)
Verdad: “aprueba”
Falso: “reprueba”
 Salida: imprime: “aprueba”, “reprueba”.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio8;
2. import java.util.Scanner;
3. public class Ejercicio8 {
4. public static void main(String[] args) {
5. int n1,n2,n3,p;
6. System.out.println("Ingrese la pimera nota");
7. Scanner num=new Scanner(System.in);
8. n1=num.nextInt();
9. System.out.println("Ingrese la segunda nota");
10. Scanner num1=new Scanner(System.in);
11. n2=num.nextInt();
12. System.out.println("Ingrese la tercera nota");
13. Scanner num2=new Scanner(System.in);
14. n3=num.nextInt();
15. p=(n1+n2+n3)/3;
16. if(p>=70)
17. {
18. System.out.println("Aprueba el curso");
19. }
20. else
21. {
22. System.out.println("Reprueba el curso");
23. }
24. }
25. }
b) Prueba de escritorio:
9. Diseñarel algoritmoyprogramaque permitaobtenercuantodinerose le descuentaal
cliente,bajolassiguientescondiciones:enunsupermercadose hace unapromoción,
mediante lacual el cliente obtiene undescuento,dependiendode unnúmeroque se escoge
al azar. Si el numeroescogidoesmenorque 74 el descuentoesde 15% sobre el total de la
compra,si esmayor o igual a 74 el descuentoesde 20%.
I) Análisis:
a) Datos de entrada: a, b.
b) Datos de salida: tp.
c) Modelo matemático/lógico:
si b>=74
v:tp= (a*0.8)
else
f: tp=(a*0.85)
II) Diseño
a) Diagrama de flujo
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b
 Proceso:
If b>=74
v:tp=(int) (a*0.8)
else
v: tp=(int) (a*0.85)
 Salida: imprime: tp
 Fin
III) Aplicación
a) Codificación:
1. package ejercicio.pkg9;
2. importjava.util.Scanner;
3. publicclassEjercicio9{
4. publicstaticvoidmain(String[] args) {
5. inta=0,b=0;
inicio
a,b lee
if
b>=74
tp=(a*0.85)tp= (a*0.8)
fin
d,m,a imp.
FV
6. inttp=0;
7. Scannerentrada=new Scanner(System.in);
8. System.out.println("ingrese el montoapagar");
9. a=entrada.nextInt();
10. System.out.println("ingrese unnumeroal azar");
11. b=entrada.nextInt();
12. if(b>=74)
13. {
14. tp=(int) (a*0.8);
15. }
16. else
17. {
18. tp=(int) (a*0.85);
19. }
20. System.out.println("el montoapagar es:"+tp);
21. }
22. }
b) Pruebade escritorio
10. Diseñarel algoritmoyprogramaque determine lacantidadde dineroque recibiráun
trabajadorpor conceptode las horasextrastrabajadasque determine laremuneraciónde un
trabajador,ingresandototal de horastrabajadasy el pago porhora. Consideraque porcada
hora extraenel trabajo se le abonará el importe de unahora y media.El tiempoextrase
consideracuandoel total de horas seamayor a 40 horas.
I. Análisis:
a) Datos de entrada: tht,ph.
b) Datos de salida: dht.
c) Modelo matemático/lógico:
if(tht>40)
Verdad: t=tht-40
dht=t(3ph/2)
t=tht-40
dht=t(3ph/2)
dht=0
dht
inicio
tht, ph
fin
if
tht>40
V F
Falso: dht=0
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: tht,ph.
 Proceso:
if(tht>40)
Verdad:
t=tht-40
dht=t(3ph/2)
Falso:
dht=0
 Salida: imprime: dht.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio10;
2. import java.util.Scanner;
3. public class Ejercicio10 {
4. public static void main(String[] args) {
5. int tht,ph,t,dht;
6. System.out.println("Ingrese el total de horas trabajadas");
7. Scanner num=new Scanner(System.in);
8. tht=num.nextInt();
9. System.out.println("Ingrese el pago por hora");
10. Scanner num1=new Scanner(System.in);
11. ph=num1.nextInt();
12. if(tht>40)
13. {
14. t=tht-40;
15. dht=t*(3*ph/2);
16. }
17. else
18. {
19. dht=0;
20. }
21. System.out.println("La cantidad de dinero que recibirá por horas extras
trabajadas es:");
22. System.out.println(dht+" soles");
23. }
24. }
b) Prueba de escritorio:
11. Diseñar el algoritmo y programa que determine la cantidad de dinero que recibirá un
trabajadorpor conceptode las horasextrastrabajadasen unaempresa,sabiendoque cuando
lashoras de trabajo excedende 40,el resto se considera horas extras y que estas se pagan al
doble de unahora normal cuando no exceden de 8; si las horas extras superan de 8 se pagan
las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
I. Análisis:
a) Datos de entrada: ht, ph.
b) Datos de salida: st.
c) Modelo matemático/lógico:
Si ht>=41
V: hx=ht-40;
si hx>=9
v: int s1=0,s2=0,s3=0;
s1=8*2*ph;
hx=hx-8;
s2=hx*ph*3;
s3=40*ph;
st=s1+s2+s3;
F: st=(hx*ph*2)+(40*ph);
F: st=ht*ph;
II. Diseño
a) Diagrama de flujo
inicio
ht, th
if
ht>=4
st=ht*ph
s1=8*2*ph
hx=hx-8
s2=hx*ph*3
s3=40*ph
st=s1+s2+s3
fin
st imp.
FV
if
hx>=9
FV
hx=ht-40
st=(hx*ph*2)+(40*ph)
b) Pseudocódigo:
 Inicio
 Entrada: lee: ht, ph
 Proceso:
if(ht>=41)
{
hx=ht-40;
if(hx>=9)
{
ints1=0,s2=0,s3=0;
s1=8*2*ph;
hx=hx-8;
s2=hx*ph*3;
s3=40*ph;
st=s1+s2+s3;
}
else
{
st=(hx*ph*2)+(40*ph);
}
}
else
{
st=ht*ph;
}
 Salida: imprime: tp
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg11;
2. importjava.util.Scanner;
3. publicclassEjercicio11{
4. publicstaticvoidmain(String[] args) {
5. intht=0,ph=0,st=0,hx=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese lacantidadde horas");
8. ht=entrada.nextInt();
9. System.out.println("ingrese el sueldoporhora");
10. ph=entrada.nextInt();
11. if(ht>=41)
12. {
13. hx=ht-40;
14. if(hx>=9)
15. {
16. ints1=0,s2=0,s3=0;
17. s1=8*2*ph;
18. hx=hx-8;
19. s2=hx*ph*3;
20. s3=40*ph;
21. st=s1+s2+s3;
22. }
23. else
24. {
25. st=(hx*ph*2)+(40*ph);
26. }
27. }
28. else
29. {
30. st=ht*ph;
31. }
32. System.out.println("sueldototal arecibires:"+st);
33. }
34. }
b) Pruebade escritorio
12. Diseñarel algoritmoyprogramapara calcularla utilidadque untrabajadorrecibe enel
repartoanual de utilidadessi este se le asignaunporcentaje de susalariomensual que
depende de suantigüedadenlaempresade acuerdoconlasiguiente tabla:
I. Análisis:
a) Datos de entrada: sm,ant.
b) de salida: u.
c) Modelo matemático/lógico:
if(ant<1)
Verdad:
u=sm/20
Falso:
If(ant>=1&&ant<2)
Verdad:
u=(7/100)sm
falso:
If(ant>=2&&ant<5)
Verdad:
u=sm/10
falso:
If(ant>=5&&ant<10)
Verdad:
u=3sm/20
falso:
If(ant>=10&&ant<20)
Verdad:
u=sm/5
II. Diseño:
a) Diagrama de flujo:
Tiempo Utilidad
Menosde 1 año
1 año o másy menosde 2 años
2 añoso más y menosde 5 años
5 añoso más y menosde 10 años
10 años o más y menosde 20 años
5% del salario
7% del salario
10% del salario
15% del salario
20% del salario
u
ant>=10&&ant<20
I
u=sm/5
u=sm/20
u=7sm/100
u=sm/10
u=3sm/20
inicio
sm, ant
fin
if
ant<1
V F
ant>=1&&ant<2
I
ant>=2&&ant<5
I
ant>=5&&ant<10
I
V
V
V
V
F
F
F
F
b) Pseudocódigo:
 Inicio
 Entrada: lee: sm, ant .
 Proceso:
if(ant<1)
Verdad:
u=sm/20
Falso:
If(ant>=1&&ant<2)
Verdad:
u=(7/100)sm
falso:
If(ant>=2&&ant<5)
Verdad:
u=sm/10
falso:
If(ant>=5&&ant<10)
Verdad:
u=3sm/20
falso:
If(ant>=10&&ant<20)
Verdad:
u=sm/5
 Salida: imprime: u.
 Fin
IV. Aplicación:
a) Codificación:
1. package ejercicio.pkg12;
2. import java.util.Scanner;
3. public class Ejercicio12 {
4. public static void main(String[] args) {
5. double sm,ant;
6. double u;
7. System.out.println("Ingrese su salario mensual");
8. Scanner num=new Scanner(System.in);
9. sm=num.nextDouble();
10. System.out.println("Ingrese el tiempo de trabajo en la empresa en años");
11. Scanner num1=new Scanner(System.in);
12. ant=num1.nextDouble();
13. if(ant<1)
14. {
15. u=sm/20;
16. System.out.println("La utilidad que recibe en el reparto anual es:");
17. System.out.print(u+" soles");
18. }
19. else
20. { if(ant>=1&&ant<2)
21. {
22. u=(7/100)*sm;
23. System.out.println("La utilidad que recibe en el reparto anual es:");
24. System.out.print(u+"soles");
25. }
26. else{
27. if(ant>=2&&ant<5)
28. {
29. u=sm/10;
30. System.out.println("La utilidad que recibe en el reparto anual es:");
31. System.out.print(u+"soles");
32. }
33. else {
34. if(ant>=5&&ant<10)
35. {
36. u=3*sm/20;
37. System.out.println("La utilidad que recibe en el reparto anual es:");
38. System.out.print(u+"soles");
39. }
40. else {
41. if(ant>=10&&ant<20)
42. {
43. u=sm/5;
44. System.out.println("La utilidad que recibe en el reparto anual es:");
45. System.out.print(u+"soles");
46. }
47. }
48. }
49. }
50. }
51. }
52. }
b) Prueba de escritorio:
13. Una personaenferma,que pesa70 Kg, se encuentraenreposoydeseasabercuántascalorías
consume sucuerpodurante todo el tiempoque realice unamismaactividad.Lasactividades
que tiene permitidorealizarsonúnicamentedormiroestarsentadoenreposo.Losdatos que
tiene sonque estandoendormidoconsume 1.08calorías por minutoy estandosentadoen
reposoconsume 1.66 calorías por minuto.
I) Análisis:
a) Datos de entrada: h.
b) Datos de salida: c.
c) Modelo matemático/lógico:
si h==0
v: h=h*60
c=h*1.08
si h==1
v: h=h*60;
c= h*1.66
II) Diseño
a) Diagrama de flujo
inicio
ht, the
if
h==1
fin
c imp.
F
V
if
h==0
F
V
h=h*60
c=h*1.08
h=h*60
c= h*1.66
b) Pseudocódigo:
 Inicio
 Entrada: lee: h
 Proceso:
if(h==0)
{
h=h*60
c=h*1.08
}
if(h==1)
{
h=h*60
c= h*1.66
}
 Salida: imprime: c
 Fin
III) Aplicación
a) Codificación:
1. package ejercicio.pkg13;
2. importjava.util.Scanner;
3. publicclassEjercicio13{
4. publicstaticvoidmain(String[] args) {
5. inth;
6. floatc;
7. Scannerentrada=new Scanner(System.in);
8. System.out.println("ingrese '0'si duerme o '1' si esta sentado");
9. h=entrada.nextInt();
10. if(h==0)
11. {
12. System.out.println("ingrese lashorasque duerme");
13. h=entrada.nextInt();
14. h=h*60;
15. c=(float) (h*1.08);
16. System.out.println("consume "+c+"durmiendo");
17. }
18. if(h==1)
19. System.out.println("ingrese lashorasque estasentado");
20. h=entrada.nextInt();
21. h=h*60;
22. c=(float) (h*1.66);
23. System.out.println("consume "+c+"sentado");
24. }
25. }
b) Pruebade escritorio
14. Una empresaquiere hacerunacompra de variaspiezas de la mismaclase a una fábricade
refacciones. Laempresa,dependiendodel montototal de lacompra,decidiráquehacerpara
pagar al fabricante.Si el montototal de la compraexcede de $500 000 la empresatendrála
capacidadde invertirde supropiodineroun55 % del montode la compra, pedirprestadoal
banco un30 %y el resto lopagará solicitandouncréditoal fabricante.Si el montototal de la
compra no excede de $500 000 la empresatendrácapacidadde invertirde supropiodinero
un 70% y el restante 30% lo pagará solicitandocréditoal fabricante.El fabricante cobrapor
conceptode interésun20% la cantidadque se le pague a crédito.
I. Análisis:
a) Datos de entrada:mtc.
b) Datos de salida: pd,b,c,cpcf.
c) Modelo matemático/lógico:
if(mtc>50000)
Verdad: pd=(11*mtc)/20
b =(3*mtc)/10
c =(3*mtc)/20
cpcf=c/5
Falso: pd=(7*mtc)/10
b =0
c =(3*mtc)/10
cpcf=c/5
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: mtc.
 Proceso:
if(mtc>50000)
Verdad: pd=(11*mtc)/20
b =(3*mtc)/10
c =(3*mtc)/20
cpcf=c/5
Falso: pd=(7*mtc)/10
pd=(11*mtc)/20
b=(3*mtc)/10
c=(3*mtc)/20
cpcf=c/5
mtc >500 000
ant<1
I
pd=(7*mtc)/20
b=0
c=(3*mtc)/10
cpcf=c/5
pd,b, c,cpcf
inicio
mtc
fin
V F
b =0
c =(3*mtc)/10
cpcf=c/5
 Salida: imprime: pd,b,c,cpcf.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio14;
2. import java.util.Scanner;
3. public class Ejercicio14 {
4. public static void main(String[] args) {
5. double mtc,c,b,pd,cpcf;
6. System.out.println("Ingrese el monto total de la compra");
7. Scanner num=new Scanner(System.in);
8. mtc=num.nextInt();
9. if(mtc>500000)
10. {
11. pd=(double)11*mtc/20;
12. b=(double)3*mtc/10;
13. c=(double)3*mtc/20;
14. cpcf=(double)c/5;
15. }
16. else
17. {
18. pd=(double)7*mtc/20;
19. b=0;
20. c=(double)3*mtc/10;
21. cpcf=(double)c/5;
22. }
23. System.out.println("La empresa invertirá de su propio dinero: "+pd+"
soles");
24. System.out.println("La empresa pedirá prestado al banco: "+b+" soles");
25. System.out.println("La empresa solicitará un crédito de: "+c+" soles al
fabricante");
26. System.out.println("El fabricante le cobrará:"+cpcf+" solesde interés a la
empresa por dicho crédito");
27. }
28. }
b) Prueba de escritorio:
15. Que permitaingresarel preciounitarioylacantidadde un artículo.Se requiere determinarel
importe de ventabruto,el descuentoyel importe de ventaneto.El descuentoseráde
acuerdoa la escalasiguiente:
IMPORTE DE VENTA BRUTO DESCUENTO
<500.00 5%
>=500.00 y <=750.00 8%
>750.00 10%
I. Análisis:
a) Datos de entrada: a, b.
b) Datos de salida: vb, d, vn.
c) Modelo matemático/lógico:
vb=a*b;
si vb<500
v: d=vb*0.05
vn=vb-d;
si vb>=500&&vb<=750
v: d=vb*0.08
vn=vb-d;
si vb>750
{
d=(int) (vb*0.1);
vn=vb-d;
}
I) Diseño
a) Diagrama de flujo
inicio
ht, th lee
if
vb<500
fin
c imp.
F
V
vb>=500&
&vb<=750
F
V
d= (vb*0.05);
vn=vb-d
d= (vb*0.08)
vn=vb-d
vb=a*b
vb>75
0
F
V
d= (vb*0.1)
vn=vb-d
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b
 Proceso:
vb=a*b;
if(vb<500)
{
d= (vb*0.05);
vn=vb-d;
}
if(vb>=500&&vb<=750)
{
d=(vb*0.08);
vn=vb-d;
}
if(vb>750)
{
d= (vb*0.1);
vn=vb-d;
}
 Salida: imprime: vb, d, vn
 Fin
II) Aplicación
a) Codificación:
1. package ejercicio.pkg15;
2. importjava.util.Scanner;
3. publicclassEjercicio15{
4. publicstaticvoidmain(String[] args) {
5. inta=0,b=0,vb=0,d=0,vn=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingreseelpreciodel producto");
8. a=entrada.nextInt();
9. System.out.println("ingrese lacantidadacomprar");
10. b=entrada.nextInt();
11. vb=a*b;
12. if(vb<500)
13. {
14. d=(int) (vb*0.05);
15. vn=vb-d;
16. }
17. if(vb>=500&&vb<=750)
18. {
19. d=(int) (vb*0.08);
20. vn=vb-d;
21. }
22. if(vb>750)
23. {
24. d=(int) (vb*0.1);
25. vn=vb-d;
26. }
27. System.out.println("ventaenbruto:"+vb+"descuento:"+d+"importe de
ventaneta:"+vn);
28. }
29. }
b) Pruebade escritorio
16. Una compañía de segurosestáabriendounDpto.de Finanzasyestablecióunprogramapara
captar clientes,que consisteenlosiguiente¨:Si el montoporel que se efectúalafianzaen
menorque $50 000 la cuota a pagar será por el 3% del monto,ysi el montoesmayor de $500
000 lacuota a para pagar seráel 2% del monto.La afianzadoradeseadeterminarcuál serála
cuota que debe pagarun cliente.
I. Análisis:
a) Datos de entrada: m.
b) Datos de salida: c.
c) Modelo matemático/lógico:
If (m<500000)
inicio
m
fin
V Fm<50 000
ant<1
I
C=(m*3)/100 C=m/50
c
Verdad:
C=(m*3)/100
Falso:
C=m/50
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: m.
 Proceso:
If (m<500000)
Verdad:
C=(m*3)/100
Falso:
C=m/50
 Salida: imprime:c.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg16;
2. import java.util.Scanner;
3. public class Ejercicio16 {
4. public static void main(String[] args) {
5. double m,c;
6. System.out.println("ingrese el monto de la fianza");
7. Scanner num=new Scanner (System.in);
8. m=num.nextDouble ();
9. if(m<50000)
10. {
11. c=(double)m*3/100;
12. }
13. else
14. {
15. c=(double)m/50;
16. }
17. System.out.println("La cuota que debe pagar el cliente es: "+c+" soles");
18. }
19. }
b) Prueba de escritorio:
17. Que permitaingresarlanota final de unexamenydetermineel calificativode acuerdoala
siguiente escala:
NOTAS CALIFICATIVO
0-10 Deficiente
11-14 Regular
15-18 Bueno
19-20 Excelente
Cualquierotrovalordeberávisualizarunmensaje de ERROR
I. Análisis:
a) Datos de entrada: a.
b) Datos de salida: a.
c) Modelo matemático/lógico:
Si a>=0&&a<=20
V:
Si a>=0&&a<=10
V: “nota " +a+ "calificativo: DEFICIENTE"
Si a>=11&&a<=14
V: “nota "+a +“calificativo: REGULAR"
Si a>=15&&a<=18
V:"nota "+a+ “calificativo: BUENO"
Si a>=19&&a<=20
V: "nota "+a+ “calificativo: EXCELENTE"
F:"la nota ingresada es incorrecta"
II. Diseño
a) Diagrama de flujo
inicio
a lee
a>=0&
&a<=20
fin
cimp
"la nota ingresada es incorrecta"
FV
a>=0&
&a<=1
0
F
V
a>=11&
&a<=14
F
V
C=“nota "+a +“calificativo:DEFICIENTE "
C=“nota "+a +“calificativo:REGULAR"
a>=15
&&a<=
F
V
C="nota "+a+ “calificativo:BUENO"
a>=19
&&a<=
F
V
C="nota "+a+ “calificativo:EXCELENTE"
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b
 Proceso:
if(a>=0&&a<=20)
{
if(a>=0&&a<=10)
{
"nota "+a+"calificativo:DEFICIENTE"
}
if(a>=11&&a<=14)
{
"nota"+a+"calificativo:REGULAR"
}
if(a>=15&&a<=18)
{
"nota "+a+"calificativo:BUENO"
}
if(a>=19&&a<=20)
{
“nota "+a+"calificativo:EXCELENTE"
}
}
else
{
“la nota ingresadaesincorrecta"
}
 Salida: imprime: a
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg17;
2. importjava.util.Scanner;
3. publicclassEjercicio17{
4. publicstaticvoidmain(String[] args) {
5. inta=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("Ingreselanotafinal");
8. a=entrada.nextInt();
9. if(a>=0&&a<=20)
10. {
11. if(a>=0&&a<=10)
12. {
13. System.out.println("nota"+a+"calificativo:DEFICIENTE");
14. }
15. if(a>=11&&a<=14)
16. {
17. System.out.println("nota"+a+"calificativo:REGULAR");
18. }
19. if(a>=15&&a<=18)
20. {
21. System.out.println("nota"+a+"calificativo:BUENO");
22. }
23. if(a>=19&&a<=20)
24. {
25. System.out.println("nota"+a+"calificativo:EXCELENTE");
26. }
27. }
28. else
29. {
30. System.out.println("lanotaingresadaesincorrecta");
31. }
32. }
33. }
b) Pruebade escritorio
18. En una instituciónlaDirecciónordenóaumentar con 2 puntos sobre el promedio final a todo
aquel alumno aprobado que haya participado en el desfile institucional y con 3 puntos al
alumnodesaprobado.De nocumplirse conestascondicionesel promediopermanecerá igual.
I. Análisis:
a) Datos de entrada:pf,d.
b) Datos de salida: n.
c) Modelo matemático/lógico:
Switch(d)
Caso 1:
If (pf>10)
Verdad: n=pf+2
Falso : n=pf+3
Caso 2:
n=pf
II. Diseño:
a) Diagrama de flujo:
d
inicio
m
fin
V F
Caso 1
pf>10
ant<1
I
n=pf+2 n=pf+3
Caso2 n=pf
n
b) Pseudocódigo:
 Inicio
 Entrada: lee: pf,d
 Proceso:
Switch(d)
Caso 1:
If (pf>10)
Verdad: n=pf+2
Falso : n=pf+3
Caso 2:
n=pf
 Salida: imprime:n.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg18;
2. import java.util.Scanner;
3. public class Ejercicio18 {
4. public static void main(String[] args) {
5. int pf,d,n=0;
6. System.out.println("Ingrese su promedio final");
7. Scanner num=new Scanner(System.in);
8. pf=num.nextInt();
9. System.out.println("Ingrese :");
10. System.out.println(" 1: Si participó en el desfile");
11. System.out.println(" 2: Si no participó en el desfile");
12. Scanner num1=new Scanner(System.in);
13. d=num.nextInt();
14. switch(d)
15. {
16. case 1:
17. if(pf>10)
18. {
19. n=pf+2;
20. }
21. else
22. {
23. n=pf+3;
24. }
25. break;
26. case 2:
27. n=pf;
28. break;
29. }
30. System.out.println("El promediofinal del alumnode acuerdoasusméritos es:
"+n);
31. }
32. }
b) Prueba de escritorio:
19. Ingresar3 númerosenterosydeterminarsi unode elloseslasumade losotrosdos.
I. Análisis:
a) Datos de entrada: a, b, c.
b) Datos de salida: a,b,c.
c) Modelo matemático/lógico:
si a==(b+c)
v: a+" es igual a la suma de "+b+"+"+c
si b==(a+c)
v:b+" es igual a la suma de "+a+"+"+c
si c==(a+b)
v:c+" es igual a la suma de "+b+"+"+a
F:"ninguna suma es igual "
II. Diseño
a) Diagrama de flujo
inicio
a,b,c lee
a==(b+c)
fin
F
V
b==(a+c)
F
V
a+" es igual a la
suma de
"+b+"+"+c
b+" es igual a la
suma de "+a+"+"+c
c==(a+b
)
F
V
c+" esigual a la suma
de "+b+"+"+a
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b, c
 Proceso:
if (a==(b+c))
{
a+" es igual a la suma de "+b+"+"+c
}
If (b==(a+c))
{
b+" es igual a la suma de "+a+"+"+c
}
If (c==(a+b))
{
c+" es igual a la suma de "+b+"+"+a
}
else
{
"ninguna suma es igual "
}
 Salida: imprime: a, b, c
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg19;
2. importjava.util.Scanner;
3. publicclassEjercicio19{
4. publicstaticvoidmain(String[] args) {
5. inta=0,b=0,c=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese el primernumero");
8. a=entrada.nextInt();
9. System.out.println("ingrese el segundonumero");
10. b=entrada.nextInt();
11. System.out.println("ingrese el tercernumero");
12. c=entrada.nextInt();
13. if (a==(b+c))
14. {
15. System.out.println(a+"esigual ala sumade "+b+"+"+c);
16. }
17. if(b==(a+c))
18. {
19. System.out.println(b+"esigual ala sumade "+a+"+"+c);
20. }
21. if(c==(a+b))
22. {
23. System.out.println(c+"esigual ala suma de "+b+"+"+a);
24. }
25. else
26. {
27. System.out.println("ningunasumaesigual ");
28. }
29. }
30. }
b) Pruebade escritorio
20. En la escuelade PostGrado losalumnosllevan4cursosdurante un semestre.El costode cada
curso es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual
consiste en lo siguiente: Si el promedio obtenido por un alumno al finalizar el semestre es
mayor o igual que 18. se le hará un descuento del 40% sobre el costo de su semestre y no se
le cobrará IGV; y si el promedio obtenido es menor que 18 deberá pagar su semestre
completo, más el 10% por derecho de IGV.
I. Análisis:
a) Datos de entrada:cc,p.
b) Datos de salida:ct.
c) Modelomatemático/lógico:
c=cc*4
d=(c*2)/5
IGV=c/10
If(p>=18)
Verdad:ct=c-d
Falso : ct=c+IGV
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: cc,p
 Proceso:
c=cc*4
d=(c*2)/5
IGV=c/10
If(p>=18)
Verdad:ct=c-d
Falso : ct=c+IGV
 Salida: imprime: ct.
 Fin
p>=18
ant<1
If
ct=c+IGV
inicio
cc,p
fin
V
c=cc*4
d=(c*2)/5
IGV=c/10
F
ct=c-d
ct
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg20;
2. import java.util.Scanner;
3. public class Ejercicio20 {
4. public static void main(String[] args) {
5. double cc,p,c,d ,IGV,ct;
6. System.out.println("Ingrese el costo de un curso");
7. Scanner num=new Scanner(System.in);
8. cc=num.nextDouble();
9. System.out.println("Ingrese su promedio semestral final");
10. Scanner num1=new Scanner(System.in);
11. p=num1.nextDouble();
12. c=cc*4;
13. d=(c*2)/5;
14. IGV=10;
15. if(p>=18)
16. {
17. ct=c-d;
18. }
19. else
20. {
21. ct=c+IGV;
22. }
23. System.out.println("El pago que debe realizar por su semestre completo es:
"+ct);
24. }
25. }
b) Prueba de escritorio:
21. En una fábricade computadorasse planeaofreceralosclientesundescuentoque dependerá
del númerode computadorasque compre.Si lascomputadorassonmenosde cinco se les
dará un 10% de descuentosobre el total de lacompra; si el númerode computadorases
mayor o igual a cincoperomenosde diezse le otorga un 20% de descuento;ysi son10 o más
se lesda un 40% de descuento.El preciode cadacomputadoraes de $11,000.
I. Análisis:
a) Datos de entrada: c.
b) Datos de salida: pf.
c) Modelo matemático/lógico:
pt=c*11000;
si c<5
v:
d=pt*0.1
pf=pt-d
si c>=5&&c<10
v:
d=pt*0.2
pf=pt-d
si c>=10
v:
d=pt*0.4
pf=pt-d
II. Diseño
a) Diagrama de flujo
inicio
c lee
if
c<5
fin
pf imp.
F
V
c>=5&&
c<10
F
V
d=pt*0.1
pf=pt-d
d=pt*0.2
pf=pt-d
pt=c*11000
c>=10
F
V
d=pt*0.4
pf=pt-d
b) Pseudocódigo:
 Inicio
 Entrada: lee: c
 Proceso:
pt=c*11000
if(c<5)
{
d= pt*0.1
pf=pt-d
}
if(c>=5&&c<10)
{
d=pt*0.2
pf=pt-d;
}
Si >=10
{
d= pt*0.4
pf=pt-d
}
 Salida: imprime: pf
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg21;
2. importjava.util.Scanner;
3. publicclassEjercicio21{
4. publicstaticvoidmain(String[] args) {
5. intc=0,d=0,pt=0,pf=0;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese lacantidadde computasacomprar");
8. c=entrada.nextInt();
9. pt=c*11000;
10. if(c<5)
11. {
12. d=(int) (pt*0.1);
13. pf=pt-d;
14. }
15. if(c>=5&&c<10)
16. {
17. d=(int) (pt*0.2);
18. pf=pt-d;
19. }
20. if(c>=10)
21. {
22. d=(int) (pt*0.4);
23. pf=pt-d;
24. }
25. System.out.println("el descuentoes:"+d+"total a pagar es:"+pf);
26. }
27. }
b) Pruebade escritorio
22. Encontrar el mayor y el menorde tresnúmeros.
I. Análisis:
a) Datos de entrada: a, b, c.
b) Datos de salida: a, c.
c) Modelo matemático/lógico:
If(a<b)
aux=a
a=b
b=aux
If(a<c)
aux=a
a=c
c=aux
If(b<c)
aux=b
b=c
c=aux
inicio
a,b,c lee
aux=a
a=b
b=aux
if
a<b
V
F
aux=a
a=c
c=aux
if
a<c
F
fin
a, c imp.
aux=b
b=c
c=aux
if
b<c
F
V
II. Diseño:
a) Diagrama de flujo:
V
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b, c.
 Proceso:
If(a<b)
aux=a
a=b
b=aux
If(a<c)
aux=a
a=c
c=aux
If(b<c)
aux=b
b=c
c=aux
 Salida: imprime: a, c.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg22;
2. import java.util.Scanner;
3. public class Ejercicio22 {
4. public static void main(String[] args) {
5. int a,b,c,aux;
6. System.out.println("Ingrese el primer número");
7. Scanner num=new Scanner(System.in);
8. a=num.nextInt();
9. System.out.println("Ingrese el segundo número");
10. Scanner num1=new Scanner(System.in);
11. b=num1.nextInt();
12. System.out.println("Ingrese el tercer número");
13. Scanner num2=new Scanner(System.in);
14. c=num.nextInt();
15. if(a<b)
16. {
17. aux=a;
18. a=b;
19. b=aux;
20. }
21. if(a<c)
22. {
23. aux=a;
24. a=c;
25. c=aux;
26. }
27. if(b<c)
28. {
29. aux=a;
30. b=c;
31. c=aux;
32. }
33. System.out.println("El mayor es "+a);
34. System.out.println("El menor es "+c);
35. }
36. }
b) Prueba de escritorio:
23. Verificarsi unnúmeroXes múltiplode 3o de 5.
I. Análisis:
a) Datos de entrada: n.
b) Datos de salida: n.
c) Modelo matemático/lógico:
Si n%3==0&&n%5==0
V:n+" es multiplo de 3 y 5"
F:
Si n%3==0
V: n+" es multiplo de 3"
F:
Si n%5==0
V:n+" es multiplo de 5"
F:n+" no es multiplo ni 3 ni 5"
II. Diseño
a) Diagrama de flujo
inicio
n lee
n%3==0
&&n%5=
=0
n+" es múltiplo
de 3 y 5"
fin
F V
if
n%3==0
F V
n+" es
multiplo de 3"if
n%5==0
F V
n+" es
multiplo de 3"
n+" es
multiplo de 5"
b) Pseudocódigo:
 Inicio
 Entrada: lee: n
 Proceso:
if(n%3==0&&n%5==0)
{
n+" esmultiplode 3 y 5"
}
else
{
if(n%3==0)
{
n+" esmultiplode 3"
}
else
{
if(n%5==0)
{
n+" esmultiplode 5"
}
else
{
n+" no esmultiploni 3 ni 5”
}
}
}
 Salida: imprime: n
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg23;
2. importjava.util.Scanner;
3. publicclassEjercicio23{
4. publicstaticvoidmain(String[] args) {
5. intn;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese unnumero");
8. n=entrada.nextInt();
9. if(n%3==0&&n%5==0)
10. {
11. System.out.println(n+"esmultiplode 3y 5");
12. }
13. else
14. {
15. if(n%3==0)
16. {
17. System.out.println(n+"esmultiplode 3");
18. }
19. else
20. {
21. if(n%5==0)
22. {
23. System.out.println(n+"esmultiplode 5");
24. }
25. else
26. {
27. System.out.println(n+"noesmultiploni 3ni 5");
28. }
29. }
30. }
31. }
32. }
b) Pruebade escritorio
24. Dados tresnúmerosse desealosiguiente:
Si solodos númerossonigualesdesplegarunmensaje,entoncesse deberámostrarel
productodel númeroigual conel númerodiferenteynose deberárealizarningunode los
siguientesincisos.Si lostressonigualesdebe desplegarunmensaje,ynodebe efectuar
ningunaotra operación.Hallarladiferenciadel mayormenosel menor.
I. Análisis:
a) Datos de entrada: a, b, c.
b) Datos de salida: “a y b son =”, “a y c son =”, “a, b y c son =”, p, d.
c) Modelo matemático/lógico:
if(a==b&&b==c)
verdad: “a, b y c son =”
falso : if(a==b)
verdad:
p=a*c
“a y b son =”
Falso :
if(a==c)
verdad:
p=a*b
“a y c son =”
Falso :
If(a<b)
aux=a
a=b
b=aux
If(a<c)
aux=a
a=c
c=aux
If(b<c)
aux=b
b=c
c=aux
d=a-c
II. Diseño:
a) Diagrama de flujo:
F
F
V
V
d
F
F
V
V
V
inicio
a,b,c lee
“a, b y c son =”
i
f
If
a==b
If
a==c
If
p=a*b
aux=a
a=b
b=aux
if
a<b
V
F
aux=a
a=c
c=aux
if
a<c
F
d=a-c
aux=b
b=c
c=aux
if
b<c
fin
a==b&&b==c
p=a*c
p
p
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b, c.
 Proceso:
if(a==b&&b==c)
verdad: “a, b y c son =”
falso : if(a==b)
verdad:
p=a*c
“a y b son =”
Falso :
if(a==c)
verdad:
p=a*b
“a y c son =”
Falso :
If(a<b)
aux=a
a=b
b=aux
If(a<c)
aux=a
a=c
c=aux
If(b<c)
aux=b
b=c
c=aux
d=a-c
 Salida: imprime: “a y b son =”, “a y c son =”, “a, b y c son =”, p, d.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercico.pkg24;
2. import java.util.Scanner;
3. public class Ejercico24 {
4. public static void main(String[] args) {
5. int a,b,c,aux,p,d;
6. System.out.println("Ingrese el primer número");
7. Scanner num=new Scanner(System.in);
8. a=num.nextInt();
9. System.out.println("Ingrese el segundo número");
10. Scanner num1=new Scanner(System.in);
11. b=num1.nextInt();
12. System.out.println("Ingrese el tercer número");
13. Scanner num2=new Scanner(System.in);
14. c=num.nextInt();
15. if(a==b&&b==c)
16. {
17. System.out.println(a+", "+b+" y "+c+" son iguales" );
18. }
19. else
20. {
21. if(a==b)
22. {
23. p=a*c;
24. System.out.println(a+" y "+b+" son iguales" );
25. System.out.println("El producto con el número diferente es "+p);
26. }
27. else
28. {
29. if(a==c)
30. {
31. p=a*b;
32. System.out.println(a+" y "+c+" son iguales" );
33. System.out.println("El producto con el número diferente es "+p);
34. }
35. else
36. {
37. if(a<b)
38. {
39. aux=a;
40. a=b;
41. b=aux;
42. }
43. if(a<c)
44. {
45. aux=a;
46. a=c;
47. c=aux;
48. }
49. if(b<c)
50. {
51. aux=b;
52. b=c;
53. c=aux;
54. }
55. d=a-c;
56. System.out.println("la diferencia del mayor y menor es "+d);
57. }
58. }
59. }
60. }
61. }
b) Prueba de escritorio:
25. Dada la fechaactual (día, mesy año),y la fechade nacimientode unapersona,diseñarun
algoritmoque determine laedadde estapersona.
I. Análisis:
a) Datos de entrada: d,m,a,dn,mn,an.
b) Datos de salida: e.
c) Modelo matemático/lógico:
e=a-an
si m==mn
v:
si d>=dn)
v:"usted tiene: "+e+" años"
f:
e=e-1;
"usted tiene: "+e+" años"
Si m>mn
V:"usted tiene: "+e+" años"
F:e=e-1;
“usted tiene: "+e+" años"
II. Diseño
a) Diagrama de flujo
e=e
inicio
d,m,a,dn,mn,an lee
m==mn
e=e-1
fin
FV
if
d>=dn
FV
e=e-1
if
m>mn
F V
e=e-1 e=e
e=a-an
e imp.
b) Pseudocódigo:
 Inicio
 Entrada: lee: d,m,a,dn,mn,an.
 Proceso:
e=a-an
if(m==mn)
{
if(d>=dn)
{
"usted tiene: "+e+" años"
}
else
e=e-1;
"usted tiene: "+e+" años"
}
}
if(m>mn)
{
"usted tiene: "+e+" años"
}
else
{
e=e-1;
"usted tiene: "+e+" años"
}
 Salida: imprime: e
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg25;
2. importjava.util.Scanner;
3. publicclassEjercicio25{
4. publicstaticvoidmain(String[] args) {
5. intd,m,a,dn,mn,an,e;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese lafechaactual");
8. System.out.print("dia:");d=entrada.nextInt();
9. System.out.print("mes:");m=entrada.nextInt();
10. System.out.print("año:");a=entrada.nextInt();
11. System.out.println("ingrese lafechade nacimiento");
12. System.out.print("dia:");dn=entrada.nextInt();
13. System.out.print("mes:");mn=entrada.nextInt();
14. System.out.print("año:");an=entrada.nextInt();
15. e=a-an;
16. if(m==mn)
17. {
18. if(d>=dn)
19. {
20. System.out.println();
21. System.out.println("ustedtiene:"+e+"años");
22. }
23. else
24. {
25. e=e-1;
26. System.out.println();
27. System.out.println("ustedtiene:"+e+"años");
28. }
29. }
30. if(m>mn)
31. {
32. System.out.println();
33. System.out.println("ustedtiene:"+e+"años");
34. }
35. else
36. {
37. e=e-1;
38. System.out.println();
39. System.out.println("ustedtiene:"+e+"años");
40. }
41. }
42. }
b) Pruebade escritorio
26. Un banco antesde concederun préstamo,compruebalosingresosdelsolicitante.Si los
ingresossonsuperioresa12000 solesanuales,el créditose concede.Si losingresosson
inferioresa12000 solesanualesperosuperioresa10000 solesyel cliente tiene máximo2
hijos,el créditose concede.Tambiénse le concede,si tieneingresosentre 8000 y 10000 soles
perono tiene hijos.Realizarunalgoritmoque pidalosingresosanualesyel númerode hijos
del solicitante,ydigasi se le da el créditoo no.
I. Análisis:
a) Datos de entrada: i, h.
b) Datos de salida: “c”, “nc”.
c) Modelo matemático/lógico:
If(i>12000)
Verdad: “c”.
Falso : if(i<12000&&i>10000)
Verdad: if(h<=2)
Verdad: “c”.
Falso : “nc”.
Falso : if(i>=8000&&i<=10000)
Verdad: if(h==0)
Verdad: “c”.
Falso : “nc”.
Falso: “nc”.
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee:
 Proceso:
If(i>12000)
Verdad: “c”.
Falso : if(i<12000&&i>10000)
Verdad: if(h<=2)
Verdad: “c”.
Falso : “nc”.
Falso : if(i>=8000&&i<=10000)
Verdad: if(h==0)
Verdad: “c”.
F
V
h<=12
ant<1
“nc”“c”
If
“nc”
h<=12
ant<1
If
F
F
V
V
inicio
h, i lee
“c ”
i
f
If
i<12000&&i>10000
If
i<8000&&i>100000
If
V
F
fin
i>12000
“nc”“c”
V
F
V
Falso : “nc”.
Falso: “nc”.
 Salida: imprime: “c”, “nc”.
 Fin
III. Aplicación:
a) Codificación:
1. package ejericio.pkg26;
2. import java.util.Scanner;
3. public class Ejericio26 {
4. public static void main(String[] args) {
5. int i,h;
6. System.out.println("Introduzca su ingreso anual:");
7. Scanner num=new Scanner(System.in);
8. i=num.nextInt();
9. System.out.println("Introcuzca el número de hijos que tenga:");
10. Scanner num1=new Scanner(System.in);
11. h=num1.nextInt();
12. if(i>12000)
13. {
14. System.out.println("Le damos el crédito");
15. }
16. else
17. {
18. if(i<12000&&i>10000)
19. {
a. if(h<=2)
b. {
c. System.out.println("Le damos el crédito");
d. }
e. else
f. {
g. System.out.println("No le damos el crédito");
h. }
20. }
21. else
22. {
a. if(i>=8000&&i<=10000)
b. {
c. if(h==0)
d. {
i. System.out.println("Le damos el crédito");
e. }
f. else
g. {
i. System.out.println("No le damos el crédito");
h. }
i. }
j. else
k. {
l. System.out.println("No le damos el crédito");
m. }
23. }
24. }
25. }
26. }
b) Prueba de escritorio:
27. Diseñe unalgoritmoque leael importe de la compray lacantidadde dinerorecibida,ycalcule
el cambioa devolver,teniendoencuentaque el númerode monedasque se devuelvendebe
sermínimo.Suponerque el sistemamonetarioutilizadoconstade monedasde 50,20, 5 y 1, y
que hay capacidadilimitadade monedas.
I. Análisis:
a) Datos de entrada: dc, dr.
b) Datos de salida: v, m50, m20, m5, m1.
c) Modelo matemático/lógico:
v=dr-dc
m50=v/50
r=v%50
m20=r/20
r=r%20
m5=r/5
r=r%5
m1=r
II. Diseño
a) Diagrama de flujo
b) Pseudocódigo:
 Inicio
 Entrada: lee: dc, dr.
 Proceso:
v=dr-dc
m50=v/50
r=v%50
m20=r/20
r=r%20
m5=r/5
r=r%5
m1=r
 Salida: imprime: v, m50, m20, m5, m1.
inicio
dc, dr lee
v=dr-dc
m50=v/50
r=v%50
m20=r/20
r=r%20
m5=r/5
r=r%5
m1=r
v, m50, m20, m5, m1imp.
fin
 Fin
III. Aplicación
a) Codificación:
1. package jercicio.pkg27;
2. importjava.util.Scanner;
3. publicclassJercicio27{
4. publicstaticvoidmain(String[] args) {
5. intdc,dr,v,m50,m20,m5,m1,r;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese el importe de laventa");
8. dc=entrada.nextInt();
9. System.out.println("ingrese cantidadde dinerorecibido");
10. dr=entrada.nextInt();
11. v=dr-dc;
12. m50=v/50;
13. r=v%50;
14. m20=r/20;
15. r=r%20;
16. m5=r/5;
17. r=r%5;
18. m1=r;
19. System.out.println("suvueltoes:"+v+" y se da de la siguiente manera:");
20. System.out.println("billetesde 50 soles:"+m50);
21. System.out.println("billetesde 20 soles: "+m20);
22. System.out.println("monedasde 5soles:"+m5);
23. System.out.println("monedasde 1soles:"+m1);
24. }
25. }
b) Pruebade escritorio
28. Diseñe unalgoritmoparaun problemasimilaral anterior.Peroconsiderarque se tienensolo
10 monedasde 50, y 2 de 5, las demásilimitadas.
I. Análisis:
a) Datos de entrada: i, p.
b) Datos de salida: m50, m20, m5, m1.
c) Modelo matemático/lógico:
d=p-i
m50=ddiv50
d=dmod50
if (m50<=10)
verdad: m50=m50
falso : d=(m50-10)*50
m50=10
m20=ddiv20
d=dmod20
m5=ddiv5
d=dmod5
if (m50<=10)
verdad: m5=m5
falso : d=(m5-2)*50
m5=2
m1=d
II. Diseño:
a) Diagrama de flujo:
m50<=10
ant<1
If
d=(m50-10)*50
m50=10
inicio
i, p
V
d=p-i
m50=ddiv50
d=dmod50
F
m50=m50
m20=ddiv 20
d=dmod20
m5=ddiv 5
d=dmod5
m5<=2
ant<1
d= (m5-2)*5
m5=2
m5=m5
m1=d
If
m50, m20, m5, m1
FV
fin
b) Pseudocódigo:
 Inicio
 Entrada: lee: i, p.
 Proceso:
d=p-i
m50=ddiv50
d=dmod50
if (m50<=10)
verdad: m50=m50
falso : d=(m50-10)*50
m50=10
m20=ddiv20
d=dmod20
m5=ddiv5
d=dmod5
if (m50<=10)
verdad: m5=m5
falso : d=(m5-2)*50
m5=2
m1=d
 Salida: imprime: m50, m20, m5, m1.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio28;
2. import java.util.Scanner;
3. public class Ejercicio28 {
4. public static void main(String[] args) {
5. int i,p,d,m50,m20,m5,m1;
6. System.out.println("Ingrese el importe de la compra");
7. Scanner num=new Scanner(System.in);
8. i=num.nextInt();
9. System.out.println("Ingrese la cantidad de dinero recibida ");
10. Scanner num1=new Scanner(System.in);
11. p=num1.nextInt();
12. d=p-i;
13. m50=d/50;
14. d=d%50;
15. if(m50<=10)
16. {
17. m50=m50;
18. }
19. else
20. {
21. d=(m50-10)*50;
22. m50=10;
23. }
24. m20=d/20;
25. d=d%20;
26. m5=d/5;
27. d=d%5;
28. if(m5<=2)
29. {
30. m5=m5;
31. }
32. else
33. {
34. d=(m5-2)+5;
35. m5=2;
36. }
37. m1=d;
38. System.out.println("Su cambio es:");
39. System.out.println(m50+" billetes de 50");
40. System.out.println(m20+" billetes de 20");
41. System.out.println(m5+" monedas de 5");
42. System.out.println(m1+" monedas de 1");
43. }
44. }
b) Prueba de escritorio:
29. Dado un año, indique mediante mensaje si es bisiesto o no. Un año es bisiesto, solo si es
múltiplo de 4 pero no de 100, salvo que sea múltiplo de 400.( teoría completa del año
bisiesto).
I. Análisis:
a) Datos de entrada: a.
b) Datos de salida: "si es bisiesto", "no es bisiesto".
c) Modelo matemático/lógico:
Si (a%4==0 && a % 100 != 0) || a % 400 == 0
V:"si es bisiesto"
F:"no es bisiesto"
II. Diseño
a) Diagrama de flujo
inicio
a lee
(a%4==0 && a %
100 !=0) || a % 400
==0
"no es
bisiesto"
"si es
bisiesto"
fin
F
V
b) Pseudocódigo:
 Inicio
 Entrada: lee: a
 Proceso:
if((a%4==0 && a % 100 != 0) || a % 400 == 0)
{
"si es bisiesto"
}
else
{
"no es bisiesto"
}
 Salida: imprime: "si es bisiesto", "no es bisiesto".
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg29;
2. importjava.util.Scanner;
3. publicclassEjercicio29{
4. publicstaticvoidmain(String[] args) {
5. inta;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingrese unaño");
8. a=entrada.nextInt();
9. if((a%4==0&& a % 100 != 0) || a % 400 == 0)
10. {
11. System.out.println("siesbisiesto");
12. }
13. else
14. {
15. System.out.println("noesbisiesto");
16. }
17. }
18. }
b) Pruebade escritorio
30. Escriba un algoritmo que lea tres números enteros de un supuesto triángulo, determine si
realmente forman un triángulo, y muestre el tipo de triángulo que es (si es un triángulo: La
suma de dos cualesquiera de los lados debe ser mayor que el otro).
Equilátero:todoslosladossoniguales.
Isósceles:solodosladossoniguales.
Escaleno:notiene dosladosiguales.
I. Análisis:
a) Datos de entrada: a, b, c, s.
b) Datos de salida: “t”, “nt”, “ee”, “i”, “e”.
c) Modelo matemático/lógico:
s=a+b
If(s>c)
Verdad:
V
V
fin
“t”
s>c
ant<1
If
inicio
a, b, c
V F
“nt”
a=b&&b=c
ant<1
If
“ee”
a=b||b=c||a=c
If
“i” “e”
F
“t”.
if(a==b&&b==c)
Verdad: “ee”.
Falso : if(a==b||b==c||a==c)
Verdad: “i”.
Falso : “e”.
Falso : “nt”.
II. Diseño:
a) Diagrama de flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b, c.
 Proceso:
s=a+b
If(s>c)
Verdad:
“t”.
if(a==b&&b==c)
Verdad: “ee”.
Falso : if(a==b||b==c||a==c)
Verdad: “i”.
Falso : “e”.
Falso : “nt”.
 Salida: imprime: “t”, “nt”, “ee”, “i”, “e”.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg30;
2. import java.util.Scanner;
3. public class Ejercicio30 {
4. public static void main(String[] args) {
5. int a,b,c,s;
6. System.out.println("Ingrese tres números enteros para un supuesto
triángulo");
7. System.out.println("Ingrese el primer número entero.");
8. Scanner num=new Scanner(System.in);
9. a=num.nextInt();
10. System.out.println("Ingrese el segundo número entero:");
11. Scanner num1=new Scanner(System.in);
12. b=num1.nextInt();
13. System.out.println("Ingrese el tercer número entero:");
14. Scanner num2=new Scanner(System.in);
15. c=num2.nextInt();
16. s=a+b;
17. if(s>c)
18. {
19. System.out.println("Es un triángulo");
20. if(a==b&&b==c)
21. {
22. System.out.println("Es un triángulo equilátero");
23. }
24. else
25. {
26. if(a==b||b==c||a==c)
27. {
System.out.println("Es un triángulo isósceles");
28. }
29. else
30. {
System.out.println("Es un triángulo escaleno");
31. }
32. }
33. }
34. else
35. {
36. System.out.println("No es un triángulo");
37. }
38. }
39. }
b) Prueba de escritorio:
31. Dados dosenteros,díay mes,de una fechade un año no bisiesto,indicarsi lafechaes
correcta.
I. Análisis:
a) Datos de entrada: d, m.
b) Datos de salida: r.
c) Modelo matemático/lógico:
Si m>12
V:r="NO CORRESPONDE"
f:
switch (m)
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dmax=31
si d<=dmax
v: r="FECHA CORRESPONDE"
f: r="FECHA NO CORRESPONDE"
case 4:
case 6:
case 9:
case 11:
dmax=30;
si d<=dmax
v: r="FECHA CORRESPONDE"
f: r="FECHA NO CORRESPONDE"
case 2:
si d==29
v: r="FECHA NO CORRESPONDE";
f:
si d<28
v:"FECHACO RRESPONDE"
II. Diseño
a) Diagrama de flujo
1
V F
2
V F
d=d+1
FV
4,6,9,1
1
FV
FV
1,3,5,7,8,10
m
if
d==3
d=d-29
m=m+1
d=d+1
if
r%4==
0
d=29 d=d-27
m=m+1
if
d==3
d=1
m=1
a=a+1
d=d+1
if
d==3
d=d+1d=d-30
m=m+
1
fin
d,m,a imp.
if
m>1
Inicio
d,m lee
b) Pseudocódigo:
 Inicio
 Entrada: lee: d, m
 Proceso:
if(m>12)
r="NO CORRESPONDE"
switch (m){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dmax=31
if(d<=dmax)
r="FECHA CORRESPONDE"
else
r="FECHA NO CORRESPONDE"
break
case 4:
case 6:
case 9:
case 11:
dmax=30;
if(d<=dmax)
r="FECHA CORRESPONDE"
else
r="FECHA NO CORRESPONDE"
break
case 2:
if(d==29)
r="FECHA NO CORRESPONDE"
else
if(d<28)
r="FECHACO RRESPONDE"
}
 Salida: imprime: r
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg31;
2. importjava.util.Scanner;
3. publicclassEjercicio31{
4. publicstaticvoidmain(String[] args) {
5. intd,m,dmax=0;
6. Stringr="";
7. Scannerteclado=new Scanner(System.in);
8. System.out.print("Ingrese Dia:");
9. d=teclado.nextInt();
10. System.out.print("Ingrese Mes:");
11. m=teclado.nextInt();
12. if(m>12)
13. r="NO CORRESPONDE";
14. switch(m){
15. case 1:
16. case 3:
17. case 5:
18. case 7:
19. case 8:
20. case 10:
21. case 12:
22. dmax=31;
23. if(d<=dmax)
24. r="FECHA CORRESPONDE";
25. else
26. r="FECHA NOCORRESPONDE";
27. break;
28. case 4:
29. case 6:
30. case 9:
31. case 11:
32. dmax=30;
33. if(d<=dmax)
34. r="FECHA CORRESPONDE";
35. else
36. r="FECHA NOCORRESPONDE";
37. break;
38. case 2:
39. if(d==29)
40. r="FECHA NOCORRESPONDE";
41. else
42. if(d<28)
43. r="FECHACO RRESPONDE";
44. }
45. System.out.println("");
46. System.out.println("Respuesta:"+r);
47. }
48. }
b) Pruebade escritorio
V
fin
“o”
A1>90||a2>90
||a3>90
If
inicio
a1, a2, a3
V F
F
a1=90||a2=90
||a3=90
If
“r” a1<90||a2<90
||a3<90
If
“a”
V
32. Los triángulosse puedenclasificarrespectode susángulos:
Si uno de los ángulos mide más de 90°, el triángulo es obtusángulo.
Si uno de los ángulos mide 90°, el triángulo es rectángulo.
Si de los tres ángulos miden menos de 90°, el triángulo es acutángulo.
I. Análisis:
a) Datos de entrada: a1, a2, a3.
b) Datos de salida: “o”, “r”, “a”.
c) Modelo matemático/lógico:
If(a1>90||a2<90||a3>90)
Verdad: “o”.
Falso : if(a1=90||a2=90||a3=90)
Verdad: “r”.
Falso : if(a1<90||a2<90||a3<90)
Verdad: “a”.
II. Diseño:
a) Diagrama de
flujo:
b) Pseudocódigo:
 Inicio
 Entrada: lee: a1, a2, a3.
 Proceso:
If(a1>90||a2<90||a3>90)
Verdad: “o”.
Falso : if(a1=90||a2=90||a3=90)
Verdad: “r”.
Falso : if(a1<90||a2<90||a3<90)
Verdad: “a”.
 Salida: imprime: “o”, “r”, “a”.
 Fin
III. Aplicación:
a) Codificación:
1. package ejercicio.pkg32;
F
2. import java.util.Scanner;
3. public class Ejercicio32 {
4. public static void main(String[] args) {
5. int a1,a2,a3;
6. System.out.println("Ingrese el primer ángulo de un triángulo");
7. Scanner num=new Scanner(System.in);
8. a1=num.nextInt();
9. System.out.println("Ingrese el segundo ángulo de un triángulo");
10. Scanner num1=new Scanner(System.in);
11. a2=num1.nextInt();
12. System.out.println("Ingrese el tercer ángulo de un triángulo");
13. Scanner num2=new Scanner(System.in);
14. a3=num2.nextInt();
15. if(a1>90||a2>90||a3>90)
16. {
17. System.out.println("El triángulo es obtusángulo");
18. }
19. else
20. {
21. if(a1==90||a2==90||a3==90)
22. {
23. System.out.println("El triángulo es rectángulo");
24. }
25. else
26. {
a. if(a1<90||a2<90||a3<90)
b. {
c. System.out.println("El triángulo es acutángulo");
d. }
27. }
28. }
29. }
30. }
b) Prueba de escritorio:
33. Dos entidadesfinancierasofrecenlassiguientestasasde interéssimple:
Entidad A Entidad B
Dinero Depositado Interés Mensual Dinero Depositado Interés Mensual
De 0 a500 soles 5%del dinero depositado De 0 a 600 soles 5%del dinero depositado
De 501 a 4499 soles 12%del dinero depositado De 601 a 3499 soles 5%del dinero depositado
4500 soles a más 16%del dinero depositado 3500 soles a más 5%del dinero depositado
Desarrollar un programa que realice lo siguiente:
Solicite al usuarioque ingrese el montode dineroque deseadepositaryel tiempo(meses)
que lo mantendrá en el banco.
Determine cuál de lasdosentidades,A oB, esmás conveniente para depositar el dinero y
muestre un mensaje indicando en que banco debería el usuario depositar el monto
ingresado, y cuánto dinero tendrá luego de transcurrido el tiempo que indico al inicio.
Nota: Para calcular el interés simple se utiliza la siguiente fórmula:
Interés = Capital * Tasa * Tiempo
I. Análisis:
a) Datos de entrada: d, t.
b) Datos de salida: a, b.
c) Modelo matemático/lógico:
Si d>0&&d<=500
V: a=(d*0.05)*t
Si: d>500&&d<=4499
v: a=(d*0.12)*t
si d>4499
v: a=(d*0.16)*t
si d>0&&d<=600
v: b=(d*0.07)*t
si d>600&&d<=3499
v: b=(d*0.10)*t
si d>3499
v: b=(d*0.15)*t
si a>b
v: "la entidad A es más conveniente"
f: "la entidad B es más conveniente"
II. Diseño
a) Diagrama de flujo
inicio
d, tlee
1
d>0&&d<=500
F
V
a=(d*0.05)*t
d>500&&d<=44
99
F
V
a= (d*0.12)*t
d>4499
F
V
a= (d*0.16)*t
d>0&&
d<=600
F
V
b= (d*0.07)*t
d>600&&d<=34
99
F
V
b= (d*0.10)*t
1
2
b) Pseudocódigo:
 Inicio
 Entrada: lee: a, b
 Proceso:
if(d>0&&d<=500)
{
a= (d*0.05)*t
}
if(d>500&&d<=4499)
{
a= (d*0.12)*t
}
d>3499
F
V
b=(d*0.15)*t
2
a>b
V F
"la entidadA es másconveniente"IMP. "la entidadB es más conveniente"IMP.
fin
if(d>4499)
{
a= (d*0.16)*t
}
if(d>0&&d<=600)
{
b= (d*0.07)*t
}
if(d>600&&d<=3499)
{
b= (d*0.10)*t
}
if(d>3499)
{
b= (d*0.15)*t
}
if(a>b)
{
"la entidad A es más conveniente"
}
else
{
"la entidad B es más conveniente"
}
 Salida: imprime: a, b
 Fin
III. Aplicación
a) Codificación:
1. package ejercicio.pkg33;
2. importjava.util.Scanner;
3. publicclassEjercicio33{
4. publicstaticvoidmain(String[] args) {
5. intd,a=0,b=0,t;
6. Scannerentrada=new Scanner(System.in);
7. System.out.println("ingresael montode dineroque dese depositar");
8. d=entrada.nextInt();
9. System.out.println("ingresael tiempoenel que quiere pagar");
10. t=entrada.nextInt();
11. if(d>0&&d<=500)
12. {
13. a=(int) (d*0.05)*t;
14. }
15. if(d>500&&d<=4499)
16. {
17. a=(int) (d*0.12)*t;
18. }
19. if(d>4499)
20. {
21. a=(int) (d*0.16)*t;
22. }
23. if(d>0&&d<=600)
24. {
25. b=(int) (d*0.07)*t;
26. }
27. if(d>600&&d<=3499)
28. {
29. b=(int) (d*0.10)*t;
30. }
31. if(d>3499)
32. {
33. b=(int) (d*0.15)*t;
34. }
35. System.out.println("entidadA:"+a);
36. System.out.println("entidadB:"+b);
37. if(a>b)
38. {
39. System.out.println("laentidadA esmasconveniente");
40. }
41. else
42. {
43. System.out.println("laentidadBesmasconveniente");
44. }
45. }
46. }
b) Pruebade escritorio

Más contenido relacionado

La actualidad más candente

Suma y multiplicación
Suma y multiplicaciónSuma y multiplicación
Suma y multiplicación
jorgealbahaca
 
Funciones y gráficas
Funciones y gráficasFunciones y gráficas
Funciones y gráficas
monina
 
Programa suma y multiplicacion alexander freites
Programa suma y multiplicacion alexander freitesPrograma suma y multiplicacion alexander freites
Programa suma y multiplicacion alexander freites
Gilbert Alexander Salas
 
Algoritmo de la ecuación cuadrática
Algoritmo de la ecuación cuadráticaAlgoritmo de la ecuación cuadrática
Algoritmo de la ecuación cuadrática
aidamarcela
 
Programa 9
Programa 9Programa 9
Gráficas en Matlab
Gráficas en MatlabGráficas en Matlab
Gráficas en Matlab
Franck Campos
 
Programa
ProgramaPrograma
Programa
CAUCANITO
 
Taller 2 métodos numéricos
Taller 2 métodos numéricosTaller 2 métodos numéricos
Taller 2 métodos numéricos
Katherín Carranza
 
Semana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubreSemana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubre
Lorena Covarrubias
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
oswnes92
 
Problema 10 JM
Problema 10 JMProblema 10 JM
Problema 10 JM
Carlos Pelcastre
 
Ecuaciones lineales diagrama de flujo
Ecuaciones lineales diagrama de flujo Ecuaciones lineales diagrama de flujo
Ecuaciones lineales diagrama de flujo
Franklin Alfredo Gutierrez Curo
 
Programas básico en Lenguaje C
Programas básico en Lenguaje CProgramas básico en Lenguaje C
Programas básico en Lenguaje C
aart07
 
Programa Suma y Multiplicacion UFT
Programa Suma y Multiplicacion UFTPrograma Suma y Multiplicacion UFT
Programa Suma y Multiplicacion UFT
ROBINRIVERO
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Maynor Mendoza
 
Funcion cuadratica
Funcion cuadraticaFuncion cuadratica
Funcion cuadratica
Mau Jimenez
 
Reporte de practicas
Reporte de practicasReporte de practicas
Reporte de practicas
jFernando095
 
12
1212
Practica 10
Practica 10Practica 10
Practica 10
Doris Aguagallo
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
Alejandro Enrique Téllez López
 

La actualidad más candente (20)

Suma y multiplicación
Suma y multiplicaciónSuma y multiplicación
Suma y multiplicación
 
Funciones y gráficas
Funciones y gráficasFunciones y gráficas
Funciones y gráficas
 
Programa suma y multiplicacion alexander freites
Programa suma y multiplicacion alexander freitesPrograma suma y multiplicacion alexander freites
Programa suma y multiplicacion alexander freites
 
Algoritmo de la ecuación cuadrática
Algoritmo de la ecuación cuadráticaAlgoritmo de la ecuación cuadrática
Algoritmo de la ecuación cuadrática
 
Programa 9
Programa 9Programa 9
Programa 9
 
Gráficas en Matlab
Gráficas en MatlabGráficas en Matlab
Gráficas en Matlab
 
Programa
ProgramaPrograma
Programa
 
Taller 2 métodos numéricos
Taller 2 métodos numéricosTaller 2 métodos numéricos
Taller 2 métodos numéricos
 
Semana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubreSemana9 mate4- del 5 al 9 de octubre
Semana9 mate4- del 5 al 9 de octubre
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 
Problema 10 JM
Problema 10 JMProblema 10 JM
Problema 10 JM
 
Ecuaciones lineales diagrama de flujo
Ecuaciones lineales diagrama de flujo Ecuaciones lineales diagrama de flujo
Ecuaciones lineales diagrama de flujo
 
Programas básico en Lenguaje C
Programas básico en Lenguaje CProgramas básico en Lenguaje C
Programas básico en Lenguaje C
 
Programa Suma y Multiplicacion UFT
Programa Suma y Multiplicacion UFTPrograma Suma y Multiplicacion UFT
Programa Suma y Multiplicacion UFT
 
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
 
Funcion cuadratica
Funcion cuadraticaFuncion cuadratica
Funcion cuadratica
 
Reporte de practicas
Reporte de practicasReporte de practicas
Reporte de practicas
 
12
1212
12
 
Practica 10
Practica 10Practica 10
Practica 10
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 

Similar a Josue pedro ramos quispe

Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
Norma Vaquilema
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
hack3 Org
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
Jose Luis Crespo
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION I
anthonypillajo
 
Semana2
Semana2Semana2
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
Aldahir IS
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
diegocastro1234
 
ACTIVIDAD 4.docx
ACTIVIDAD 4.docxACTIVIDAD 4.docx
ACTIVIDAD 4.docx
PabloLoenardoDA
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
Jaime amambal
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
Jaime amambal
 
Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdf
margothingrithllanca
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
margothingrithllanca
 
10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
jose manuel plata cabello
 
10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
jose manuel plata cabello
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
rcarrerah
 
Java problems
Java problemsJava problems
Java problems
Noe Lopez
 
Sol.proble.practic lp
Sol.proble.practic lpSol.proble.practic lp
Sol.proble.practic lp
Daniel Gekkou Alvarado Muñoz
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
Jessica Roca
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
gidemon
 
Ejercicios de aplicación de las instrucciones de entrada y salida en C++
Ejercicios de aplicación de las instrucciones de entrada y salida en C++Ejercicios de aplicación de las instrucciones de entrada y salida en C++
Ejercicios de aplicación de las instrucciones de entrada y salida en C++
Ales Sandro Gaibor
 

Similar a Josue pedro ramos quispe (20)

Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION I
 
Semana2
Semana2Semana2
Semana2
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
ACTIVIDAD 4.docx
ACTIVIDAD 4.docxACTIVIDAD 4.docx
ACTIVIDAD 4.docx
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdf
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
 
10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
 
10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
Java problems
Java problemsJava problems
Java problems
 
Sol.proble.practic lp
Sol.proble.practic lpSol.proble.practic lp
Sol.proble.practic lp
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Recuperacion programas
Recuperacion programasRecuperacion programas
Recuperacion programas
 
Ejercicios de aplicación de las instrucciones de entrada y salida en C++
Ejercicios de aplicación de las instrucciones de entrada y salida en C++Ejercicios de aplicación de las instrucciones de entrada y salida en C++
Ejercicios de aplicación de las instrucciones de entrada y salida en C++
 

Último

Evolucion del computador para diseño pub
Evolucion del computador para diseño pubEvolucion del computador para diseño pub
Evolucion del computador para diseño pub
ivanna200511
 
El Crecimiento Urbano de las Ciudades Latinoamericanas
El Crecimiento Urbano de las Ciudades LatinoamericanasEl Crecimiento Urbano de las Ciudades Latinoamericanas
El Crecimiento Urbano de las Ciudades Latinoamericanas
LeonardoDantasRivas
 
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdfBROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
IzaakAzaga
 
Ejemplo de cálculo de losas continuas.pdf
Ejemplo de cálculo de losas continuas.pdfEjemplo de cálculo de losas continuas.pdf
Ejemplo de cálculo de losas continuas.pdf
SofaCrdenas19
 
Centro Veterinario Público CVP Diseño arquitectónico
Centro Veterinario Público CVP Diseño arquitectónicoCentro Veterinario Público CVP Diseño arquitectónico
Centro Veterinario Público CVP Diseño arquitectónico
OmairaQuintero7
 
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdfLOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
BARBARAAMAYA4
 
Álbum Collage de Fotos día del padre polaroid scrapbook pastel_20240611_040...
Álbum Collage de Fotos día del padre  polaroid scrapbook  pastel_20240611_040...Álbum Collage de Fotos día del padre  polaroid scrapbook  pastel_20240611_040...
Álbum Collage de Fotos día del padre polaroid scrapbook pastel_20240611_040...
Soleito
 
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptxDIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
RONALD533356
 
Lab 0 - Instalación Hidráulica (Completo).docx
Lab 0 - Instalación Hidráulica (Completo).docxLab 0 - Instalación Hidráulica (Completo).docx
Lab 0 - Instalación Hidráulica (Completo).docx
MarcosAntonioAduvire
 
Como cuidar a los demás ppt para niños Educación Básica
Como cuidar a los demás ppt para niños Educación BásicaComo cuidar a los demás ppt para niños Educación Básica
Como cuidar a los demás ppt para niños Educación Básica
karlaaliciapalaciosm1
 
ETAPAS DE LLITIA LITERATURA PERUANA.pptx
ETAPAS DE LLITIA LITERATURA PERUANA.pptxETAPAS DE LLITIA LITERATURA PERUANA.pptx
ETAPAS DE LLITIA LITERATURA PERUANA.pptx
ruthyeimi937
 
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial ValenciaCatalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
metodologia empleada en smart toolsboxs.
metodologia empleada en smart toolsboxs.metodologia empleada en smart toolsboxs.
metodologia empleada en smart toolsboxs.
jeanlozano33
 
manual_civilcad y uso de modulos cargados
manual_civilcad y uso de modulos cargadosmanual_civilcad y uso de modulos cargados
manual_civilcad y uso de modulos cargados
AlbertoGarcia461436
 
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitecturaEl Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
slaimenbarakat
 
Catalogo General Cosmic Amado Salvador distribuidor oficial Valencia
Catalogo General Cosmic Amado Salvador distribuidor oficial ValenciaCatalogo General Cosmic Amado Salvador distribuidor oficial Valencia
Catalogo General Cosmic Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICAUNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
suclupesanchezm
 
soporte y mantenimiento de equipo de computo
soporte y mantenimiento de equipo de computosoporte y mantenimiento de equipo de computo
soporte y mantenimiento de equipo de computo
mantenimientofresita
 
manual pdf de empresa postres maria jose
manual pdf de empresa postres maria josemanual pdf de empresa postres maria jose
manual pdf de empresa postres maria jose
tatianezpapa
 
Manual.pdfsoporte y mantenimientode equipo de computo
Manual.pdfsoporte y mantenimientode equipo de computoManual.pdfsoporte y mantenimientode equipo de computo
Manual.pdfsoporte y mantenimientode equipo de computo
mantenimientofresita
 

Último (20)

Evolucion del computador para diseño pub
Evolucion del computador para diseño pubEvolucion del computador para diseño pub
Evolucion del computador para diseño pub
 
El Crecimiento Urbano de las Ciudades Latinoamericanas
El Crecimiento Urbano de las Ciudades LatinoamericanasEl Crecimiento Urbano de las Ciudades Latinoamericanas
El Crecimiento Urbano de las Ciudades Latinoamericanas
 
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdfBROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
BROCHURE QONDESA ABRIL 19 OK_pdf_LLQ.pdf
 
Ejemplo de cálculo de losas continuas.pdf
Ejemplo de cálculo de losas continuas.pdfEjemplo de cálculo de losas continuas.pdf
Ejemplo de cálculo de losas continuas.pdf
 
Centro Veterinario Público CVP Diseño arquitectónico
Centro Veterinario Público CVP Diseño arquitectónicoCentro Veterinario Público CVP Diseño arquitectónico
Centro Veterinario Público CVP Diseño arquitectónico
 
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdfLOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
LOS-PROYECTOS-SOCIOPRODUCTIVOS-EN-FUNCIÓN-DE-LA-FORMACIÓN-LABORAL (1).pdf
 
Álbum Collage de Fotos día del padre polaroid scrapbook pastel_20240611_040...
Álbum Collage de Fotos día del padre  polaroid scrapbook  pastel_20240611_040...Álbum Collage de Fotos día del padre  polaroid scrapbook  pastel_20240611_040...
Álbum Collage de Fotos día del padre polaroid scrapbook pastel_20240611_040...
 
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptxDIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
DIAPOSITIVAS MONOGRAFIA de el consumo excesivo del alcohol en adolescentes .pptx
 
Lab 0 - Instalación Hidráulica (Completo).docx
Lab 0 - Instalación Hidráulica (Completo).docxLab 0 - Instalación Hidráulica (Completo).docx
Lab 0 - Instalación Hidráulica (Completo).docx
 
Como cuidar a los demás ppt para niños Educación Básica
Como cuidar a los demás ppt para niños Educación BásicaComo cuidar a los demás ppt para niños Educación Básica
Como cuidar a los demás ppt para niños Educación Básica
 
ETAPAS DE LLITIA LITERATURA PERUANA.pptx
ETAPAS DE LLITIA LITERATURA PERUANA.pptxETAPAS DE LLITIA LITERATURA PERUANA.pptx
ETAPAS DE LLITIA LITERATURA PERUANA.pptx
 
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial ValenciaCatalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
Catalogo General Grespania Ceramica Amado Salvador Distribuidor Oficial Valencia
 
metodologia empleada en smart toolsboxs.
metodologia empleada en smart toolsboxs.metodologia empleada en smart toolsboxs.
metodologia empleada en smart toolsboxs.
 
manual_civilcad y uso de modulos cargados
manual_civilcad y uso de modulos cargadosmanual_civilcad y uso de modulos cargados
manual_civilcad y uso de modulos cargados
 
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitecturaEl Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
El Movimiento Moderno en Venezuela. Y los cambios que trajo en la arquitectura
 
Catalogo General Cosmic Amado Salvador distribuidor oficial Valencia
Catalogo General Cosmic Amado Salvador distribuidor oficial ValenciaCatalogo General Cosmic Amado Salvador distribuidor oficial Valencia
Catalogo General Cosmic Amado Salvador distribuidor oficial Valencia
 
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICAUNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
UNIDAD 1. DE DPCC DESARROLLO PERSONAL CIUDADANIA Y CIVICA
 
soporte y mantenimiento de equipo de computo
soporte y mantenimiento de equipo de computosoporte y mantenimiento de equipo de computo
soporte y mantenimiento de equipo de computo
 
manual pdf de empresa postres maria jose
manual pdf de empresa postres maria josemanual pdf de empresa postres maria jose
manual pdf de empresa postres maria jose
 
Manual.pdfsoporte y mantenimientode equipo de computo
Manual.pdfsoporte y mantenimientode equipo de computoManual.pdfsoporte y mantenimientode equipo de computo
Manual.pdfsoporte y mantenimientode equipo de computo
 

Josue pedro ramos quispe

  • 1. PRIMER INFORME DE LABORATORIO DESARROLLO DE LOS EJERCICIOS 1. Diseñar el algoritmo y programa para hallar el cociente y residuo de dos números enteros. I. Análisis: a) Datos de entrada: a, b. b) Datos de salida: c, r. c) Modelo matemático/lógico: c=a divb r=a modb II. Diseño a) Diagrama de flujo inicio a, b lee c=a/b r=a%b c, r imp. fin
  • 2. b) Pseudocódigo:  Inicio  Entrada: lee: a, b  Proceso: c=a/b r=a%b in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5  Salida: imprime: c, r  Fin III. Aplicación a) Codificación: 1. package ejercicios; 2. importjava.util.Scanner; 3. publicclassEjercicios{ 4. publicstaticvoidmain(String[] args) { 5. inta=0,b=0,c=0,r=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese el primernumero"); 8. a=entrada.nextInt(); 9. System.out.println("ingrese el primernumero"); 10. b=entrada.nextInt(); 11. c=a/b; 12. r=a%b; 13. System.out.println("el residuoes:"+r); 14. System.out.println("el cociente es:"+c); 15. } 16. } b) Pruebade escritorio
  • 3. n1=n/10 r1=n%10 n2=n1/10 r2=n1%10 n3=n2/10 r3=n2%10 n4=n3/10 r4=n3%10 r5=n4%10 in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5 In imprime fin Inicio n lee 2. Diseñarel algoritmoyprogramatal que dado unnúmerode 5 dígitosdevolverel númeroen ordeninverso. I. Análisis: a) Datos de entrada: n. b) Datos de salida: in. c) Modelo matemático/lógico: n1=n/10 r1=n%10 n2=n1/10 r2=n1%10 n3=n2/10 r3=n2%10 n4=n3/10 r4=n3%10 r5=n4%10 in= (r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5 II. Diseño: a) Diagrama de flujo:
  • 4. b) Pseudocódigo:  Inicio  Entrada: lee: n  Proceso: n1=n/10 r1=n%10 n2=n1/10 r2=n1%10 n3=n2/10 r3=n2%10 n4=n3/10 r4=n3%10 r5=n4%10 in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5  Salida: imprime: in  Fin III. Aplicación: a) Codificación: 1. package ejercicio2; 2. import java.util.Scanner; 3. public class Ejercicio2 { 4. public static void main(String[] args) { 5. int n,r1,r2,r3,r4,r5,in,n1,n2,n3,n4; 6. System.out.println("ingrese un número con cinco dígitos"); 7. Scanner num=new Scanner (System.in); 8. n=num.nextInt (); 9. n1=n/10; 10. r1=n%10; 11. n2=n1/10; 12. r2=n1%10; 13. n3=n2/10; 14. r3=n2%10;
  • 5. 15. n4=n3/10; 16. r4=n3%10; 17. r5=n4%10; 18. in=(r1*10000)+(r2*1000)+(r3*100)+(r4*10)+r5; 19. System.out.println("El número con cinco dígitos inversamente es:"); 20. if(n%10==0) 21. { 22. System.out.println("0"+in); 23. } 24. else 25. { 26. System.out.println(in); 27. } 28. } 29. } b) Prueba de escritorio: 3. Diseñarel algoritmoyprogramaque permitacrear un programapara convertirunacantidad dada ensegundosahoras, minutosysegundos. I. Análisis a) Datos de entrada:s b) Datos de salida:h,m, sf c) ModeloM. /L.: h=s div3600 s=s mod 3600
  • 6. m=s div60 s=s mod 60 sf=s II. Diseño: a) Diagrama de flujo: b) Pseudocódigo:  inicio  datosde entrada:s  proceso: h=s/3600 s=s%3600 m=s/60 s=s%60 sf=s  datosde salida:h,m, sf  fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg3; Inicio s lee c, r imp. h=s/3600 s=s%3600 m=s/60 s=s%60 sf=s Fin
  • 7. 2. importjava.util.Scanner; 3. publicclassEjercicio3{ 4. publicstaticvoidmain(String[] args) { 5. ints=0, h=0,m=0,sf=0 ; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese lacantidad de segundos"); 8. s=entrada.nextInt(); 9. h=s/3600; 10. s=s%3600; 11. m=s/60; 12. s=s%60; 13. sf=s; 14. System.out.println("hay"+h+"horas"+m+" minutos"+sf+"segundos"); 15. } 16. } b) Pruebade escritorio 4. Diseñarel algoritmoyprogramapara determinarsi unnúmeroenteroespositivo,negativoo neutro. I. Análisis: a) Datos de entrada: x. b) Datos de salida: “positivo”, “negativo”, “neutro”. c) Modelo matemático/lógico: if(x==0) Verdad: “El número es neutro” Falso: if(x>0) Verdad: “El número es positivo” Falso: “El número es negativo”
  • 8. II. Diseño: a) Diagrama de flujo: “negativo”“positivo” inicio x lee fin if x==0 if x>0 V F V F “neutro”
  • 9. b) Pseudocódigo:  Inicio  Entrada: lee: x  Proceso: if(x==0) Verdad: “El número es neutro” Falso: if(x>0) Verdad: “El número es positivo” Falso: “El número es negativo”  Salida: imprime: “neutro”, “positivo”, “negativo”.  Fin III. Aplicación: a) Codificación: 1. package ejercicio4; 2. import java.util.Scanner; 3. public class Ejercicio4 { 4. public static void main(String[] args) { 5. int x; 6. System.out.println("Ingrese un número entero"); 7. Scanner num=new Scanner(System.in); 8. x=num.nextInt(); 9. if(x==0) 10. { 11. System.out.println("El número es neutro"); 12. } 13. else 14. { 15. if(x>0) 16. { 17. System.out.println("El número es positivo"); 18. } 19. else 20. { 21. System.out.println("El número es negativo"); 22. } 23. }
  • 10. 24. } 25. } b) Prueba de escritorio: 5. Diseñarel algoritmoyprogramatal que dado tresnúmerosenterosdevolverel número mayor. I. Análisis a) Datos de entrada:a, b, c b) Datos de salida:a c) ModeloM. /L.: Si a<b V:aux=a a=b b=aux Si a<c V:aux=a a=c c=aux II. Diseño: a) Diagrama de flujo:
  • 11. b) Pseudocódigo:  inicio  datosde entrada:a, b, c  proceso: if(a<b) aux=a a=b b=aux if(a<c) inicio a,b,c lee fin a imp. aux=a a=b b=aux if a<b aux=a a=c c=aux if a<c V F V F
  • 12. aux=a a=c c=aux  datosde salida:a  fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg5; 2. importjava.util.Scanner; 3. publicclassEjercicio5{ 4. publicstaticvoidmain(String[] args) { 5. inta=0,b=0,c=0,aux=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingreseel primernumeroentero"); 8. a=entrada.nextInt(); 9. System.out.println("ingreseel segundonumeroentero"); 10. b=entrada.nextInt(); 11. System.out.println("ingreseel tercernumeroentero"); 12. c=entrada.nextInt(); 13. 14. if(a<b) 15. { 16. aux=a; 17. a=b; 18. b=aux; 19. } 20. 21. if(a<c) 22. { 23. aux=a; 24. a=c; 25. c=aux; 26. } 27. 28. System.out.println("el númeromayores"+a); 29. } 30. } b) Pruebade escritorio
  • 13. 6. Diseñarel algoritmoyprogramatal que dado lahora, minutoysegundo,encuentre lahora del siguientesegundo. I. Análisis: a) Datos de entrada: h,m,s. b) Datos de salida:hn,mn,sn. c) Modelomatemático/lógico: t=h*3600+m*60+s+1 hn=t/3600 r=t%3600 mn=r/60 r1=r%60 sn=r1 II. Diseño: a) Diagrama de flujo: t=h*3600+m*60+s+1 hn=t/3600 r=t%3600 mn=r/60 r1=r%60 sn=r1 fin Inicio h,m,s lee Hn,mn,sn
  • 14. c) Pseudocódigo:  Inicio  Entrada: lee: h,m,s.  Proceso: t=h*3600+m*60+s+1 hn=t/3600 r=t%3600 mn=r/60 r1=r%60 sn=r1  Salida: imprime: hn,mn,sn.  Fin III. Aplicación: a) Codificación: 1. package ejercicio6; 2. import java.util.Scanner; 3. public class Ejercicio6 { 4. public static void main(String[] args) { 5. int h,m,s,t,r,hn,mn,sn,r1; 6. System.out.println("Ingrese la hora"); 7. Scanner num=new Scanner(System.in); 8. h=num.nextInt(); 9. System.out.println("Ingrese el minuto"); 10. Scanner num1=new Scanner(System.in); 11. m=num.nextInt(); 12. System.out.println("Ingrese los segundos"); 13. Scanner num2=new Scanner(System.in); 14. s=num.nextInt(); 15. t=h*3600+m*60+s+1; 16. hn=t/3600; 17. r=t%3600; 18. mn=r/60; 19. r1=r%60; 20. sn=r1; 21. System.out.println("La hora del siguiente segundo es:");
  • 15. 22. System.out.println(hn+":"+mn+":"+sn); 23. } 24. } c) Prueba de escritorio: 7. Diseñar el algoritmo y programa tal que dada la fecha (D,M,A) encuentre la fecha del día siguiente. I. Análisis: a) Datos de entrada: d, m, a. b) Datos de salida: d, m, a. c) Modelo matemático/lógico: if(d>=28) switch (m) case 1: case 3: case 5: case 7: case 8: case 10: if(d==31) d=d-30 m=m+1 else d=d+1 case 2: r=a%4 if(r==0)
  • 16. d=29 else d=d-27 m=m+1 case 4: case 6: case 9: case 11: if(d==30) d=d-29 m=m+1 else d=d+1 case 12: if(d==31) d=1 m=1 a=a+1 else d=d+1 else d=d+1 II. Diseño a) Diagrama de flujo
  • 17. 12 V F 2 V F d=d+1 FV 4,6,9,1 FV FV 1,3,5,7,8,10 m if d==30 d=d-29 m=m+1 d=d+1 if r%4==0 d=29 d=d-27 m=m+1 if d==31 d=1 m=1 a=a+1 d=d+1 if d==31 1 d=d+1d=d-30 m=m+1 fin d,m,a imp. if d>=28 inicio a,b,c lee
  • 18. b) Pseudocódigo:  Inicio  Entrada: lee: d, m, a  Proceso: if(d>=28) { switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: { if(d==31) { d=d-30; m=m+1; } else { d=d+1; } } break; case 2: { r=a%4; if(r==0) { d=29; } else { d=d-27; m=m+1; } } break; case 4: case 6: case 9:
  • 19. case 11: { if(d==30) { d=d-29; m=m+1; } else { d=d+1; } } break; case 12: { if(d==31) { d=1; m=1; a=a+1; } else { d=d+1; } } break; } } else { d=d+1; }  Salida: imprime: d, m, a  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg7; 2. importjava.util.Scanner; 3. publicclassEjercicio7{ 4. publicstaticvoidmain(String[] args) { 5. Scannerteclado=new Scanner(System.in); 6. intm=0,d=0,a=0,r; 7. System.out.println("Ingreselafecha dia:"); 8. d=teclado.nextInt(); 9. System.out.println("Ingreselafechames:"); 10. m=teclado.nextInt();
  • 20. 11. System.out.println("Ingreselafechaaño:"); 12. a=teclado.nextInt(); 13. if(d>=28) 14. { 15. switch(m) 16. { 17. case 1: 18. case 3: 19. case 5: 20. case 7: 21. case 8: 22. case 10: 23. { 24. if(d==31) 25. { 26. d=d-30; 27. m=m+1; 28. } 29. else 30. { 31. d=d+1; 32. } 33. } 34. break; 35. case 2: 36. { 37. r=a%4; 38. if(r==0) 39. { 40. d=29; 41. } 42. else 43. { 44. d=d-27; 45. m=m+1; 46. } 47. } 48. break; 49. 50. case 4: 51. case 6: 52. case 9: 53. case 11: 54. { 55. if(d==30) 56. {
  • 21. 57. d=d-29; 58. m=m+1; 59. } 60. else 61. { 62. d=d+1; 63. } 64. } 65. break; 66. case 12: 67. { 68. if(d==31) 69. { 70. d=1; 71. m=1; 72. a=a+1; 73. } 74. else 75. { 76. d=d+1; 77. } 78. } 79. break; 80. } 81. } 82. else 83. { 84. d=d+1; 85. } 86. System.out.println("El diasiguiente es:"+d+"/"+m+"/"+a); 87. } 88. } b) Pruebade escritorio
  • 22. 8. Diseñarel algoritmoyprogramaque permitadeterminarsi unalumnoapruebaorepruebaun curso,sabiendoque aprobarási su promediode trescalificacionesesmayoroigual a 70; repruebaencaso contrario. I. Análisis: a) Datos de entrada: n1,n2,n3. b) Datos de salida: “aprueba”, “reprueba”. c) Modelo matemático/lógico: P=(n1+n2+n3)/3 if(P>=70) Verdad: “aprueba” Falso: “reprueba” II. Diseño: a) Diagrama de flujo: “aprueba” “reprueba” inicio n1,n2,n3 fin if P>=70 V P=(n1+n2+n3)/3 F
  • 23. c) Pseudocódigo:  Inicio  Entrada: lee: n1, n2, n3.  Proceso: P=(n1+n2+n3)/3 if(P>=70) Verdad: “aprueba” Falso: “reprueba”  Salida: imprime: “aprueba”, “reprueba”.  Fin III. Aplicación: a) Codificación: 1. package ejercicio8; 2. import java.util.Scanner; 3. public class Ejercicio8 { 4. public static void main(String[] args) { 5. int n1,n2,n3,p; 6. System.out.println("Ingrese la pimera nota"); 7. Scanner num=new Scanner(System.in); 8. n1=num.nextInt(); 9. System.out.println("Ingrese la segunda nota"); 10. Scanner num1=new Scanner(System.in); 11. n2=num.nextInt(); 12. System.out.println("Ingrese la tercera nota"); 13. Scanner num2=new Scanner(System.in); 14. n3=num.nextInt(); 15. p=(n1+n2+n3)/3; 16. if(p>=70) 17. { 18. System.out.println("Aprueba el curso"); 19. } 20. else
  • 24. 21. { 22. System.out.println("Reprueba el curso"); 23. } 24. } 25. } b) Prueba de escritorio: 9. Diseñarel algoritmoyprogramaque permitaobtenercuantodinerose le descuentaal cliente,bajolassiguientescondiciones:enunsupermercadose hace unapromoción, mediante lacual el cliente obtiene undescuento,dependiendode unnúmeroque se escoge al azar. Si el numeroescogidoesmenorque 74 el descuentoesde 15% sobre el total de la compra,si esmayor o igual a 74 el descuentoesde 20%. I) Análisis: a) Datos de entrada: a, b. b) Datos de salida: tp. c) Modelo matemático/lógico: si b>=74 v:tp= (a*0.8) else f: tp=(a*0.85) II) Diseño a) Diagrama de flujo
  • 25. b) Pseudocódigo:  Inicio  Entrada: lee: a, b  Proceso: If b>=74 v:tp=(int) (a*0.8) else v: tp=(int) (a*0.85)  Salida: imprime: tp  Fin III) Aplicación a) Codificación: 1. package ejercicio.pkg9; 2. importjava.util.Scanner; 3. publicclassEjercicio9{ 4. publicstaticvoidmain(String[] args) { 5. inta=0,b=0; inicio a,b lee if b>=74 tp=(a*0.85)tp= (a*0.8) fin d,m,a imp. FV
  • 26. 6. inttp=0; 7. Scannerentrada=new Scanner(System.in); 8. System.out.println("ingrese el montoapagar"); 9. a=entrada.nextInt(); 10. System.out.println("ingrese unnumeroal azar"); 11. b=entrada.nextInt(); 12. if(b>=74) 13. { 14. tp=(int) (a*0.8); 15. } 16. else 17. { 18. tp=(int) (a*0.85); 19. } 20. System.out.println("el montoapagar es:"+tp); 21. } 22. } b) Pruebade escritorio 10. Diseñarel algoritmoyprogramaque determine lacantidadde dineroque recibiráun trabajadorpor conceptode las horasextrastrabajadasque determine laremuneraciónde un trabajador,ingresandototal de horastrabajadasy el pago porhora. Consideraque porcada hora extraenel trabajo se le abonará el importe de unahora y media.El tiempoextrase consideracuandoel total de horas seamayor a 40 horas. I. Análisis: a) Datos de entrada: tht,ph. b) Datos de salida: dht. c) Modelo matemático/lógico: if(tht>40) Verdad: t=tht-40 dht=t(3ph/2)
  • 27. t=tht-40 dht=t(3ph/2) dht=0 dht inicio tht, ph fin if tht>40 V F Falso: dht=0 II. Diseño: a) Diagrama de flujo: b) Pseudocódigo:  Inicio  Entrada: lee: tht,ph.  Proceso: if(tht>40) Verdad: t=tht-40 dht=t(3ph/2)
  • 28. Falso: dht=0  Salida: imprime: dht.  Fin III. Aplicación: a) Codificación: 1. package ejercicio10; 2. import java.util.Scanner; 3. public class Ejercicio10 { 4. public static void main(String[] args) { 5. int tht,ph,t,dht; 6. System.out.println("Ingrese el total de horas trabajadas"); 7. Scanner num=new Scanner(System.in); 8. tht=num.nextInt(); 9. System.out.println("Ingrese el pago por hora"); 10. Scanner num1=new Scanner(System.in); 11. ph=num1.nextInt(); 12. if(tht>40) 13. { 14. t=tht-40; 15. dht=t*(3*ph/2); 16. } 17. else 18. { 19. dht=0; 20. } 21. System.out.println("La cantidad de dinero que recibirá por horas extras trabajadas es:"); 22. System.out.println(dht+" soles"); 23. } 24. } b) Prueba de escritorio:
  • 29. 11. Diseñar el algoritmo y programa que determine la cantidad de dinero que recibirá un trabajadorpor conceptode las horasextrastrabajadasen unaempresa,sabiendoque cuando lashoras de trabajo excedende 40,el resto se considera horas extras y que estas se pagan al doble de unahora normal cuando no exceden de 8; si las horas extras superan de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. I. Análisis: a) Datos de entrada: ht, ph. b) Datos de salida: st. c) Modelo matemático/lógico: Si ht>=41 V: hx=ht-40; si hx>=9 v: int s1=0,s2=0,s3=0; s1=8*2*ph; hx=hx-8; s2=hx*ph*3; s3=40*ph; st=s1+s2+s3; F: st=(hx*ph*2)+(40*ph); F: st=ht*ph; II. Diseño a) Diagrama de flujo
  • 31. b) Pseudocódigo:  Inicio  Entrada: lee: ht, ph  Proceso: if(ht>=41) { hx=ht-40; if(hx>=9) { ints1=0,s2=0,s3=0; s1=8*2*ph; hx=hx-8; s2=hx*ph*3; s3=40*ph; st=s1+s2+s3; } else { st=(hx*ph*2)+(40*ph); } } else { st=ht*ph; }  Salida: imprime: tp  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg11; 2. importjava.util.Scanner; 3. publicclassEjercicio11{ 4. publicstaticvoidmain(String[] args) { 5. intht=0,ph=0,st=0,hx=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese lacantidadde horas"); 8. ht=entrada.nextInt(); 9. System.out.println("ingrese el sueldoporhora"); 10. ph=entrada.nextInt(); 11. if(ht>=41) 12. {
  • 32. 13. hx=ht-40; 14. if(hx>=9) 15. { 16. ints1=0,s2=0,s3=0; 17. s1=8*2*ph; 18. hx=hx-8; 19. s2=hx*ph*3; 20. s3=40*ph; 21. st=s1+s2+s3; 22. } 23. else 24. { 25. st=(hx*ph*2)+(40*ph); 26. } 27. } 28. else 29. { 30. st=ht*ph; 31. } 32. System.out.println("sueldototal arecibires:"+st); 33. } 34. } b) Pruebade escritorio
  • 33. 12. Diseñarel algoritmoyprogramapara calcularla utilidadque untrabajadorrecibe enel repartoanual de utilidadessi este se le asignaunporcentaje de susalariomensual que depende de suantigüedadenlaempresade acuerdoconlasiguiente tabla: I. Análisis: a) Datos de entrada: sm,ant. b) de salida: u. c) Modelo matemático/lógico: if(ant<1) Verdad: u=sm/20 Falso: If(ant>=1&&ant<2) Verdad: u=(7/100)sm falso: If(ant>=2&&ant<5) Verdad: u=sm/10 falso: If(ant>=5&&ant<10) Verdad: u=3sm/20 falso: If(ant>=10&&ant<20) Verdad: u=sm/5 II. Diseño: a) Diagrama de flujo: Tiempo Utilidad Menosde 1 año 1 año o másy menosde 2 años 2 añoso más y menosde 5 años 5 añoso más y menosde 10 años 10 años o más y menosde 20 años 5% del salario 7% del salario 10% del salario 15% del salario 20% del salario
  • 35. b) Pseudocódigo:  Inicio  Entrada: lee: sm, ant .  Proceso: if(ant<1) Verdad: u=sm/20 Falso: If(ant>=1&&ant<2) Verdad: u=(7/100)sm falso: If(ant>=2&&ant<5) Verdad: u=sm/10 falso: If(ant>=5&&ant<10) Verdad: u=3sm/20 falso: If(ant>=10&&ant<20) Verdad: u=sm/5  Salida: imprime: u.  Fin IV. Aplicación: a) Codificación: 1. package ejercicio.pkg12; 2. import java.util.Scanner; 3. public class Ejercicio12 { 4. public static void main(String[] args) { 5. double sm,ant; 6. double u;
  • 36. 7. System.out.println("Ingrese su salario mensual"); 8. Scanner num=new Scanner(System.in); 9. sm=num.nextDouble(); 10. System.out.println("Ingrese el tiempo de trabajo en la empresa en años"); 11. Scanner num1=new Scanner(System.in); 12. ant=num1.nextDouble(); 13. if(ant<1) 14. { 15. u=sm/20; 16. System.out.println("La utilidad que recibe en el reparto anual es:"); 17. System.out.print(u+" soles"); 18. } 19. else 20. { if(ant>=1&&ant<2) 21. { 22. u=(7/100)*sm; 23. System.out.println("La utilidad que recibe en el reparto anual es:"); 24. System.out.print(u+"soles"); 25. } 26. else{ 27. if(ant>=2&&ant<5) 28. { 29. u=sm/10; 30. System.out.println("La utilidad que recibe en el reparto anual es:"); 31. System.out.print(u+"soles"); 32. } 33. else { 34. if(ant>=5&&ant<10) 35. { 36. u=3*sm/20; 37. System.out.println("La utilidad que recibe en el reparto anual es:"); 38. System.out.print(u+"soles"); 39. } 40. else { 41. if(ant>=10&&ant<20) 42. { 43. u=sm/5; 44. System.out.println("La utilidad que recibe en el reparto anual es:"); 45. System.out.print(u+"soles"); 46. } 47. } 48. } 49. }
  • 37. 50. } 51. } 52. } b) Prueba de escritorio: 13. Una personaenferma,que pesa70 Kg, se encuentraenreposoydeseasabercuántascalorías consume sucuerpodurante todo el tiempoque realice unamismaactividad.Lasactividades que tiene permitidorealizarsonúnicamentedormiroestarsentadoenreposo.Losdatos que tiene sonque estandoendormidoconsume 1.08calorías por minutoy estandosentadoen reposoconsume 1.66 calorías por minuto. I) Análisis: a) Datos de entrada: h. b) Datos de salida: c. c) Modelo matemático/lógico: si h==0 v: h=h*60 c=h*1.08 si h==1 v: h=h*60; c= h*1.66 II) Diseño a) Diagrama de flujo
  • 39. b) Pseudocódigo:  Inicio  Entrada: lee: h  Proceso: if(h==0) { h=h*60 c=h*1.08 } if(h==1) { h=h*60 c= h*1.66 }  Salida: imprime: c  Fin III) Aplicación a) Codificación: 1. package ejercicio.pkg13; 2. importjava.util.Scanner; 3. publicclassEjercicio13{ 4. publicstaticvoidmain(String[] args) { 5. inth; 6. floatc; 7. Scannerentrada=new Scanner(System.in); 8. System.out.println("ingrese '0'si duerme o '1' si esta sentado"); 9. h=entrada.nextInt(); 10. if(h==0) 11. { 12. System.out.println("ingrese lashorasque duerme"); 13. h=entrada.nextInt(); 14. h=h*60; 15. c=(float) (h*1.08); 16. System.out.println("consume "+c+"durmiendo"); 17. } 18. if(h==1) 19. System.out.println("ingrese lashorasque estasentado"); 20. h=entrada.nextInt(); 21. h=h*60; 22. c=(float) (h*1.66);
  • 40. 23. System.out.println("consume "+c+"sentado"); 24. } 25. } b) Pruebade escritorio 14. Una empresaquiere hacerunacompra de variaspiezas de la mismaclase a una fábricade refacciones. Laempresa,dependiendodel montototal de lacompra,decidiráquehacerpara pagar al fabricante.Si el montototal de la compraexcede de $500 000 la empresatendrála capacidadde invertirde supropiodineroun55 % del montode la compra, pedirprestadoal banco un30 %y el resto lopagará solicitandouncréditoal fabricante.Si el montototal de la compra no excede de $500 000 la empresatendrácapacidadde invertirde supropiodinero un 70% y el restante 30% lo pagará solicitandocréditoal fabricante.El fabricante cobrapor conceptode interésun20% la cantidadque se le pague a crédito. I. Análisis: a) Datos de entrada:mtc. b) Datos de salida: pd,b,c,cpcf. c) Modelo matemático/lógico: if(mtc>50000) Verdad: pd=(11*mtc)/20 b =(3*mtc)/10 c =(3*mtc)/20 cpcf=c/5 Falso: pd=(7*mtc)/10 b =0 c =(3*mtc)/10 cpcf=c/5
  • 41. II. Diseño: a) Diagrama de flujo: b) Pseudocódigo:  Inicio  Entrada: lee: mtc.  Proceso: if(mtc>50000) Verdad: pd=(11*mtc)/20 b =(3*mtc)/10 c =(3*mtc)/20 cpcf=c/5 Falso: pd=(7*mtc)/10 pd=(11*mtc)/20 b=(3*mtc)/10 c=(3*mtc)/20 cpcf=c/5 mtc >500 000 ant<1 I pd=(7*mtc)/20 b=0 c=(3*mtc)/10 cpcf=c/5 pd,b, c,cpcf inicio mtc fin V F
  • 42. b =0 c =(3*mtc)/10 cpcf=c/5  Salida: imprime: pd,b,c,cpcf.  Fin III. Aplicación: a) Codificación: 1. package ejercicio14; 2. import java.util.Scanner; 3. public class Ejercicio14 { 4. public static void main(String[] args) { 5. double mtc,c,b,pd,cpcf; 6. System.out.println("Ingrese el monto total de la compra"); 7. Scanner num=new Scanner(System.in); 8. mtc=num.nextInt(); 9. if(mtc>500000) 10. { 11. pd=(double)11*mtc/20; 12. b=(double)3*mtc/10; 13. c=(double)3*mtc/20; 14. cpcf=(double)c/5; 15. } 16. else 17. { 18. pd=(double)7*mtc/20; 19. b=0; 20. c=(double)3*mtc/10; 21. cpcf=(double)c/5; 22. } 23. System.out.println("La empresa invertirá de su propio dinero: "+pd+" soles"); 24. System.out.println("La empresa pedirá prestado al banco: "+b+" soles"); 25. System.out.println("La empresa solicitará un crédito de: "+c+" soles al fabricante"); 26. System.out.println("El fabricante le cobrará:"+cpcf+" solesde interés a la empresa por dicho crédito"); 27. } 28. }
  • 43. b) Prueba de escritorio: 15. Que permitaingresarel preciounitarioylacantidadde un artículo.Se requiere determinarel importe de ventabruto,el descuentoyel importe de ventaneto.El descuentoseráde acuerdoa la escalasiguiente: IMPORTE DE VENTA BRUTO DESCUENTO <500.00 5% >=500.00 y <=750.00 8% >750.00 10% I. Análisis: a) Datos de entrada: a, b. b) Datos de salida: vb, d, vn. c) Modelo matemático/lógico: vb=a*b; si vb<500 v: d=vb*0.05 vn=vb-d; si vb>=500&&vb<=750 v: d=vb*0.08 vn=vb-d; si vb>750 { d=(int) (vb*0.1); vn=vb-d; }
  • 44. I) Diseño a) Diagrama de flujo inicio ht, th lee if vb<500 fin c imp. F V vb>=500& &vb<=750 F V d= (vb*0.05); vn=vb-d d= (vb*0.08) vn=vb-d vb=a*b vb>75 0 F V d= (vb*0.1) vn=vb-d
  • 45. b) Pseudocódigo:  Inicio  Entrada: lee: a, b  Proceso: vb=a*b; if(vb<500) { d= (vb*0.05); vn=vb-d; } if(vb>=500&&vb<=750) { d=(vb*0.08); vn=vb-d; } if(vb>750) { d= (vb*0.1); vn=vb-d; }  Salida: imprime: vb, d, vn  Fin II) Aplicación a) Codificación: 1. package ejercicio.pkg15; 2. importjava.util.Scanner; 3. publicclassEjercicio15{ 4. publicstaticvoidmain(String[] args) { 5. inta=0,b=0,vb=0,d=0,vn=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingreseelpreciodel producto"); 8. a=entrada.nextInt(); 9. System.out.println("ingrese lacantidadacomprar"); 10. b=entrada.nextInt(); 11. vb=a*b; 12. if(vb<500) 13. { 14. d=(int) (vb*0.05); 15. vn=vb-d; 16. } 17. if(vb>=500&&vb<=750)
  • 46. 18. { 19. d=(int) (vb*0.08); 20. vn=vb-d; 21. } 22. if(vb>750) 23. { 24. d=(int) (vb*0.1); 25. vn=vb-d; 26. } 27. System.out.println("ventaenbruto:"+vb+"descuento:"+d+"importe de ventaneta:"+vn); 28. } 29. } b) Pruebade escritorio 16. Una compañía de segurosestáabriendounDpto.de Finanzasyestablecióunprogramapara captar clientes,que consisteenlosiguiente¨:Si el montoporel que se efectúalafianzaen menorque $50 000 la cuota a pagar será por el 3% del monto,ysi el montoesmayor de $500 000 lacuota a para pagar seráel 2% del monto.La afianzadoradeseadeterminarcuál serála cuota que debe pagarun cliente. I. Análisis: a) Datos de entrada: m. b) Datos de salida: c. c) Modelo matemático/lógico: If (m<500000)
  • 47. inicio m fin V Fm<50 000 ant<1 I C=(m*3)/100 C=m/50 c Verdad: C=(m*3)/100 Falso: C=m/50 II. Diseño: a) Diagrama de flujo: b) Pseudocódigo:  Inicio  Entrada: lee: m.  Proceso:
  • 48. If (m<500000) Verdad: C=(m*3)/100 Falso: C=m/50  Salida: imprime:c.  Fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg16; 2. import java.util.Scanner; 3. public class Ejercicio16 { 4. public static void main(String[] args) { 5. double m,c; 6. System.out.println("ingrese el monto de la fianza"); 7. Scanner num=new Scanner (System.in); 8. m=num.nextDouble (); 9. if(m<50000) 10. { 11. c=(double)m*3/100; 12. } 13. else 14. { 15. c=(double)m/50; 16. } 17. System.out.println("La cuota que debe pagar el cliente es: "+c+" soles"); 18. } 19. } b) Prueba de escritorio:
  • 49. 17. Que permitaingresarlanota final de unexamenydetermineel calificativode acuerdoala siguiente escala: NOTAS CALIFICATIVO 0-10 Deficiente 11-14 Regular 15-18 Bueno 19-20 Excelente Cualquierotrovalordeberávisualizarunmensaje de ERROR I. Análisis: a) Datos de entrada: a. b) Datos de salida: a. c) Modelo matemático/lógico: Si a>=0&&a<=20 V: Si a>=0&&a<=10 V: “nota " +a+ "calificativo: DEFICIENTE" Si a>=11&&a<=14 V: “nota "+a +“calificativo: REGULAR" Si a>=15&&a<=18 V:"nota "+a+ “calificativo: BUENO" Si a>=19&&a<=20 V: "nota "+a+ “calificativo: EXCELENTE" F:"la nota ingresada es incorrecta" II. Diseño a) Diagrama de flujo
  • 50. inicio a lee a>=0& &a<=20 fin cimp "la nota ingresada es incorrecta" FV a>=0& &a<=1 0 F V a>=11& &a<=14 F V C=“nota "+a +“calificativo:DEFICIENTE " C=“nota "+a +“calificativo:REGULAR" a>=15 &&a<= F V C="nota "+a+ “calificativo:BUENO" a>=19 &&a<= F V C="nota "+a+ “calificativo:EXCELENTE"
  • 51. b) Pseudocódigo:  Inicio  Entrada: lee: a, b  Proceso: if(a>=0&&a<=20) { if(a>=0&&a<=10) { "nota "+a+"calificativo:DEFICIENTE" } if(a>=11&&a<=14) { "nota"+a+"calificativo:REGULAR" } if(a>=15&&a<=18) { "nota "+a+"calificativo:BUENO" } if(a>=19&&a<=20) { “nota "+a+"calificativo:EXCELENTE" } } else { “la nota ingresadaesincorrecta" }  Salida: imprime: a  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg17; 2. importjava.util.Scanner; 3. publicclassEjercicio17{ 4. publicstaticvoidmain(String[] args) { 5. inta=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("Ingreselanotafinal"); 8. a=entrada.nextInt(); 9. if(a>=0&&a<=20)
  • 52. 10. { 11. if(a>=0&&a<=10) 12. { 13. System.out.println("nota"+a+"calificativo:DEFICIENTE"); 14. } 15. if(a>=11&&a<=14) 16. { 17. System.out.println("nota"+a+"calificativo:REGULAR"); 18. } 19. if(a>=15&&a<=18) 20. { 21. System.out.println("nota"+a+"calificativo:BUENO"); 22. } 23. if(a>=19&&a<=20) 24. { 25. System.out.println("nota"+a+"calificativo:EXCELENTE"); 26. } 27. } 28. else 29. { 30. System.out.println("lanotaingresadaesincorrecta"); 31. } 32. } 33. } b) Pruebade escritorio 18. En una instituciónlaDirecciónordenóaumentar con 2 puntos sobre el promedio final a todo aquel alumno aprobado que haya participado en el desfile institucional y con 3 puntos al alumnodesaprobado.De nocumplirse conestascondicionesel promediopermanecerá igual. I. Análisis: a) Datos de entrada:pf,d. b) Datos de salida: n. c) Modelo matemático/lógico:
  • 53. Switch(d) Caso 1: If (pf>10) Verdad: n=pf+2 Falso : n=pf+3 Caso 2: n=pf II. Diseño: a) Diagrama de flujo: d inicio m fin V F Caso 1 pf>10 ant<1 I n=pf+2 n=pf+3 Caso2 n=pf n
  • 54. b) Pseudocódigo:  Inicio  Entrada: lee: pf,d  Proceso: Switch(d) Caso 1: If (pf>10) Verdad: n=pf+2 Falso : n=pf+3 Caso 2: n=pf  Salida: imprime:n.  Fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg18; 2. import java.util.Scanner; 3. public class Ejercicio18 { 4. public static void main(String[] args) { 5. int pf,d,n=0; 6. System.out.println("Ingrese su promedio final"); 7. Scanner num=new Scanner(System.in); 8. pf=num.nextInt(); 9. System.out.println("Ingrese :"); 10. System.out.println(" 1: Si participó en el desfile"); 11. System.out.println(" 2: Si no participó en el desfile"); 12. Scanner num1=new Scanner(System.in); 13. d=num.nextInt(); 14. switch(d) 15. { 16. case 1: 17. if(pf>10) 18. {
  • 55. 19. n=pf+2; 20. } 21. else 22. { 23. n=pf+3; 24. } 25. break; 26. case 2: 27. n=pf; 28. break; 29. } 30. System.out.println("El promediofinal del alumnode acuerdoasusméritos es: "+n); 31. } 32. } b) Prueba de escritorio: 19. Ingresar3 númerosenterosydeterminarsi unode elloseslasumade losotrosdos. I. Análisis: a) Datos de entrada: a, b, c. b) Datos de salida: a,b,c. c) Modelo matemático/lógico: si a==(b+c) v: a+" es igual a la suma de "+b+"+"+c si b==(a+c) v:b+" es igual a la suma de "+a+"+"+c si c==(a+b) v:c+" es igual a la suma de "+b+"+"+a F:"ninguna suma es igual "
  • 56. II. Diseño a) Diagrama de flujo inicio a,b,c lee a==(b+c) fin F V b==(a+c) F V a+" es igual a la suma de "+b+"+"+c b+" es igual a la suma de "+a+"+"+c c==(a+b ) F V c+" esigual a la suma de "+b+"+"+a
  • 57. b) Pseudocódigo:  Inicio  Entrada: lee: a, b, c  Proceso: if (a==(b+c)) { a+" es igual a la suma de "+b+"+"+c } If (b==(a+c)) { b+" es igual a la suma de "+a+"+"+c } If (c==(a+b)) { c+" es igual a la suma de "+b+"+"+a } else { "ninguna suma es igual " }  Salida: imprime: a, b, c  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg19; 2. importjava.util.Scanner; 3. publicclassEjercicio19{ 4. publicstaticvoidmain(String[] args) { 5. inta=0,b=0,c=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese el primernumero"); 8. a=entrada.nextInt(); 9. System.out.println("ingrese el segundonumero"); 10. b=entrada.nextInt(); 11. System.out.println("ingrese el tercernumero"); 12. c=entrada.nextInt(); 13. if (a==(b+c)) 14. { 15. System.out.println(a+"esigual ala sumade "+b+"+"+c); 16. } 17. if(b==(a+c)) 18. { 19. System.out.println(b+"esigual ala sumade "+a+"+"+c);
  • 58. 20. } 21. if(c==(a+b)) 22. { 23. System.out.println(c+"esigual ala suma de "+b+"+"+a); 24. } 25. else 26. { 27. System.out.println("ningunasumaesigual "); 28. } 29. } 30. } b) Pruebade escritorio 20. En la escuelade PostGrado losalumnosllevan4cursosdurante un semestre.El costode cada curso es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: Si el promedio obtenido por un alumno al finalizar el semestre es mayor o igual que 18. se le hará un descuento del 40% sobre el costo de su semestre y no se le cobrará IGV; y si el promedio obtenido es menor que 18 deberá pagar su semestre completo, más el 10% por derecho de IGV. I. Análisis: a) Datos de entrada:cc,p. b) Datos de salida:ct. c) Modelomatemático/lógico: c=cc*4 d=(c*2)/5 IGV=c/10 If(p>=18) Verdad:ct=c-d Falso : ct=c+IGV
  • 59. II. Diseño: a) Diagrama de flujo: b) Pseudocódigo:  Inicio  Entrada: lee: cc,p  Proceso: c=cc*4 d=(c*2)/5 IGV=c/10 If(p>=18) Verdad:ct=c-d Falso : ct=c+IGV  Salida: imprime: ct.  Fin p>=18 ant<1 If ct=c+IGV inicio cc,p fin V c=cc*4 d=(c*2)/5 IGV=c/10 F ct=c-d ct
  • 60. III. Aplicación: a) Codificación: 1. package ejercicio.pkg20; 2. import java.util.Scanner; 3. public class Ejercicio20 { 4. public static void main(String[] args) { 5. double cc,p,c,d ,IGV,ct; 6. System.out.println("Ingrese el costo de un curso"); 7. Scanner num=new Scanner(System.in); 8. cc=num.nextDouble(); 9. System.out.println("Ingrese su promedio semestral final"); 10. Scanner num1=new Scanner(System.in); 11. p=num1.nextDouble(); 12. c=cc*4; 13. d=(c*2)/5; 14. IGV=10; 15. if(p>=18) 16. { 17. ct=c-d; 18. } 19. else 20. { 21. ct=c+IGV; 22. } 23. System.out.println("El pago que debe realizar por su semestre completo es: "+ct); 24. } 25. } b) Prueba de escritorio:
  • 61. 21. En una fábricade computadorasse planeaofreceralosclientesundescuentoque dependerá del númerode computadorasque compre.Si lascomputadorassonmenosde cinco se les dará un 10% de descuentosobre el total de lacompra; si el númerode computadorases mayor o igual a cincoperomenosde diezse le otorga un 20% de descuento;ysi son10 o más se lesda un 40% de descuento.El preciode cadacomputadoraes de $11,000. I. Análisis: a) Datos de entrada: c. b) Datos de salida: pf. c) Modelo matemático/lógico: pt=c*11000; si c<5 v: d=pt*0.1 pf=pt-d si c>=5&&c<10 v: d=pt*0.2 pf=pt-d si c>=10 v: d=pt*0.4 pf=pt-d II. Diseño a) Diagrama de flujo
  • 63. b) Pseudocódigo:  Inicio  Entrada: lee: c  Proceso: pt=c*11000 if(c<5) { d= pt*0.1 pf=pt-d } if(c>=5&&c<10) { d=pt*0.2 pf=pt-d; } Si >=10 { d= pt*0.4 pf=pt-d }  Salida: imprime: pf  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg21; 2. importjava.util.Scanner; 3. publicclassEjercicio21{ 4. publicstaticvoidmain(String[] args) { 5. intc=0,d=0,pt=0,pf=0; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese lacantidadde computasacomprar"); 8. c=entrada.nextInt(); 9. pt=c*11000; 10. if(c<5) 11. { 12. d=(int) (pt*0.1); 13. pf=pt-d; 14. } 15. if(c>=5&&c<10) 16. { 17. d=(int) (pt*0.2); 18. pf=pt-d; 19. }
  • 64. 20. if(c>=10) 21. { 22. d=(int) (pt*0.4); 23. pf=pt-d; 24. } 25. System.out.println("el descuentoes:"+d+"total a pagar es:"+pf); 26. } 27. } b) Pruebade escritorio 22. Encontrar el mayor y el menorde tresnúmeros. I. Análisis: a) Datos de entrada: a, b, c. b) Datos de salida: a, c. c) Modelo matemático/lógico: If(a<b) aux=a a=b b=aux If(a<c) aux=a a=c c=aux If(b<c) aux=b b=c c=aux
  • 65. inicio a,b,c lee aux=a a=b b=aux if a<b V F aux=a a=c c=aux if a<c F fin a, c imp. aux=b b=c c=aux if b<c F V II. Diseño: a) Diagrama de flujo: V
  • 66. b) Pseudocódigo:  Inicio  Entrada: lee: a, b, c.  Proceso: If(a<b) aux=a a=b b=aux If(a<c) aux=a a=c c=aux If(b<c) aux=b b=c c=aux  Salida: imprime: a, c.  Fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg22; 2. import java.util.Scanner; 3. public class Ejercicio22 { 4. public static void main(String[] args) { 5. int a,b,c,aux; 6. System.out.println("Ingrese el primer número"); 7. Scanner num=new Scanner(System.in); 8. a=num.nextInt(); 9. System.out.println("Ingrese el segundo número"); 10. Scanner num1=new Scanner(System.in); 11. b=num1.nextInt();
  • 67. 12. System.out.println("Ingrese el tercer número"); 13. Scanner num2=new Scanner(System.in); 14. c=num.nextInt(); 15. if(a<b) 16. { 17. aux=a; 18. a=b; 19. b=aux; 20. } 21. if(a<c) 22. { 23. aux=a; 24. a=c; 25. c=aux; 26. } 27. if(b<c) 28. { 29. aux=a; 30. b=c; 31. c=aux; 32. } 33. System.out.println("El mayor es "+a); 34. System.out.println("El menor es "+c); 35. } 36. } b) Prueba de escritorio: 23. Verificarsi unnúmeroXes múltiplode 3o de 5. I. Análisis:
  • 68. a) Datos de entrada: n. b) Datos de salida: n. c) Modelo matemático/lógico: Si n%3==0&&n%5==0 V:n+" es multiplo de 3 y 5" F: Si n%3==0 V: n+" es multiplo de 3" F: Si n%5==0 V:n+" es multiplo de 5" F:n+" no es multiplo ni 3 ni 5" II. Diseño a) Diagrama de flujo inicio n lee n%3==0 &&n%5= =0 n+" es múltiplo de 3 y 5" fin F V if n%3==0 F V n+" es multiplo de 3"if n%5==0 F V n+" es multiplo de 3" n+" es multiplo de 5"
  • 69. b) Pseudocódigo:  Inicio  Entrada: lee: n  Proceso: if(n%3==0&&n%5==0) { n+" esmultiplode 3 y 5" } else { if(n%3==0) { n+" esmultiplode 3" } else { if(n%5==0) { n+" esmultiplode 5" } else { n+" no esmultiploni 3 ni 5” } } }  Salida: imprime: n  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg23; 2. importjava.util.Scanner; 3. publicclassEjercicio23{ 4. publicstaticvoidmain(String[] args) { 5. intn; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese unnumero"); 8. n=entrada.nextInt(); 9. if(n%3==0&&n%5==0) 10. { 11. System.out.println(n+"esmultiplode 3y 5"); 12. } 13. else 14. {
  • 70. 15. if(n%3==0) 16. { 17. System.out.println(n+"esmultiplode 3"); 18. } 19. else 20. { 21. if(n%5==0) 22. { 23. System.out.println(n+"esmultiplode 5"); 24. } 25. else 26. { 27. System.out.println(n+"noesmultiploni 3ni 5"); 28. } 29. } 30. } 31. } 32. } b) Pruebade escritorio 24. Dados tresnúmerosse desealosiguiente: Si solodos númerossonigualesdesplegarunmensaje,entoncesse deberámostrarel productodel númeroigual conel númerodiferenteynose deberárealizarningunode los siguientesincisos.Si lostressonigualesdebe desplegarunmensaje,ynodebe efectuar ningunaotra operación.Hallarladiferenciadel mayormenosel menor. I. Análisis: a) Datos de entrada: a, b, c. b) Datos de salida: “a y b son =”, “a y c son =”, “a, b y c son =”, p, d. c) Modelo matemático/lógico: if(a==b&&b==c) verdad: “a, b y c son =” falso : if(a==b)
  • 71. verdad: p=a*c “a y b son =” Falso : if(a==c) verdad: p=a*b “a y c son =” Falso : If(a<b) aux=a a=b b=aux If(a<c) aux=a a=c c=aux If(b<c) aux=b b=c c=aux d=a-c II. Diseño: a) Diagrama de flujo:
  • 72. F F V V d F F V V V inicio a,b,c lee “a, b y c son =” i f If a==b If a==c If p=a*b aux=a a=b b=aux if a<b V F aux=a a=c c=aux if a<c F d=a-c aux=b b=c c=aux if b<c fin a==b&&b==c p=a*c p p
  • 73. b) Pseudocódigo:  Inicio  Entrada: lee: a, b, c.  Proceso: if(a==b&&b==c) verdad: “a, b y c son =” falso : if(a==b) verdad: p=a*c “a y b son =” Falso : if(a==c) verdad: p=a*b “a y c son =” Falso : If(a<b) aux=a a=b b=aux If(a<c) aux=a a=c c=aux If(b<c) aux=b b=c c=aux d=a-c  Salida: imprime: “a y b son =”, “a y c son =”, “a, b y c son =”, p, d.  Fin III. Aplicación: a) Codificación: 1. package ejercico.pkg24; 2. import java.util.Scanner;
  • 74. 3. public class Ejercico24 { 4. public static void main(String[] args) { 5. int a,b,c,aux,p,d; 6. System.out.println("Ingrese el primer número"); 7. Scanner num=new Scanner(System.in); 8. a=num.nextInt(); 9. System.out.println("Ingrese el segundo número"); 10. Scanner num1=new Scanner(System.in); 11. b=num1.nextInt(); 12. System.out.println("Ingrese el tercer número"); 13. Scanner num2=new Scanner(System.in); 14. c=num.nextInt(); 15. if(a==b&&b==c) 16. { 17. System.out.println(a+", "+b+" y "+c+" son iguales" ); 18. } 19. else 20. { 21. if(a==b) 22. { 23. p=a*c; 24. System.out.println(a+" y "+b+" son iguales" ); 25. System.out.println("El producto con el número diferente es "+p); 26. } 27. else 28. { 29. if(a==c) 30. { 31. p=a*b; 32. System.out.println(a+" y "+c+" son iguales" ); 33. System.out.println("El producto con el número diferente es "+p); 34. } 35. else 36. { 37. if(a<b) 38. { 39. aux=a; 40. a=b;
  • 75. 41. b=aux; 42. } 43. if(a<c) 44. { 45. aux=a; 46. a=c; 47. c=aux; 48. } 49. if(b<c) 50. { 51. aux=b; 52. b=c; 53. c=aux; 54. } 55. d=a-c; 56. System.out.println("la diferencia del mayor y menor es "+d); 57. } 58. } 59. } 60. } 61. } b) Prueba de escritorio:
  • 76. 25. Dada la fechaactual (día, mesy año),y la fechade nacimientode unapersona,diseñarun algoritmoque determine laedadde estapersona. I. Análisis: a) Datos de entrada: d,m,a,dn,mn,an. b) Datos de salida: e. c) Modelo matemático/lógico: e=a-an si m==mn v: si d>=dn) v:"usted tiene: "+e+" años" f: e=e-1; "usted tiene: "+e+" años" Si m>mn V:"usted tiene: "+e+" años" F:e=e-1; “usted tiene: "+e+" años" II. Diseño a) Diagrama de flujo
  • 77. e=e inicio d,m,a,dn,mn,an lee m==mn e=e-1 fin FV if d>=dn FV e=e-1 if m>mn F V e=e-1 e=e e=a-an e imp. b) Pseudocódigo:  Inicio  Entrada: lee: d,m,a,dn,mn,an.
  • 78.  Proceso: e=a-an if(m==mn) { if(d>=dn) { "usted tiene: "+e+" años" } else e=e-1; "usted tiene: "+e+" años" } } if(m>mn) { "usted tiene: "+e+" años" } else { e=e-1; "usted tiene: "+e+" años" }  Salida: imprime: e  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg25; 2. importjava.util.Scanner; 3. publicclassEjercicio25{ 4. publicstaticvoidmain(String[] args) { 5. intd,m,a,dn,mn,an,e; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese lafechaactual"); 8. System.out.print("dia:");d=entrada.nextInt(); 9. System.out.print("mes:");m=entrada.nextInt(); 10. System.out.print("año:");a=entrada.nextInt(); 11. System.out.println("ingrese lafechade nacimiento"); 12. System.out.print("dia:");dn=entrada.nextInt(); 13. System.out.print("mes:");mn=entrada.nextInt(); 14. System.out.print("año:");an=entrada.nextInt(); 15. e=a-an; 16. if(m==mn) 17. { 18. if(d>=dn) 19. { 20. System.out.println();
  • 79. 21. System.out.println("ustedtiene:"+e+"años"); 22. } 23. else 24. { 25. e=e-1; 26. System.out.println(); 27. System.out.println("ustedtiene:"+e+"años"); 28. } 29. } 30. if(m>mn) 31. { 32. System.out.println(); 33. System.out.println("ustedtiene:"+e+"años"); 34. } 35. else 36. { 37. e=e-1; 38. System.out.println(); 39. System.out.println("ustedtiene:"+e+"años"); 40. } 41. } 42. } b) Pruebade escritorio
  • 80. 26. Un banco antesde concederun préstamo,compruebalosingresosdelsolicitante.Si los ingresossonsuperioresa12000 solesanuales,el créditose concede.Si losingresosson inferioresa12000 solesanualesperosuperioresa10000 solesyel cliente tiene máximo2 hijos,el créditose concede.Tambiénse le concede,si tieneingresosentre 8000 y 10000 soles perono tiene hijos.Realizarunalgoritmoque pidalosingresosanualesyel númerode hijos del solicitante,ydigasi se le da el créditoo no. I. Análisis: a) Datos de entrada: i, h. b) Datos de salida: “c”, “nc”. c) Modelo matemático/lógico: If(i>12000) Verdad: “c”. Falso : if(i<12000&&i>10000) Verdad: if(h<=2) Verdad: “c”. Falso : “nc”. Falso : if(i>=8000&&i<=10000) Verdad: if(h==0) Verdad: “c”. Falso : “nc”. Falso: “nc”. II. Diseño: a) Diagrama de flujo:
  • 81. b) Pseudocódigo:  Inicio  Entrada: lee:  Proceso: If(i>12000) Verdad: “c”. Falso : if(i<12000&&i>10000) Verdad: if(h<=2) Verdad: “c”. Falso : “nc”. Falso : if(i>=8000&&i<=10000) Verdad: if(h==0) Verdad: “c”. F V h<=12 ant<1 “nc”“c” If “nc” h<=12 ant<1 If F F V V inicio h, i lee “c ” i f If i<12000&&i>10000 If i<8000&&i>100000 If V F fin i>12000 “nc”“c” V F V
  • 82. Falso : “nc”. Falso: “nc”.  Salida: imprime: “c”, “nc”.  Fin III. Aplicación: a) Codificación: 1. package ejericio.pkg26; 2. import java.util.Scanner; 3. public class Ejericio26 { 4. public static void main(String[] args) { 5. int i,h; 6. System.out.println("Introduzca su ingreso anual:"); 7. Scanner num=new Scanner(System.in); 8. i=num.nextInt(); 9. System.out.println("Introcuzca el número de hijos que tenga:"); 10. Scanner num1=new Scanner(System.in); 11. h=num1.nextInt(); 12. if(i>12000) 13. { 14. System.out.println("Le damos el crédito"); 15. } 16. else 17. { 18. if(i<12000&&i>10000) 19. { a. if(h<=2) b. { c. System.out.println("Le damos el crédito"); d. } e. else f. { g. System.out.println("No le damos el crédito"); h. } 20. } 21. else 22. { a. if(i>=8000&&i<=10000) b. { c. if(h==0) d. {
  • 83. i. System.out.println("Le damos el crédito"); e. } f. else g. { i. System.out.println("No le damos el crédito"); h. } i. } j. else k. { l. System.out.println("No le damos el crédito"); m. } 23. } 24. } 25. } 26. } b) Prueba de escritorio: 27. Diseñe unalgoritmoque leael importe de la compray lacantidadde dinerorecibida,ycalcule el cambioa devolver,teniendoencuentaque el númerode monedasque se devuelvendebe sermínimo.Suponerque el sistemamonetarioutilizadoconstade monedasde 50,20, 5 y 1, y que hay capacidadilimitadade monedas. I. Análisis: a) Datos de entrada: dc, dr. b) Datos de salida: v, m50, m20, m5, m1. c) Modelo matemático/lógico: v=dr-dc m50=v/50 r=v%50 m20=r/20 r=r%20
  • 84. m5=r/5 r=r%5 m1=r II. Diseño a) Diagrama de flujo b) Pseudocódigo:  Inicio  Entrada: lee: dc, dr.  Proceso: v=dr-dc m50=v/50 r=v%50 m20=r/20 r=r%20 m5=r/5 r=r%5 m1=r  Salida: imprime: v, m50, m20, m5, m1. inicio dc, dr lee v=dr-dc m50=v/50 r=v%50 m20=r/20 r=r%20 m5=r/5 r=r%5 m1=r v, m50, m20, m5, m1imp. fin
  • 85.  Fin III. Aplicación a) Codificación: 1. package jercicio.pkg27; 2. importjava.util.Scanner; 3. publicclassJercicio27{ 4. publicstaticvoidmain(String[] args) { 5. intdc,dr,v,m50,m20,m5,m1,r; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese el importe de laventa"); 8. dc=entrada.nextInt(); 9. System.out.println("ingrese cantidadde dinerorecibido"); 10. dr=entrada.nextInt(); 11. v=dr-dc; 12. m50=v/50; 13. r=v%50; 14. m20=r/20; 15. r=r%20; 16. m5=r/5; 17. r=r%5; 18. m1=r; 19. System.out.println("suvueltoes:"+v+" y se da de la siguiente manera:"); 20. System.out.println("billetesde 50 soles:"+m50); 21. System.out.println("billetesde 20 soles: "+m20); 22. System.out.println("monedasde 5soles:"+m5); 23. System.out.println("monedasde 1soles:"+m1); 24. } 25. } b) Pruebade escritorio
  • 86. 28. Diseñe unalgoritmoparaun problemasimilaral anterior.Peroconsiderarque se tienensolo 10 monedasde 50, y 2 de 5, las demásilimitadas. I. Análisis: a) Datos de entrada: i, p. b) Datos de salida: m50, m20, m5, m1. c) Modelo matemático/lógico: d=p-i m50=ddiv50 d=dmod50 if (m50<=10) verdad: m50=m50 falso : d=(m50-10)*50 m50=10 m20=ddiv20 d=dmod20 m5=ddiv5 d=dmod5 if (m50<=10) verdad: m5=m5 falso : d=(m5-2)*50 m5=2 m1=d II. Diseño: a) Diagrama de flujo:
  • 87. m50<=10 ant<1 If d=(m50-10)*50 m50=10 inicio i, p V d=p-i m50=ddiv50 d=dmod50 F m50=m50 m20=ddiv 20 d=dmod20 m5=ddiv 5 d=dmod5 m5<=2 ant<1 d= (m5-2)*5 m5=2 m5=m5 m1=d If m50, m20, m5, m1 FV fin
  • 88. b) Pseudocódigo:  Inicio  Entrada: lee: i, p.  Proceso: d=p-i m50=ddiv50 d=dmod50 if (m50<=10) verdad: m50=m50 falso : d=(m50-10)*50 m50=10 m20=ddiv20 d=dmod20 m5=ddiv5 d=dmod5 if (m50<=10) verdad: m5=m5 falso : d=(m5-2)*50 m5=2 m1=d  Salida: imprime: m50, m20, m5, m1.  Fin III. Aplicación: a) Codificación: 1. package ejercicio28; 2. import java.util.Scanner; 3. public class Ejercicio28 { 4. public static void main(String[] args) { 5. int i,p,d,m50,m20,m5,m1; 6. System.out.println("Ingrese el importe de la compra"); 7. Scanner num=new Scanner(System.in); 8. i=num.nextInt(); 9. System.out.println("Ingrese la cantidad de dinero recibida "); 10. Scanner num1=new Scanner(System.in); 11. p=num1.nextInt();
  • 89. 12. d=p-i; 13. m50=d/50; 14. d=d%50; 15. if(m50<=10) 16. { 17. m50=m50; 18. } 19. else 20. { 21. d=(m50-10)*50; 22. m50=10; 23. } 24. m20=d/20; 25. d=d%20; 26. m5=d/5; 27. d=d%5; 28. if(m5<=2) 29. { 30. m5=m5; 31. } 32. else 33. { 34. d=(m5-2)+5; 35. m5=2; 36. } 37. m1=d; 38. System.out.println("Su cambio es:"); 39. System.out.println(m50+" billetes de 50"); 40. System.out.println(m20+" billetes de 20"); 41. System.out.println(m5+" monedas de 5"); 42. System.out.println(m1+" monedas de 1"); 43. } 44. }
  • 90. b) Prueba de escritorio: 29. Dado un año, indique mediante mensaje si es bisiesto o no. Un año es bisiesto, solo si es múltiplo de 4 pero no de 100, salvo que sea múltiplo de 400.( teoría completa del año bisiesto). I. Análisis: a) Datos de entrada: a. b) Datos de salida: "si es bisiesto", "no es bisiesto". c) Modelo matemático/lógico: Si (a%4==0 && a % 100 != 0) || a % 400 == 0 V:"si es bisiesto" F:"no es bisiesto" II. Diseño a) Diagrama de flujo
  • 91. inicio a lee (a%4==0 && a % 100 !=0) || a % 400 ==0 "no es bisiesto" "si es bisiesto" fin F V b) Pseudocódigo:  Inicio  Entrada: lee: a  Proceso: if((a%4==0 && a % 100 != 0) || a % 400 == 0) { "si es bisiesto" } else { "no es bisiesto" }  Salida: imprime: "si es bisiesto", "no es bisiesto".  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg29; 2. importjava.util.Scanner;
  • 92. 3. publicclassEjercicio29{ 4. publicstaticvoidmain(String[] args) { 5. inta; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingrese unaño"); 8. a=entrada.nextInt(); 9. if((a%4==0&& a % 100 != 0) || a % 400 == 0) 10. { 11. System.out.println("siesbisiesto"); 12. } 13. else 14. { 15. System.out.println("noesbisiesto"); 16. } 17. } 18. } b) Pruebade escritorio 30. Escriba un algoritmo que lea tres números enteros de un supuesto triángulo, determine si realmente forman un triángulo, y muestre el tipo de triángulo que es (si es un triángulo: La suma de dos cualesquiera de los lados debe ser mayor que el otro). Equilátero:todoslosladossoniguales. Isósceles:solodosladossoniguales. Escaleno:notiene dosladosiguales. I. Análisis: a) Datos de entrada: a, b, c, s. b) Datos de salida: “t”, “nt”, “ee”, “i”, “e”. c) Modelo matemático/lógico: s=a+b If(s>c) Verdad:
  • 93. V V fin “t” s>c ant<1 If inicio a, b, c V F “nt” a=b&&b=c ant<1 If “ee” a=b||b=c||a=c If “i” “e” F “t”. if(a==b&&b==c) Verdad: “ee”. Falso : if(a==b||b==c||a==c) Verdad: “i”. Falso : “e”. Falso : “nt”. II. Diseño: a) Diagrama de flujo:
  • 94. b) Pseudocódigo:  Inicio  Entrada: lee: a, b, c.  Proceso: s=a+b If(s>c) Verdad: “t”. if(a==b&&b==c) Verdad: “ee”. Falso : if(a==b||b==c||a==c) Verdad: “i”. Falso : “e”. Falso : “nt”.  Salida: imprime: “t”, “nt”, “ee”, “i”, “e”.  Fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg30; 2. import java.util.Scanner; 3. public class Ejercicio30 { 4. public static void main(String[] args) { 5. int a,b,c,s; 6. System.out.println("Ingrese tres números enteros para un supuesto triángulo"); 7. System.out.println("Ingrese el primer número entero."); 8. Scanner num=new Scanner(System.in); 9. a=num.nextInt(); 10. System.out.println("Ingrese el segundo número entero:"); 11. Scanner num1=new Scanner(System.in); 12. b=num1.nextInt(); 13. System.out.println("Ingrese el tercer número entero:"); 14. Scanner num2=new Scanner(System.in);
  • 95. 15. c=num2.nextInt(); 16. s=a+b; 17. if(s>c) 18. { 19. System.out.println("Es un triángulo"); 20. if(a==b&&b==c) 21. { 22. System.out.println("Es un triángulo equilátero"); 23. } 24. else 25. { 26. if(a==b||b==c||a==c) 27. { System.out.println("Es un triángulo isósceles"); 28. } 29. else 30. { System.out.println("Es un triángulo escaleno"); 31. } 32. } 33. } 34. else 35. { 36. System.out.println("No es un triángulo"); 37. } 38. } 39. } b) Prueba de escritorio:
  • 96. 31. Dados dosenteros,díay mes,de una fechade un año no bisiesto,indicarsi lafechaes correcta. I. Análisis: a) Datos de entrada: d, m. b) Datos de salida: r. c) Modelo matemático/lógico: Si m>12 V:r="NO CORRESPONDE" f: switch (m) case 1: case 3: case 5: case 7: case 8: case 10: case 12: dmax=31 si d<=dmax v: r="FECHA CORRESPONDE" f: r="FECHA NO CORRESPONDE" case 4: case 6: case 9: case 11: dmax=30; si d<=dmax v: r="FECHA CORRESPONDE" f: r="FECHA NO CORRESPONDE" case 2: si d==29 v: r="FECHA NO CORRESPONDE"; f: si d<28 v:"FECHACO RRESPONDE" II. Diseño a) Diagrama de flujo
  • 97.
  • 98. 1 V F 2 V F d=d+1 FV 4,6,9,1 1 FV FV 1,3,5,7,8,10 m if d==3 d=d-29 m=m+1 d=d+1 if r%4== 0 d=29 d=d-27 m=m+1 if d==3 d=1 m=1 a=a+1 d=d+1 if d==3 d=d+1d=d-30 m=m+ 1 fin d,m,a imp. if m>1 Inicio d,m lee
  • 99. b) Pseudocódigo:  Inicio  Entrada: lee: d, m  Proceso: if(m>12) r="NO CORRESPONDE" switch (m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: dmax=31 if(d<=dmax) r="FECHA CORRESPONDE" else r="FECHA NO CORRESPONDE" break case 4: case 6: case 9: case 11: dmax=30; if(d<=dmax) r="FECHA CORRESPONDE" else r="FECHA NO CORRESPONDE" break case 2: if(d==29) r="FECHA NO CORRESPONDE" else if(d<28) r="FECHACO RRESPONDE" }  Salida: imprime: r  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg31; 2. importjava.util.Scanner; 3. publicclassEjercicio31{
  • 100. 4. publicstaticvoidmain(String[] args) { 5. intd,m,dmax=0; 6. Stringr=""; 7. Scannerteclado=new Scanner(System.in); 8. System.out.print("Ingrese Dia:"); 9. d=teclado.nextInt(); 10. System.out.print("Ingrese Mes:"); 11. m=teclado.nextInt(); 12. if(m>12) 13. r="NO CORRESPONDE"; 14. switch(m){ 15. case 1: 16. case 3: 17. case 5: 18. case 7: 19. case 8: 20. case 10: 21. case 12: 22. dmax=31; 23. if(d<=dmax) 24. r="FECHA CORRESPONDE"; 25. else 26. r="FECHA NOCORRESPONDE"; 27. break; 28. case 4: 29. case 6: 30. case 9: 31. case 11: 32. dmax=30; 33. if(d<=dmax) 34. r="FECHA CORRESPONDE"; 35. else 36. r="FECHA NOCORRESPONDE"; 37. break; 38. case 2: 39. if(d==29) 40. r="FECHA NOCORRESPONDE"; 41. else 42. if(d<28) 43. r="FECHACO RRESPONDE"; 44. } 45. System.out.println(""); 46. System.out.println("Respuesta:"+r); 47. } 48. } b) Pruebade escritorio
  • 101. V fin “o” A1>90||a2>90 ||a3>90 If inicio a1, a2, a3 V F F a1=90||a2=90 ||a3=90 If “r” a1<90||a2<90 ||a3<90 If “a” V 32. Los triángulosse puedenclasificarrespectode susángulos: Si uno de los ángulos mide más de 90°, el triángulo es obtusángulo. Si uno de los ángulos mide 90°, el triángulo es rectángulo. Si de los tres ángulos miden menos de 90°, el triángulo es acutángulo. I. Análisis: a) Datos de entrada: a1, a2, a3. b) Datos de salida: “o”, “r”, “a”. c) Modelo matemático/lógico: If(a1>90||a2<90||a3>90) Verdad: “o”. Falso : if(a1=90||a2=90||a3=90) Verdad: “r”. Falso : if(a1<90||a2<90||a3<90) Verdad: “a”. II. Diseño: a) Diagrama de flujo:
  • 102. b) Pseudocódigo:  Inicio  Entrada: lee: a1, a2, a3.  Proceso: If(a1>90||a2<90||a3>90) Verdad: “o”. Falso : if(a1=90||a2=90||a3=90) Verdad: “r”. Falso : if(a1<90||a2<90||a3<90) Verdad: “a”.  Salida: imprime: “o”, “r”, “a”.  Fin III. Aplicación: a) Codificación: 1. package ejercicio.pkg32; F
  • 103. 2. import java.util.Scanner; 3. public class Ejercicio32 { 4. public static void main(String[] args) { 5. int a1,a2,a3; 6. System.out.println("Ingrese el primer ángulo de un triángulo"); 7. Scanner num=new Scanner(System.in); 8. a1=num.nextInt(); 9. System.out.println("Ingrese el segundo ángulo de un triángulo"); 10. Scanner num1=new Scanner(System.in); 11. a2=num1.nextInt(); 12. System.out.println("Ingrese el tercer ángulo de un triángulo"); 13. Scanner num2=new Scanner(System.in); 14. a3=num2.nextInt(); 15. if(a1>90||a2>90||a3>90) 16. { 17. System.out.println("El triángulo es obtusángulo"); 18. } 19. else 20. { 21. if(a1==90||a2==90||a3==90) 22. { 23. System.out.println("El triángulo es rectángulo"); 24. } 25. else 26. { a. if(a1<90||a2<90||a3<90) b. { c. System.out.println("El triángulo es acutángulo"); d. } 27. } 28. } 29. } 30. } b) Prueba de escritorio:
  • 104. 33. Dos entidadesfinancierasofrecenlassiguientestasasde interéssimple: Entidad A Entidad B Dinero Depositado Interés Mensual Dinero Depositado Interés Mensual De 0 a500 soles 5%del dinero depositado De 0 a 600 soles 5%del dinero depositado De 501 a 4499 soles 12%del dinero depositado De 601 a 3499 soles 5%del dinero depositado 4500 soles a más 16%del dinero depositado 3500 soles a más 5%del dinero depositado Desarrollar un programa que realice lo siguiente: Solicite al usuarioque ingrese el montode dineroque deseadepositaryel tiempo(meses) que lo mantendrá en el banco. Determine cuál de lasdosentidades,A oB, esmás conveniente para depositar el dinero y muestre un mensaje indicando en que banco debería el usuario depositar el monto ingresado, y cuánto dinero tendrá luego de transcurrido el tiempo que indico al inicio. Nota: Para calcular el interés simple se utiliza la siguiente fórmula: Interés = Capital * Tasa * Tiempo I. Análisis: a) Datos de entrada: d, t. b) Datos de salida: a, b. c) Modelo matemático/lógico: Si d>0&&d<=500 V: a=(d*0.05)*t Si: d>500&&d<=4499 v: a=(d*0.12)*t si d>4499 v: a=(d*0.16)*t si d>0&&d<=600 v: b=(d*0.07)*t si d>600&&d<=3499 v: b=(d*0.10)*t si d>3499 v: b=(d*0.15)*t si a>b v: "la entidad A es más conveniente" f: "la entidad B es más conveniente"
  • 105. II. Diseño a) Diagrama de flujo inicio d, tlee 1
  • 107. b) Pseudocódigo:  Inicio  Entrada: lee: a, b  Proceso: if(d>0&&d<=500) { a= (d*0.05)*t } if(d>500&&d<=4499) { a= (d*0.12)*t } d>3499 F V b=(d*0.15)*t 2 a>b V F "la entidadA es másconveniente"IMP. "la entidadB es más conveniente"IMP. fin
  • 108. if(d>4499) { a= (d*0.16)*t } if(d>0&&d<=600) { b= (d*0.07)*t } if(d>600&&d<=3499) { b= (d*0.10)*t } if(d>3499) { b= (d*0.15)*t } if(a>b) { "la entidad A es más conveniente" } else { "la entidad B es más conveniente" }  Salida: imprime: a, b  Fin III. Aplicación a) Codificación: 1. package ejercicio.pkg33; 2. importjava.util.Scanner; 3. publicclassEjercicio33{ 4. publicstaticvoidmain(String[] args) { 5. intd,a=0,b=0,t; 6. Scannerentrada=new Scanner(System.in); 7. System.out.println("ingresael montode dineroque dese depositar"); 8. d=entrada.nextInt(); 9. System.out.println("ingresael tiempoenel que quiere pagar"); 10. t=entrada.nextInt(); 11. if(d>0&&d<=500) 12. { 13. a=(int) (d*0.05)*t; 14. } 15. if(d>500&&d<=4499) 16. { 17. a=(int) (d*0.12)*t; 18. }
  • 109. 19. if(d>4499) 20. { 21. a=(int) (d*0.16)*t; 22. } 23. if(d>0&&d<=600) 24. { 25. b=(int) (d*0.07)*t; 26. } 27. if(d>600&&d<=3499) 28. { 29. b=(int) (d*0.10)*t; 30. } 31. if(d>3499) 32. { 33. b=(int) (d*0.15)*t; 34. } 35. System.out.println("entidadA:"+a); 36. System.out.println("entidadB:"+b); 37. if(a>b) 38. { 39. System.out.println("laentidadA esmasconveniente"); 40. } 41. else 42. { 43. System.out.println("laentidadBesmasconveniente"); 44. } 45. } 46. } b) Pruebade escritorio