4. C#

4.6. Průměr pole

Pro výpočet aritmetického průměru ze všech prvků v poli je použita soukromá metoda PrumerPole, která je deklarována v regionu Operace s polem, která je součástí regionu Pomocné metody. Tato metoda navrací reálné číslo reprezentující vypočtený průměr. Počátečním krokem metody je inicializace lokální celočíselné proměnné suma, která nám slouží pro uložení součtu všech dosud procházených prvků. Po ukončení průchodu všemi prvky vektoru je tato suma přetypována na reálné číslo (na typ double), abychom mohli provést podíl sumy a počtu prvků vektoru uloženým ve formálním parametru n jehož výsledek je desetinné číslo (jinak bychom prováděli celočíselné dělení). Výsledek této operace je přiřazen výstupu metody - viz Kód 1.

/// <summary>
/// Metoda pro výpočet aritmetického průměru prvků ve vektoru
/// </summary>
/// <param name="n"> počet prvků vektoru </param>
/// <param name="pole"> vektor </param>
/// <returns> hodnota aritmetického průměru (reálné číslo) </returns>
private double PrumerPole(int n, int[] pole)
{
    // Lokální proměnné: i - index; suma - suma prvků vektoru 
    int suma;
    // Nastavení počáteční hodnoty u sumy
    suma = 0;
    // Cyklus s pevným krokem - pro procházení prvků
    for (int i = 0; i < n; i++)
    {
        // Přičtení dalšího prvku vektoru do sumy
        suma += pole[i];
    }
    /* Výpočet průměru (suma/počet prvků) a přiřazení hodnoty do výstupu metody
     * nutné přetypovat sumu na double, aby nedošlo k celočíselnému dělení */
    return (double)suma / (n);
}

Kód 1: Deklarace metody pro výpočet aritmetického průměru prvků vektoru (PrumerPole)

Přemístíme se zpět do regionu Události a jeho části Operace s polem. V tomto regionu upravíme metodu obsluhy události stisknutí tlačítka BtnPrumer - viz Kód 2. V rámci těla metody budeme deklarovat reálnou lokální proměnnou prumer, do které uložíme návrat volané metody PrumerPole, které předáme dva parametry. První parametr je počet prvků vektoru uložený v datové složce třídy. Jako druhý parametr předáme vektor. Navrácený průměr zobrazíme v na formuláři v objektu typu TextBox spolu s textem. Pro konverzi reálného čísla na textový řetězec využijeme metody Format třídy string, kde použijeme indexaci prvků ve složených závorkách včetně uvedení formátu výpisu reálného čísla na dvě desetinná místa (N2).

/// <summary>
/// Volání metody pro výpočet aritmetického průměru z prvků pole
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnPrumer_Click(object sender, RoutedEventArgs e)
{
    // Lokální proměnná: prumer - průměr prvků v poli
    double prumer;
    // Přiřazení výstupu metody pro výpočet průměru z prvků pole do lokální proměnné
    prumer = this.PrumerPole(this.pocetPrvku, this.pole);
    /* Zobrazení textu 'Průměr = ' spolu s vypočteným průměrem (konverze reálného čísla 
     * na text, zobrazného na 2 desetinná místa) do objektu (TextBox) na formuláři */
    this.TxtVysledek.Text = string.Format("Průměr = {0:N2}", prumer);
}

Kód 2: Deklarace metody pro zavolání metody pro výpočet aritmetického průměru prvků pole - výpis na formuláři (BtnPrumer_Click)