Proměnné a výrazy v Pythonu

Žáci v Pythonu deklarují proměnné, volí datové typy a sestavují číselné i logické výrazy včetně vstupu a výstupu. Nejde o první seznámení s proměnnými ze ZŠ, ale o přehledný zápis výrazů v programu.

Průvodce tématem Proměnné a výrazy v Pythonu v předmětu Informatika pro II. ročník: 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 Proměnné a výrazy v Pythonu (II. ročník) — 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.

Proměnné a výrazy v Pythonu navazují na algoritmizaci ze základní školy: žáci už znají pojem proměnné, ale na gymnáziu ji zapisují v konkrétním jazyce tak, aby program zůstal čitelný a výrazy dávaly jednoznačný význam. Jednotka se soustředí na pojmenování hodnot, volbu datového typu, aritmetické a logické výrazy a na vstup a výstup dat, nikoli na větvení, cykly ani podprogramy.

Výstupy G-INF-02-004 a G-INF-02-007 vyžadují, aby žák při řešení konkrétního problému používal proměnné, datové typy a vstup a výstup a aby program zůstal přehledný. Žáci proto skládají výrazy z operandů a operátorů, rozlišují přiřazení od porovnání a hlídají, zda hodnota z klávesnice je text, nebo číslo.

Cílem je, aby žák uměl zapsat krátký program, který načte údaje, spočítá nebo porovná hodnoty a výsledek srozumitelně vypíše. Následující témata plánu (větvení, seznamy, funkce) na tomto zápisu staví.

Předpoklady

Klíčové pojmy

Proměnná
Pojmenované místo pro hodnotu; jméno volíme výstižně, aby bylo z programu jasné, co hodnota znamená.
Přiřazení
Operátor = uloží výsledek výrazu do proměnné; nejde o matematickou rovnost, proto je zápis x = x + 1 v programu smysluplný.
Datový typ
Určuje, jaké operace s hodnotou dávají smysl: celé a desetinné číslo, text (str), pravdivostní hodnota (bool). Typ se v Pythonu odvozuje z hodnoty.
Číselný výraz
Skladba operandů a operátorů (+, -, *, /, //, %, **) s pořadím podle priority; závorky pořadí zviditelní.
Logický výraz
Výraz s porovnáním (==, !=, <, >, <=, >=) a spojkami and, or, not; výsledkem je True nebo False.
Vstup a výstup
input načte řádek jako text; print vypíše hodnoty. Převod na číslo (int, float) se dělá explicitně, až když je text platné číslo.
Přehledný zápis
Krátké výrazy, srozumitelná jména a komentář tam, kde význam není z kódu zřejmý; odpovídá požadavku na přehledný program (G-INF-02-004).

Časté miskoncepce

  • Častá chyba

    Žák napíše cena = input("Cena: ") a hned cena * 1.21; program spadne nebo spojí texty, protože input vrací str.

    Jak na to

    U tabule spusťte stejný řádek s input a ukažte type(cena). Teprve potom přidejte float(cena) a teprve pak násobení.

  • Častá chyba

    V podmínce nebo výraze napíše if x = 5 nebo výsledek = a = b, protože = bere jako rovnost ze matematiky.

    Jak na to

    Dvojice vedle sebe: x = 5 (ulož) a x == 5 (porovnej). Nechte žáky u každého zápisu říct nahlas, co program udělá, a opravit jen znak.

  • Častá chyba

    Žák čeká, že "3" + "4" je 7, nebo naopak že 3 + 4 spojí znaky, protože obojí „vypadá jako čísla“.

    Jak na to

    Dva výrazy v jednom souboru: print("3" + "4") a print(3 + 4). Žáci před spuštěním napíší odhad, po výpisu doplní typ každého operandu.

  • Častá chyba

    Po x = 10; y = x; x = 20 žák tvrdí, že y musí být 20, „protože y je x“.

    Jak na to

    Nakreslete dvě krabice se jmény a hodnotami po každém řádku. Spusťte print(x, y) a nechte žáky doplnit, kdy se hodnota kopíruje.

Jak učit

2–3 hodiny

  1. Evokace: žáci z předchozího algoritmu (výpočet ceny, průměru) vypíšou, které hodnoty se během postupu mění a jak by je pojmenovali.
  2. Jádro: společně zapíšete přiřazení, typy, číselný a logický výraz a dvojici input/print s převodem textu na číslo; žáci doplní vlastní jména proměnných.
  3. Reflexe: každý opraví jeden nefunkční výraz (špatné =, chybějící převod, spojení textů) a pojmenuje, který koncept to bylo.

Nápady na aktivity

  • Dvojice dostane tři hodnoty z input (např. počet kusů, cena, sleva) a sestaví výrazy pro meziprodukt i výsledek; soused kontroluje typy a jména.
  • Rychlá oprava: učitel promítne pět jednořádkových výrazů s typickou chybou; žáci na papír napíšou opravený zápis a očekávaný výstup.

Hodnocení

Žák samostatně napíše krátký program: načte alespoň dvě hodnoty, spočítá číselný výraz, sestaví jeden logický výraz a výsledek vypíše printem.

Ústně vysvětlí u vlastního kódu rozdíl mezi = a == a proč bylo nutné převést vstup na číslo (G-INF-02-007).

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Proměnné a výrazy 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 Proměnné a výrazy v Pythonu jedním klikem.

Základní materiály

Interaktivní aktivity 14

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • G-INF-02-004 žák vytvoří přehledný program pro vyřešení konkrétního problému s ohledem na jeho možné důsledky a svou odpovědnost za ně; používá opakování, větvení programu se složenými podmínkami, proměnné, seznamy, podprogramy s parametry a návratovými hodnotami; ve snaze o vyšší efektivitu navrhuje, řídí a hodnotí souběh procesů
  • G-INF-02-007 programovací koncepty – programovací jazyk; proměnné, datové typy a jejich vlastnosti, vstup a výstup dat; podprogramy s parametry a s návratovými hodnotami; větvení programu se složenými podmínkami, cykly, seznamy

Učíte Proměnné a výrazy 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