Navigace: Hlavní stránka -> BASIC -> 03 Podmínky -> 03.05 Vytiskne zadané 3 hodnoty ve vzestupném pořadí

MENU

03.05 Vytiskne zadané 3 hodnoty ve vzestupném pořadí

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