1. Metodika pre učiteľa - Výrazy


Odporúčame nerobiť teoretické úvody do programovania (napríklad nevysvetľovať, čo je program, procesor, vlastnosti algoritmov a podobné). Treba, aby žiaci ihneď pracovali v prostredí Python a prakticky sa zoznamovali so zápismi a reakciami počítača.


  1. Komentár:

    Nechajte žiakov pohľadať a spustiť prostredie. Ďalej nech sa experimentovaním s nasledujúcimi úlohami zoznamujú s jazykom Python ako s kalkulačkou v priamom režime. Cieľom je, aby si žiaci zvykali na komunikáciu s počítačom – to znamená, že po zápise dostávajú odpoveď alebo chybovú správu, a potom zapisujú ďalšie príkazy.


  1. Komentár:

    V predchádzajúcej úlohe sú dôležité experimenty s operátormi, zátvorkami a prioritami operácií. Zápisy sme zostavili ako gradované – je dobré, aby ich žiaci sami postupne vyskúšali. Medzery okolo operácii písať netreba, ale ak si žiaci na ich písanie zvyknú (program sa sprehľadní – prevzdušní a takto to zapisujú aj profesionáli).

    Tu už môžu robiť žiaci chybné zápisy, prípadne nemusia rýchlo porozumieť, ako počítač výraz vyhodnotil. Ak treba, učiteľ môže individuálne vysvetliť, ako sa výraz vyhodnotil. Cennejšie je, ak žiaci budú sami objavovať tieto poznatky (neodporúčame dopredu riešiť tieto úlohy na tabuľu).


Treba spoznať aj situácie, ako počítač zareaguje na nesprávne výrazy. Preto nasledujú úlohy, keď úmyselne zadávame nesprávne zápisy:

  1. Komentár:

    Pri chybných výrazoch počítač niekedy vypíše veľa riadkov s chybou. Preto si treba začať zvykať na to, čo je v chybovom hlásení dôležité (väčšinou je to posledný riadok takej správy).


Nasleduje zopár slovných úloh. Cieľom je, aby žiaci sami zostavili výraz, resp. zrealizovali kroky výpočtov pomocou počítača.

  1. Komentár:

    Očakávame, že žiaci zostavia výraz 16 * 365 + 2 * 30 a nechajú ho vyhodnotiť počítačom.


  1. Možné riešenia:

    1. 5900 * 24

    2. 141600 * 60 * 60


  1. Možné riešenie:

    1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19


  1. Komentár:

    Cieľom tejto úlohy je, aby žiaci videli, že celočíselná aritmetika umožňuje pracovať s veľkými číslami. Žiaci si môžu vyskúšať prácu aj s inými veľkými číslami.


  1. Možné riešenia:

    15 + 15 + 4 + 15 + 15 + 4 + 1

    Tu by bolo dobré upozorniť žiakov na to, že po uzátvorkovaní bude výraz čitateľnejší – budeme lepšie vidieť počty kvetov pre jednotlivé dni:

    ‚‘15 + (15 + 4) + (15 + 15 + 4 + 1)‘‘


Cieľom ďalšej úlohy je, aby žiaci použili zátvorky (tretia podúloha je označená (*), je určená pre žiakov, ktorí majú chuť rozmýšľať):

  1. Postup pri rozmýšľaní:

    • prvá hra: 79

    • druhá hra: 79 * 2 + 5

    • tretia hra: (79 * 2 + 5) * 3 + 17

    Možné riešenia:

    1. (79 * 2 + 5) * 3 + 17

    2. 79 + 79 * 2 + 5 + (79 * 2 + 5) * 3 + 17

    3. 79 + (79 * 2 + 5) * 4 + 17 alebo 79 * 9 + 5 * 4 + 17


  1. Možné riešenie:

    1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + 1/9 + 1/10


Nasledujúcu úlohu je dobré robiť spoločne:

  1. Riešenie:

    Dá sa zostaviť takáto tabuľka a žiaci si ju môžu zaznamenať do zošita:

    +

    súčet

    -

    rozdiel

    *

    súčin

    /

    podiel


Nasledujúce úlohy nie sú povinné – sú určené žiakom, ktorí by o ne mali záujem. Zoznamujeme ich so zápisom pre operáciu mocniny.

  1. (*) Riešenie:

    2 ** 30

    Počet cifier sa dá zistiť aj programovo – to však žiaci ešte nevedia. Preto stačí v tejto úlohe spočítať manuálne. Hoci je exponent 30, počet cifier čísla 2**30 bude prekvapujúco malý – iba 10.


Nasledujúca úloha má výskumný charakter a je zameraná na prioritu operácií:

  1. (*) Komentár:

    Očakávané zistenia: umocňovanie má najvyššiu prioritu z doteraz známych operácií (unárne mínus sme zatiaľ neučili), násobenie a delenie má menšiu prioritu a najnižšiu má súčet a rozdiel. Pri skúmaní môžeme žiakom pomôcť, ak im poradíme, aby si všimli výsledky, keď použijú zátvorky: (3*2)**5 oproti 3*(2**5). Pri vysvetľovaní, ak to bude potrebné, žiakom pomôžeme prezradiť, že počítač si výrazy s rôznymi operáciami tiež uzátvorkuje.


  1. (*) Treba napísať a nechať vyhodnotiť zápisy:

    • 2**10 - 1

    • 2**0 + 2**1 + 2**2 + 2**3 + 2**4 + 2**5 + 2**6 + 2**7 + 2**8 + 2**9


Zhrnutie

ciele lekcie

  • zoznámiť sa s číselným typom (celé aj desatinné čísla) a s aritmetickými operáciami

  • naučiť sa správne vyhodnocovať výrazy aj s rôznou prioritou operácií

  • zoznámiť sa s chybovými správami od počítača (napríklad SyntaxError, ZeroDivisionError)

zručnosti

  • spúšťanie prostredia IDLE

syntaktické pravidlá

  • správny zápis čísel, operácií a zátvoriek