Portafolio de Evidencias Unidad IV
Control de Flujo
Humberto Chalate Jorge Instituto Tecnológico De Tuxtepec Tipo de Portafolio: Abierto
Portafolio de Evidencias
Por Evidencias
Pagina
Introducción……………………………………………
3
Ejercicios con If……………………………………....
4
Ejercicios con Switch…………………………………
17
Ejercicios con For ……………………………………
21
Ejercicios con While …………………………………
33
Ejercicios con Do While ……………………………..
47
Conclusión…………………………………………….
59
2
Portafolio de Evidencias
Bueno nos daremos a la tarea de construir programas utilizando estructuras condicionales y repetitivas para aumentar su funcionalidad. Vamos a diseñar programas donde se utilicen las estructuras de repetición y selección con un grado de dificultad de menor a mayor. Los iremos desarrollando conforme a este orden: If Switch For While Do While
3
Portafolio de Evidencias
En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un número que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuánto dinero se le descuenta.
Pseudocódigo:
Programa Principal:
4
Portafolio de Evidencias
Pantallas:
5
Portafolio de Evidencias 14) En una escuela la colegiatura de los alumnos se s e determina según el número de materias que cursan. El costo de todas las materias 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 en el último periodo es mayor o igual que 9, se le hará un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deberá pagar la colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno.
Pseudocódigo:
Programa Principal:
Pantallas:
6
Portafolio de Evidencias
15) Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: Si los ingresos del comprador son menores de $8000 el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si los ingresos del comprador son de $8000 o más el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7 años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial.
Pseudocódigo:
Programa Principal:
Pantallas:
7
Portafolio de Evidencias
17) Una persona desea iniciar un negocio, para lo cual piensa verificar verif icar cuánto dinero le prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a menos que el monto por hipotecar su casa sea muy pequeño. Si el monto de la hipoteca es menor que $1, 000,000 entonces invertirá el 50% de la inversión total y un socio invertirá el otro 50%. Si el monto de de la hipoteca es de $1, 000, 000 o más, entonces invertirá el monto total de la hipoteca y el resto del dinero que se necesite para cubrir la inversión total se repartirá a partes iguales entre el socio y el.
Pseudocódigo:
Programa Principal:
Pantallas:
8
Portafolio de Evidencias 18) El gobierno del estado de México desea reforestar un bosque que mide determinado número de hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados, entonces decidirá sembrar de la sig. manera: Porcentaje de la superficie del bosque Tipo de árbol 70% pino 20% oyamel 10% cedro Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces decidirá sembrar de la siguiente manera: Porcentaje de la superficie del bosque Tipo de árbol 50% pino 30% oyamel 20% cedro El gobierno desea saber el número de pinos, oyameles y cedros que tendrá que sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros. También se sabe que una hectárea equivale a 10 mil metros cuadrados.
Pseudocódigo:
Programa Principal:
Pantallas:
9
Portafolio de Evidencias
3) Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran c onsideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
Pseudocódigo:
Programa Principal:
Pantallas:
10
Portafolio de Evidencias
4) Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna as igna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguiente tabla: Tiempo Utilidad Menos de 1 año 5 % del salario 1 año o más y menos de 2 años 7% del salario 2 años o más y menos de 5 años 10% del salario 5 años o más y menos de 10 años 15% del salario 10 años o más 20% del salario
Pseudocódigo:
Programa Principal:
Pantallas:
11
Portafolio de Evidencias 6) El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o más y una antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25 años o más. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o más y una antigüedad en su empleo de 25 años o más. Determinar en qué tipo de jubilación, quedara adscrita una persona.
Pseudocódigo: importjavax.swing.*; public class hospital{ int edad, años; publicintleeedad(){ edad=Integer.parseInt(JOptionPane.showInputDialog("Menciona tu edad")); returnedad; } publicintleeaños(){ años=Integer.parseInt(JOptionPane.showInputDialog("Menciona tu antigüedad")); returnaños; } public void imprimir(intedad, intaños){ if(edad>=60 && años<25){ JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageD ialog(null,"El tipo de jubilación por edad por los años"+edad+"años de edad"+"ylos"+años+"años de antiguedad"); } else{ if(edad<60 && años>=25){ JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageDialo g(null,"El tipo es de jubilacion por antiguedad joven por los"+edad+"años de edad"+"y los años de antigüedad"); } else{ if(edad>=60 && años>=25){ JOptionPane.showMessageDialog(null,"El tipo de jubilacion por JOptionPane.showMessageDialog(null,"El antigüedad adulta por los años"+edad+"años de edad"+"y los" +años+"años de antiguedad"); } } } } }
12
Portafolio de Evidencias
Programa Principal: importjavax.swing.*; public class llamahospital{ public static void main (String arg[]) { hospitalobj=new hospital(); intedad=obj.leeedad(); int años=obj.leeaños(); obj.imprimir(edad, años); { } } }
Pantallas:
13
Portafolio de Evidencias 7) En una fábrica de computadoras se planea ofrecer a los clientes cl ientes un descuento que dependerá del número de computadoras que compre. Si las computadoras son menos de cinco se les dará un 10% de descuento sobre el total de la compra; si el número de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si s i son 10 o más se les da un 40% de descuento. El precio de cada computadora es de $11,000.
Pseudocódigo:
Programa Principal:
Pantallas:
14
Portafolio de Evidencias 10) Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de algún aparato si este cuesta $2000 o más. Además, independientemente de esto, ofrece un 5% de descuento si la marca es “SONY”. Determinar cuánto pagara, con IVA incluido, un cliente cualquiera por la compra de su aparato.
Pseudocódigo: import javax.swing.*; public class estereos{ double total,tot,totIva; String marc="NOSY"; String marc2="nosy"; String marc3="Nosy"; public double descIva(double precio,String marca){ if(precio>=2000) { total=precio-(precio*0.10); if((marca.equals(marc))||(marca.equals(marc2))||(marca.equals(marc3))) { tot=total-(precio*0.05); totIva=tot+(tot*0.16); } else totIva=total*1.16; } else if((marca.equals(marc))||(marca.equals(marc2))||(marca.equals(marc3))) { tot=precio-(precio*0.05); totIva=tot*1.16; } else totIva=precio*1.16; return totIva; } }
15
Portafolio de Evidencias
Programa Principal: import javax.swing.*; public class proveedor{ public static void main(String args[]) { double precio=Double.valueOf(JOptionPane.showInputDialog("Introduzca precio=Double.valueOf(JOptionPane.showInputDialog("Introduzca el precio del estéreo: $")); String marca=String.valueOf(JOptionPane.showInputDialog("Introduzca la marca del estéreo:")); estereos obj=new estereos(); double totIva=obj.descIva(precio,marca); JOptionPane.showMessageDialog(null,"El total a pagar con IVA incluido es de: JOptionPane.showMessageDialog(null,"El $"+totIva); } }
Pantallas:
16
Portafolio de Evidencias
Hacer un programa que simule una calculadora básica la cual va a realizar las siguientes operaciones 1.-Suma 2.-Resta 3.-Multiplicaion 4.-Divición Pseudocódigo: import javax.swing.*; public class calculadora{ public void operaciones(int n1, int n2, int op){ int r; switch(op){ case 1: r=n1+n2; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "EL " EL RESULTADO DE LA SUMA ES :"+r); break; case 2: r=n1-n2; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "EL " EL RESULTADO DE LA RESTA ES :"+r); break; case 3: r=n1*n2; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "EL " EL RESULTADO DE LA MULTIPLICACION ES :"+r); break; case 4: if(n2==0) JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialog(null, "ERRROR"); else { r=n1/n2; JOptionPane.showMessageDialog(null, JOptionPane.showMessageD ialog(null, "EL RESULTADO DE LA DIVISION ES :"+r); } break; 17
Portafolio de Evidencias default: JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialog(null, "OPCION NO VALIDAD"); } } }
Principal:
import javax.swing.*; public class calculadora1{ public static void main (String arg[]){ int n1, n2, op; op=Integer.parseInt(JOptionPane.showInputDialog("CALCULADORA BASICA \n1) SUMA \n2) RESTA \n3) MULTIPLICACION \n4) DIVISION \n ELIGE UNA OPCION:")); n1=Integer.parseInt(JOptionPane.showInputDialog("DA EL n1=Integer.parseInt(JOptionPane.showInputDialog("DA PRIMER NUMERO")); n2=Integer.parseInt(JOptionPane.showInputDialog("DA n2=Integer.parseInt(JOptionPane.show InputDialog("DA EL SEGUNDO NUMERO")); calculadora obj=new calculadora(); obj.operaciones(n1, n2, op); } } Pantallas:
18
Portafolio de Evidencias
Realizar un programa que calcule aéreas: 1.-Triangulo 2.-Rectangulo
Pseudocódigo: import javax.swing.*; public class area { public void operacion(int b, int a, int opc){ int r; switch (opc){ case 1: r=b*a/2; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDia log(null, "El area del triangulo es:"+r); break; case 2: r=b*a; JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageDialo g(null,"El area del rectangulo es:"+r); break; default: JOptionPane.showMessageDialog(null,"Esa JOptionPane.showMessageDialo g(null,"Esa opcion no existe"); existe") ; } } }
Principal:
import javax.swing.*; public class llamaarea{ public static void main (String arg[]){ int b, a, opc; opc =Integer.parseInt(JOptionPane.show =Integer.parseInt(JOptionPane.showInputDialog("Menu\n InputDialog("Menu\n 1)Triangulo\n 2)Rectangulo\nElige la figura deseada")); b=Integer.parseInt(JOptionPane.showInputDialog("Menciona b=Integer.parseInt(JOptionPane.show InputDialog("Menciona la base:")); a=Integer.parseInt(JOptionPane.showInputDialog("Menciona a=Integer.parseInt(JOptionPane.show InputDialog("Menciona la altura")); area obj=new area(); obj.operacion(b, a, opc); } } 19
Portafolio de Evidencias
Pantallas:
20
Portafolio de Evidencias
2) Leer 10 números y obtener su cubo y su cuarta. Pseudocódigo: import javax.swing.*; public class cubo{ public void calcubo (){ int num,cnum,cubo=0,cuarta=0; for (cnum=1;cnum<=10;cnum++) { num=Integer.parseInt(JOptionPane.showInputDialog("da el numero"));
cubo=num*num*num;
cuarta=cubo*num; }
JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "el cubo del numero es: "+cubo); JOptionPane.showMessageDialog(null, "la cuarta del numero es: "+ cuarta); } }
21
Portafolio de Evidencias
Principal: import javax.swing.*; public class llamacubo{ public static void main(String args []){ cubo obj=new cubo(); obj.calcubo();
} }
Pantallas:
22
Portafolio de Evidencias
2) Leer 20 números números e imprimir cuantos cuantos son positivos, cuantos negativos y cuantos neutros. Pseudocódigo: import javax.swing.*; public class positivo{ public void calnum (){ int num,cposi=0,cnega=0,cneut=0,cnum; for (cnum=1;cnum<=20;cnum++) {
num=Integer.parseInt(JOptionPane.showInputDialog("da el numero")); if(num==0) cnega++; else if(num >0) cposi++; else cneut++; } JOptionPane.showMessageDialog(null,"los negativos son:"+ cnega);
numeros
JOptionPane.showMessageDialog(null,"los son:"+ cposi);
numeros
positivos
JOptionPane.showMessageDialog(null,"los son:"+ cneut);
numeros
neutros
} }
23
Portafolio de Evidencias
Principal: import javax.swing.*; public class llamapositivo{ public static void main(String arg []){ positivo obj=new positivo(); obj.calnum(); obj.calnum(); obj.calnum();
} }
Pantallas:
24
Portafolio de Evidencias
8) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas. Pseudocódigo: import javax.swing.*; public class reloj{ public void calreloj (){ int hrs,min,seg; for (hrs=0; hrs<=23;hrs++) for(min=0; min<=59;min++) for(seg=0; seg<= 59; seg++) JOptionPane.showMessageDialog(null, hrs+":"+ min+ ":" + seg +":"); }
Principal:
}
import javax.swing.*; public class llamareloj{ public static void main(String args []){ reloj obj=new reloj(); obj.calreloj();
} }
Pantallas:
25
Portafolio de Evidencias
9) Una persona debe realizar un muestreo con 50 personas para determinar el promedio de peso de los niños, jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las categorías con base en la sig., tabla: tabla: CATEGORÍA
EDAD
Niños
0 - 12
Jóvenes
13 - 29
Adultos
30 - 59
Viejos
60 en adelante
Pseudocódigo: import javax.swing.*; public class muestreo{ public void calmuestre (){ int cp,edad,peso,sniños=0,cn=0,sjoven=0,cj=0,sadul=0,ca=0,sviejo=0,cv=0,ppn,pp j,ppa,ppv; for(cp=1; cp<=50; cp++) { peso=Integer.parseInt(JOptionPane.showInputDialog("da peso=Integer.parseInt(JOptionPane.show InputDialog("da el peso")); edad=Integer.parseInt(JOptionPane.showInputDialog("da edad=Integer.parseInt(JOptionPane.sho wInputDialog("da la edad")); if(edad<=12) { sniños+=peso; cn++; } else if(edad<=29) { sjoven+=peso; cj++; } else if(edad<=59) { sadul=peso; ca++; } else { sviejo+=peso; 26
Portafolio de Evidencias cv++; } } ppn=sniños/cn; ppj=sjoven/cj; ppa=sadul/ca; ppv=sviejo/cv; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialog(null, "el promedio por niños es: "+ppn); JOptionPane.showMessageDialog(null, JOptionPane.showMessageDia log(null, "el promedio por joven es: "+ ppj); JOptionPane.showMessageDialog(null, JOptionPane.showMessageDia log(null, "el promedio por adulto es: "+ ppa); JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialog(null, "el promedio por viejo es: "+ppv);
} }
Principal: import javax.swing.*; public class llamamuestreo{ public static void main(String arg []){ muestreo obj=new muestreo(); obj.calmuestre(); obj.calmuestre(); obj.calmuestre(); obj.calmuestre(); }
Pantallas:
27
Portafolio de Evidencias
28
Portafolio de Evidencias
1) Calcular e imprimir la tabla tabla de multiplicar de un número número cualquiera. cualquiera. Imprimir el multiplicando, el multiplicador y el producto. Pseudocódigo: import javax.swing.*; public class tabla{ public int leenum(){ int num; num=Integer.parseInt(JOptionPane.showInputDialog("Da num=Integer.parseInt(JOptionPane.show InputDialog("Da el numero")); return num; } public void caltabla (int num){ int x,R; JOptionPane.showMessageDialog(null,"imprimiendo JOptionPane.showMessageD ialog(null,"imprimiendo la tabla de ....."+num); for(x=1;x<=10;x++) { R=num*x; JOptionPane.showMessageDialog(null,num+"*"+x+"="+R); } } }
Principal:
import javax. swing.*; public class llamatabla{ public static void main (String args []){ tabla obj=new tabla (); int num=obj.leenum(); obj.caltabla(num); } }
Pantallas:
29
Portafolio de Evidencias
2) Elaborar un programa que muestre muestre el número mayor mayor números ingresados: Pseudocódigo:
de 20
import javax.swing.*; public class numero2{ public void calmay (){ int x,num,may=0; for(x=1;x<=20;x++) { num=Integer.parseInt(JOptionPane.showInputDialog("da num=Integer.parseInt(JOptionPane.sho wInputDialog("da la el numero")); if(num>may) may=num; } JOptionPane.showMessageDialog(null,"el JOptionPane.showMessageDia log(null,"el numero mayor es: "+ may); } }
Principal:
import javax.swing.*; public class llamanumero2{ public static void main(String arg []){ numero2 obj=new numero2(); obj.calmay(); } }
Pantallas:
30
Portafolio de Evidencias
3) Elaborar un programa programa que calcule el promedio promedio de las calificaciones calificaciones aprobadas y el promedio de las reprobadas de un grupo de 50 alumnos. Pseudocódigo: import javax.swing.*; public class promedio{ public void calprom (){ int calif, ca=0,sapro=0,cr=0,srep=0,cc,prom_apro,prom_rep; for(cc=1; cc<=50; cc++) { calif=Integer.parseInt(JOptionPane.showInputDialog("da calif=Integer.parseInt(JOptionPane.showInputD ialog("da la la calificacion")); if(calif>=70) {ca++; sapro+=calif; } else {cr++; srep+=calif; } } prom_apro=sapro/ca; prom_rep=srep/cr; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "el promedio de los alumnos de los aprobados es: "+ prom_apro); JOptionPane.showMessageDialog(null, JOptionPane.showMessageDialo g(null, "el promedio de los alumnos de los reprobados es: "+ prom_rep); } }
Principal:
import javax.swing.*; public class llamapromedio{ public static void main(String arg []){ promedio obj=new promedio(); obj.calprom(); obj.calprom(); } }
Pantallas:
31
Portafolio de Evidencias
4) Elaborar un programa que permita permita ingresar 10 números enteros enteros y que muestre la cantidad de números pares e impares. Pseudocódigo: import javax.swing.*; public class numeros{ public void calnum (){ int num,cpar=0,cimpar=0,cnum; for (cnum=1;cnum<=10;cnum++) { num=Integer.parseInt(JOptionPane.showInputDialog("da num=Integer.parseInt(JOptionPane.show InputDialog("da el numero")); if(num %2==0) cpar++; else cimpar++; } JOptionPane.showMessageDialog(null,"los JOptionPane.showMessageD ialog(null,"los numeros pares son:"+ cpar); JOptionPane.showMessageDialog(null,"los numeros impares JOptionPane.showMessageDialog(null,"los son:"+ cimpar); } }
Principal: import javax.swing.*; public class llamanumeros{ public static void main(String arg []){ numeros obj=new numeros(); obj.calnum(); } }
Pantallas:
32
Portafolio de Evidencias
12) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la l a sig. forma: Si el obrero trabaja 40 horas o menos se le paga $20 por hora Si trabaja más de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por cada hora extra. Pseudocódigo: import javax.swing.*; public class salario{ public void calsal(){ int hrstrab,hrsext,saltot; char resp='s'; while(resp=='s'){ hrstrab=Integer.parseInt(JOptionPane.showInputDialog("ingrse las horas hrstrab=Integer.parseInt(JOptionPane.showInputDialog("ingrse trabajadas del obrero de la semana"));{ if(hrstrab<=40){ saltot=hrstrab*20; } else{ hrsext=hrstrab-40; saltot=(hrsext*25)+(40*20); } JOptionPane.showMessageDialog(null,"el JOptionPane.showMessageDialog (null,"el sueldo del obrero es de: $"+saltot); String R=JOptionPane.showInputDialog("hay mas obreros \n[S/N]"); resp=R.charAt(0); } } } }
33
Portafolio de Evidencias
Principal: import javax.swing.*; public class llamasalario{ public static void main (String arg[]){ salario obj=new salario(); obj.calsal(); } }
Pantallas:
34
Portafolio de Evidencias
4) El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n autos que entran a la ciudad de México, cuantos entran con calcomanía de cada color. Conociendo el último dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la sig. Relación:
DÍGITO
COLOR
1o2
amarilla
3o4
rosa
5o6
roja
7o8
verde
9o0
azul
Pseudocódigo: import javax.swing.*; public class autos{ public void calauto(){ int a=0,r=0,rj=0,v=0,az=0,dig; char resp='s'; while(resp=='s'){ dig=Integer.parseInt(JOptionPane.showInputDialog("ingrese el ultimo dig=Integer.parseInt(JOptionPane.showInputDialog("ingrese digito de la placa"));{ if(dig==1&&dig==2){ a=a+1; } else{ if(dig==3&&dig==4){ r=r+1; } if(dig==5&&dig==6){ rj=rj+1; } else{ if(dig==7&&dig==8){ v=v+1; } else{ az=az+1; } } } 35
Portafolio de Evidencias
JOptionPane.showMessageDialog(null,"autos amarillos:"+a+"\n autos JOptionPane.showMessageDialog(null,"autos rosa: "+r+"\n autos rojo"+r+"\n autos verdes"+v+"\n autos azul:"+az); String R=JOptionPane.showInputDialog("hay mas autos \n[S/N]"); resp=R.charAt(0); } } } }
Principal: import javax.swing.*; public class llamaautos{ public static void main (String arg[]){ autos obj=new autos(); obj.calauto(); } }
Pantallas:
36
Portafolio de Evidencias
11) Cinco miembros de un club contra la obesidad desean saber cuánto han bajado o subido de peso desde la última vez que se reunieron. Para esto se debe realizar un ritual de pesaje en donde cada uno se pesa en diez básculas distintas para así tener el promedio más exacto de su peso. p eso. Si existe diferencia positiva entre este promedio de peso y el peso de la última vez que se reunieron, significa que subieron de peso. Pero si la diferencia es negativa, negativa, significa que bajaron. bajaron. Lo que el problema requiere requiere es que por cada persona se im prima un letrero que diga: “SUBIÓ” o “BAJO” y la cantidad de kilos kilos que subió o bajo de peso. Pseudocódigo: import javax.swing.*; public class club{ public void vascula(){ int pers=0; double pesact,pesant,prom,sumpes=0.0; while(pers<=5){ for(int x=1;x<=10;x++){ pesact=Float.valueOf(JOptionPane.showInputDialog("cuanto peso en la pesact=Float.valueOf(JOptionPane.showInputDialog("cuanto bascula?")); sumpes+=pesact; } prom=sumpes/10; pesant=Integer.parseInt(JOptionPane.showInputDialog("cuanto peso la ultima vez que se reunieron??")); if(prom
37
Portafolio de Evidencias
Principal: import javax.swing.*; public class llamaclub{ public static void main (String arg[]){ club obj=new club(); obj.vascula(); } }
Pantallas:
38
Portafolio de Evidencias
12) Se desea obtener el promedio de g grupos que están en un mismo año escolar; siendo que cada grupo puede tener n alumnos que cada alumno puede llevar m materias y que en todas las materias se promedian tres calificaciones para obtener el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de cada alumno. Pseudocódigo: import javax.swing.*; public class grupos{ public void calcula(){ int materias,x,cal1,cal2,cal3,promalum=0,cantalum=0,sumalum=0,promgrup=0,cg= 0,sumg=0,cantmat=0; char respA='s', resp='s'; while(resp=='s'){ do{ materias=Integer.parseInt(JOptionPane.showInputDialog("ingresa el numero de materias=Integer.parseInt(JOptionPane.showInputDialog("ingresa materias")); for(x=1;x<=materias;x++){ cantmat++; cal1=Integer.parseInt(JOptionPane.showInputDialog("intrpduce tu primera cal1=Integer.parseInt(JOptionPane.showInputDialog("intrpduce calificacion")); cal2=Integer.parseInt(JOptionPane.showInputDialog("intrpduce tu segunda cal2=Integer.parseInt(JOptionPane.showInputDialog("intrpduce calificacion")); cal3=Integer.parseInt(JOptionPane.showInputDialog("introduce la tercera cal3=Integer.parseInt(JOptionPane.showInputDialog("introduce calificacion")); promalum=(cal1+cal2+cal3)/3; JOptionPane.showMessageDialog(null,"tu promedio es de: "+promalum); } String R=JOptionPane.showInputDialo R=JOptionPane.showInputDialog("existen g("existen mas alumnos\n[S/N]"); respA=R.charAt(0); }while(respA=='s'); cantalum++; sumalum+=promalum; promgrup=sumalum/cantalum; JOptionPane.showMessageDialog(null,"el promedio grupal es; "+promgrup); cg++; String G=JOptionPane.showInputDialog("HAY MAS GRUPOS? \n[S/N]"); resp=G.charAt(0); } 39
Portafolio de Evidencias } }
Principal: import javax.swing.*; public class llamagrupo{ public static void main(String arg[]){ grupos obj=new grupos(); obj.calcula(); } }
Pantallas:
40
Portafolio de Evidencias Hacer un programa que permite escoger de un conjunto de números cuantos son menores que 15 y cuántos son mayores de 50 están comprendidos dentro de 25 y 50 el programa termina con el ingreso de un numero negativo.
Pseudocódigo: import javax.swing.*; public class conjunto{ public void calnum(){ int num,c15=0,c50=0,c250=0; num=Integer.parseInt(JOptionPane.showInputDialog("Da num=Integer.parseInt(JOptionPane.show InputDialog("Da el numero")); while(num>=0) { if(num<15) c15++; else if(num>50) c50++; else if(num>=25 && num<=50) c250++; num=Integer.parseInt(JOptionPane.showInputDialog("Da num=Integer.parseInt(JOptionPane.show InputDialog("Da el numero"));
} JOptionPane.showMessageDialog(null,"El total de numeros JOptionPane.showMessageDialog(null,"El menores que 15 son: "+c15+"\n El total de numeros mayores que 50 son: "+c50+"\n El total de numeros entre 25 y 50 son: "+c250); }
41
Portafolio de Evidencias }
Principal: import javax.swing.*; public class llamaconjunto{ public static void main(String arg[]){ conjunto obj=new conjunto(); obj.calnum(); }
}
Pantallas:
42
Portafolio de Evidencias 1) Realizar un programa programa que evalué los resultados de la siguiente siguiente función matemáticas donde X varia de 0,20 mostrar el valor de X de la función F(x)=3*X+X/2-X^2
Pseudocódigo: import javax.swing.*; public class funcion{ public void calfun(){ int x; double f; x=0; while(x<=20){ f=3*x+x/2-Math.pow(x,2); JOptionPane.showMessageDialog(null,"f("+x+")=(3*"+x+")+("+x+"/2)+("+ x+"^2)="+f); x++; } } }
Principal:
import javax.swing.*; public class llamafuncion{ public static void main(String arg[]){ funcion obj=new funcion(); obj. calfun(); } } Pantalla:
43
Portafolio de Evidencias
1) Dada la tarifa de pago por hora de $50 de un trabajador leer sus horas
trabajadas y calcular cuántos trabajadores reciben un salario mayor o igual a $500 calcular el promedio de salario de todos los trabajadores.
Pseudocódigo: import javax.swing.*; public class trabajador{ public void caltra_calprom(){ int horas,prom=0,sumsal=0,ct=0,sal,c500=0; char Res='s'; while(Res=='s') { ct++; horas=Integer.parseInt(JOptionPane.showInputDialog("Da las horas trabajadas")); sal=horas*50; if(sal>=500) { c500++; } sumsal+=sal; String R=JOptionPane.showInputDialog("¿hay mas trabajadores? [S/N]"); Res=R.charAt(0); prom=sumsal/ct; } JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageDialo g(null,"El numero de trabajadores que reciben un salario mayor o igual que 500 es: "+c500+" \n Y el promedio del salario de todos los trabajadores es de: "+prom); } }
44
Portafolio de Evidencias
Programa principal: import javax.swin javax.swing.*; g.*; public class llamatrabaja llamatrabajador{ dor{ public static void main(String arg[]){ trabajador obj=new trabajador(); obj.caltra_calprom();
} }
Pantallas:
45
Portafolio de Evidencias 5.-Leer n y calcular calcular la sumatoria de los números 2, 4, 6, 6, 8,…n.
Pseudocódigo: import javax.swing.*; public class sumatoria{ public int calsum(){ int n,sum=0,x=0; n=Integer.parseInt(JOptionPane.showInputDialog("Da n=Integer.parseInt(JOptionPane.show InputDialog("Da el numero")); while(x<=n); { x=x+2; sum=sum+x; } return sum; } public void imprime (int sum){ JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageD ialog(null,"El valor de la sumatoria es: "+sum); } }
Principal:
import javax.swing.*; public class llamasumatoria{ public static void main(String arg[]){ sumatoria obj=new sumatoria(); int sum=obj.calsum(); obj.imprime(sum); } } Pantallas:
46
Portafolio de Evidencias
Hacer un programa que permita escoger de un conjunto de n números cuantos son menores que 15, cuántos son mayores que 50 y cuantos están comprendidos entre 25 y 50, el programa termina con el ingreso de un número negativo. Pseudocódigo: import javax.swing.*; public class conjunto{ public void imprimir (){ int num, c15=0, c50=0, c25_50=0; do{ num=Integer.parseInt(JOptionPane.showInputDialog("Introduce
el
número")); if (num<15) c15++; else if (num>50) c50++; else if(num>25 && num<=50) c25_50++; } while (num>=0); JOptionPane.showMessageDialog(null, "Menores de 15: " + c15 + "\nMayores que 50: " + c50 + "\nEntre 25 y 50: " + c25_50); } } import javax.swing.*; public class llamaconjunto{ public static void main (String arg[]){ 47
Portafolio de Evidencias conjunto obj=new conjunto (); obj.imprimir(); } }
Pantallas:
48
Portafolio de Evidencias
La presión, volumen y temperatura de una masa de aire se relacionan por la fórmula: masa=
presión * volumen
.
0.37 * (temperatura + 460) Calcular el promedio de masa de aire de los neumáticos de
vehículos que
n
están en compostura en un servicio de alineación y balanceo. Los vehículos pueden ser motocicletas o automóviles.
Pseudocódigo: import javax.swing.*; public class calmasa{ public double calcula(){ int opc, cn=0; double pres, vol, temp, prom, sum=0.0, masa, total; t otal; char resp='s'; do{ pres=Integer.parseInt(JOptionPane.showInputDialog("Introduce pres=Integer.parseInt(JOptionPane.show InputDialog("Introduce la presión")); vol=Integer.parseInt(JOptionPane.showInputDialog("Introduce vol=Integer.parseInt(JOptionPane.show InputDialog("Introduce el volumen")); temp=Integer.parseInt(JOptionPane.showInputDialog("Introduce temp=Integer.parseInt(JOptionPane.show InputDialog("Introduce la temperatura")); opc=Integer.parseInt(JOptionPane.showInputDialog("Menu\n1)Auto \n2)Motocicleta")); masa=(pres*vol)/0.37*(temp+460); if(opc==1){ total=masa*4; cn=cn+4; }else{ total=masa*2; cn=cn+2; } sum=sum+total; String R=JOptionPane.showInputDialog("Hay más vehículos"); resp=R.charAt(0); }while(resp=='s'); prom=sum/cn; return prom; } public void imprime(double prom){ JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageDialo g(null,"El promedio es:"+prom); } 49
Portafolio de Evidencias }
Principal:
import javax.swing.*; public class llamacalmasa{ public static void main(String arg[]){ calmasa obj=new calmasa(); double prom=obj.calcula(); obj.imprime(prom); } }
Pantallas:
50
Portafolio de Evidencias
En un supermercado, una ama de casa pone en su carrito los artículos que va tomando de los estantes. La señora quiere asegurarse de que el cajero le cobre bien lo que ella ha comprado, por lo que cada vez que toma un artículo anota su precio junto con la cantidad de artículos iguales que ha tomado y determina cuánto dinero gastara en ese artículo; a esto le suma lo que ira gastando en los demás artículos, hasta que decide que ya tomo todo lo que necesitaba. Ayúdale a esta señora a obtener el total de sus compras.
Pseudocódigo: import javax.swing.*; public class supermercado{ public void calcula(){ int art=0, precio, cantidad, total, sum=0, s um=0, sumu=0; char resp='s'; do{ art++; cantidad=Integer.parseInt(JOptionPane.showInputDialog("Introduce la cantidad=Integer.parseInt(JOptionPane.showInputDialog("Introduce cantidad de artículos")); precio=Integer.parseInt(JOptionPane.showInputDialog("Introduce el precio=Integer.parseInt(JOptionPane.showInputDialog("Introduce precio")); total=cantidad*precio; sumu+=cantidad; sum+=total; String R=JOptionPane.showInputDialog("Hay otro artículo? \n[S/N]"); resp=R.charAt(0); }while(resp=='s'); JOptionPane.showMessageDialog(null,"El JOptionPane.showMessageD ialog(null,"El pago total por "+art+" artículos con un total de"+sumu+" unidades, es de $"+sum); } }
Principal:
import javax.swing.*; public class llamasupermercado{ public static void main(String arg[]){ supermercado obj=new supermercado(); obj.calcula(); } }
51
Portafolio de Evidencias
Pantallas:
52
Portafolio de Evidencias Un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. asi entos. Los descuentos se hacen tomando en cuenta el siguiente cuadro:
Edad
Descuento
Categoría 1
5 - 14
35 %
Categoría 2
15 - 19
25 %
Categoría 3
20 - 45
Categoría 4
46 - 65
25 %
Categoría 5
66 en adelante
35 %
10 %
Pseudocódigo: import javax.swing.*; public class teatro{ public void calcula(){ int prebol, edad, sum1=0,sum2=0,sum3=0,sum4=0,sum5=0, perdida; char resp='s'; do{ prebol=Integer.parseInt(JOptionPane.showInputDialog("Introduce el prebol=Integer.parseInt(JOptionPane.showInputDialog("Introduce precio del boleto")); edad=Integer.parseInt(JOptionPane.showInputDialog("Introduce la edad=Integer.parseInt(JOptionPane.showInputDialog("Introduce edad")); if(edad>=5 && edad<=14){ perdida=prebol*35/100; sum1+=perdida; }else{ if(edad>=15 && edad<=19){ perdida=prebol*25/100; sum2+=perdida; }else{ if(edad>=20 && edad<=45){ 53
Portafolio de Evidencias perdida=prebol*10/100; sum3+=perdida; }else{ if(edad>=46 && edad<=65){ perdida=prebol*25/100; sum4+=perdida; }else{ perdida=prebol*35/100; sum5+=perdida; } } } } String R=JOptionPane.showInputDialog("Hay mas clientes? \n[S/N]"); resp=R.charAt(0); }while(resp=='s'); JOptionPane.showMessageDialog(null,"La JOptionPane.showMessageD ialog(null,"La perdidad de la 1 es $"+sum1+"\nLa perdidad de la 2 es $"+sum2+"\nLa perdidad de la 3 es $"+sum3+"\nLa perdidad de la 4 es $"+sum4+"\nLa perdidad de la 5 es $"+sum5); }
Principal: import javax.swing.*; public class llamateatro{ public static void main(String arg[]){ teatro obj=new teatro(); obj.calcula(); } }
Pantallas:
54
Portafolio de Evidencias Determinar la cantidad semanal de dinero que recibirá cada uno de los
n
obreros de una empresa. Se sabe que cuando las horas que trabajo un obrero exceden de 40, el resto se convierte en horas hor as extras que se pagan al doble de una hora normal, cuando no exceden de 8; cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple.
Pseudocódigo: import javax.swing.*; public class puas{ public void calcula(){ int pagohrs, hrs, hrsext, hrsext2, liquido; char resp='s'; do{ pagohrs=Integer.parseInt(JOptionPane.showInputDialog("Introduce el pagohrs=Integer.parseInt(JOptionPane.showInputDialog("Introduce pago por horas")); hrs=Integer.parseInt(JOptionPane.showInputDialog("Introduce las hrs=Integer.parseInt(JOptionPane.showInputDialog("Introduce horas")); hrsext=hrs-40; hrsext2=hrsext-8; liquido=(40*pagohrs)+(hrsext*(pagohrs*2))+(hrsext2*(pagohrs*3)); JOptionPane.showMessageDialog(null,"tu JOptionPane.showMessageDia log(null,"tu liquido es $"+liquido); String R=JOptionPane.showInputDialog("Hay mas obreros? \n[S/N]"); resp=R.charAt(0); }while(resp=='s'); } }
Principal:
import javax.swing.*; public class llamapuas{ public static void main(String arg[]){ puas obj=new puas(); obj.calcula(); } }
55
Portafolio de Evidencias
Pantallas:
56
Portafolio de Evidencias En una granja se requiere saber alguna información para determinar el precio de venta por cada kilo de huevo. Es importante determinar el promedio de calidad de las
gallinas que hay en la granja. La calidad de cada gallina se
n
obtiene según la fórmula:
Calidad = peso de la gallina * altura de la gallina Número de huevos que pone
Finalmente para fijar el precio del kilo de huevo, se s e toma como base la siguiente tabla: Promedio total de de calidad peso por kilo de huevo mayor o igual que 15
1.2 * promedio de calidad
mayor que 8 y menor que 15
1.00 * promedio de
calidad menor o igual que 8
0.80 * promedio de
calidad
Pseudocódigo: import javax.swing.*; public class gallina{ public void calcula(){ char res='S'; double p,alt,nh,cal=0,prom,ph=0,pc=0; int n=0; do{ p=Double.valueOf(JOptionPane.showInputDialog("Introduce p=Double.valueOf(JOptionPane.sho wInputDialog("Introduce el peso de la gallina:Kg ")); alt=Double.valueOf(JOptionPane.showInputDialog("Introduce alt=Double.valueOf(JOptionPane .showInputDialog("Introduce la altura de la gallina:Cm ")); nh=Double.valueOf(JOptionPane.showInputDialog("Introduce nh=Double.valueOf(JOptionPane .showInputDialog("Introduce la cantidad de huevos : ")); cal+=((p * alt)/nh); n=n+1; String r= JOptionPane.showInputDialog("Hay mas datos [S/N]"); res=r.charAt(0); }while(res=='s'); 57
Portafolio de Evidencias prom=cal/n; if (prom>=15) ph=1.2*prom; else if(prom>8 && prom<15) ph=1.0*prom; else if (prom<=8) ph=0.80*prom; JOptionPane.showMessageDialog(null, JOptionPane.showMessageDi alog(null, "El precio del kilo de huevo es de:$ " +ph ); } }
Principal:
Import javax.swing.*; public class llamagallina{ public static void main(String arg[]){ gallina obj=new gallina(); obj.calcula(); } }
Pantallas:
58
Portafolio de Evidencias
Con la investigación sobre el funcionamiento y aplicación de las estructuras pudimos diseñar programas en donde se utilicen dichas estructuras de repetición y selección. Claro siempre empezando con un grado de dificulta bajo, y así aumentando, el profesor nos explico cada una de sus partes y cada una de sus respecticos funciones, sobre todo teníamos que tener un conocimiento lógico respecto al enunciado, como nos lo decía nuestro profesor “hay que razonar un poco”, eso fue los que no llevo a la realización de los programas con más facilidad y a desarrollar nuestras habilidades y como siempre a trabajar tra bajar en equipo .
59