Načítání stránky…

Proměnné a výrazy v Pythonu

Připravit hodinu Všechny formáty

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.

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 si můžete upravit. Předmět a ročník už jsou vyplněné — stačí si vybrat, co chcete vytvořit.

O tématu

Výstupy RVP G 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í.

Schéma proměnné: jméno, hodnota a vazba
Přehled standardních datových typů v Pythonu
Ukázka práce s proměnnými, vstupem a výrazy
Zdroje obrázků
  1. Fúzač Červený · CC BY-SA 4.0
  2. Максим Пе · CC BY-SA 4.0
  3. MsDennig · CC BY-SA 4.0

Předpoklady

  • Vlastnosti algoritmu, zápis postupu a rozklad úlohy na kroky
  • Rozlišení dat a informací a práce s hodnotami, které program zpracovává
  • Kódování čísel a textu: číslo jako hodnota a text jako posloupnost znaků

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í

Přiřazení sváže jméno s hodnotou výrazu vpravo. Nejde o matematickou rovnost: x = x + 1 nejprve spočítá novou hodnotu a pak ji přiřadí jménu x.

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

Číselný výraz kombinuje hodnoty a operátory +, -, *, /, //, % a **. Výsledek závisí na prioritě operací; závorky umožňují pořadí změnit.

Logický výraz

Porovnání pomocí ==, !=, <, >, <= nebo >= vrací True či False. Podmínky lze spojovat pomocí and, or a not.

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.

Nápady na aktivity

  1. Odpovědi

    Vyhodnocení výrazů v Pythonu

    Žáci doplní hodnoty proměnných, typy nebo výsledky číselných a logických výrazů. Odpovědi vycházejí z pravidel Pythonu a zahrnují i práci se vstupem a výstupem.

  2. Kvíz

    Proměnné a datové typy v Pythonu

    Žáci zvolí správnou odpověď na otázky o přiřazení hodnot, datových typech a výsledcích výrazů. U úloh se vstupem a výstupem určí, co program vypíše.

  3. Postup

    Kroky při vyhodnocení výrazu

    Žáci seřadí kroky přiřazení hodnot proměnným a vyhodnocení výrazu v Pythonu. Sledují, jak se z hodnot a operátorů stane výsledek.

  4. Rozřazování

    Třídění výrazů podle datového typu

    Žáci roztřídí hodnoty a výrazy podle datového typu, například na celá čísla, desetinná čísla, řetězce a logické hodnoty. U každé položky posoudí, jaký typ v Pythonu představuje.

  5. Přiřazování

    Přiřazení hodnot a výsledků v Pythonu

    Žáci přiřadí proměnné jejich hodnoty a výrazy k odpovídajícím výsledkům. Úlohy zahrnou i hodnoty získané vstupem a jejich výstup.

  6. Logický řetěz

    Řetězec hodnoty, výrazu a výstupu

    Žáci poskládají posloupnost od přiřazení hodnoty proměnné přes vyhodnocení výrazu až po výstup programu. Navazující kartičky zachycují, jak změna hodnoty ovlivní další výsledek.

Časté miskoncepce

  • Častá chyba

    Žák napíše cena = input("Cena: ") a potom cena * 1.21. Očekává výpočet ceny, ale Python ohlásí TypeError: funkce input vrátila text a text nelze násobit desetinným číslem.

    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

    Žák zamění přiřazení x = 5 za porovnání x == 5, protože znak = chápe jako matematickou rovnost.

    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

    Sledujte hodnoty po jednotlivých řádcích. Přiřazení y = x sváže y s tehdejší hodnotou x; pozdější přiřazení do x vazbu jména y nezmění.

    x = 10
    y = x
    x = 20
    print(x, y)  # 20 10

Úkoly pro žáky

  • 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.

Očekávané výstupy

  • RVP G žá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ů

Zdroje

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

Prozkoumejte další témata