Maximizando Beneficios Agrícolas: Un Estudio por Comarcas y Cultivos

Algoritmo para el Cálculo de Beneficios Agrícolas en 10 Comarcas

Declaración de Constantes y Tipos

    
        const
            FIN = '#';
        fconst
        tipo
            Tsumatotalbeneficiosporcultivo = tabla [1..26] de real;
        ftipos
    

Declaración de Variables

    
        var
            Nombre_Comarca, Producto_Cultivado, Producto_Cultivado_Max, producto_maximo: carácter;
            I, Numero_Identificacion_Finca, Numero_Fincas, Finca_Con_Mayor_Beneficio: entero;
            Mayor_Beneficios_Fincas, Producto_Con_Mayor_Beneficio, Total_Beneficios_Comarca, Suma_Beneficios_Fincas, Beneficio_Producto, productototalmayorbeneficio: real;
            Sumatotalbeneficiosporcultivo: Tsumatotalbeneficiosporcultivo;
            FICHERO: text;
        fvar
    

Inicialización de Variables

    
        A := 1;
        Productototalmayorbeneficio := 0,0;
    

Inicialización de la Tabla de Beneficios por Cultivo

Se inicializa la tabla Sumatotalbeneficiosporcultivo a 0 para cada uno de los 26 posibles cultivos.

    
        mientras A <= 26 hacer
            sumatotalbeneficiosporcultivo[A] := 0,0;
            A := A + 1;
        fmientras
    

Lectura y Procesamiento de Datos

    
        A := 1;
        Mayor_Beneficios_Fincas := 0,0;
        Producto_Con_Mayor_Beneficio := 0,0;
        Assign(fichero, "text.txt");
        Reset(fichero);
        mientras A <= 10 hacer
            leer(fichero, Nombre_Comarca);
            I := 1;
            Total_Beneficios_Comarca := 0,0;
            mientras (Nombre_Comarca) <> ' ' hacer
                escribir(Nombre_Comarca);
                leer(fichero, Nombre_Comarca);
            fmientras
            leer(fichero, Numero_Fincas);
    

Nota: Las siguientes líneas solo se pueden utilizar en Pascal.

    
        mientras I <= (Numero_Fincas) hacer
            Suma_Beneficios_Fincas := 0,0;
            leer(fichero, Numero_Identificacion_Finca);
            leer(fichero, Producto_Cultivado, Producto_Cultivado);
            mientras (Producto_Cultivado) <> FIN hacer
                leer(fichero, Beneficio_Producto);
                SumaProductos[AEntero(Productos_Cultivado) - AEntero('A') + 1] := SumaProductos[AEntero(Productos_Cultivado - AEntero('A'))] + (Beneficio_Producto);
                si (Beneficio_Producto) > (Producto_Con_Mayor_Beneficio) entonces
                    Producto_Con_Mayor_Beneficio := Beneficio_Producto;
                    Producto_Cultivado_Max := Producto_Cultivado;
                fsi
                Suma_Beneficios_Fincas := Beneficio_Producto + Suma_Beneficios_Fincas;
                leer(fichero, Producto_Cultivado, Producto_Cultivado);
            fmientras
            I := I + 1;
            Total_Beneficios_Comarca := (Suma_Beneficios_Fincas) + (Total_Beneficios_Comarca);
            si (Suma_Beneficios_Fincas) > (Mayor_Beneficios_Fincas) entonces
                Mayor_Beneficios_Fincas := (Suma_Beneficios_Fincas);
                Finca_Con_Mayor_Beneficio := (Numero_Identificacion_Finca);
            fsi
        fmientras
        A := A + 1;
        escribir("El beneficio medio de la comarca es: ", Total_Beneficios_Comarca / numero_fincas);
    fmientras
    

Cálculo del Producto con Mayor Beneficio

    
        A := A + 1;
        mientras A <= 26 hacer
            si Sumaproductos[A] > ProductoTotalMayorBeneficio entonces
                ProductoTotalmayorbeneficio := sumaproductos[A];
                ProductoMaximo := ACaracter(A + AEntero 'A' - 1);
            fsi
        fmientras
    

Resultados

Se muestran los resultados obtenidos:

  • Producto cultivado con mayor beneficio.
  • Finca con mayor beneficio.
  • Producto con mayor beneficio puntual.
    
        escribir("El producto cultivado máximo es: ", Producto_Cultivado_Max, " con un valor de ", Producto_Con_Mayor_Beneficio:2:2);
        escribir("La finca con mayor benficio es: ", Finca_Con_Mayor_Beneficio, " con un beneficio de ", Mayor_Beneficios_Fincas:2:2);
        escribir("Producto de mayor beneficio puntual: ", ProductoMaximo, " con beneficio de ", ProductoTotalmayorbeneficio:2:2);
    

falgoritmo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *