Está en la página 1de 12

Trabajo de Introduccin a la Computacin

For While- DoWhile

Alumno:
Daniel Vlchez Guivar

Facultad:
Ingeniera de Sistemas

Profesor:
Anaximandro Fernndez Guerrero

Ejercicios For:
1. Disee un programa en el cual se permita calcular 5 temperaturas en grados kelvin ,
ingresando 5 temperaturas en grados Celsius.
package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class for1 {
public static void main(String[] args) {
double k,c;
JTextArea gradoskelvin = new JTextArea();
for (int i=1;i<=5;i++){
c=Double.parseDouble(JOptionPane.showInputDialog("Ingrese la
temperatura en grados celsius"));
k=c+273.15;
gradoskelvin.append(i +".- "+ c + "C
convertidos a grados
kelvin son : " + k + "K"+"\n" );
}
JOptionPane.showMessageDialog(null,gradoskelvin);
}
}

2. Disear un programa en el cual te permita ingresar la cantidad de nmeros que se desea


calcular, luego ingresar cada nmero y obtener el promedio de ellos.
package usmp;
import javax.swing.JOptionPane;
public class for2 {
public static void main(String[] args) {
int n,n2,suma=0;
double prom;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la cantidad
de numeros que se desean calcular "));
for (int i=1;i<=n;i++){
n2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el
numero " + i));
suma=n2+suma;
}
prom=suma/n;
JOptionPane.showMessageDialog(null,"El promedio de los " +n+"
numeros
es " + prom);
}}

3. Disee un programa en el cual se permita calcular la conversin de minutos a segundos,


ingresando la cantidad de cuantas veces se desea hacer y los minutos.
package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class for3 {
public static void main(String[] args) {
int n;
double m,s;
JTextArea conversion = new JTextArea();
n=Integer.parseInt(JOptionPane.showInputDialog("Cuantas
conversiones desea realizar ?"));
for (int i=1;i<=n;i++){
m=Integer.parseInt(JOptionPane.showInputDialog("ingrese la
cantidad de minutos"));
s=m*60;
conversion.append(i +".-

"+ m + "

minutos son :

" + s + "

segundos "+"\n" );
}

JOptionPane.showMessageDialog(null,conversion);
}
}

4. Disee un programa que muestre los nmeros primos que existen entre el 2 y el numero
que se va ingresar.

package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class for4 {
public static void main(String[] args) {
int i=0, a=0, b=0,n;
JTextArea primos = new JTextArea();
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero
hasta el que se desea hallar los primos "));
for (i=1;i<=n;i++)
{
b=0;
for (a=1;a<101;a++)
{
if (i%a==0)
b++;
}
if (b==2)
primos.append(i+"\n");
}
JOptionPane.showMessageDialog(null,primos);
}}

5. En un banco se cobra 10 % inters anual del prstamo, imprimir cuanto deber pagar el
cliente mensualmente, anualmente y el total ingresando la cantidad del prstamo y la
cantidad de meses.
package usmp;
import javax.swing.JOptionPane;
public class for5 {
public static void main(String[] args) {
double prestamo,mensual,anual;
int aos,meses;
aos=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la
cantidad de aos "));
prestamo=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el
prestamo "));
for (int i=1;i<=aos;i++) {
prestamo = prestamo * 1.10;
}
meses=aos*12;
mensual=prestamo/meses;
anual=prestamo/aos;
JOptionPane.showMessageDialog(null,"Debera pagar : " +"\n\n" +
"Total : " +prestamo +"\n" + "Anualmente : " + anual + "\n"
+"Mensualmente : " + mensual);

}
}

Ejercicios While:
6. Realizar un programa en java en el cual ingresara un nmero y mostrara el factorial
de ese nmero, cuando el nmero sea mayor a 1.
package usmp;
import javax.swing.JOptionPane;
public class while1 {
public static void main(String[] args) {
int n;
double fac=1;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero
que desea que se muestre su factorial"));
while(n>1){
fac*=n--;
}
JOptionPane.showMessageDialog(null," el factorial es : " + fac
}
}
7. Mostrar los mltiplos de 4 a partir de 16 hasta 80.
package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class while2 {
public static void main(String[] args) {
int n=16;
JTextArea multiplos = new JTextArea();
while(n<80){
n=n+4;
multiplos.append(n + "\n");
}
JOptionPane.showMessageDialog(null,multiplos

}
}

);

);

8. Ingresar un nmero de 4 dgitos e imprimir la suma de los dgitos.


package usmp;
import javax.swing.JOptionPane;
public class while3 {
public static void main(String[] args) {
int n,num,suma = 0;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero
de 4 digitos"));
if(n>=1000){
num=n;
while(n!=0){
suma=suma + (n%10);
n=n/10;
}
JOptionPane.showMessageDialog(null,"la suma de los digitos de : "+num+"
es : " + suma);
}
else
JOptionPane.showMessageDialog(null,"Error: Ingrese un numero de 4
digitos");
}}

9. Ingresar dos nmeros y mostrar los nmeros que existen entre ellos
package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class while4 {
public static void main(String[] args) {
JTextArea numeros = new JTextArea();
int n1,n2;
n1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero
inicial"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero
final"));
while (n1<n2){
n1++;
numeros.append(n1 + "\n");
}
JOptionPane.showMessageDialog(null,numeros);
}
}

10. Una compaa de seguros tiene contratados a n vendedores. Cada uno hace dos
ventas a la semana. un vendedor recibe un sueldo base semanales y un 20% extra
por comisiones de sus ventas. El gerente de la compaa desea saber cunto
dinero obtendr en la semana cada vendedor por concepto de comisiones y
cunto tomando en cuenta su sueldo base y sus comisiones. El programa debe de
mostrar una ventana de confirmacin si se desea continuar o no despus de haber
ingresado todos los datos de cada trabajador (nombre, ventas, sueldo base).
package usmp;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class while5 {
public static void main(String[] args) {
int v1,v2,sb,seleccion;
double sueldo,comision;
String nombre,fp,ec,tipo = null;
JTextArea vendedores=new JTextArea();
boolean confir = true;
while(confir){
nombre=JOptionPane.showInputDialog("Ingrese el nombre del vendedor
nombre");
sb=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el sueldo
base del trabajador"));
v1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la primera
venta "));
v2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la segunda
venta "));
comision= v1*0.20 + v2*0.20;
sueldo=sb+comision;
vendedores.append( nombre + " recibe un sueldo de : "+ sueldo + " y una
comision de :" + comision+"\n" );
seleccion = JOptionPane.showConfirmDialog(null,"Desea
Continuar ?","Confirme",JOptionPane.YES_NO_OPTION);
confir = (seleccion == JOptionPane.YES_OPTION);
}
JOptionPane.showMessageDialog(null,vendedores);
}
}

Ejercicios Do-While:
11.

Disear un programa donde te permita ingresar una cantidad n de nmeros, obtener su


promedio y la suma de ellos .El programa se detendr cuando el usuario ingrese el valor 0

package usmp;
import javax.swing.JOptionPane;
public class dowhile1 {
public static void main(String[] args) {
int n,suma=0,cont = 0;
double prom;
do {
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un
numero"));
suma+=n;
if(n!=0)
cont++;
}while(n!=0);
prom=suma/cont;
JOptionPane.showMessageDialog(null,"la suma es :" + suma +
"\n"+"el promedio es :" + prom);
}
}
12.

Disear un programa donde permita ingresar cantidades y el precio de productos; el


programa se debe tener cuando la cantidad tome un valor igual a 0.

package usmp;
import javax.swing.JOptionPane;
public class dowhile2 {
public static void main(String[] args) {
int cant,precio,total=0;
do {
do {
cant=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la cantidad
vendida :"));
if (cant<0)
JOptionPane.showMessageDialog(null," La Cantidad no es valida");
}while(cant<0);
if (cant>0) {
precio=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el precio
del producto :"));
do {
if (precio<0)
JOptionPane.showMessageDialog(null," El precio no es
valido");
else total+=cant*precio;
}while(precio<0);
}
}while(cant!=0);
JOptionPane.showMessageDialog(null,"El total es: " + total);
}}

13.

Disear un programa donde permita la cantidad de nmeros y te muestre la serie cuadra


impar de la forma 1 9 25,.

package usmp;
import javax.swing.JTextArea;
import javax.swing.JOptionPane;
public class dowhile3 {
public static void main(String[] args) {
int n,m,s=1;
JTextArea serieimpar=new JTextArea();
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la cantidad
de numeros :"));
do{
m=(2*s-1)*(2*s-1);
s++;
serieimpar.append(m + " " );
}
while(s<=n);

JOptionPane.showMessageDialog(null,serieimpar);
}}
14.

Ingresar una cantidad de nmeros y saber cuntos nmeros son positivos y


negativos.

package usmp;
import javax.swing.JOptionPane;
public class dowhile4 {
public static void main(String[] args) {
int n,pos = 0,neg = 0;
do{
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero :"));
if(n>0)
pos++;
if(n<0)
neg++;
}while(n!=0);
JOptionPane.showMessageDialog(null,"Numeros positivos : "+pos
+"\n\n"+ " Numeros negativos : "+ neg);
}
}

15.

Ingresar una cantidad de nmeros y saber si esos nmeros son capicas el


programa se detendr cuando se ingrese el valor 0.

package usmp;
import javax.swing.JTextArea;
import javax.swing.JOptionPane;
public class dowhile5 {
public static void main(String[] args) {
int n, cap=0,a, d;
String si = "Es capicua",no="No es capicua";
JTextArea capicua=new JTextArea();
do{
n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero
:"));
a=n;
while(a>0)
{
d=a%10;
cap=cap*10+d;
a=a/10;
}
if(n!=0){
if(n==cap)
capicua.append(n +" " +si +"\n" );
else
capicua.append(n +" " + no +"\n" );
}
}while(n!=0);
JOptionPane.showMessageDialog(null,capicua);
}}

Ejercicio que dejo en clase:


package usmp;
import javax.swing.*;
public class ejercicioparacasa {
public static void main(String []args){
int hijos,ht,vh,x=1,seleccion;
double boni = 0,sueldo,descuento,boni1 = 0,boni2 = 0,boni3= 0;
String nombre,ec,tipo;
JTextArea nuevo=new JTextArea();
boolean confir = true;
while(confir){
nombre=JOptionPane.showInputDialog("Ingrese nombre");
ht=Integer.parseInt(JOptionPane.showInputDialog("Ingrese las horas
trabajadas"));
vh=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor
de la hora"));
JOptionPane.showMessageDialog(null,"Porfavor Ingrese las palabras:
casado , soltero o viudo ");
ec=JOptionPane.showInputDialog("Ingrese el estado civil:
casado,soltero o viudo");
switch(ec){
case "casado":
boni1=0.10*vh*ht;break;
case "soltero":
boni1=0.04*vh*ht;break;
case "viudo":
boni1=0.07*vh*ht;break;
}
boni=boni + boni1;
JOptionPane.showMessageDialog(null,"Porfavor Ingrese la cantidad de
hijos 1-3");
hijos=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la
cantidad de hijos"));
if(hijos>1 && hijos<3){
boni2=0.06*vh*ht;
}
else
boni2=0;
boni=boni +boni2;
JOptionPane.showMessageDialog(null," Porfavor Ingrese las palabras:
contratado o nombrado ");
tipo=JOptionPane.showInputDialog("Ingrese el tipo : contrado o
nombrado");
switch(tipo){
case "contratado":
boni3=0.05*vh*ht;break;

case "nombrado":
boni3=0.12*vh*ht;break;
}
boni=boni + boni3;
descuento=0.10*ht*vh;
sueldo=ht*vh-descuento+boni;
nuevo.append(nombre + "
recibe un sueldo de

"+sueldo

+"\n" );

seleccion = JOptionPane.showConfirmDialog(null,"Desea Continuar


?","Confirme",JOptionPane.YES_NO_OPTION);
confir = (seleccion == JOptionPane.YES_OPTION);
}
JOptionPane.showMessageDialog(null,nuevo);

}}