Větvení programu v Pythonu

Žáci v Pythonu zapisují větvení pomocí if, elif a else, skládají podmínky z porovnání a logických spojek a podle hodnot proměnných určují, kterou větev algoritmus vykoná.

Průvodce tématem Větvení programu v Pythonu v předmětu Informatika pro 8. třídu: co mají žáci zvládnout, na co navázat a kde nejčastěji chybují. K tomu příprava na hodinu, pracovní list nebo písemka, které ScioBot připraví na jedno kliknutí přesně pro tento ročník.

Připravit hodinu Všechny formáty

Klikněte a tvořte

Získejte přípravu zdarma

Vyberte formát. Jedním kliknutím otevřete tvorbu na téma Větvení programu v Pythonu (8. třída) — ScioBot ho připraví za vás.

Připravit hodinu

Další formáty na jedno kliknutí

Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.

V 8. ročníku žáci přenášejí známé větvení z blokového jazyka do textového Pythonu: zapisují podmíněný příkaz if, podle potřeby elif a else a do podmínek vkládají porovnání i logické spojky. Navazují na proměnné, výrazy a čtení algoritmů. Téma přispívá k výstupu INF-INF-002-ZV9-007 tím, že žáci procvičují zápis větvení v programu; výstup INF-INF-002-ZV9-005 naplňují tím, že podle kódu určí prováděné kroky a problém, který algoritmus řeší.

Důležité je pořadí kontroly podmínek: Python vyhodnocuje if a pak případné elif shora dolů. Provede se první větev s pravdivou podmínkou a ostatní větve téže konstrukce přeskočí. Else se provede, když žádná z předchozích podmínek neplatí. Žáci rozlišují porovnání (==, !=, <, >, <=, >=) od přiřazení (=) a skládají výrazy s and, or a not tak, aby podmínka odpovídala slovnímu pravidlu.

Při čtení hotového kódu s danými hodnotami proměnných žák určí, která větev se provede, a vysvětlí proč. Tím se učí chápat větvení jako součást algoritmu, který řeší určitý problém.

Předpoklady

  • Proměnné, výrazy a porovnávání hodnot v Pythonu
  • Větvení s podmínkami a proměnnými v blocích
  • Čtení algoritmu a vývojového diagramu s rozhodováním

Klíčové pojmy

undefined
Příkaz, který provede odsazený blok, pokud je podmínka pravdivá. Když podmínka neplatí a konstrukce neobsahuje elif ani else, program pokračuje za ní.
undefined
Další podmínka ve stejné konstrukci větvení. Vyhodnocuje se jen tehdy, když předchozí podmínky if nebo elif neplatily; provede se pouze první větev s pravdivou podmínkou.
undefined
Větev bez vlastní podmínky, která se provede, pokud v téže konstrukci neplatí žádná podmínka if ani elif.
podmínka
Výraz, jehož hodnota se při vyhodnocení posuzuje jako pravdivá nebo nepravdivá. Může obsahovat porovnání a logické spojky and, or nebo not. V zápisu za if či elif končí dvojtečkou.
porovnání a přiřazení
Zápis == porovnává, zda jsou hodnoty stejné; zápis = přiřazuje hodnotu proměnné. V podmínce pro porovnání hodnot použijeme ==.
and, or, not
Výraz s and je pravdivý, když jsou pravdivé obě jeho části; s or stačí, aby byla pravdivá alespoň jedna; not pravdivost obrací. Závorky pomáhají jednoznačně určit pořadí vyhodnocení.
odsazení bloku
Příkazy uvnitř větve musí být odsazeny stejně. Python podle odsazení pozná, které příkazy k větvi patří.

Časté miskoncepce

  • Častá chyba

    Žák napíše v podmínce if skore = 10 místo if skore == 10 a očekává, že tím ověří rovnost.

    Jak na to

    Ukaž vedle sebe zápisy s = a ==. Nech žáky vysvětlit rozdíl a podmínku s jedním rovnítkem opravte na == před spuštěním programu.

  • Častá chyba

    Žák se domnívá, že se v konstrukci if … elif … elif provedou všechny větve s pravdivou podmínkou.

    Jak na to

    Zvolte hodnoty, při nichž by platilo více podmínek, a nechte žáky před spuštěním odhadnout výstup. Pak společně označte první splněnou větev.

  • Častá chyba

    Žák napíše druhý if místo elif a nechápe, proč se u jednoho vstupu někdy zobrazí dvě hlášky.

    Jak na to

    Porovnejte konstrukce if–if a if–elif se stejným vstupem. Nechte žáky předpovědět počet hlášek a společně nahraďte druhý if příkazem elif.

  • Častá chyba

    Žák čte if a < 5 and b > 0 jako „platí a nebo b“ a vybere špatnou větev.

    Jak na to

    Rozepište podmínku do dvou sloupců, jeden pro a a druhý pro b, a u každého určete, zda platí. Potom vyhodnoťte celou podmínku s and a určete správnou větev.

Jak učit

2–3 hodiny

  1. Evokace: Vzpomeňte si na slovní pravidlo „když známka, tak hláška“ z blokového programování. Žáci popíší podmínku běžným jazykem a ukážou, jak ji zapsat příkazem if.
  2. Uvědomění: Společně skládejte konstrukce if / elif / else a podmínky s logickými spojkami. U konkrétních hodnot určete, která větev se provede.
  3. Reflexe: Žáci v cizím kódu označí provedenou větev a jednou větou vysvětlí, jaký problém program řeší.

Nápady na aktivity

  • Papírová tabulka vstupů (body, věk, heslo): u každého řádku žák ještě před spuštěním programu zakroužkuje if, elif nebo else, která větev se provede.
  • Dvojice dostane krátký program s chybou, například = místo == nebo if místo elif. Chybu opraví a ověří výsledek pro dvě sady vstupů.

Hodnocení

Žák podle slovního pravidla sestaví větvení s if, alespoň jedním elif a větví else a použije alespoň jednu složenou podmínku s and nebo or.

U daných hodnot proměnných žák přečte kód, určí provedenou větev a vysvětlí, proč ostatní větve neběží (INF-INF-002-ZV9-005).

Zdroje

Co pro vás ScioBot připraví k tématu Větvení programu v Pythonu

Interaktivní aktivity, které žáci spustí na tabletu či tabuli, tisknutelné kartičky a hry pro celou třídu – každý formát na téma Větvení programu v Pythonu jedním klikem.

Základní materiály

Interaktivní aktivity 15

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • INF-INF-002-ZV9-005 Po přečtení jednotlivých kroků algoritmu vysvětlí celý postup a určí problém, který je daným algoritmem řešen.
  • INF-INF-002-ZV9-007 V blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné.

Učíte Větvení programu v Pythonu trochu jinak?

Popište ScioBotu vlastními slovy, co s žáky chcete zvládnout a kolik máte času. Materiál přizpůsobí vašemu ŠVP, třídě i žákům se speciálními vzdělávacími potřebami.

Napsat ScioBotu

Související témata