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).