You are on page 1of 10

ALGORITMIA

EDADES
protected void actionPerformedBtnProcesar(ActionEvent arg0) {

// Declara variables

int edad, contamay = 0, contamen = 0, suma = 0, contaedad = 0;

double prom;

// Limpia la pantalla

txtS.setText("");

// Bucle

do {

// Genera una edad del intervalo 10 a 90

edad = (int) ((90 - 10 + 1) * Math.random() + 10);

// Imprime la edad generada

txtS.append(edad + "\n");

// Cuenta la edad generada

contaedad++;

// Suma la edad generada

suma += edad;

// Cuenta la edad generada según sea mayor o menor de edad

if (edad < 18)

contamen++;

else

contamay++;

} while (!(edad == 10 || edad == 90));


// Calcula la edad promedio

prom = suma * 1.0 / contaedad;

// Imprime el reporte solicitado

imprimir("Edad promedio....................: " + prom);

imprimir("Cantidad de edades generadas.....: " + contaedad);

imprimir("Cantidad de menores de edad......: " + contamen);

imprimir("Cantidad de mayores de edad......: " + contamay);

LECHE
// Procesa la pulsación del botón Borrar

protected void actionPerformedBtnBorrar(ActionEvent arg0) {

txtCantidad.setText("");

txtS.setText("");

cboMarca.setSelectedIndex(0);

txtCantidad.requestFocus();

void imprimir(String cad) {

txtS.append(cad + "\n");

// Declara variables globales

int canven0, canven1, canven2;

int canuni0, canuni1, canuni2;

double imptot0, imptot1, imptot2;

// Método principal
protected void actionPerformedBtnProcesar(ActionEvent arg0) {

// Declara variables locales

int mar, can;

double ipag;

// Lee la marca

mar = getMarca();

// Lee la cantidad

can = getCantidad();

// Calcula el importe a pagar

ipag = calcularImportePagar(mar, can);

// Efectúa los incrementos solicitados

efectuarIncrementos(mar, can, ipag);

// Muestra los resultados

mostrarResultados(ipag);

// Obtiene la marca del JComboBox y lo retorna

int getMarca() {

return cboMarca.getSelectedIndex();

// Obtiene la cantidad del JTextField y lo retorna

int getCantidad() {

return Integer.parseInt(txtCantidad.getText());
}

// Calcula y retorna el importe a pagar

// m y c reciben los valores de mar y can, respectivamente

double calcularImportePagar(int m, int c) {

switch (m) {

case 0:

return 4.85 * c;

case 1:

return 4.35 * c;

case 2:

return 3.50 * c;

default:

return 4.55 * c;

// Cuenta y acumula en las variables globales

// m, c e ip reciben los valores de mar, can e ipag, respectivamente

void efectuarIncrementos(int m, int c, double ip) {

switch (m) {

case 0:

canven0++;

canuni0 += c;

imptot0 += ip;

break;

case 1:

canven1++;

canuni1 += c;
imptot1 += ip;

break;

default:

canven2++;

canuni2 += c;

imptot2 += ip;

// Imprime el reporte solicitado

// ip recibe el valor de ipag

void mostrarResultados(double ip) {

txtS.setText("");

imprimir("Importe a pagar : " + ip);

imprimir("Cantidad de ventas de La Preferida : " + canven0);

imprimir("Cantidad de unidades vendidas de La Preferida : " + canuni0);

imprimir("Importe total pagado de La Preferida : " + imptot0);

imprimir("Cantidad de ventas de La Colmena : " + canven1);

imprimir("Cantidad de unidades vendidas de La Colmena : " + canuni1);

imprimir("Importe total pagado de La Colmena : " + imptot1);

imprimir("Cantidad de ventas de Bella Holandesa : " + canven2);

imprimir("Cantidad de unidades vendidas de Bella Holandesa : " + canuni2);

imprimir("Importe total pagado de Bella Holandesa : " + imptot2);

NOTAS
void imprimir(String cad) {

txtS.append(cad + "\n");

}
protected void actionPerformedBtnProcesar(ActionEvent arg0) {

// Declara variables

int nota, canapro = 0, candesa = 0, suma = 0, canveinte =0;

double prom;

// Limpia la pantalla

txtS.setText("");

// Recorre el bucle para c : 0, 1, 2, 3, ..., 33, 34 (35 veces)

for(int c = 0; c < 35; c++) {

// Genera una nota del intervalo 0 a 20

nota = (int) ((20 - 0 + 1) * Math.random() + 0);

// Imprime la nota generada

txtS.append(nota + "\n");

// Suma la nota generada

suma += nota;

// Cuenta la nota generada según sea aprobatoria o desaprobatoria

if (nota < 13)

candesa++;

else

canapro++;

// Cuenta la cantidad de notas generadas iguales a 20

if(nota == 20)

canveinte++;
}

// Calcula la nota promedio

prom = suma * 1.0 / 35;

// Imprime el reporte solicitado

imprimir("Nota promedio..............: " + prom);

imprimir("Cantidad de aprobados......: " + canapro);

imprimir("Cantidad de desaprobados...: " + candesa);

imprimir("Cantidad de veintes........: " + canveinte);

NUMEROS
void imprimir(String cad) {

txtS.append(cad + "\n");

protected void actionPerformedBtnProcesar(ActionEvent arg0) {

// Declara variables locales

int num, conta1 = 0, conta2 = 0, conta3 = 0, conta4 = 0, suma = 0;

// Limpia la pantalla

txtS.setText("");

// Bucle

do {

// Genera un número aleatorio del intervalo 100 a 900

num = (int) ((900 - 100 + 1) * Math.random() + 100);


// Imprime el número

txtS.append(num + "\n");

// Suma el número

suma += num;

// Cuenta el número según el intervalo al que pertenece

if (num <= 300)

conta1++;

else if (num <= 500)

conta2++;

else if (num <= 700)

conta3++;

else

conta4++;

} while (!(num % 7 == 0 && num >= 400 && num <= 600));

// Imprime el reporte solicitado

imprimir("Suma de números.....................: " + suma);

imprimir("Cantidad de números de 100 a 300....: " + conta1);

imprimir("Cantidad de números de 301 a 500....: " + conta2);

imprimir("Cantidad de números de 501 a 700....: " + conta3);

imprimir("Cantidad de números de 701 a 900....: " + conta4);

SERIES1

// Procesa la pulsación del botón Procesar

protected void actionPerformedBtnProcesar(ActionEvent arg0) {


// Declara variables

int num = 5, den = 3, c = 0;

double suma = 0;

// Limpia la pantalla

txtS.setText("");

// Mientras c sea 0, 1, 2, 3, ..., 14

while (c < 15) {

// Imprime el término actual

txtS.append(num + "/" + den + "\n");

// Suma el término actual

suma += (num * 1.0) / den;

// Avanza al próximo término

num += 2;

den += 7;

// Cuenta la cantidad de veces

c++;

// Imprime la suma

txtS.append("Suma : " + suma);

}
SERIES2
// Procesa la pulsación del botón Procesar

protected void actionPerformedBtnProcesar(ActionEvent arg0) {

// Declara variables

int num = 15, den = 150, c = 0;

double suma = 0;

// Limpia la pantalla

txtS.setText("");

// Mientras c sea 0, 1, 2, 3, .., 17, 18, 19

while (c < 20) {

// Imprime el término actual

txtS.append(num + "/" + den + "\n");

// Suma el término actual

suma += (num * 1.0) / den;

// Avanza al próximo término

num += 2;

den -= 3;

// Cuenta la cantidad de veces

c++;

// Imprime la suma

txtS.append("Suma : " + suma);

You might also like