Navigace: Hlavní stránka -> BASIC -> 04 Cykly -> 04.05 Aritmetický průměr záporných a kladných čísel

MENU

04.05 Aritmetický průměr záporných a kladných čísel

Zadání:
Sestavte program, který vypočte aritmetický průměr z kladných a záporných hodnot ze zadaného počtu čísel.
Řešení:
Zadání vyřešíme použitím cyklu FOR, který bude načítat čísla tolikrát, jakou hodnotu zadáme do proměnné pocet.
Po otestování čísla na kladnost či zápornost je přičteme k součtu záporných či kladných hodnot a inkrementujeme
počet záporných či kladných čísel.
Module Module1

    Sub Main()

        Dim cislo, n, i, pz, pk, sz, sk As Integer
        Dim apz, apk As Double

        Console.Write("Zadejte pocet cisel: ")
        n = Console.ReadLine

        pz = 0
        pk = 0
        sz = 0
        sk = 0

        For i = 1 To n
            Console.Write("Zadejte {0}:cislo: ", i)
            cislo = Console.ReadLine
            If cislo < 0 Then
                pz = pz + 1
                sz = sz + cislo
            End If
            If cislo > 0 Then
                pk = pk + 1
                sk = sk + cislo
            End If
        Next i

        apz = sz / pz
        apk = sk / pk

        Console.WriteLine("Aritmeticky prumer zapornych cisel={0:0.000}", apz)
        Console.WriteLine("Aritmeticky prumer kladnych cisel={0}", apk)

        Console.ReadLine()

    End Sub

End Module
program ke stažení
Pro studenty:
Pozor, nesmíte vynechat sekci inicializace proměnných. Do proměnných pz, pk, sz a sk MUSÍTE vložit hodnotu 0 (nula), jinak by program dosadil své počáteční hodnoty.

Pro učitele:
Doporučuji ukázat a vysvětlit studentům, jak program zareaguje na nulovou hodnotu v proměnné pocet a na záporné hodnoty v proměnné pocet.
Program se ukončí chybou, pokud se v řadě čísel neobjeví žádné kladné či záporné číslo. Pak zůstane v proměnné pk nebo pz nulová hodnota a dojde k dělení nulou.