Vnořené podmínky

Blok kódu může obsahovat jakýkoli kód, i další příkaz if. Příkazu if v bloku jiného příkazu if se říká vnořená podmínka. Hodí se, když jedna otázka dává smysl až po jiné. V kině třeba nejdřív zjišťujeme, jestli má návštěvník vstupenku, a teprve potom, kolik mu je let:

const maVstupenku = true;
const vek = 15;
if (maVstupenku) {
    if (vek >= 18) {
        console.log("Příjemnou zábavu");
    } else {
        console.log("Promiňte, film je jen pro dospělé");
    }
} else {
    console.log("Nejdřív si kupte vstupenku");
}

Tento kód vypíše:

Promiňte, film je jen pro dospělé

Vnitřní příkaz if se provede, jen když je maVstupenku pravda. Každý vnořený blok je odsazený o další 4 mezery, aby bylo vidět, která } a které else patří ke kterému if. Bez odsazení se ve vnořených podmínkách rychle ztratíte.

Vnořené podmínky jde často přepsat pomocí logických operátorů a else if. Tento kód dělá totéž:

const maVstupenku = true;
const vek = 15;
if (maVstupenku && vek >= 18) {
    console.log("Příjemnou zábavu");
} else if (maVstupenku) {
    console.log("Promiňte, film je jen pro dospělé");
} else {
    console.log("Nejdřív si kupte vstupenku");
}

Tento kód vypíše:

Promiňte, film je jen pro dospělé

K else if (maVstupenku) se program dostane, jen když je první podmínka nepravdivá. Se vstupenkou to znamená, že návštěvníkovi ještě není 18. Ani jeden způsob není špatný: vyberte ten, který se ve vaší situaci čte lépe.

Pokyny

Student zkoušku složí s 50 a více body a se 75 a více body ji složí s přehledem. Do bloku if (body >= 50) místo komentáře napište vnořený příkaz if s podmínkou body >= 75, který vypíše Prospěl s přehledem, a s větví else, která vypíše Prospěl.

Změňte body na 60 a spusťte program. Měl by vypsat Prospěl.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

Zpět

12/13

Další