Navigace: Hlavní stránka -> BASIC -> 03 Podmínky -> 03.03 Vytiskne ze zadaných 3 čísel prostřední hodnotu

MENU

03.03 Vytiskne ze zadaných 3 čísel prostřední hodnotu

Zadání:
Sestavte program, který vytiskne ze tří zadaných hodnot prostřední hodnotu, např. z hodnot 8,2,5 vytiskne hodnotu 5.

Řešení:
Metod řešení je více. Asi nejjednodušší je porovnat první dvě hodnoty a jejich hodnoty uložit do proměnných min
a max podle velikosti. Dalším krokem je porovnat třetí číslo s hodnotou max a min a do proměnné stred vložit hodnotu,
která je prostřední.
Module Module1

    Sub Main()

        Dim a, b, c, min, max, stred As Double

        Console.Write("Zadejte prvni cislo: ")
        a = Console.ReadLine
        Console.Write("Zadejte druhe cislo: ")
        b = Console.ReadLine
        Console.Write("Zadejte treti cislo: ")
        c = Console.ReadLine

        If a > b Then
            max = a
            min = b
        Else
            max = b
            min = a
        End If

        If c > max Then
            stred = max
        Else
            If c < min Then
                stred = min
            Else
                stred = c
            End If
        End If

        Console.WriteLine("Prostredni hodnota={0:0.000}", stred)

        Console.ReadLine()

    End Sub

End Module
program ke stažení
Pro studenty:
Nejhorší metoda řešení je porovnávat všechny tři hodnoty navzájem, např.:
If c<a and a<b Then
   Console.WriteLine("Prostredni hodnota={0:0.000}", a)
End If
If c<b and b<a Then
   Console.WriteLine("Prostredni hodnota={0:0.000}", b)
End If
If b<c and c<a Then
   Console.WriteLine("Prostredni hodnota={0:0.000}", c)
End If
Tato porovnávání totiž neřeší variantu, kdy jsou některé ze zadávaných hodnot shodné, např. a=5, b=5 a c=8. Pokud bychom porovnávali i shodné hodnoty, dostaneme se na neúnosný počet podmínek (zkuste odvodit, kolik).