předchozí lekce (1.11) | obsah kurzu | následující lekce (1.13) |
POKUD hotovost > 20 POTOM
půjdu do kina
JINAK
budu se dívat na televizi
KONEC
Uvedenému zápisu se říká algoritmus a popisuje schematicky postup prováděných akcí.
Vztahu hotovost>20 se říká podmínka. Podmínka nám tedy určuje, jaká akce se bude
provádět. Zápis algoritmu je nutné pro počítač převést do programu. Například
následujícím způsobem:
Sub Main()
hotovost = 10 'zadejte vaši hotovost
If hotovost > 20 then
Writeln("Kino") 'pokud je podmínka splněna
Else
Writeln("Televize") 'pokud není podmínka splněna
End If
End Sub
Nejprve jsme definovali proměnnou se jménem hotovost a přiřadili ji určitou hodnotu. V
podmínce jsme potom zjišťovali, zda odpovídá hodnota našim požadavkům a podle
toho jsme provedli určitou akci. Zkuste si zadat sami různé hodnoty stavu vaší hotovosti.
Podmínka se v programu zadává klíčovým slovem If..Then..Else, za kterým musí
následovat vyhodnocovaná podmínka. Za klíčovým slovem Then se uvede akce, která
se provede při splnění podmínky. Po uvedení klíčového slova Else je možné uvést akci,
která se má provést v případě nesplnění podmínky. Uvést je přitom možné vždy i několik
příkazů. Viz následující příklad:
Sub Main()
ConsoleClear
Writeln("Můj plat je "+CStr(plat)+" Kč.")
If plat > 15000 then
Writeln("Do práce jezdím autem.")
Writeln("Bydlím v rodinném domku.")
Writeln("Dovolená u moře.")
Else
Writeln("Do práce jezdím vlakem.")
Writeln("Bydlím v paneláku.")
Writeln("Dovolená na koupališti.")
End If
End Sub
Všimněte si, že jsme v programech u zápisu podmínky odsadili vykonávané příkazy
na řádku o tři znaky. Tím vynikla struktura podmínky a na první pohled je viditelné její
rozčlenění. Není to sice nutnost, přesto však doporučujeme uvedenou grafickou podobu
zápisu programu ve vlastním zájmu dodržovat.
Podmínku představuje logický výraz, který udává, zda je podmínka splněna nebo ne. Logické výrazy mohou mít proto výsledek pouze pravda nebo nepravda. V počítačové terminologii True (pravda) nebo False (nepravda). Pokud byste chtěli výsledek podmínky deklarovat jako proměnnou, museli byste použít typ BOOLEAN. Logická podmínka zpracovává nejčastěji matematický výraz. Může to však být i výraz zpracovávající řetězce, to však bude psáno až se naučíme s řetězci důkladněji pracovat.
Matematické výrazy porovnávají nejčastěji několik hodnot. Ve výrazu se přitom může také použít libovolného matematického výpočtu, který je v jazyce definován.
Matematické výrazy zpracovávají aritmetické operace. Výrazy se skládají z operátorů
a operandů. Operátor je přitom porovnávaná hodnota a operand je způsob porovnání
hodnot. Operátor může představovat libovolný matematický výpočet, který je v jazyce
definován. Operand slouží k vyhodnocení operátorů. Používají se následující dostatečně
známé operandy:
> větší než
>= větší nebo rovno než
< menší než
<= menší nebo rovno než
= rovná se
<> nerovná se
Ve výrazu je samozřejmě možné používat závorky. Příklad výrazů zpracovávajících
matematický výpočet:
hotovost > 20
a/2 < 10
2*(a+b) = 2*a+2*b
Výrazy můžeme dále v jedné podmínce spojit logickým operátorem s dalším výrazem a
vyhodnocovat tak složenou podmínku. Používají se přitom následující logické operátory:
AND a zároveň platí
OR platí jeden nebo druhý výraz
NOT není pravda, negace výrazu
V případě použití logických operátorů mají tyto ve vyhodnocování výrazů
přednost před ostatními operátory. Dále se vyhodnocují závorky a až na konci
matematické výpočty. Pokud budete chtít zapsat v programu několik výrazů spojených
logickým operátorem, musíte umístit výrazy do závorek. Například pro zjištění rozsahu
hotovosti od 10 Kč do 30 Kč použijete následující zápis:
If (hotovost >= 10) and (hotovost <= 30) then
Writeln("Kino") 'pokud je podmínka splněna
Else
Writeln("Televize") 'pokud není podmínka splněna
End If
V této lekci jsme si probrali mimo možnosti rozvětvení činnosti programu také způsob
zápisu podmínek v programu. Podmínky se v programu používají i v dalších příkazech.
Například pro zadání počtu opakování zvolené části programu, jak si ukážeme v
následující lekci.
předchozí lekce (1.11) | obsah kurzu | následující lekce (1.13) |