informatika.bilíčka.sk

Programovanie

Programovanie je činnosť - zapisovanie algoritmu v programovacom jazyku, ktorému rozumie počítač a vie ho vykonávať. My sa budeme učiť písať program v jazyku Python. Je to jeden z mnoha programovacích jazykov, vo svete je celkom oblúbený (pozri štatistiku alebo len tak vygoogli).

IDE - program na programovanie

Na zápis kódu v jazyku Python by nám stačil akýkoľvek textový editor (alebo aj zošit :) ), nie je to však praktické. Programy nám pomáhajú tvoriť takzvané IDE programy - Integrated Development Environment. Na prvý pohľad môžu vyzerať ako bežný textový editor, v podstate ním aj sú ale navyše poskytujú veľa užitočných funkcií, ktoré by sme v bežnom textovom editore hľadali márne. Bežným rozšírením je automatické zvýrazňovanie častí kódu, možnosť kód ľahko spustiť, dopĺňanie (návrhy) pri písaní príkazov, nástroje na hľadanie chyby a iné.

Na hodinách budeme pracovať s IDE programom nazývaným "Python IDLE". Pre účely vypracovania domácich úloh a experimentovania s programovanim si prosím nainštaluj Python IDLE pomôcť Ti v tom môže návod.

Python IDLE: interaktívny interpreter - SHELL

Po spustení programu Python IDLE sa hneď spustí interaktívny interpreter, nazývaný tiež Shell.

empty shell

Shell po spustení Python IDLE

Shell je prostredie REPL "read-eval-print loop". Znamená to, že prečíta vstup od používateľa (nás), vyhodnotí ho a vypíše odpoveď. Toto robí, kým ho nevypneme. Všimni si posledný riadok v Shell, sú v ňom tri znaky ">". Tým nás Shell vyzíva na zadanie príkazu.

shell prompt for statement

Shell čakajúci na príkaz

V ďaľšej časti sa budeme venovať príkazom, ktoré môžeme v Shell zadať.

Matematické výrazy

Shell možno použiť ako kalkulačku. Skús za >>> napísať 1 + 5 a stlač enter. Python odpovie v nasledujúcom riadku výsledkom a znova je pripravený prijať príkaz, skús mu zadať iný príklad.

shell as calculator

Shell vyhodnotil jednoduchý matematický výraz

Nechaj Shell vyhodnotiť aj nasledujúce výrazy.

123
42 - 17
3 + 4 * 5
(3 + 4) * 5
25 - 7 - 10
25 - (7 - 10)
132 / 11
1 / 2
1 + 2 * 3 / (5 - 1)

Skús zadať "pokazený" výraz. Ako zareaguje Shell?.

22 + 7 *
19 - (3 4)

Príkazy musíme písať úplne správne, inak im Shell nerozumie a vyhlási chybu. Súčasťou hlásenia je krátky popis toho, v čom bola chyba. Napríklad "SyntaxError značí, že je niečo zle napísané, ZeroDivisionError zas hlási pokus o delenie nulou - to nevieme vypočítať my ani Shell."

shell syntax error

Shell: syntax error

shell DivisionByZero error

Shell: ZeroDivisionError

Desatinné čísla

Desatinné čísla píšeme v Pythone s použitím bodky na mieste desatinnej čiarky. Skúste použiť čiarku. Čo sa stalo?

Operácie s číslami

Práca s textom

Keď ako príkaz zadáme len číslo, Shell odpovie rovnakým číslom. Toto platí aj pre text. V programovaní pracujeme s takzvanými textovými reťazcami. Textové reťazce píšeme do úvodzoviek alebo medzi apostrofy. Skúste ako príkaz zadať nejaký texotvý reťazec.

shell eval simple string

Shell: "vyhodnotenie" textového reťazca

Príkaz pre výpis - print()

V Shell môžeme okrem matematických výrazov a textových reťazcov používať aj rôzne príkazy. Základným príkazom je príkaz pre výpis, jeho úlohou je vypísať čokoľvek dostane ako parameter. Pozri si ukážky nižšie.

shell eval simple string

print - vyhodnotenie príkladu a výpis

Všimni si, že príkaz print je v Shell zobrazený inou farbou ako okolitý text, je to preto, že ide o príkaz a IDE to rozozná. Príkaz sa skladá zo svojho názvu "print" a zátvorky, do ktorej píšeme argumenty - s tými príklaz pracuje. V príkaze print(1+1) je argumentom 1+1, keďže 1+1 nie je v úvodzovkách ani apostrofoch, ide o matematický výraz, ktorý Python vyhodnotí - vypočíta a výsledkom je 2, čo vypíše. V druhom prípade print('1+1') je už argumentom '1+1', teda texotvý reťazec, ktorý Python už ďalej nevyhodnocuje ale rovno vypíše.

Príkaz print() vie vypísať aj viac vecí naraz, musíme ich ale oddeliť čiarkami.

shell eval simple string

print - viac parametrov

Python IDLE: program ako súbor

Programy sa zvyčajne píšu ako súbor, ktorý obsahuje jednotlivé príkazy. Program ako súbor sa potom spúšťa ako celok a príkazy sa vykonávajú postupne - riadok po riadku. Takto môže vzniknúť pomerne komplikovaný program, ktorý vykoná niekoľko akcií.

Programovanie "do súboru" nám vie uľahčiť aj nám známy program Python IDLE. V hornom menu vyber položku "File"/"Súbor" a následne "new file"/"nový súbor". Otovorí sa nové okno - v podstate textový editor (ako NotePad), do ktorého budeme písať kód - jednotlivé príkazy. V tomto okne už nefunguje automatické vyhodnotenie príkazu po stlačení klávesy Enter, namiesto toho sa nám kurzor presunie do novéh riadku, tak, ako sme zvyknutí v textovom editore. Všimni si, že niektoré prvky kódu sa po napísaní vyfarbia - to je výhoda programu Python IDLE, pomáha nám zorientovať sa v kóde, to ho odlišuje od bežného textového editora. Ďalšou pre nás dôležitou odlišnosťou od textového editora je jednoduchosť spúšťania kódu. Ak chceš svoj kód spustiť výber v hornom menu "Run" a "run module" (alternatívne môžeš tiež použiť klávesovú skratku - tlačidlo f5). Ak si si súbor s kódom ešte neuložil(a), budeš na to pri prvom štarte programu vyzvaný(á). Súbor musíš uložiť, inak sa nespustí.

Po spustení uvidíš v okne interaktívneho iterpretra riadok "__ RESTART: ... __" označujúci začiatok vykonávania Tvojho programu. Pod týmto riadkom sa budú zobrazovať výpisy Tvojho programu (ak je v ňom použitý príkaz print()) alebo chybové hlášky, ak máš v kóde chybu (zvyčajne červenou farbou). Ak je Tvoj program spôsobí chybu, neplač :) pozorne si prečítaj chybovú hlášku, zvyčajne obsahuje cennú informáciu naznačujúcu, kde alebo v čom chyba nastala - vo veľa prípadaoch je to len chýbajúca úvodzovka, apostrof, zámena znaku čiarky a bodky, chyba v názve premennej...

Súbory obsahujúce kód napísaný v jazyku Python majú príponu .py

Cvičenia