Kalkulačka priamo vo vašom čítači obrazovky
Vyšlo v časopise Nový život, vrámci seriálu "Technovinky"
Pozorný čitateľ s dobrou pamäťou si isto spomenie na článok, ktorý sme venovali aplikácii Speq mathematics. Išlo o jednoduchú a prístupnú kalkulačku, ktorá sa môže hodiť na jednoduché výpočty. Dnes by som vašu pozornosť rád upriamil na nástroj, ktorý je priamou súčasťou čítača obrazovky NVDA. Ak tento bezplatný čítač používate, a čas od času niečo počítate, tak čítajte ďalej.
Spomenutý čítač obrazovky je naprogramovaný v jazyku Python. Ide o v súčasnosti veľmi populárny programovací jazyk, ktorý sa isto oplatí naučiť. Radí sa medzi tzv. jazyky vyššej úrovne a vo všeobecnosti je považovaný za jazyk, ktorý je vhodný pre programátorov začiatočníkov. Ak ste teda niekedy uvažovali o tom, že by ste radi aspoň nahliadli do sveta tvorby aplikácií, tak Python je pre vás dobrá voľba. Dnes sa však programovaniu venovať nebudeme. Použijeme ale niečo, čo bolo v čítači obrazovky NVDA vymyslené pre programátorov. Volá sa to Python konzola.
Python konzola primárne slúži ľuďom, ktorí sa venujú tvorbe rozšírení do čítača obrazovky, vylepšovaniu čítača samotného, alebo sa zaoberajú prístupnosťou aplikácií. Dá sa však použiť aj ako excelentná kalkulačka s pamäťou a pestrou paletou matematických funkcií. Aktivovať ju môžeme dvoma spôsobmi. Najrýchlejšia je klávesová skratka ctrl+nvda+z, použiť však môžete aj položku v podponuke nástroje ponuky NVDA.
Po otvorení okna konzoly sa kurzor nachádza v riadku, do ktorého môžeme písať. Ak máte rozumne nastavené čítanie interpunkcie, tak počujete, že riadok je uvedený troma väčšítkami. Do tohoto riadku budeme písať všetky naše zadania. Vyskúšajte napríklad 3+5 a stlačte enter. Po odoslaní vstupu vám NVDA prečíta výsledok.
Druhá časť okna obsahuje výstupy. Ide o klasické neprepisovateľné editačné pole, ktoré obsahuje okrem našich zadaní aj výsledky. Prepnite sa do neho stlačením f6 a poprezerajte si ho. Zatiaľ toho veľa neobsahuje. Vyskúšajte sa opätovným stlačením f6 vrátiť do políčka pre vstup a vyskúšajte ďalšie výpočty. Python konzola pozná všetky bežné matematické operácie a na rozdiel od vyššie spomínaného Speq mathematics vie napríklad počítať aj s ozrutnými číslami.
Môžete vyskúšať zátvorkovanie 3*(5+2), napríklad operácia zvyšok po delení sa zapisuje znakom %, znak mocniny zapisujte dvojznakom **, celočíselné delenie sa zapisuje dvojznakom //. Urobte si niekoľko výpočtov a poobzerajte si výstupné pole.
Ďalšou užitočnou vlastnosťou, ktorú si spomenieme sú premenné. V kontexte v ktorom ich ideme používať ich pokojne môžeme prirovnať k pomenovaným pamätiam na kalkulačkách. Vyskúšajte postupne zadať nasledujúce riadky a na konci každého stlačte enter:
výška=1.8
váha=75
bmi=váha/(výška**2)
bmi
Vzorček na výpočet Body mass indexu isto dôverne poznáte. V prvom riadku sme si do premennej výška zapamätali výšku v metroch. Na druhom riadku do premennej váha ukladáme váhu. Na treťom riadku urobíme do premennej s názvom bmi výpočet a na poslednom riadku zobrazíme výsledok. Všimnite si, že v názvoch premenných môžeme okrem znakov anglickej abecedy beztrestne používať diakritiku. Určite však nie medzery a mnohé špeciálne znaky, tie majú v Pythone zvyčajne nejaký špeciálny význam. Vo všeobecnosti: ak sa pri pomenovávaní premenných obmedzíte na písmená abecedy, tak vám určite bude všetko fungovať podľa očakávaní.
O Python konzole by sa dala napísať celá kniha, ktorú by však pravdepodobne väčšina z vás nechcela čítať. Článok uzavrieme zoznamom užitočných klávesových skratiek. Pred tým však ešte spomeniem modul math, ktorý pre vás môže byť užitočný. Vyskúšajte zadať nasledujúce riadky:
import math
math.factorial(5)
Prvý riadok v ukážke vyššie zavedie do pamäti NVDA tzv. modul. Modul si môžete predstaviť ako nejakú batériu, ktorá obsahuje všakovaké užitočné funkcie. Ten ktorý nahrávame do pamäte my sa volá math a ako už jeho názov napovedá, obsahuje solídnu zbierku matematických funkcií. Na druhom riadku z neho použijeme funkciu, ktorá sa volá factorial a počíta faktoriál čísla. Tí z vás, čo ste v živote mali tú česť s nejakým vhľadom do matematickej oblasti zvanej kombinatorika si isto pamätáte, že faktoriál čísla 5 je súčin všetkých celých čísel, menších alebo rovných ako 5, teda math.factorial5) je to isté ako 54321. Vyššie som spomenul, že na konzole možno pracovať aj s veľkými číslami. Ak jedno také chcete vidieť, tak skúste vypočítať faktoriál z tisíc.
Skúsme ešte nejakú inú funkciu:
math.sqrt(81)
Všimnite si, že modul sme znovu nenahrávali, stačí to urobiť raz. Funkcia sqrt, ktorú sme použili slúži na výpočet druhej odmocniny z čísla v zátvorkách. Ak ste zvedaví, čo všetko okrem faktoriálu vám môže modul math ponúknuť, tak skúste
dir(math)
V najlepšom teda prestať, takže prestávame. Rozlúčime sa dôstojne, vymenovaním užitočných skratiek, ktoré môžete na konzole použiť:
- ctrl+nvda+z: spustí Python konzolu
- esc, alebo alt+f4: skryje Python konzolu. Všimli ste si, že ak sa do konzoly vrátite, tak si pamätá všetky vaše výčiny? V pamäti ich udržiava až do najbližšieho reštartu NVDA.
- šípky nahor a nadol: vo vstupnom editačnom poly umožňujú prechádzať históriou zadaných povelov, tie môžete editovať a odentrovaním znovu zadať.
- alt+šípky nahor a nadol: v neprepisovateľnom poly ich možno použiť na pohyb po jednotlivých výstupoch, vyskúšajte, porozumiete.
- ctrl+l: vyčistí výstupné editačné pole konzoly