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.