UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN Carrera: Docencia en Informática Modalidad Presencial Tercer Semestre
PROGRAMACIÓN II
EJERCICIOS RESUELTOS DE JAVA EN NETNEANS Docente: Ing. Wilma Gavilanes. Estudiante: Zapata Suarez Jhoselyn Ayneth AMBATO – ECUADOR Período: Febrero 2014-Agosto.
ENUNCIADO Utilizando el lenguaje de programación orientado a objetos JAVA realizar una suma ingresando dos números enteros desde teclado ANÁLISIS Este programa nos permite relizar la suma ded dos números ingresados por teclado mediante la función
JOptionPane.showInputDialog y luego la
convertimos en dato en tero con la función Integer.parseInt(); y realizamos la respectiva
suma
e
imprimimos
la
respuesta
con
la
función
JOptionPane.showMessageDialog(null," " + ); CODIFICACIÓN
package sumadenumeros1; import javax.swing.JOptionPane; /** * * @author Lab03-PC02 */ public class Sumadenumeros1 {
Nombre del programa o proyecto Librería
/** * @param args the command line arguments */ public static void main(String[] args) Inicio del programa { String dato1, dato2; Declaración de variables de tipo int num1, num2, num3; caracter dato1=JOptionPane.showInputDialog("Ingrese el dato 1..: "); Ingresamos el 1er num1=Integer.parseInt(dato1); numero Ingresamos el 2do dato2=JOptionPane.showInputDialog("Ingrese el dato 2..: "); numero num2=Integer.parseInt(dato2); Operación para hacer la suma num3=num1+num2; JOptionPane.showMessageDialog(null,"la suma es..: " + num3); // TODO code application logic here Visualizamos el } resultado }
CORRIDO
ENUNCIADO: Diseñar un programa en JAVA que me permita resolver las operaciones básicas. ANÁLISIS: Codificaremos un programa que realice las operaciones básicas (suma, resta, multiplicación, división), para lo cual en la suma y multiplicación no tendremos problema ya no importa si el primer término o el segundo término sea mayor o menor, a diferencia de la resta y la división que el primer término deberá ser mayor que el segundo, para esto utilizaremos un controlador en estos dos casos; y un suitch para una mejor presentación. CÓDIFICACION
package operacionesbasicas; import javax.swing.JOptionPane; public class Operacionesbasicas { public static void main(String[] args) { String d1,d2,d3,d4,d5; int op,n,m,a,b,c,op1;
Importación de librerías del programa Declaración de variables
Inicio del ciclo do do { d1=JOptionPane.showInputDialog("**OPERACIONES BASICAS**"+"\n 1.-SUMA"+"\n 2.RESTA"+"\n 3.-MULTIPLICACION"+"\n 4.-DIVISION"+"\n 5.-SALIR"); Impresión del Menú de op=Integer.parseInt(d1); Opciones switch(op) Inicio del switc { Case 1 en este case case 1: d2=JOptionPane.showInputDialog("SUMA\n"+"INGRESE EL PRIMER DATO : "); esta el proceso para la suma con n=Integer.parseInt(d2); impresiones, proceso d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); y una ultima m=Integer.parseInt(d3); impresión para el c=n+m; resultado. JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; Case 1 en este case case 2: esta el proceso para la d2=JOptionPane.showInputDialog("RESTA\n"+"INGRESE EL PRIMER DATO : "); resta con impresiones, n=Integer.parseInt(d2); proceso y una ultima do impresión para el { resultado. Con un d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); control de ingreso m=Integer.parseInt(d3); }while(n>m); c=n-m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; case 3: Case 1 en este case d2=JOptionPane.showInputDialog("MULTIPLICACION esta el proceso para la \n"+"INGRESE EL PRIMER DATO : "); multiplicación con n=Integer.parseInt(d2); impresiones, proceso d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); y una ultima m=Integer.parseInt(d3); impresión para el c=n*m; resultado JOptionPane.showMessageDialog(null,"RESPUESTA : "+c); break; Case 1 en este case 4: case esta el d2=JOptionPane.showInputDialog("DIVICION\n"+"INGRESE EL PRIMER DATO : "); proceso para la n=Integer.parseInt(d2); división con do impresiones, { proceso y una d3=JOptionPane.showInputDialog("INGRESE EL SEGUNDO DATO : "); ultima impresión m=Integer.parseInt(d3); para el resultado. }while(n>m); Con un control c=n/m; JOptionPane.showMessageDialog(null,"RESPUESTA : "+c);
break; }
Fin del ciclo do while d5=JOptionPane.showInputDialog("DESEA REPETIR 1 O 0 PARA SALIR: "); op1=Integer.parseInt(d5); }while(op1==1); } Llaves de finalizaci贸n del programa }
CORRIDO
ENUNCIADO Diseñe un programa que me permita ingresar los datos correspondientes para obtener el área y el perímetro de las 4 figuras básicas. ANÁLISIS Para calcular el área del cuadrado solo debo ingresar un lado y multiplicarlo (área=l*l)
mientras
que
para
el
perímetro
lo
sumo
cuatro
veces
(perímetro=l+l+l+l). Para el rectángulo, calcular el área es muy simple, solo debo multiplicar la base por su altura, para el perímetro debo en cambio sumar todos sus cuatro lados. Para calcular el área del triángulo debemos multiplicar la base por su altura dividido para 2, para calcular el perímetro debemos sumar todos sus tres lados. Ahora para el círculo solo hace falta ingresar el radio (el perímetro es el doble del radio), su perímetro se calcula multiplicando el diámetro por pi (PI 3.14159265) y el área se encuentra multiplicando pi por radio al cuadrado. DOCUMENTACIÓN package fig_bas; import javax.swing.JOptionPane; Importación de librerías import fig_bas.figuras; del programa public class Fig_bas { public static void main(String[] args) Inicio del programa principal { String opc; Declaración de variables int menu, cua, rect, circ, trian; opc=JOptionPane.showInputDialog("FIGURAS BÁSICAS \n\n1.- Cuadrado \n2.- Rectángulo \n3.- Círculo \n4.- Triángulo \n5.- Salir \n\nQue desea realizar"); menu=Integer.parseInt(opc); Inicio del menú de opciones switch(menu) { case 1: Case 1: para encontrar el perímetro y cua=figuras.cuadrado(); el área de un cuadrado break; case 2: Case 2: para encontrar el perímetro y rect=figuras.rectandulo(); el área de un rectángulo break;
Menú de opciones
case 3: circ=figuras.circulo(); break; case 4: trian=figuras.triangulo(); break; case 5: System.exit(0); break;
Case 3: para encontrar el perímetro y el área de un círculo Case 4: para encontrar el perímetro y el área de un triángulo Case 5: para l salir del menú
} } } package fig_bas; import javax.swing.JOptionPane; Inicio para crear public class figuras clases. { public static int cuadrado() { String lado; int l, per, ar; lado=JOptionPane.showInputDialog("Ingrese el lado del cuadrado: "); l=Integer.parseInt(lado); per=l*4; ar=l*l; JOptionPane.showMessageDialog(null, "PERIMETRO DEL CUADRADO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL CUADRADO= " + ar); return 0; } public static int rectandulo() { String lado1, lado2; int l1, l2, ar, per; lado1=JOptionPane.showInputDialog("Ingrese la base del rectángulo"); l1=Integer.parseInt(lado1); lado2=JOptionPane.showInputDialog("Ingrese la altura del rectángulo"); l2=Integer.parseInt(lado2); per=l1*2+l2*2; ar=l1*l2;
Clase (subprograma) para calcular el perímetro y el área de un cuadrado.
Clase (subprograma) para calcular el perímetro y el área de un rectángulo.
JOptionPane.showMessageDialog(null, "PERIMETRO DEL RECTÁNGULO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL RECTÁNGULO= " + ar); return 0; } public static int circulo() { String radio; int r; double pi, ar, per; radio=JOptionPane.showInputDialog("Ingrese el radio del círculo"); r=Integer.parseInt(radio); pi=3.1416; ar=pi*r*r; per=2*pi*r; JOptionPane.showMessageDialog(null, "ÁREAL DEL CÍRCULO= " + ar); JOptionPane.showMessageDialog(null, "PERIMETRO DEL CÍRCULO= " + per); return 0; } public static int triangulo() { String lado1, lado2, lado3; int l1, l2, l3, per, ar; lado1=JOptionPane.showInputDialog("Ingrese la base del triángulo"); l1=Integer.parseInt(lado1); lado2=JOptionPane.showInputDialog("Ingrese la altura del triángulo"); l2=Integer.parseInt(lado2); lado3=JOptionPane.showInputDialog("Ingrese el lado restante del triángulo"); l3=Integer.parseInt(lado3); per=l1+l2+l3; ar=(l1*l2)/2; JOptionPane.showMessageDialog(null, "PERIMETRO DEL TRIÁNGULO= " + per); JOptionPane.showMessageDialog(null, "ÁREA DEL TRIÁNGULO= " + ar); return 0;
Clase (subprograma) para calcular el perímetro y el área de un círculo.
Clase (subprograma) para calcular el perímetro y el área de un triángulo.
} } CORRIDO
ENUNCIADO Diseñe un programa que me permita realizar la potenciación y radicación. ANALISIS En este programa podemos realizar la potenciación y la radicación; para la potenciación debemos declarar los variables de tipo carácter y de tipo enteras, luego ingresamos la base y el exponente por teclado; por ultimo realizamos el proceso de Math.pow(base, expo); para que se pueda realizar la potenciación, por ultimo visualizamos la respuesta. Para la radicación primero ingresamos un numero para poder realizar la radicación, luego ingresamos la formula Math.sqrt(radicando); para que se pueda realizar la radicación, por ultimo visualizamos la respuesta. DOCUMENTACION
package poteyradi; Nombre del programa o proyecto Librerí import javax.swing.JOptionPane; public class PoteyRadi { a public static void main(String[] args) Inicio del { programa Declaración de variables de tipo String dato1, dato2; double base, expo, resp; Declaración de variables de tipo JOptionPane.showMessageDialog(null,"Potenciacion"); Ingresamos la base dato1=JOptionPane.showInputDialog("Ingrese una base: "); de la potenciación base=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Ingrese el exponente: "); Ingresamos el exponente expo=Integer.parseInt(dato2); Formula o proceso para poder realizar la potenciación resp=Math.pow(base, expo); JOptionPane.showMessageDialog(null, "El resultado es: "+resp); Visualizamos el resultado JOptionPane.showMessageDialog(null,"Radicación"); double radicando, raiz; Ingresamos el dato1=JOptionPane.showInputDialog("Ingrese un indice: "); índice de la raíz radicando=Integer.parseInt(dato1); raiz=Math.sqrt(radicando); Formula o proceso para poder realizar la radicación JOptionPane.showConfirmDialog(null,"La raiz es: "+raiz); Visualizamos el resultado
}} CORRIDO
ENUNCIADO Diseñe un programa que me permita ingresar un número entero desde teclado y verificar si el número es par o impar. ANALISIS Utilizamos un if para indicar la condición en donde preguntamos si el numero ingresado nos da igual a cero entonces imprimimos que es para caso contrario se imprime que el número es impar, también se utiliza otro if y un do while para indicar el rango en el que queremos que se encuentren los números ingresados por el usuario, y finalmente un sentencia do while para que el programa se repita tantas veces desee el programador. DOCUMENTACION package par.impar;
Importación de librerías al programa
import javax.swing.JOptionPane; public class PARIMPAR { @SuppressWarnings("empty-statement")
Paquete del programa.
public static void main(String[] args) { String dato1,dato2;
Declaración de las variables tanto String como enteras.
int num1,num2;
Sentencia repetitiva que en este caso se utiliza para repetir el programa las veces que desee el usuario.
do { do
Este do while lo utilizamos para validar datos. { dato1=JOptionPane.showInputDialog("INGRESE EL NUMERO ");
Pedimos que ingrese el número.
num1=Integer.parseInt(dato1); if(num1<6 ||num1>65)
Utilizamos la condición if para validar los datos.
{
JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" NO ESTA DENTRO DEL RANGO"); }
Si la condición no se cumple indicamos un mensaje entonces pedimos que ingrese otro número y cerramos la condición if.
}
Cerramos la sentencia do while e indicamos el rango que queremos en el que se encuentre los números.
while(num1<6 || num1>65); if(num1%2==0)
Utilizamos la condición if para determinar si es para o impar. { JOptionPane.showMessageDialog(null,"EL NUMERO "+num1+" ES PAR "); } else
Si la condición se cumple imprimimos que es par y cerramos las llaves. Caso contrario, abrimos llaves.
{ JOptionPane.showMessageDialog(null,"EL NUMERO "+ num1+" ES IMPAR "); }
Se imprime que es impar y cierra las llaves.
dato2=JOptionPane.showInputDialog("PRESIONE 1 PARA SALIR 0 PARA VOLVER"); num2=Integer.parseInt(dato2); }
Escribimos un mensaje para repetir o no el programa.
Se cierra la sentencia do while que permite repetir el proceso varias veces.
while(num2==1); }
Cierra completamente el programa. }
CORRIDO
ENUNCIADO: 6.- Diseñe un programa que me permita ingresar 3 valores flotantes desde teclado que estén entre 1 y 10, obtenga el promedio correspondiente y determine su equivalencia: aprobado, reprobado y suspenso Si el promedio es
> =7
Aprobado
Si el promedio es
>5 y <7
Suspenso
Si el promedio es
< =5
Reprobado
ANALISIS Debemos llamar a las librerías para que se habilite procesos propios del programa, luego ingresaremos los datos como: nombre, materia, y las tres notas las cuales son validadas que deben estar entre uno y diez ;para lo cual utilizaremos un do While y una condición si nos cumple pondremos un mensaje para que ingrese nuevamente la nota. Después haremos los cálculos y si la nota es mayor de siete aprobara e imprimirá el nombre su promedio y la materia. Si su nota es menor de siete y mayor que cinco se queda a suspenso e imprimirá el nombre su promedio y la materia. Si la nota es menor que cinco pues reprobara la materia e imprimirá el nombre su promedio y la materia Y por último utilizaremos otro do While para repetir el proceso las veces que el usuario desee. DOCUMENTACION package prom ediovalidacion; import javax.swing.JOptionPane; public class Promediovalidacion {
Importación de librerías del programa
public static void main(String[] args) { String dato1, dato2,dato3,dato4, nom, mat; Ingreso de variables
float num, nombre, materia, nota1, nota2, nota3,pro; int op; do { nom=JOptionPane.showInputDialog("INGRESE EL NOMBRE:");
Ingreso de datos nombre y materia del estudiante
mat=JOptionPane.showInputDialog("INGRESE EL MATERIA:"); do
{ Ingreso de la primera nota
dato1= JOptionPane.showInputDialog("INGRESE LA NOTA1:"); nota1= Float.parseFloat(dato1); if(nota1<1||nota1>11) {
Condici贸n de la nota ingresada
JOptionPane.showInputDialog("VALOR INCORRECTO:"); }
}
while(nota1<1||nota1>11); do
Validaci贸n de la nota entre 1 y 10
{
dato2= JOptionPane.showInputDialog("INGRESE LA NOTA2:"); nota2= Float.parseFloat(dato2);
if(nota2<1||nota2>11) {
mensaje
}
while(nota2<1||nota2>11); do
Ingreso de la segunda nota
Condici贸n de la nota ingresada
JOptionPane.showInputDialog("VALOR INCORRECTO:"); }
mensaje
Validaci贸n de la nota entre 1 y 10
{
dato3= JOptionPane.showInputDialog("INGRESE LA NOTA3:"); nota3= Float.parseFloat(dato3); if(nota3<1||nota3>11)
Ingreso de la tercera nota
{ mensaje
JOptionPane.showInputDialog("VALOR INCORRECTO:"); }
} Validaciรณn de la nota entre 1 y 10
while(nota3<1||nota3>11);
Procesos promedio de notas
pro= (nota1+nota2+nota3)/3;
JOptionPane.showMessageDialog(null,"EL PROMEDIO ES:"+pro ); if(pro>=7)
{
Condiciรณn de la nota >7
JOptionPane.showMessageDialog(null, " ... APROBADO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom ); JOptionPane.showMessageDialog(null, "ESTA APROBADO CON: "+pro ); JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat );
Impresiรณn de datos de aprobado: Nombre Promedio
} else { if(pro>=5&&pro<7)
{
JOptionPane.showMessageDialog(null, "... SUSPENSO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom );
Impresiรณn de datos de suspenso:
JOptionPane.showMessageDialog(null, "ESTA SUSPENSO CON: "+pro ); Nombre
JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat ); Promedio
} else
{
JOptionPane.showMessageDialog(null, "... REPROBADO ..."); JOptionPane.showMessageDialog(null, "EL ESTUDIANTE: "+nom ); JOptionPane.showMessageDialog(null, "ESTA REPROBADO CON: "+pro ); JOptionPane.showMessageDialog(null, "EN LA MATERIA DE: "+mat ); }
op= Integer.parseInt(dato4); while(op==1);
Nombre Promedio
}
dato4= JOptionPane.showInputDialog("CONTINUAR1 TERMINAR 0:");
}
Impresiรณn de datos de reprobado:
}
Ciclo repetitivo n veces para el proceso.
CORRIDO
ENUNCIADO Diseñe un programa que me permita ingresar desde teclado un límite y un factor cualquiera y generar las tablas de multiplicar. ANÁLISIS En este programa podemos realizar las tablas de multiplicar; debemos declarar los variables de tipo enteras, luego ingresamos el límite y el factor, por ultimo visualizamos la respuesta. DOCUMENTACION public class Tabla { public static void main(String[] args) { String dato1,dato2,dato3,dato4; int limite,factor,i,mult,op=0,opci,a,b,c,factorial; do { JOptionPane.showMessageDialog(null, " << SERIE DE DATOS >> \n" + "TABLA DE MULTIPLICAR");
Nombre del programa o proyecto
Declaración de variables String, int Inicio del ciclo do-while
Ingreso de Datos
dato1=JOptionPane.showInputDialog("INGRESE EL LIMITE:"); limite=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("INGRESE EL FACTOR:"); factor=Integer.parseInt(dato2); for(i=1;i<=limite;i++) { mult=i*factor; JOptionPane.showMessageDialog(null, " LA TABLA DE MULTIPLICAR ES: \n" + factor + "*" + i + " = " + mult); } dato3=JOptionPane.showInputDialog(" PULSE 1 PARA CONTINUAR O 0 PARA SALIR "); op=Integer.parseInt(dato3); } while(op==1); } }
CORRIDO
Proceso de multiplicaci贸n e impresi贸n de resultado
Fin del ciclo do-while
ENUNCIADO Diseñe un programa que me permita resolver un sistema de Ecuación de Segundo Grado (ax^2 + bx +c) ANÁLISIS En este programa podemos realizar la Ecuación de Segundo Grado donde debemos
importar
la
librería
principal
que
es
import
javax.swing.JOptionPane; para este programa debemos declarar los variables de tipo double, carácter y de tipo enteras, luego ingresamos los tres valores posteriormente realizamos el proceso para poder sacar la ecuación para esto debemos utilizar la formula
Math.sqrt para poder sacar la raíz
cuadrada y por ultimo preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir DOCUMENTACIÓN Nombre del proyecto package ecuacion; import javax.swing.JOptionPane; Librería public class Ecuacion { public static void main(String[] args) { Inicio del String dato2; Declaración programa int op ; de variables do Proceso de { repetición JOptionPane.showMessageDialog Impresión de un (null,"ECUACION DE SEGUNDO GRADO" ); mensaje double a = Double.parseDouble (JOptionPane.showInputDialog ("Ingrese el primer valor de a: ")); double b = Double.parseDouble (JOptionPane.showInputDialog Ingresamos los tres ("Ingrese el segundo valor de b: ")); valores double c = Double.parseDouble
(JOptionPane.showInputDialog ("Ingrese el tercer valor de c: ")); double interno=b*b-(4*a*c); if (interno==0){ double x1=-b/(2*a); JOptionPane.showMessageDialog (null, "Existe un valor doble: " + x1 ) ; } else if(interno>0) { interno = Math.sqrt(interno); x1=(-b+interno)/(2*a); x2=(-b-interno)/(2*a); JOptionPane.showMessageDialog (null, "valor de x1 y x2: " + x1 +" \n"+x2 ); x1=-b/(2*a); double resultado= Math.sqrt((-interno/(2*a))); JOptionPane.showMessageDialog (null, "La raiz es imaginaria y vale: " + x1 +" +"+ resultado + "i"+x1+"-"+resultado +"i" ); dato2= JOptionPane.showInputDialog ("Ingrese 1 para continuar y 0 pasa salir"); op= Integer.parseInt(dato2); } while(op==1); } } }
CORRIDO
Realizamos el proceso para sacar la ecuaci贸n
Este es el proceso para sacar la ra铆z cuadrada de la ecuaci贸n
Visualizamos el resultado
Proceso para que el usuario realice otro proceso o si desea salir
ENUNCIADO Diseñe un programa que me permita calcular el valor total a pagar por consumo de energía eléctrica considerando los siguientes parámetros, se leen el valor anterior y el valor actual de consumo, en donde siempre el valor actual debe ser mayor al valor anterior. La diferencia entre los dos valores se devuelve el consumo actual. El costo por vatio es $0,49 Existen 3 impuestos que se deben facturar: 3% Correspondiente a Bomberos 4% Correspondiente a taza municipal 2% otros Visualice subtotales parciales u e total a pagar en una sola ventana ANALISIS Importación
de
bibliotecas
principales
que
utilizaremos
(import
javax.swing.JOptionPane; e importjava.text.DecimalFormat;). Debemos declarar las variables String, double y formato para decimales. Inicialización de ciclo do while para que el programa se repita n veces. Ingreso del valor anterior e inicialización del ciclo do while. Ingreso del valor actual, fin ciclo do while y validación del valor anterior debe ser mayor que el valor actual.
Obtención de los impuestos de bomberos, taza municipal y otros los mismos que su porcentaje será multiplicado y dividido para 100. Impresión en una sola pantalla del consumo actual, anterior, real , costo, valor del consumo e impuestos de bomberos, taza municipal, otros y finalmente el total a pagar y finalización del ciclo do while principal y preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir. DOCUMENTACION packageplanilla.de.luz;
Importación de librerías del programa
importjava.text.DecimalFormat; importjavax.swing.JOptionPane; public static void main (String[] args)
Paquetes del programa
{ String dato1, dato2, dato4; double valor1, valor2, dif, cost,bomb,tasa,otros,tot,op ; DecimalFormat f = new DecimalFormat ("00.00"); DecimalFormat g = new DecimalFormat ("0.00"); do
Declaración de variables String y double Instrucción formato para decimales
Inicio ciclo do while principal {
JOptionPane.showMessageDialog (null," << PLANILLA DE LUZ >> "); dato1=JOptionPane.showInputDialog (" INGRESE EL VALOR ANTERIOR: "); valor1=Integer.parseInt (dato1); do
Impresión de titulo Escaneo del primer valor
Inicio del ciclo do while {
dato2=JOptionPane.showInputDialog ("<< INGRESE EL VALOR ACTUAL: "); valor2=Integer.parseInt (dato2); } While (valor1>valor2);
Validación del valor 1 y valor 2
Escaneo del segundo valor
Dif =valor2-valor1; Cost=dif*0.89; Bomb= (cost*3)/100; Procesos para operaciones Tasa= (cost*4)/100; Otros = (cost*2)/100; Tot=cost+bomb+tasa+otros; JOptionPane.showMessageDialog (null," CONSUMO ANTERIOR: " +valor1+"\n CONSUMO ACTUAL:
"
+valor2+ "\n CONSUMO REAL:
"
+ dif + "\n COSTO:
0.89”
+ "\n << VALOR CONSUMO:
Impresión de resultados
"
+ f.format (cost) +"\n BOMBEROS (3%):
"
+g.format (bomb) +"\n TASA MUN (4%):
"
+g.format (tasa)+"\n OTROS (2%):
"
+g.format (otros)+"\n << TOTAL A PAGAR:
"
+f.format (tot); dato4=JOptionPane.showInputDialog ("PULSE 1 PARA CONTINUAR O 0 PARA SALIR "); Op=Integer.parseInt (dato4); } While (op==1); } }
Fin ciclo do while validado a 1
Fin del programa
Escaneo de opción para repetición del proceso
CORRIDO
ENUNCIADO Diseñe una aplicación que me permita calcular el valor de las comisiones ganadas de los vendedores de una empresa, según lo siguientes parámetros: la empresa dispone de 3 vendedores que realizan las ventas de sus vehículos. Las comisiones se las concede en función de los valores facturados: Si el valor >= 8000 <=11000
Recibe una comisión de 3% de la venta
Si el valor >11000 <=25000
Recibe una comisión de 4,5% de la
venta Si el valor >25000 <=45000
Recibe una comisión de 6 % de la
venta Si el valor >40000
Recibe una comisión de 8,5% de la venta
Se necesita conocer el valor acumulado por cada vendedor y el valor total generado por comisión ANÁLISIS Debemos importar las bibliotecas que vayamos a utilizar en el programa, en este
caso
deberemos
importar
la
librería
principal
(import
javax.swing.JOptionPane ;); Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos. Convertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos ingresar los dos valores que usaremos para las operaciones y convertirlos a datos de tipo entero. Llamamos a la variable en que almacenaremos el resultado que será igual al nombre de la clase que usaremos y del bloque al que pertenece, ubicando entre paréntesis las variables de los datos ingresados. Imprimimos la variable resultante del proceso Utilizamos un do while para preguntar al usuario si desea volver a realizar el proceso con diferentes valores Repetimos el proceso en cada case
con la variación de realizar las posteriores operaciones a la suma. En el último case utilizamos una instrucción que nos permitirá salir del programa mientras este corriendo, esto es: System.exit(0); Preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir. DOCUMENTACION package comision; import javax.swing.JOptionPane; public class Comision { public static void main(String[] args) {
Paquetes del programa
String ventj, ventmarc, ventmar, rept, opcion, opj; int vjuan, vmarc, vmar, op, menu, numj=0, nummarc=0, nummar=0; double comj=0, commarc=0, commar=0, comjuan=0, commarcelo=0, commaria=0, totventj=0, totventm=0, totventma=0, total=0;
Declaración de variables String, int y double
do { opcion=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "\n \n VENDEDORES" + "\n \n 1.- JUAN" + "\n 2.- MARCELO" + "\n 3.- MARÍA" + "\n 4.- Salir" + "\n \n Con quien desea realizar su venta");
menu=Integer.parseInt(opcion);
Impresión del Menú de Opciones
Transformación de variables String a int
switch(menu) Incio del Switch con { Case1 case 1: do { ventj=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n Valor de la venta"); vjuan=Integer.parseInt(ventj); Procesos para numj=numj+1; operaciones totventj=totventj+vjuan; if(vjuan>=8000 && vjuan<=11000) { Decisión if y procesos comj=vjuan*0.03; comjuan=comjuan+comj;
c JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTA: " + numj + "\n \n Venta=" + vjuan + "\n Comisión= " + comj); } Decisión if y procesos else respectivos para { obtener sus distintos if(vjuan>11000 && vjuan<=25000) resultados { comj=vjuan*0.45; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTA: " + numj + "\n \n Venta=" + vjuan + "\n Comisión= " + comj); } Decisión if y procesos else respectivos para { obtener sus distintos if(vjuan>25000 && vjuan<=45000) resultados { comj=vjuan*0.06; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTA: " + numj + "\n \n Venta=" + vjuan + "\n Comisión= " + comj); } else Decisión if y procesos { respectivos para if(vjuan>45000) obtener sus distintos { resultados comj=vjuan*0.85; comjuan=comjuan+comj; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTA: " + numj + "\n \n Venta=" + vjuan + "\n Comisión= " + comj); } } } Cierre de sentencias if } opj=JOptionPane.showInputDialog ("Desea realizar una nueva venta con nuestro vendedor Juan Proceso de repetición, (1 SI/0 NO)"); mensaje y cierre del op=Integer.parseInt(opj); do while } while(op==1);
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTAS: " + numj + "\n \n Total de ventas=" + totventj + "\n Comisiones ganadas= " + comjuan ); break; case 2: Case 2 y Do While do { Impresión del ventmarc=JOptionPane.showInputDialog("EMPRESA DON LUCHO" nombre y datos + "\n \n VENDEDOR MARCELO" + "\n \n Valor de la venta");
subtitulos vmarc=Integer.parseInt(ventmarc); nummarc=nummarc+1; totventm=totventm+vmarc; if(vmarc>=8000 && vmarc<=11000) { commarc=vmarc*0.03; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARCELO" + "\n \n # VENTA: " + nummarc + "\n \n Venta=" + vmarc + "\n Comisión= " + commarc); } else { if(vmarc>11000 && vmarc<=25000) { commarc=vmarc*0.45; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARCELO" + "\n \n # VENTA: " + nummarc + "\n \n Venta=" + vmarc + "\n Comisión= " + commarc);
Decisión if y procesos respectivos para obtener sus distintos resultados Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados
Impresión del nombre y datos subtitulos
} else { if(vmarc>25000 && vmarc<=45000) { commarc=vmarc*0.06; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARCELO" + "\n \n # VENTA: " + nummarc + "\n \n Venta=" + vmarc + "\n Comisión= " + commarc); } else { if(vmarc>45000)
Decisión if y procesos respectivos para obtener sus distintos resultados
Impresión del nombre y datos subtitulos Decisión if y procesos respectivos para obtener sus distintos resultados
{ commarc=vmarc*0.85; commarcelo=commarcelo+commarc; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARCELO" + "\n \n # VENTA: " + nummarc + "\n \n Venta=" + vmarc + "\n Comisión= " + commarc); } } Cierre de sentencias if } } opj=JOptionPane.showInputDialog("Desea realizar una nueva venta con nuestro vendedor Marcelo (1 SI/0 NO)"); op=Integer.parseInt(opj); } while(op==1); JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "\n \n VENDEDOR MARCELO" + "\n \n # VENTAS: " + nummarc + "\n \n Total de ventas=" + totventm + "\n Comisiones ganadas= " + commarcelo); break; case 3: do Case 3 y Do While { ventmar=JOptionPane.showInputDialog("EMPRESA DON LUCHO" + "\n \n VENDEDORA MARÍA" + "\n \n Valor de la venta");
Impresión del nombre y datos subtitulos
Proceso de repetición, mensaje y cierre del do while
Impresión del nombre y datos subtitulos
Impresión del nombre y datos subtitulos
vmar=Integer.parseInt(ventmar); nummar=nummar+1; Decisión if y procesos totventma=totventma+vmar; respectivos para if(vmar>=8000 && vmar<=11000) obtener sus distintos { resultados commar=vmar*0.03; commaria=commaria+commar; Impresión del JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" nombre y datos + "\n \n VENDEDORA MARÍA" + "\n \n # VENTA: " + nummar + subtitulos "\n \n Venta=" + vmar + "\n Comisión= " + commar); } else Decisión if y procesos { respectivos para if(vmar>11000 && vmar<=25000) obtener sus distintos { resultados commar=vmar*0.45; commaria=commaria+commar;
Impresión del
JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" nombre y datos + "\n \n VENDEDOR MARÍA" + "\n \n # VENTA: " + nummar + subtitulos "\n \n Venta=" + vmar + "\n Comisión= " + commar); } else { Decisión if y procesos if(vmar>25000 && vmar<=45000) respectivos para { obtener sus distintos commar=vmar*0.06; resultados commaria=commaria+commar; JOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARÍA" + "\n \n # VENTA: " + nummar + "\n \n Venta=" + vmar + "\n Comisión= " + commar); } else { if(vmar>45000) { commar=vmar*0.85; commaria=commaria+commar;
CJOptionPane.showMessageDialog(null, "EMPRESA DON LUCHO" + "\n \n VENDEDOR MARÍA" + "\n \n # VENTA: " + nummar + "\n \n Venta=" + vmar + "\n Comisión= " + commar); } } Cierre de sentencias if } } opj=JOptionPane.showInputDialog("Desea realizar una nueva venta con nuestro vendedor María (1 SI/0 NO)"); op=Integer.parseInt(opj); } while(op==1); JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "\n \n VENDEDOR MARÍA" + "\n \n # VENTAS: " + nummar + "\n \n Total de ventas=" + totventma + "\n Comisiones ganadas= " + commaria); break; case 4: Case 4 System.exit(0); Opción Salir break; } rept=JOptionPane.showInputDialog("Desea realizar una
Impresión del nombre y datos subtitulos
Decisión if y procesos respectivos para obtener sus distintos resultados
Impresión del nombre y datos subtitulos
Proceso de repetición, mensaje y cierre del do while
Impresión del nombre y datos subtitulos
nueva compra (1 SI/0 NO)"); op=Integer.parseInt(rept); } while(op==1); total=totventj+totventm+totventma;
Repetir el Programa n veces
Suma total de las comisiones de vendedores
JOptionPane.showMessageDialog(null,"EMPRESA DON LUCHO" + "\n \n VENDEDOR JUAN" + "\n \n # VENTAS: " + numj + "\n \n Total de ventas=" + totventj + "\n Comisiones ganadas= " + comjuan + "\n \n VENDEDOR MARCELO" + "\n \n # VENTAS: " + nummarc + "\n \n Total de ventas=" + totventm + "\n Comisiones ganadas= " + commarcelo + "\n \n VENDEDOR MARÍA" + "\n \n # VENTAS: " + nummar + "\n \n Total de ventas=" + totventma + "\n Comisiones ganadas= " + commaria+ "\n \n TODAL DE LAS VENTAS= " + total ); }}
Cierre del programa con sus respectivas llaves
Impresión de subtítulos, para cada vendedor y en forma general, total, comisiones ganadas y respuestas finales
CORRIDO
ENUNCIADO Diseñe un programa que me permita calcular el valor por concepto de matrículas de una institución educativa bajo los siguientes parámetros Las matriculas se cobran de forma diferenciada de acuerdo al tipo de institución que puede ser: Publica
costo de la matricula: $120,00
Particular
costo de la matricula: $190,00
Fisco misional
costo de la matricula: $140,00
Todos los estudiantes independientemente del tipo de institución cancelan los siguientes aranceles por beneficios extras que le concede la institución, estos son: 3% de la Matricula corresponde al Servicio Medico 8% de la Matricula corresponde al Servicio de Internet 6% de la Matricula corresponde al Servicio de Deportes El sistema debe visualizar y reflejar el # de estudiantes matriculados por día, el valor total acumulado por tipo de institución y por tipo de arancel, además que debe visualizar el Boucher individual de cada estudiante. ANALISIS Iniciamos el programa para ello debemos importar las bibliotecas que vayamos a utilizar en el programa, en este caso deberemos importar la librería principal (import javax.swing.JOptionPane; ) y
la librería de la clase que usaremos
(import pkg13.operacionesmenu.operaciones;). Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos.
Covertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos realizamos los procesos e imprimimos resultados. Cerramos el programa con un while para que se repite las veces que desee el usuario DOCUMENTACIÓN package matriculas; import javax.swing.JOptionPane; import java.text.DecimalFormat; public class Matriculas { public static void main(String[] args) { String nombre,tipo,ret,repet; int t,op1, op; double p=120,pr=190,f1=140,con1=0,con2=0,con3=0, sm1,sd1,si1,t1,sm2,sd2,si2,t2,sm3,sd3,si3,t3,sm11=0, sd11=0,si11=0,sm22=0,sd22=0,si22=0,sm33=0,sd33=0, si33=0,pt=0,prt=0, ft=0,cont, mt, smt, sit,sdt,st,tt; DecimalFormat f=new DecimalFormat(".00"); do { JOptionPane.showMessageDialog(null," SISTEMA DE MATRICULAS" ); tipo=JOptionPane.showInputDialog("Escoja el tipo de Institucion" +"\n 1.- Publica"+"\n 2.- Pribada"+"\n 3.- Fiscomisinal"+"\n 4.-Salir"); t=Integer.parseInt(tipo); switch(t) { case 1: pt=pt+p; con1=con1+1; nombre=JOptionPane.showInputDialog("Ingrese el nombre del estudiante:"); sm1=(p*3)/100; sm11=sm11+sm1; sd1=(p*8)/100; sd11=sd11+sd1;
Importación de librerías del programa
Paquetes del programa Inicio del programa
Declaración de variables String, int y double Do-while proceso de repetición
Impresión del Menú de Opciones Transformación de variables String a int Incio del Switch con Case1 (primera opción)
Ingreso de Datos
Procesos
si1=(p*6)/100; si11=si11+si1; t1=sm1+sd1+si1+p; JOptionPane.showMessageDialog(null," Nombre: " + nombre + "\n Institucion: Publica"+ "\n Costo de matricula: $ " + p +"\n Servicio Médico: $ "+f.format(sm1)+"\n Servicio Internt: $ " +f.format(si1)+"\n Servicio Deportes"+f.format(si1)+"\n Total: $" +f.format(t1) ); break; case 2: prt=prt+pr; con2=con2+1;
Impresión de resultados Break cierre de la primera opción (case 1)
Inicio Case2 (segunda opción) Contadores
nombre=JOptionPane.showInputDialog("Ingrese el nobre del estudiante:"); sm2=(pr*3)/100; sm22=sm22+sm2; sd2=(pr*8)/100; sd22=sd22+sd2; si2=(pr*6)/100; si22=si22+si2; t2=sm2+sd2+si2+pr; JOptionPane.showMessageDialog(null," Nombre: "+ nombre + "\n Institucion: Pribada"+ "\n Costo de matricula: $ " + pr +"\n Servicio Médico: $ "+f.format(sm2)+"\n Servicio Internt: $ " +f.format(si2)+"\n Servicio Deportes"+f.format(si2)+"\n Total: $" +f.format(t2 )); break; case 3: ft=ft+f1; con3=con3+1; nombre=JOptionPane.showInputDialog("Ingrese el nombre del estudiante:"); sm3=(f1*3)/100; sm33=sm33+sm3; sd3=(f1*8)/100; sd33=sd33+sd3; si3=(f1*6)/100; si33=si33+si3; t3=sm3+sd3+si3+f1;
Ingreso de Datos
Procesos
Impresión de resultados Break cierre de la primera opción (case 2) Inicio Case3 (tercera opción) Contadores
Ingreso de Datos
Procesos
JOptionPane.showMessageDialog(null," Nombre: "+ nombre + "\n Institucion: Pribada"+ "\n Costo de matricula: $ " + f1 +"\n Servicio Médico: $ "+f.format(sm3)+"Servicio Internt: $ "+f.format(si3)+"Servicio Impresión de resultados Deportes"+f.format(si3)+"Total: $" +f.format(t3 )); break; Break cierre de la case 4: primera opción (case 2) System.exit(0); Case4 (Opción Salir) break; Cierre del switch } repet=JOptionPane.showInputDialog("Desea ingresar otra matricula 1 / 0"); op1=Integer.parseInt(repet); }while(op1==1);
Fin del proceso de repeticion
cont=con1+con2+con3; mt=pt+prt+ft; smt=sm11+sm22+sm33; Procesos Finales sdt=sd11+sd22+sd33; sit=si11+si22+si33; st=smt+sdt+sit; tt=mt+st; JOptionPane.showMessageDialog(null,"REPORTE GENERAL" + "\n Publica Pribada Fiscomisional Total" + " /n N° de matriculados "+ con1 + " " + con2 +" " + con3 + " " + cont+ "\n Valor de matriculas $ "+ pt+ " $ " +prt+" $ "+ft +" $"+mt+"\nServicios Medicos $ " Impresión final +f.format(sm11) + " $"+f.format(sm22)+" $"+f.format(sm33)+" $"+f.format(smt)+"\n Servicios Internet $"+f.format(si11) + " $" +f.format(si22)+" $"+f.format(si33)+" $"+f.format(sit)+"\n Servicios Internet $"+f.format(sd11) + " $"+f.format(sd22) +" $"+f.format(sd33)+" $"+f.format(sdt)+"\n TOTOL: $ " +f.format(tt)); } }
Fin del Programa
CORRIDO
ENUNCIADO Diseñe un programa que me permita simular el funcionamiento de un sistema de rol de pagos bajo los siguientes parámetros: el nominal se ingresa conforme a la categoría si es administrativo gana Usd. 540, si es ejecutivo gana Usd 1’200,00 si es obrero gana Usd 340,00 Obtenga el valor ingresado Horas Extras tomando en puede tener un máximo de número de horas extras 8 y cada hora cuesta Usd 3,50 Obtenga el valor de cargas familiares la misma que esta condicionada. Si el empleado tiene más de dos hijos se le paga Usd. 4,5 por cada hijo caso contrario se le reconoce Usd 6,2 por cada hijo Obtenga el valor del IESS que es el 11,5 % del nominal Se le descuenta a todos los empleados por concepto de comisariato el 2,5% del nominal Obtenga el total de ingreso, egresos y líquido a recibir ANÁLISIS En este programa hemos utilizado Do-While
ya la estructura Switch para
realizar un menú de opciones en cada case va el miso proceso, en la declaración de variables utilizamos un doublé para cantidades con decimales, para la impresión hemos utilizando la JOptionPane.showMessageDialog y al final cada case un break. DOCUMENTACION Nombre del programa o proyecto package prueba; import java.text.DecimalFormat; librerías import javax.swing.JOptionPane; public class Prueba { Inicio del programa public static void main(String[] args) { String opc1,opc,nom,ce; double ad=540,ej=1200,ob=340,he,ph,h,pi,ie,co,te,ti,st,sp,op1; Declaración de variables int a,op; Inicio del do-while
do{ DecimalFormat df=new DecimalFormat(".00"); Diseño del menú opc=JOptionPane.showInputDialog(" LIQUIDO TOTAL DE EMPLEADOS\n"+"1.Administrativo\n" +"2.-Ejeutivo\n"+"3.-Obrero\n"+"5.-Salir"); Ingreso de la opción op=Integer.parseInt(opc); switch(op) Inicio del switch { case 1: Ingreso del nombre nom=JOptionPane.showInputDialog("Nombre: "); do{ Ingreso de las horas he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); }while(he>8); extras ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); Ingreso del número de hijos if(h>2) { pi=h*4.50; } else { Proceso pi=h*6.20; } ti=ph+pi; ie=ad*0.115; co=ad*0.025; te=ie+co; Proceso sp=ad+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERAL\n"+nom+"\nAdministrativo"+"\nSueldo " +ad+"\n\nIngresos "+ti+"\nHoras extras " Impresión de resultados +ph+"\nCargas familiares "+pi+"\n\nEgresos "+te+"\nIESS "+ie+ "\nComisiariato "+co+"\nSueldo a recibir "+st); break; Cierre del case case 2: nom=JOptionPane.showInputDialog("Nombre: "); Ingreso del nombre do{ Ingreso de las horas he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); extras }while(he>8); ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); Ingreso del número de hijos if(h>2) { pi=h*4.50; } else { pi=h*6.20; Proceso } ti=ph+pi; ie=ej*0.115;
co=ej*0.025; te=ie+co; sp=ej+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERAL\n"+nom+"\nEjecutivo"+"\nSueldo " Impresi贸n de resultados +ej+"\n\nIngresos "+ti+"\nHoras extras " +ph+"\nCargas familiares "+pi+"\n\nEgresos "+te+"\nIESS "+ie+ "\nComisiariato "+co+"\nSueldo a recibir "+st); break; Cierre del case 2 case 3: Ingreso del nombre nom=JOptionPane.showInputDialog("Nombre: "); do{ Ingreso de las horas he=Double.parseDouble(JOptionPane.showInputDialog("Horas extras: ")); extras }while(he>8); ph=he*3.50; h=Double.parseDouble(JOptionPane.showInputDialog("Hijos: ")); Ingreso del n煤mero de hijos if(h>2) { pi=h*4.50; } else Proceso { pi=h*6.20; } ti=ph+pi; ie=ob*0.115; co=ob*0.025; Proceso te=ie+co; sp=ob+ph+pi; st=sp-ie-co; JOptionPane.showMessageDialog(null," REPORTE GENERAL\n"+nom+"\nObrero"+"\nSueldo " Impresi贸n de resultados +ob+"\n\nIngresos "+ti+"\nHoras extras " +ph+"\nCargas familiares "+pi+"\n\nEgresos "+te+"\nIESS "+ie+ "\nComisiariato "+co+"\nSueldo a recibir "+st); break; Cierre del case 3 case 4: System.exit(0); Proceso par salir break; Cierre del case 4 } opc1=JOptionPane.showInputDialog("Salir 1/0: "); Ingreso para la opci贸n do-while op1=Integer.parseInt(opc1); }while(op1==1); Cierre del while } }
CORRIDO
ENUNCIADO Diseñe un programa que me permita realizar las operaciones básicas a través de un menú de opciones. ANÁLISIS En este programa utilizamos un switch para realizar un menú de opciones y en cada case hacemos procesos diferentes que nos permiten hacer el cálculo de las seis operaciones básicas en el programa principal solo ingresamos los datos e imprimimos y llamamos al proceso que está en las funciones y lo llamamos
desde
el
programa
principal.
Debemos importar las bibliotecas q vayamos a utilizar en nuestro programa en este caso (import javax.swing.JOptionPane;)
DOCUMENTACION
package seisop; import javax.swing.JOptionPane; import seisop.funcionesop; public class Seisop { public static void main(String[] args) {
Importación de librerías del programa y paquete
Paquetes del programa
String dato1,dato2,op,opa; Declaración de int a,b,op1,sum1,res1,mult1,opb; variables double div1,pot1,rad1; do{ op=JOptionPane.showInputDialog("ESCOJA UNA OPCION \n1.-SUMA\n2.-RESTA\n3.-MULTIPLICACION\n"+ Menú de Opciones "4.-DIVISION\n5. -POTENCIACION \n6.-RADICACION\n7.-SALIR"); op1=Integer.parseInt(op); switch(op1) { case 1: dato1=JOptionPane.showInputDialog("Dato 1 :"); Ingreso de datos a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); sum1=funcionesop.suma1(a, b); Llamamos a la clase JOptionPane.showMessageDialog(null,"La suma es: "+sum1); break; Impresión del mensaje case 2: Do-while para el control do { en la resta dato1=JOptionPane.showInputDialog("Dato 1 :"); a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); Ingreso de datos b=Integer.parseInt(dato2); }while(a<b); res1=funcionesop.resta(a, b); JOptionPane.showMessageDialog(null,"La resta es:"+res1); Llamamos a la clase break; Impresión del mensaje case 3: dato1=JOptionPane.showInputDialog("Dato 1 :"); a=Integer.parseInt(dato1); Ingreso de datos dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); mult1=funcionesop.multiplicacion(a, b); Llamamos a la clase JOptionPane.showMessageDialog(null,"La multiplicacion es:"+mult1); break; Impresión del mensaje case 4: do Control para el proceso de la división { dato1=JOptionPane.showInputDialog("Dato 1 :"); Ingreso de datos
a=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog("Dato 2 :"); b=Integer.parseInt(dato2); Llamamos a la clase }while(a<b); div1=funcionesop.division(a, b); Impresiรณn del mensaje JOptionPane.showMessageDialog(null,"La division es:"+div1); break; case 5: dato1=JOptionPane.showInputDialog("Base :"); a=Integer.parseInt(dato1); Ingreso de datos dato2=JOptionPane.showInputDialog("Exponente :"); b=Integer.parseInt(dato2); pot1=funcionesop.potencia(a, b); a la clase JOptionPane.showMessageDialog(null,"La potenciaLlamamos es:"+pot1); break; Impresiรณn del mensaje case 6: dato1=JOptionPane.showInputDialog("Numero :"); Ingreso de datos a=Integer.parseInt(dato1); rad1=funcionesop.radicacion(a); Llamamos a la clase JOptionPane.showMessageDialog(null,"La raiz es:"+rad1); break; Impresiรณn del mensaje } opa=JOptionPane.showInputDialog("INGRESE 1 CONTINUAR Mensaje de do-while para Y 0 PARA SALIR:"); enviar un mensaje si desea opb=Integer.parseInt(opa); repetir }while(opb==1); } } package seisop; Nombre del programa principal public class funcionesop { public static int suma1(int a1, int b1) { int sumar; Proceso de suma sumar=(a1+b1); return sumar; } public static int resta(int a1, int b1) { Proceso de resta int restar; restar=(a1-b1); return restar; } public static int multiplicacion(int a1, int b1) { Proceso de multiplicaciรณn int multiplicar; multiplicar=(a1*b1); return multiplicar; } public static double division(double a1, double b1) { Proceso de divisiรณn double dividir; dividir=(a1/b1);
return dividir; } public static double potencia(double a1, double b1) { double poten; poten=Math.pow(a1,b1); return poten; } public static double radicacion(double a1) { double radical; radical=Math.sqrt(a1); return radical; } }
CORRIDO
Proceso de potencia
Proceso de radicaci贸n
ENUNCIADO Diseñe un menú de opciones que me permita realzar las 6 operaciones básicas con datos enteros ingresados desde teclado, utilizando clases. ANALISIS Debemos importar las bibliotecas que vayamos a utilizar en el programa, en este
caso
deberemos
javax.swing.JOptionPane; ) y
importar
la
librería
principal
(import
la librería de la clase que usaremos (import
pkg13.operacionesmenu.operaciones;). Debemos declarar las variables string y las variables enteras que necesitemos. En la variable de escoger una opción imprimimos el menú que vamos a presentar para realizar los diferentes procesos. Covertimos la variable escoger (de string) a entero y asignamos el valor de correspondiente. Utilizamos un swtich para realizar cada proceso del menú. En cada case debemos ingresar los dos valores que usaremos para las operaciones (a excepción de la radicación) y convertirlos a datos de tipo entero. Llamamos a la variable en que almacenaremos el resultado que será igual al nombre de la clase que usaremos y del bloque al que pertenece, ubicando entre parentesis las variables de los datos ingresados. Imprimimos la variable resultante del proceso Utilizamos un do while para preguntar al usuario si desea volver a realizar el proceso con diferentes valores Repetimos el proceso en cada case con la variación de realizar las posteriores operaciones a la suma. En el ultimo case utilzamos una instrucción que nos permitirá salir del programa miestras este corriendo, esto es: System.exit(0);
Preguntamos si el usuario desea realizar nuevamente otros procesos o si desea salir DOCUMENTACIÓN
package pkg13.operacionesmenu; import javax.swing.JOptionPane; import pkg13.operacionesmenu.operaciones; public class Operacionesmenu { public static void main(String[] args) { String dato1,dato2,escoger,opcion; int num1,num2,suma,resta,multiplicacion,es,op; double division, potenciacion, radicacion; { escoger=JOptionPane.showInputDialog(null, " OPERACIONES BASICAS \n\n 1. Suma \n 2. Resta \n 3. Multiplicación \n 4. División \n 5. Potenciación \n 6. Radicación \n 7. Salir \n\n Escoja una opcion:"); es=Integer.parseInt(escoger); switch(es) { case 1: do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); suma=operaciones.sumar(num1, num2); JOptionPane.showMessageDialog (null, "La Suma es: "+ suma); opcion=JOptionPane.showInputDialog ("Desea realizar otra suma: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 2 do{ do{
Importación de librerías del programa
Paquetes del programa
Declaración de variables String, int y double Impresión del Menú de Opciones Transformación de variables String a int Incio del Switch con Case1
Ingreso de Datos
Llamado de clase o función
DO WHILE y break
Case 2 y Do While
dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); }while(num1<num2); resta=operaciones.restar(num1, num2); JOptionPane.showMessageDialog (null, "La Resta es: "+ resta); opcion=JOptionPane.showInputDialog ("Desea realizar otra resta: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 3: do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); multiplicacion=operaciones.multi(num1, num2); JOptionPane.showMessageDialog (null, "La Multiplicación es: "+ multiplicacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra multiplicacion: 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 4: do{ do{ dato1=JOptionPane.showInputDialog ("Ingrese el primer valor: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el segundo valor: "); num2=Integer.parseInt(dato2); }while(num1<num2); division=operaciones.dividir(num1, num2); JOptionPane.showMessageDialog
Ingreso de Datos
Validación de datos
Llamado de clase o función
DO WHILE y break
Case 3 y Do While
Ingreso de Datos
Llamado de clase o función
DO WHILE y break
Case 4 y Do While
Ingreso de Datos
Validación de datos
Llamado de clase o función
(null, "La División es: "+ division); opcion=JOptionPane.showInputDialog ("Desea realizar otra division 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 5: do{ dato1=JOptionPane.showInputDialog ("Ingrese la base: "); num1=Integer.parseInt(dato1); dato2=JOptionPane.showInputDialog ("Ingrese el exponente: "); num2=Integer.parseInt(dato2); potenciacion=operaciones.potencia(num1, num2); JOptionPane.showMessageDialog (null, "La Potenciación es: "+ potenciacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra potenciacion 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 6: do{ dato1=JOptionPane.showInputDialog("Ingrese el valor: "); num1=Integer.parseInt(dato1); radicacion=operaciones.raiz(num1); JOptionPane.showMessageDialog (null, "La Radicacion es: "+ radicacion); opcion=JOptionPane.showInputDialog ("Desea realizar otra radicación 1=si / 0=no"); op=Integer.parseInt(opcion); }while(op==1); break; case 7: System.exit(0); break; } opcion=JOptionPane.showInputDialog ("Desea volver al menu: 1=si / 0=no"); op=Integer.parseInt(opcion);
DO WHILE y break
Case 5 y Do While
Ingreso de Datos
Llamado de clase o función
DO WHILE y break
Case 6 y Do While Ingreso de Datos Llamado de clase o función
DO WHILE y break
Case 7 Opción Salir
Fin del Switch Repetir el Programa n veces
}while(op==1); } } operacionesmenu; public class operaciones { public static int sumar(int a, int b) { int sumar; sumar=(a+b); return sumar; } public static int restar(int a, int b) { int restar; restar=(a+b); return restar; } public static int multi(int a, int b) { int multi; multi=(a+b); return multi; } public static double dividir(double a, double b) { double dividir; dividir=(a/b); return dividir; } public static double potencia(double a, double b) { double potencia; potencia=Math.pow(a, b); return potencia; } public static double raiz(double a)
Fin del Programa Nombre del Programa principal Inicio de Clase o Funci贸n
Proceso de suma
Proceso de resta
Proceso de multiplicaci贸n
Proceso de divisi贸n
Proceso de potenciaci贸n
{ double raiz; raiz=Math.sqrt(a); return raiz;
Proceso de radicación
} }
ENUNCIADO Diseñe un menú de opciones utilizando clases de un conjunto de series de datos: primos, factorial, Fibonacci, pares, y la opción salir. ANALISIS Para realizar este proyecto primero debemos importar las bibliotecas que vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el programa con títulos y un menú de opciones que nos permita escoger la serie que deseemos realizar, seguido de una clase para realizar cada serie, también con la opción de repetir el proceso las veces que desee el usuario presentando al fin los resultados respectivos que queremos. DOCUMENTACIÓN
Importación de librerías package menuseries; import javax.swing.JOptionPane; del programa import menuseries.series; public class Menuseries { public static void main(String[] args) Declaración de { variables String, int y String dato1, dato2,dato3; double int op,limite,pares,num,i,p,primos,factor,fibo,opc; JOptionPane.showMessageDialog(null, "MENU DE SERIES "); do Impresión del Menú de {dato1=JOptionPane.showInputDialog("1. PRIMOS \n 2. FACTORIAL Opciones \n 3. FIBONACCI \n 4. PARES \n 5. SALIR \n Ingrese una opcion: "); op=Integer.parseInt(dato1); switch(op) Inicio del Switch con { Case1 case 1: Ingreso del límite y dato2=JOptionPane.showInputDialog("Ingrese un limite"); Llamado de clase o limite=Integer.parseInt(dato2); función primos=series.primos(limite); Inicio del Switch con Case 2
break; case 2: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); factor=series.facto(limite); Inicio del Switch con break; Case 3 case 3: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); fibo=series.fibo(limite); Inicio del Switch con Case 4 break; case 4: dato2=JOptionPane.showInputDialog("Ingrese un limite"); limite=Integer.parseInt(dato2); pares=series.par(limite); break; Fin del Switch con Case 5 case 5: System.exit(0); break; } dato3=JOptionPane.showInputDialog("Volver al menu 1 Salir 0: "); opc=Integer.parseInt(dato3); } while(opc==1); }
Fin del Programa
} package menuseries; import javax.swing.JOptionPane; public class series { public static int par (int limite) { int p; int i; p=0; for(i=1;i<=limite;i++) { p=p+2; JOptionPane.showMessageDialog(null, +p); } return 0; } public static int primos (int limite) { int conta,residuo,i,j; for(i=1;i<=limite;i++) { conta=0; for(j=1;j<=i;j++)
Nombre del Programa principal
Serie de numeros pares
Serie de numeros primos
Ingreso del límite y Llamado de clase o función Ingreso del límite y Llamado de clase o función
Ingreso del límite y Llamado de clase o función
Repetir el Programa n veces
{ residuo=i%j; if(residuo==0) { conta=conta+1; } } if(conta==2) { JOptionPane.showMessageDialog(null, +i); } } return 0; } public static int facto(int limite) { int f,i; f=1; i=1; i=i+1; for(i=1;i<=limite;i++) { f=f*i; JOptionPane.showMessageDialog(null, +i+f); } return 0; } public static int fibo(int limite) { int m,i,j,c,a = 0,b=1; m=1; for(j=1;j<=limite-1;j++) { m=m+3; } for(i=0;i<=limite-2;i++) { c=a+b; a=b; b=c; JOptionPane.showMessageDialog(null, +a); } return 0; } }
Serie de numeros primos
Serie de la factorial
Serie del Fibonacci
CORRIDO
ENUNCIADO Diseñe un programa utilizando clases que me permita verificar si un numero entero ingresado desde teclado le corresponde a la siguiente categoría: 1 – 3 Bebé 3 – 11 Niño 12 – 17 Adolescente 18 – 45 Adulto 46 en adelante – Adulto Mayor ANALISIS Este programa permite verificar la edad a que categoría corresponde. 1. Importación
de
bibliotecas
javax.swing.JOptionPane;
e
principales
que
utilizaremos
importjava.text.DecimalFormat;).
(import Debemos
declarar las variables String, double y formato para decimales. Inicialización de ciclo do while para que el programa se repita n veces, llamamos a las clases. En las clases hacemos el proceso correspondiente mediante un if, else e impresiones de pantalla.
CODIFICACION
Importación de librerías del programa package edades; import javax.swing.JOptionPane; public class Edades { Paquetes del programa public static void main(String[] args) { String opcion,dato; Declaración de variables String y double int edad1,op,edades; do Inicio ciclo do while principal { opcion=JOptionPane.showInputDialog(null,"***VERIFICACION DE EDAD***\n1 a 3 años BEBE\n3 a 11 años NIÑO\n12 a 17 años ADOLESCENTE\n18 a 45 años ADULTO\n45 en adelante ADULTO MAYOR\n**INGRESE UNA EDAD** "); edad1=Integer.parseInt(opcion); LLAMA A LAS FUNCIONES edades=edad.edades(edad1); dato=JOptionPane.showInputDialog(null,"DESEA REPETIR 1 O 0 PARA SALIR: "); op=Integer.parseInt(dato); SE CIERRA EL LAZO REPETITIVO }while(op==1); } } package edades; Importación de librerías del programa import javax.swing.JOptionPane; public class edad { public static int edades(int edad1) { if(edad1>=1 && edad1<=3) { JOptionPane.showMessageDialog(null, "BEBE: "+edad1); } else { if(edad1>=4 && edad1<=11) { JOptionPane.showMessageDialog(null, "NIÑO: "+edad1); } else { if(edad1>=12 && edad1<=17) { JOptionPane.showMessageDialog(null, "ADOLESCENTE: "+edad1); } PROCESO else
{ if(edad1>=18 && edad1<=45) { JOptionPane.showMessageDialog(null, "ADULTO: "+edad1); } else { if(edad1>45) { JOptionPane.showMessageDialog(null, "ADULTO MAYOR: "+edad1); } } } } } return 0; SE CIERRA LA CLASE } }
CORRIDO
ENUNCIADO DiseĂąe un programa utilizando clases que me permita ingresar un nĂşmero entero desde teclado y me permita descomponerlo en todos sus elementos posibles. (Unidad, decena, centena, unidad de mil, etc.)
ANÁLISIS Necesitaremos una variable tipo int para generar la descomposición en sus unidades Documentación
package decompocicion; Importación de librerías import javax.swing.JOptionPane; del programa import decompocicion.descomponer; public class Decompocicion { Paquetes del programa public static void main(String[] args) { String num; int a,res; do{ Declaración de variables tipo int y string num=JOptionPane.showInputDialog("NUMERO"); a=Integer.parseInt(num); }while(a<1 || a>9999); res=descomponer.descomponer(a); } Fin del programa principal } Clase package decompocicion; Programa principal importación de librerías e inicio de clases import javax.swing.JOptionPane; public class descomponer { public static int descomponer(int a) { int um,c,d,u; um=a; um=(um/1000)*1000; c=a; Clase descomposición c=c-um; con su respectivo c=(c/100)*100; proceso para realizar d=a; una descomposición en d=d-um-c; sus unidades d= (d/10)*10; u=(a-um)-c-d; JOptionPane.showMessageDialog(null,"Unidad "+u+"\nDecena "+d+"\nCentena "+c +"\nUnidad de mil "+um+"\nTotal "+a); return 0; }
}
CORRIDO
ENUNCIADO Diseñe un menú de opciones utilizando clases que me permita diseñar un sistema de conversiones de numeros de diferentes bases. Se necesita convertir un numero entero a su binario correspondiente, un entero a octal y un entero a hexadecimal. ANALISIS Para realizar este proyecto primero debemos importar las bibliotecas que vayamos a utilizar, Declarar datos del tipo que necesitemos y empezar el programa con títulos y un menú de opciones que nos permita escoger la conversión que deseemos realizar, seguido de una clase para realizar cada conversion, también con la opción de repetir el proceso las veces que desee el usuario presentando al fin los resultados respectivos que queremos. DOCUMENTACIÓN
package conversiones; import javax.swing.JOptionPane; public class Conversiones { public static void main(String[] args) { String dato1, dato2, dato; int a,bi,oc,hexa,op,opc;
Importación de librerías del programa
Declaración de variables String, int y double
JOptionPane.showMessageDialog(null, "CONVERSIONES "); do {
Impresión del Menú de Opciones
dato=JOptionPane.showInputDialog("1. BINARIO \n 2. OCTAL \n 3. HEXADECIMAL \n 4. SALIR \n Ingrese una Opcion: "); opc=Integer.parseInt(dato); Inicio del Switch con switch(opc) Ingreso el número que { Case1 deseo transformar a case 1: binario y llamamos a la dato1=JOptionPane.showInputDialog("Ingrese un numero: "); a=Integer.parseInt(dato1); clase bi=convers.bi(a); break; Ingreso el número que case 2: deseo transformar a dato1=JOptionPane.showInputDialog("Ingrese un numero: "); octal y llamamos a la a=Integer.parseInt(dato1); oc=convers.oct(a); clase Inicio del Switch break; con Case 3 case 3: dato1=JOptionPane.showInputDialog("Ingrese un numero: "); a=Integer.parseInt(dato1); Ingreso el número que deseo transformar a hexa=convers.he(a); hexadecimal y llamamos a la clase break; case 4: System.exit(0); Fin del Switch con Case 4 break; } Repetir el Programa dato2= JOptionPane.showInputDialog("VOLVER AL MENU 1 SALIR 0: "); n veces op=Integer.parseInt(dato2); } while(op==1); } Fin del Programa }
package conversiones; Nombre del Programa import javax.swing.JOptionPane; principal public class convers { public static int bi (int a) { Transformación de un JOptionPane.showMessageDialog(null, "Numero Binario: número decimal a binario "+Integer.toBinaryString(a)); return 0; } public static int oct (int a) { JOptionPane.showMessageDialog(null, "Numero Octal: Transformación de un "+Integer.toOctalString(a)); número decimal a octal return 0; } public static int he(int a) { Transformación de un JOptionPane.showMessageDialog(null, "Numero Hexadecimal: número decimal a "+Integer.toHexString(a)); hexadecimal return 0; }
} CORRIDO