Navigace: Hlavní stránka -> BASIC -> 03 Podmínky -> 03.04 Určí, kolik ze zadaných 3 čísel má stejnou hodnotu

MENU

03.04 Určí, kolik ze zadaných 3 čísel má stejnou hodnotu

Zadání:
Sestavte program, který určí, kolik ze tří zadaných hodnot je stejných.
Řešení:
Postupně porovnáváme dvě čísla, podle rovnosti či nerovnosti větvíme program následnými podmínkami.
Proměnná pocet slouží pro evidenci shod, na závěr je vyhodnocena příkazem case.
Module Module1

    Sub Main()

        Dim a, b, c, pocet As Integer

        Console.Write("Zadejte prvni celociselnou hodnotu: ")
        a = Console.ReadLine
        Console.Write("Zadejte druhou celociselnou hodnotu: ")
        b = Console.ReadLine
        Console.Write("Zadejte treti celociselnou hodnotu: ")
        c = Console.ReadLine

        If a = b Then
            If b = c Then
                pocet = 3
            Else
                pocet = 2
            End If
        Else
            If a = c Then
                pocet = 2
            Else
                If b = c Then
                    pocet = 2
                Else
                    pocet = 0
                End If
            End If
        End If

        Select Case pocet
            Case 0
                Console.WriteLine("Hodnoty si nejsou rovny")
            Case 2
                Console.WriteLine("Dve hodnoty jsou si rovny")
            Case 3
                Console.WriteLine("Vsechny hodnoty jsou si rovny")
        End Select

        Console.ReadLine()

    End Sub

End Module
program ke stažení
Pro studenty:
Není vhodné porovnávat všechny tři čísla najednou, např.:
If a=b and a=c Then
   Console.WriteLine("Vsechny hodnoty jsou si rovny")
End If
If a=b and b<>c Then
   Console.WriteLine("Dve hodnoty jsou si rovny")
End If
If a<>b and b=c Then
   Console.WriteLine("Dve hodnoty jsou si rovny")
End If
If a<>c and b<>c Then
   Console.WriteLine("Zadne hodnoty si nejsou rovny")
End If
.
.
.
Variant je mnoho a většinou se stane, že autor programu na nějakou zapomene.