Advertisement
JosephGlz

Clase Grupos

Apr 13th, 2021
757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.48 KB | None | 0 0
  1. package com.mycompany.programa_gestiongrupos;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Grupos
  6. {
  7.     int Cont = -1;
  8.     float Prom[];
  9.     int Tam;
  10.     float Dato;
  11.     Scanner read = new Scanner(System.in);
  12.    
  13.     boolean Arreglo_Lleno()
  14.     {
  15.         if(Cont == Tam-1)
  16.         {
  17.             System.out.println("");
  18.             System.out.println("El Grupo está lleno.");
  19.             System.out.println("");
  20.             return true;
  21.         }
  22.         else
  23.         {
  24.             return false;
  25.         }
  26.     }
  27.    
  28.     boolean Arreglo_Vacio()
  29.     {
  30.         if(Cont == -1)
  31.         {
  32.             System.out.println("");
  33.             System.err.println("El Grupo está vacío.");
  34.             System.out.println("");
  35.             return true;
  36.         }
  37.         else
  38.         {
  39.             return false;
  40.         }
  41.     }
  42.    
  43.     int Busqueda_Secuencial()
  44.     {
  45.         if(Arreglo_Vacio())
  46.         {
  47.             return -1;
  48.         }
  49.         else
  50.         {
  51.             for(int i = 0; i <= Cont; i++)
  52.             {
  53.                 if(Dato == Prom[i])
  54.                 {
  55.                     return i;
  56.                 }
  57.             }
  58.         }
  59.         System.out.println("");
  60.         System.out.println("    El Promedio: " + Dato + " no se encuentra en el Grupo.");
  61.         System.out.println("");
  62.         return -2;
  63.     }
  64.    
  65.     void CreateArray()
  66.     {
  67.         int i = 0;
  68.         System.out.println("    Introduzca total de Alumnos del Grupo: ");
  69.         Tam = read.nextInt();
  70.         float Aux[] = new float[Tam];
  71.         for (i = 0; i < Tam; i++)
  72.         {
  73.             Aux[i] = 0;
  74.         }
  75.         Prom = Aux;
  76.         Cont = -1;
  77.     }
  78.    
  79.     void Insertar_Dato()
  80.     {
  81.         if(!Arreglo_Lleno())
  82.         {
  83.             Cont++;
  84.             Prom[Cont] = Dato;
  85.         }
  86.     }
  87.    
  88.     void Eliminar_Dato()
  89.     {
  90.         int Buscar = Busqueda_Secuencial();
  91.         int i=0;
  92.         if(Buscar > -1)
  93.         {
  94.             for(i = Buscar; i <= Cont; i++)
  95.             {
  96.                 Prom[i] = Prom[i+1];
  97.             }
  98.             Cont--;
  99.         }
  100.     }
  101.    
  102.     void Modificar_Dato()
  103.     {
  104.         int Buscar = Busqueda_Secuencial();
  105.        
  106.         if(Buscar > -1)
  107.         {
  108.             System.out.println("Ingrese el nuevo Promedio: ");
  109.             Dato = read.nextFloat();
  110.             Prom[Buscar] = Dato;
  111.         }
  112.     }
  113.    
  114.     void ListarGrupo()
  115.     {
  116.         for(int i = 0; i <= Cont; i++)
  117.         {
  118.             System.out.println("Dato "+ (i+1) + ": " + Prom[i]);
  119.         }
  120.     }
  121.    
  122.     float SumaPromedios()
  123.     {
  124.         float suma=0.0f;
  125.         int i = 0;
  126.         for(i = 0; i <= Cont; i ++)
  127.         {
  128.             suma = suma + Prom[i];
  129.         }
  130.         return suma;
  131.     }
  132.    
  133.     void RangoPromedios()
  134.     {
  135.         System.out.println("");
  136.         System.out.println("    El rango es: " + (PromedioAlto()-PromedioMenor()));
  137.         System.out.println("");
  138.     }
  139.    
  140.     float PromedioAlto()
  141.     {
  142.         float mayor = 0.0f;
  143.         for(int i = 0; i <= Cont; i++)
  144.         {
  145.             if(Prom[i] > mayor)
  146.             {
  147.                 mayor = Prom[i];
  148.             }
  149.         }
  150.         return mayor;
  151.     }
  152.    
  153.     float PromedioMenor()
  154.     {
  155.         float menor = 10000.0f;
  156.         for(int i = 0; i <= Cont; i++)
  157.         {
  158.             if(Prom[i] < menor)
  159.             {
  160.                 menor = Prom[i];
  161.             }
  162.         }
  163.         return menor;
  164.     }
  165.    
  166.     double ObtenerPromedio()
  167.     {
  168.         double prom = 0.0f;
  169.         prom = SumaPromedios() / Cont;
  170.         return prom;
  171.     }
  172.    
  173.     void MostrarModa()
  174.     {
  175.         int i, j, frec;
  176.         int frecTemp, frecModa = 0;
  177.         float moda1 = -1;
  178.        
  179.         for ( i = 0; i <= Cont; i++ )
  180.         {
  181.             frecTemp = 1;
  182.             for( j = i + 1; j <= Cont; j++ )
  183.             {
  184.                 if(Prom[i] == Prom[j])
  185.                 {
  186.                     frecTemp++;
  187.                 }
  188.             }
  189.             if(frecTemp > frecModa)
  190.             {
  191.                 frecModa = frecTemp;
  192.                 moda1 = Prom[i];
  193.             }
  194.         }
  195.         System.out.println("");
  196.         System.out.println("Moda: "+ moda1);
  197.         System.out.println("");
  198.     }
  199.    
  200.     double ObtenerVarianza()
  201.     {
  202.         double varianza = 0.0f, rango = 0.0f;
  203.         for (int i = 0; i < 10; i++)
  204.         {
  205.             rango = Math.pow(Prom[i] - ObtenerPromedio(), 2f);
  206.             varianza = varianza + rango;
  207.         }
  208.         varianza = varianza / 10f;
  209.         return varianza;
  210.     }
  211.    
  212.     double ObtenerDesviacion()
  213.     {
  214.         double desviA = Math.sqrt(ObtenerVarianza());
  215.         return desviA;
  216.     }
  217.    
  218.     void OrdenarGrupo(float[] A)
  219.     {
  220.         int i, j;
  221.         float aux;
  222.         for (i = 0; i < A.length - 1; i++)
  223.         {
  224.             for (j = 0; j < A.length - i - 1; j++)
  225.             {
  226.                 if (A[j + 1] < A[j])
  227.                 {
  228.                     aux = A[j + 1];
  229.                     A[j + 1] = A[j];
  230.                     A[j] = aux;
  231.                 }
  232.             }
  233.         }
  234. }
  235.    
  236.     float ObtenerMediana()
  237.     {
  238.         OrdenarGrupo(Prom);
  239.         float mediana;
  240.         int mitad = Cont / 2;
  241.        
  242.         if (Cont % 2 == 0)
  243.         {
  244.             mediana = (Prom[mitad - 1] + Prom[mitad]) / 2;
  245.         }
  246.         else
  247.         {
  248.             mediana = Prom[mitad];
  249.         }
  250.         return mediana;
  251.     }
  252.    
  253.     public void ShowMenuInfo()
  254.     {
  255.         int op = 0;
  256.         if(!Arreglo_Vacio())
  257.         {
  258.             do
  259.             {
  260.                 System.out.println("_______________________________________");
  261.                 System.out.println("    1) Suma de los promedios.");
  262.                 System.out.println("    2) Rango de los promedios.");
  263.                 System.out.println("    3) Promedio Mayor");
  264.                 System.out.println("    4) Promedio Menor");
  265.                 System.out.println("    5) Mediana");
  266.                 System.out.println("    6) Moda");
  267.                 System.out.println("    7) Desviación Estandar");
  268.                 System.out.println("    8) Varianza");
  269.                 System.out.println("    0) Salir");
  270.                 System.out.println("");
  271.                 System.out.println(" Seleccione una opción a realizar: ");
  272.                 op = read.nextInt();
  273.  
  274.                 switch(op)
  275.                 {
  276.                     case 1:
  277.                     {
  278.                         System.out.println("La suma de Promedios es: " + SumaPromedios());
  279.                         break;
  280.                     }
  281.                     case 2:
  282.                     {
  283.                         RangoPromedios();
  284.                         break;
  285.                     }
  286.                     case 3:
  287.                     {
  288.                         System.out.println("El promedio Mayor es: " + PromedioAlto());
  289.                         break;
  290.                     }
  291.                     case 4:
  292.                     {
  293.                         System.out.println("El promedio Menor es: " + PromedioMenor());
  294.                         break;
  295.                     }
  296.                     case 5:
  297.                     {
  298.                         System.out.println("    Mediana: " + ObtenerMediana());
  299.                         break;
  300.                     }
  301.                     case 6:
  302.                     {
  303.                         MostrarModa();
  304.                         break;
  305.                     }
  306.                     case 7:
  307.                     {
  308.                         System.out.println("    Desviación: " + ObtenerDesviacion());
  309.                         break;
  310.                     }
  311.                     case 8:
  312.                     {
  313.                         System.out.println("    Varianza: " + ObtenerVarianza());
  314.                         break;
  315.                     }
  316.  
  317.                 }
  318.             }while (op > 0);
  319.         }
  320.     }
  321.    
  322.     void ShowGestionMenu()
  323.     {
  324.         int op = 0;
  325.         do
  326.         {
  327.             System.out.println("_______________________________________");
  328.             System.out.println("    1) Crear Grupo.");
  329.             System.out.println("    2) Ingresar Promedio");
  330.             System.out.println("    3) Eliminar Promedio");
  331.             System.out.println("    4) Modificar Promedio");
  332.             System.out.println("    5) Listar Promedios");
  333.             System.out.println("    0) Salir");
  334.             op = read.nextInt();
  335.            
  336.             switch(op)
  337.             {
  338.                 case 1:
  339.                 {
  340.                     CreateArray();
  341.                     break;
  342.                 }
  343.                 case 2:
  344.                 {
  345.                     System.out.println("Promedio a Insertar: ");
  346.                     Dato = read.nextFloat();
  347.                     Insertar_Dato();
  348.                     break;
  349.                 }
  350.                 case 3:
  351.                 {
  352.                     System.out.println("Promedio a Eliminar: ");
  353.                     Dato = read.nextFloat();
  354.                     Eliminar_Dato();
  355.                     break;
  356.                 }
  357.                 case 4:
  358.                 {
  359.                     System.out.println("Promedio a Modificar: ");
  360.                     Dato = read.nextFloat();
  361.                     Modificar_Dato();
  362.                     break;
  363.                 }
  364.                 case 5:
  365.                 {
  366.                     ListarGrupo();
  367.                     break;
  368.                 }
  369.             }
  370.         }while(op > 0);
  371.     }
  372. }
  373.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement