Zadání:
Sestavte program, který vytiskne tři zadané hodnoty ve vzestupném pořadí.
Řešení:
Při řešení programu použijeme tři pomocné proměnné min, stred a max.
Nejprve porovnáme první dvě hodnoty a podle jejich hodnoty je rozřadíme do proměnných min a max.
Poté porovnáme třetí zadanou hodnotu s hodnotami proměnných min a max a dosadíme do proměnné stred
příslušnou hodnotu.
Module Module1
Sub Main()
Dim a, b, c, min, stred, max As Integer
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
min = a
max = b
End If
If c > max Then
stred = max
max = c
Else
If c < min Then
stred = min
min = c
Else
stred = c
End If
End If
Console.Write("{0} {1} {2}", min, stred, max)
Console.ReadLine()
End Sub
End Module
program ke stažení
Pro studenty:
Asi by vás napadlo použít jednodušší metodu řešení, např.:
If a<b and b<c Then
Console.Write("{0} {1} {2}", a, b, c)
End If
If b<a and a<c Then
Console.Write("{0} {1} {2}", b, a, c)
End If
If c<b and b<a Then
Console.Write("{0} {1} {2}", c, b, a)
End If
.
.
.
Je velmi jednoduché na některou z variant zapomenout. A pozor! Tento zápis neřeší, pokud budou některé ze zadávaných hodnot shodné. Pokud zahrnete do podmínek i shodnost hodnot, bude podmínek velké množství.
Pro učitele:
Navrhněte studentům, aby se zamysleli nad modifikací programu, která vytiskne hodnoty v sestupném pořadí.