Logické operace

[ZPĚT na OBSAH]

Obecně:
if <podmínka> then <příkaz>
|elif <podmínka> then <příkaz>|
|else <příkaz>|
fi

Pozn.: výrazy uvnitř | | jsou nepovinné

  • příkazy za then se vykonají, pokud je podmínka pravdivá
  • konstrukcí elif můžete mít v rozhodovacím členu kolik chcete
  • podmínka může obsahovat:
  • relační operátory
    = rovno
    > větší než
    < menší než
    <> nerovno
    >= větší nebo rovno
    <= menší nebo rovno
    logické operátory
    and logický součin
    or logický součet
    not negace
    logická jména
    true pravda
    false nepravda
  • rozhodovací členy lze vnořovat
  • není-li ani podmínka if ani žádná podmínka elif pravdivá, vykonají se příkazy následující klauzuli else, pokud je v příkazu uvedena

Konkrétně

Máme zadanou hodnotu A a rozhodujeme o hodnotách B, C.
Hodnota B = A, jestliže A je menší než nula.
Hodnota C= A, jestliže A je větší než nula.
Jestliže A = 0, výpočet se zastaví.

Výpočet můžeme znázornit pomocí vývojového diagramu:

Vývojový diagram

V MAPLE můžeme tento problem řešit několika způsoby

>restart:
>A:=0: # vstupni hodnota
>if A=0 then
>ERROR(`Nulová hodnota A`)
>elif A > 0 then C:=A:
>elif A < 0 then B:=A:
>fi;

Příklad vnořeného členu
>restart:
>A:=0: # vstupni hodnota
>if A <> 0 then
>if A > 0 then
>C:=A:
>else
>B:=A:
>fi;
>else
>ERROR(`Nulová hodnota A`)
>fi;
Vnoření rozhodovacích členů

>restart:
>A:=0: # vstupni hodnota
>if A > 0 then
>C:=A:
>elif A < 0 then B:=A:
>else
>ERROR(`Nulová hodnota A`)
>fi;