Documente Academic
Documente Profesional
Documente Cultură
import javax.swing.*;
public class SyGCalculoHorario
{
static int MAX=20;
iint []a=new int[MAX];
do{
cadena=JOptionPane.showInputDialog("Elija una opción del menu \n 1) Ingrese Horas. \n 2) Ingrese Minutos. \n 3) I
ngrese Segundos. \n 4) Sumar Horas-Minutos-Segundos. \n 5) Resetear. \n 6) Salir.");
opcion=Integer.parseInt(cadena);
}}while(opcion<1 && opcion>6 );
switch(opcion)
{
case 1:hh=hh+tiempo.ingreseDatos("Hora");break;
case 2:mm=mm+tiempo.ingreseDatos("Minuto");break;
case 3:ss=ss+tiempo.ingreseDatos("Segundo");break;
case 4:tiempo.sumaHhMmSs(hh,mm,ss);break;
case 5:{hh=0;mm=0;ss=0;}break;
case 6:System.exit(0);break;
default:JOptionPane.showMessageDialog(null,"Ingrese una opción válida.");
}
tiempo.menuElegir(hh,mm,ss);
}
c
codig.admision(cod);
}
}
if(((mod1)%2)==0)
par++;
else
i
impar++;
c
cod=cod/10;
}
if(par>=3 || impar>=3)
JOptionPane.showMessageDialog(null,"FALSE!!... Código INVÁLIDO");
else
JOptionPane.showMessageDialog(null,"TRUE!!... Código ADMITIDO");
System.exit(0);
}
public static void main(String[] args)
{
SyGCodigo ir = new SyGCodigo();
ir.leerCodigo();
}
}
3)
import javax.swing.*;
public class SyGTemperaturaMensual
{
static int MAX=5;
iint tempSup=25;
int[] almacenaArray()
{
int []arreglo=new int[MAX];
String cadena;
S
for(int i=0;i<MAX;i++)
{
do{
cadena=JOptionPane.showInputDialog("Ingrese Temperatura "+ (i+1)+" : ");
arreglo[i]=Integer.parseInt(cadena);
if((arreglo[i]<5)||(arreglo[i]>40))
{
JOptionPane.showMessageDialog(null,"La temperatura debe ser de 5 y 40.");
}
}while((arreglo[i]<5)||(arreglo[i]>40));
}
return arreglo;
}
int temperaturaSuperada(int array[])
{
iint contador=0;
for(int i=0;i<array.length;i++)
{
if(array[i]>tempSup)
contador=contador+1;
}
JOptionPane.showMessageDialog(null, "Las Temperaturas mayores a "+tempSup+" son: "+contador);
return contador;
}
for(int i=0;i<array.length;i++)
{
array2[i]=array[i];
}
int k=0,x=0,c=0;
for(int i=1;i<array2.length;i++)
{
if(array2[i-1]<array2[i])
{ x=i;c++;}
//else
// rreturn 0;
for(int j=0;j<array2.length-i;j++)
{
if(array2[j]>array2[j+1])
{
kk=array2[j+1]; array2[j+1]=array2[j]; array2[j]=k;
}
}
JOptionPane.showMessageDialog(null,"La temperatura: "+array2[MAX-1]+" Día: "+(x-1));
switch(opcion)
{
case 1:temperatura.temperaturaMaximaMensual(array);break;
case 2:temperaturaSuperiorA=temperatura.temperaturaSuperada(array);break;
case 3:
{
if(temperaturaSuperiorA>0)
temperatura.promedioTemperaturaSuperior(temperaturaSuperiorA, array);
else
JOptionPane.showMessageDialog(null,"No hay tenperaturas superiores a "+sup);
}break;
case 4:retro=0;break;
case 5:System.exit(0);break;
}
}while(retro==1);
}
}while(retro==0);
}
}
4)
//Utilizando el método Leer
public class SyGEvaluacion
{
static int[] ingresar(int[] Vector, String cad)
{
int h=0;
for(int i=0;i<Vector.length;i++)
{
System.out.print("Ingresar "+ cad+ ":\t");
h=Leer.datoInt();System.out.println("");
Vector[i]=h;
}
return Vector;
}
static void imprimir(int[] Temp)
{
ffor(int i=0;i<Temp.length;i++)
{
System.out.println(Temp[i]);
}
}
for(int i=0;i<A.length;i++)
{
if(A[i]==1)
{
cp++;
i
if(N[i]>5)
ca++;
}
}
for(i=0;i<N.length;i++)
{
if(A[i]==1)
{
if(N[i]>may) may= N[i];
}
}
for(i=0;i<N.length;i++)
{
if(may==N[i] && A[i]==1)
System.out.println("Codigo : " + C[i] + " y su Nota : " + N[i]);
}
}
public static void main(String args[])
{
int max=0;
d
do{
System.out.print("Cuantos registros desea ingresar :\t");
max=Leer.datoInt();System.out.println("");
if(max<1)
System.out.println("¿Acaso quieres engañar a la maquina?, Ingrese un valor válido!!");
}while(max<1);
int [] Codigo= new int[max];
int [] Asistencia= new int[max];
int [] Nota= new int[max];
System.out.println("----------------------------------------");
iingresar(Codigo,"codigo [0001 - 9999]");
System.out.println("----------------------------------------");
iingresar(Asistencia,"asistencia [1. Presente] [0. Ausente] ");
System.out.println("----------------------------------------");
iingresar(Nota,"nota [00 - 20]");
System.out.println("----------------------------------------");
System.out.println("------------- REPORTE ----------------");
pPresente(Asistencia);
promedio(Nota,Asistencia);
aAprobados(Nota,Asistencia);
mayor(Codigo,Nota,Asistencia);
System.out.println("----------------------------------------");
}
}
5)
import javax.swing.*;
ppublic class SyGFraccion{
void ingresaFraccion()
{
int numerador=0, denominador=0;
String cadena;
cadena=JOptionPane.showInputDialog("Ingrese Numerador : ");
numerador=Integer.parseInt(cadena);
cadena=JOptionPane.showInputDialog("Ingrese Denominador : ");
denominador=Integer.parseInt(cadena);
mostrarFraccionSimplificada(numerador,denominador);
}
public static void main(String[] args)
{
String cadena;
int opcion=0;
SyGFraccion fraccional = new SyGFraccion();
do
{
cadena=JOptionPane.showInputDialog("0. Salir. ----- [Otro] Continuar");
opcion=Integer.parseInt(cadena);
if(opcion==0)
System.exit(0);
e
else
f
fraccional.ingresaFraccion();
}
}while(opcion!=0);
}
}
6)
import javax.swing.*;
public class SyGMultiOperaciones
{
static String cadena,cadenaNumerica;
static int eligeOpcion()
{
iint opcion=0;
d
do{
retro=1;
opcion=eligeOpcion();
switch(opcion)
{
case 1: promedio=promedioDigitos(numeroEntero);
JOptionPane.showMessageDialog(null,"Promedio de Dígitos: "+promedio);break;
case 2: cambiarBase(cadenaNumerica);break;
case 3: {
faq=factorial(numeroEntero);
if(faq!=0)
JOptionPane.showMessageDialog(null,"Factorial: "+faq);
}
}break;
case 4: numDigitos=numeroDigitos(numeroEntero);
JJOptionPane.showMessageDialog(null,"Número de Dígitos: "+numDigitos);break;
case 5: impares=numDigitosImpares(numeroEntero);
JJOptionPane.showMessageDialog(null,"Número de Dígitos Impares: "+impares);break;
case 6: retro=0;break;
r
case 7: System.exit(0);break;
S
}
}while(retro==1);
}while(retro==0);
}
return sum/c;
}
if(numeroEntero==0)
faq=1;
else if(numeroEntero<0)
JOptionPane.showMessageDialog(null,"No existe factorial de numeros negativos.");
else if(numeroEntero>0)
for(faq=numeroEntero;numeroEntero>1;numeroEntero--)
faq*=(numeroEntero-1);
return faq;
}
}
7)
public class SyGPotencia
{
for(int i=1;i<=exponente;++i)
{
result*=base;
}
if(exp<0)
{
exponente=-exp;
r
resultDecimal=1/result;
System.out.println("1/"+result+" = "+resultDecimal);
S
System.exit(0);
}
else if(base==0 && exp!=0)
result=0;
else if(base==0 && exp==0)
{
System.out.println("Indefinido");
System.exit(0);
}
rreturn result;
}
}
8)
public class SyGMcd_Mcm
{
sstatic int MAX=2;
static int mcd(int a, int b)
{
int x=0,nuevob=0;
x = a;
if (a < b)
{
a = b;
b = x;
System.out.println(a+" \t"+b);
S
return mcd(a,b);
}
else if (b != 0)
{
nuevob = a % b;
a = b;
b = nuevob;
System.out.println(a+" \t"+b);
return mcd(a,b);
}
return a;
}
return opcion;
}
for(int j=0;j<numero.length;j++)
if(frecuencia[j]>frec)
{
frec=frecuencia[j];
moda=numero[j];
}
rreturn moda;
frecuenciaAcumuladaOrdenada=ordenaArreglo(frecuenciaAcumulada);
m
med=frecuenciaAcumuladaOrdenada[MAX-1]/2;
i k=0;
int
while(med>frecuenciaAcumuladaOrdenada[k])
k
k++;
m
medi=frecuenciaAcumuladaOrdenada[k];
return medi;
}
return frecuenciaOrdenada[MAX-1];
}
static int minimo(int numero[],int frecuencia[])
{
int[] frecuenciaOrdenada = new int[MAX];
f
frecuenciaOrdenada=ordenaArreglo(frecuencia);
return frecuenciaOrdenada[0];
}
int k=0;
for(int i=1;i<arreglo.length;i++)
{
for(int j=0;j<arreglo.length-i;j++)
{
if(arreglo[j]>arreglo[j+1])
{k=arreglo[j+1]; arreglo[j+1]=arreglo[j]; arreglo[j]=k;}
}
}
rreturn arreglo;
}
d
do{
opcion=elijeOpcion();
iint moda=0,mediana=0,maximo=0,minimo=0,promedio=0;
switch(opcion)
{
case 1: promedio=promedioPonderado(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Promedio: "+promedio);break;
case 2: moda=moda(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Moda: "+moda);break;
case 3: mediana=mediana(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Mediana: "+mediana);break;
case 4: maximo=maximo(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Máximo: "+maximo);break;
case 5: minimo=minimo(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Mínimo: "+minimo);break;
case 6: retro=1;break;
case 7: System.exit(0);
default: JJOptionPane.showMessageDialog(null,"Ingrese una opción válida...");
}
}while(retro==0);
}
}while(retro==1);
}
}
10)
//Imprime en pantalla la siguiente serie: 1,3,5,7,9,...2n-1 [n = cantidad de numeros impares]
public class SyGCantidadDeImpares
{
static void construyeSerieDeImpares(int numImpares)
{
int i=1,impar=1;
//String signo;
String coma;
S
while(i<=2*numImpares-1)
{
if (i==2*numImpares-1)
coma="";
else
coma=", ";
muestraSerieDeImpares(i,coma);
i+=2;
}
System.out.print(i+coma);
}
int numImpares=Integer.parseInt(args[0]);
if(args.length>1)
System.out.println("Ingrese sólo un parámetro [número de impares a mostrar...]");
else if(numImpares<=0)
System.out.println("Ingrese un parámetro válido [mayor a 0]");
else
{
construyeSerieDeImpares(numImpares);
System.out.println("");
}
}
}
11)
//Imprime en pantalla la siguiente serie: 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...+ 1/(2n-1) [n = cantidad de fracciones]
public class SyGCantidadDeFracciones
{
static void construyeSerieFraccional(int numFracciones)
{
int i=1,den=1;
String signo;
while(i<=numFracciones)
{
if (i%2==0)
signo="+";
else
signo="-";
if(i==numFracciones)
ssigno=" ";
muestraSerieFraccional(den,signo);
den+=2;
i++;
}
}
int numFracciones=Integer.parseInt(args[0]);
if(args.length>1)
System.out.println("Ingrese sólo un parámetro [número de fracciones a mostrar...]");
else if(numFracciones<=0)
System.out.println("Ingrese un parámetro válido [mayor a 0]");
else
{
construyeSerieFraccional(numFracciones);
System.out.println("");
}
}
}
12)
//LIstar los numeros según el numero de digitos indicado
//Considero solo hasta numeros menores a 100000 (5 digitos), por el hecho de k buscar numeros primos a partir de 6 digitos, el proceso se
hace muy lento.
public class SyGNumerosPrimos
{
public static void main(String arg[])
{
int numDigitos=0;
int ndigitos=0;
numDigitos=Integer.parseInt(arg[0]);
if(numDigitos<=0)
System.out.println("Ingrese como parámetro, un numero de digitos correcto (mayor que 0): ");
for(int i = 1; i <= 99999; i++ )
{
ndigitos=contarDigitos(i);
if(ndigitos==numDigitos)
if (primo(i) == true)
System.out.println(i);
}
}
if (contador == 1) p = true;
}
}
return p;
}
int contador=0;
while (divisionEntera != 0)
{
divisionEntera = divisionEntera / 10;
contador++;
}
return contador;
}
}
13)
//Identifica los numeros capicuas dando 2 parámetros como rango.
public class SyGNumerosCapicuas
{
static SyGNumerosCapicuas numero = new SyGNumerosCapicuas();
if(i==numeroInvertidoOut[j])
{
System.out.println(i+" \t es capicua.");
}
j++;
}
}
int invertirNumero(int i)
{
int numeroAux=0;
int numeroInvertido=0;
numeroAux=i;
numeroInvertido=numeroAux%10;
while(numeroAux>9)
{
numeroAux=numeroAux/10;
numeroInvertido=numeroInvertido*10 + numeroAux%10;
}
return numeroInvertido;
}
limiteMin=Integer.parseInt(args[0]);
limiteMax=Integer.parseInt(args[1]);
numero.defineCapicuas(limiteMin,limiteMax);
}
}
}
14)
public class SyGPiramideNumerica
{
}
}
ANEXO 1
Clase CambiarBase: Invocado desde el código número 6 (SyGMultioperaciones).
import javax.swing.JOptionPane;
import java.lang.*;
public class CambiarBase
{
static String numD="",pos="",conversion="";
static int sistO,sistD;
public static void main(String[] args)
{
do{
sistD=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de la base del sistema destino"));
iif(sistD>9 || sistD<2 )
JOptionPane.showMessageDialog(null,"Se admite bases de 2 a 9");
}while(sistD>9 || sistD<2);
sistO=10;
}
numO=String.valueOf(Integer.parseInt(numO)/sistD);
numD+=pos;
}
pos=numO;
numD+=pos;
invertir_cadena(numD,sistD);
limpiarValores();
}