Programování v JavaScriptu #3 - podmínky

Základy v Javascriptu máme za sebou. Pojďme se podívat na podmínky, které v rámci programování umožňují algoritmům se rozhodovat a také na řešení úkolu z minulé lekce.

Řešení úkolu z minulé lekce

V minulé lekci jsme chtěli sepsat výpis výpočtu za použití proměnných tak, aby výsledek vypadal takto:

5 + (-3) = 2

Řešení:

console.log(a + ' + ' + '(' + b + ') = ' + c);

Výpis se stává trošku nepřehledný - musíme být hodně pozorní, abychom si uvědomili, které + je ve výpisu a které + slouží ke spojení textů nebo textu a hodnoty proměnné. Ukážeme si přehlednější řešení 😊

console.log(`${a} + (${b}) = ${c}`);

Zápis se nám značně zjednodušil a výsledek je stejný. Pojďme si zápis trošku rozebrat.

Symbol ${variable} nám umožňuje do výpisu vypsat libovolnou proměnnou, nepotřebujete tedy žádný způsobem spojovat textový výpis a proměnné. Uvozovky jsou jiné než které jsme používali doposud. Pokud chceme tento zápis použít, opravdu musíme použít tyto ``. Pro jistotu si ukážeme, jak na klávesnici napsat symbol $ a ``.

Vypsání symbolu $

Vypsání symbolu ` 

Jednoduchá podmínka IF

Pokud chceme, aby se náš algoritmus rozhodl na základě nějaké podmínky, musíme podmínku dobře definovat. Podmínka musí být takový výraz, o kterém jsme schopni rozhodnout, jestli je pravdivý nebo nepravdivý. Pojďme si ukázat jednoduchý příklad, ve kterém si ověříme, že zadané číslo je větší než 0. Podmínku uvádíme slovíčkem IF.

let a = 1;
if (a == 1) {
    console.log('Zadané číslo a je větší než 0');
}

Pojďme si trochu rozebrat, co jsme vlastně napsali. První řádek by po předešlých lekcích měl být zřejmý. Podmínka nám říká - jestliže a se rovná 1, pak vykonej příkazy nebo část programu uvedenou ve složených závorkách. V našem případě se do konzole vypíše věta Zadané číslo je větší než 0. 

Cvičení pro čtenáře: Uložte do proměnné a hodnotu -2. Co Vám program vypíše?

Jak by to vypadalo graficky ve vývojovém diagramu? Předešlý příklad si znázorníme i graficky pro lepší pochopení.


Z obrázku je vidět, že se v běhu algoritmu můžeme vydat dvěma cestami. V algoritmizaci se tato část algoritmu nazývá větvení - protože se program větví (dělí) na dvě části (větve) a "jakou cestou" se algoritmus vydá záleží právě na splnění podmínky. Symbol plus nad levou větví znamená, že je podmínka splněna. Analogicky symbol - znamená, že je podmínka nesplněna a jdeme druhou cestou. Co když ale budeme potřebovat, aby program provedl i jiný příkaz v případě, že není podmínka splněna? 

Úplné větvení (IF ELSE)

Někdy potřebujeme vykonat sekvenci příkazů nebo jinou část podprogramu, když podmínka není splněna. V našem případě bychom mohli (třeba) napsat, že číslo není větší než 0. A jak to zapsat v kódu?

let a = 1;
if (a == 1) {
    console.log('Zadané číslo a je větší než 0');
} else {
    console.log('Zadané číslo není větší než 0');
}

Druhá větev se vytváří pomocí slovíčka else (=jinak) a opět - všechny příkazy nebo jiné struktury (tomuto pojmu budeme věnovat čas ve speciálním článku) mezi složenými závorkami {} se provedou v pořadí, jak jsou za sebou napsány. 

Kód je ve své podstatě taková knížka, kterou lze číst. Zkusme si "přečíst" naši podmínku if else:

"Jestliže a se rovná jedné, pak vypiš do konzole Zadané číslo a je větší než 0. Jinak vypiš do konzole Zadané číslo není větší než 0.

Ukážeme si zápis i ve vývojovém diagramu, abychom měli větvení i graficky znázorněné.


K zamyšlení? - Co když bude proměnná a obsahovat hodnotu 0? Co program vypíše?

To by nám pro tento článek mohlo stačit. V příštím díle se zaměříme na striktní porovnávání a další operace, které v podmínkách můžeme využít.

== Vaše Zvládnu to ==

Komentáře