EasyCalc má velmi široký záběr, podle mého názoru běžný uživatel využije jen zlomek možností kalkulačky. Pro většinu lidí bude asi dostačující základní kalkulačka, finanční kalkulačka a případně nějaký typ vědecké kalkulačky, který si každý vybere dle svého zaměření.
V tomto článku jsem se zaměřil na popis věcí, které buď běžně používám (základní kalkulačka, finanční kalkulačka, převody mezi číselnými soustavami), nebo které mě zajímají (matice, seznamy, grafy).
Kalkulačka zabere 173 kB v paměti Palmu a dalších 50 kB zabere knihovna matematických funkcí MathLib. Lze použít i small verzi, která má velikost 96 kB, ale je pouze v angličtině a neobsahuje matice, seznamy, grafy, řešení funkcí a speciální funkce. Manuál je pouze v angličtině (na můj dotaz u autora programu se česká verze manuálu nepřipravuje) a je dost stručný (obsahuje však popis ovládání kalkulačky a je otázkou, zda by měl nahrazovat i učebnici matematiky).
Základy
Ovládání je trošku jiné než u běžných kalkulaček. Zde se do příkazového řádku napíše výraz a tlačítkem EXE se vyhodnotí.
Nastavení
Nastavení programu je dostupné v roletovém menu Nastavení. Já používám následující nastavení:
Položka | Nastavení |
Úhlová míra | Stupně |
Číselná soustava | 10ková |
Typ kalkulačky | Normální |
Vynutit komplexní čísla | Nezatrženo |
Vynutit celá čísla | Nezatrženo |
Přesnost | 9 |
Omezení přesnosti | Zatrženo |
Ořezávat nuly | Zatrženo |
Vkládat nápovědu | Zatrženo |
Uzavírat závorky | Zatrženo |
Palm Num Prefs | Zatrženo |
Zobrazovat jednotky | Zatrženo |
Ovládací prvky
V horní liště je zleva:
- přístup do menu
- volba číselné soustavy (Dec, Oct, Bin, Hex)
- volba úhlové míry (Deg, Grd, Rad)
- rychlý přístup k proměnným (Rcl)
- rychlý přístup k uživatelským funkcím (F)
- volby typu kalkulačky (B - normální, S - vědecká, I - převody mezi číselnými soustavami, G - grafy)
- všechny dostupné funkce uložené v MathLib (f)
Pod horní lištou vpravo je:
- menu (M)
- šipka (historie příkazů)
- pokud je zvolena vědecká kalkulačka, je dostupné ještě tlačítko S, kde je možno zvolit typ vědecké kalkulačky
Popis voleb v menu (M):
- Kopírovat (do clipboardu)
- DataMgr (Správce definic proměnných a uživatelských funkcí, je dostupný i z roletového menu - Speciální / Správce definic)
- Uložit jako (rychlé uložení výsledku do proměnné)
- Hádej (systém se pokouší odhadnout, co asi výsledek znamená)
- ->EngDisplay (zobrazení výsledku v inženýrském módu)
- ->Stupně (převod zobrazení úhlových měr - viz dále)
Proměnné
EasyCalc používá několik typů proměnných:
- vestavěná proměnná Ans: je v ní uložen poslední výsledek
- interní proměnné jednotlivých aplikací (finanční kalkulačka, grafy)
- uživatelsky definované proměnné (lze definovat ve Správci definic nebo z menu (M / Uložit jako)
Proměnné lze normálně vkládat do vzorců v příkazovém řádku, a to buď napsáním názvu proměnné (Graffiti), nebo rychlou volbou pomocí tlačítka Rcl. Docela mě mrzí, že jsou pod tímto tlačítkem dostupné nejen proměnné definované uživatelem, ale i interní proměnné aplikace (finanční kalkulátor) a proměnná Ans. Celý seznam to znepřehledňuje. Doporučil bych aspoň nějakou volbu v nastavení, kde bych definoval, jestli chci interní proměnné vidět, nebo ne.
Uživatelsky definované funkce
Funkce lze definovat ve správci definic. Ve funkci lze použít i více proměnných, jejichž index se píše do závorek za proměnnou. Při volání funkce se jako oddělovač proměnných používá dvojtečka.
Příklad: výpočet přepony pravoúhlého trojúhelníka pomocí Pythagorovy věty | |
Definice | pyth = sqrt (x(1)^2 + x(2)^2) |
Volání funkce | pyth(3:4) |
Zobrazení úhlů (stupně)
Úhel lze do příkazové řádky zadat ve stupních, minutách a vteřinách (znak pro vteřiny ('') se nepíše). Po stisku EXE se výsledek zobrazí jako desetinné číslo. Pro převod zobrazení výsledku na stupně, minuty, (vteřiny) se použijí funkce z menu (M) ->Stupně (->Stupně2). Nejlépe to asi bude patrné na příkladu:
Příkaz. řádek | Klávesa | Výsledek | Volba z menu (M) | Výsledek |
30°12'45 | EXE | 30,2125 | Stupně | 30°12'45 |
30°12'45 | EXE | 30,2125 | Stupně2 | 30°12,75' |
Poznámka: výše uvedený postup lze aplikovat i v případě radiánů, kdy lze číslo ve výsledku převést na násobek Ludolfova čísla Pí. U gradů, které jsou setinnou soustavou, podobné převody nemají smysl.
Import a export do memopadu
Je dostupný z roletového menu Speciální / Export do memopadu (Import z memopadu). Při exportu lze zvolit, jestli se budou exportovat proměnné nebo funkce nebo obojí.
Základní kalkulačka
Bude asi nejpoužívanější pro většinu běžných výpočtů. Pokud by tyto možnosti obsahovala základní kalkulačka dodávaná s Palmem m100, neměl bych asi potřebu hledat něco jiného.
Finanční kalkulačka
Je dostupná z menu Speciální / Finanční kalkulačka. Princip práce je velmi jednoduchý. Vyplní se pět hodnot a šestá se dopočítá ťuknutím na název proměnné (plus je třeba zvolit, jestli platby probíhají na začátku, nebo na konci období).
Popis vyplňovaných proměnných:
I | Interest | Úrok (roční) |
N | Number of payments | Celkový počet plateb |
PV | Present Value | Současná hodnota |
PMT | Payment | Jedna platba |
FV | Future Value | Budoucí hodnota |
P/YR | Number of payments per year | Počet plateb za rok |
Je tu jedno omezení: kalkulačka předpokládá připisování úroků za každé období platby (možná by byl vhodný přepínač pro volbu období, za které jsou úroky připisovány).
Základní použití finanční kalkulačky asi nepotřebuje komentář, já bych zde uvedl trochu speciální příklad.
Příklad: Kupuji zboží na splátky a zajímá mě, kolik dělá roční úrok. Znám cenu zboží, za kterou se prodává bez splátek (C1). Dále znám (nebo mohu vypočítat), kolik celkem za zboží zaplatím v případě splátkové koupě (C2). Při koupi mohu složit akontaci (A). Jak tedy vyplním proměnné finanční kalkulačky?
I | Hledám |
N | Celkový počet splátek |
PV | C1 - A |
PMT | 0 |
FV | -(C2 - A) |
P/YR | Počet splátek za rok |
Matice
Tlačítka pro práci s maticemi jsou dostupná z menu (S) vědecké kalkulačky jako volba Funkce matic. Dále je v roletovém menu dostupný Editor matic (pod volbou Speciální).
V dalším textu budu matice označovat velkými písmeny narozdíl od EasyCalcu, kde je matice normální proměnná; ta lze označit pouze malým písmenem. Omlouvám se za zápis matic bez závorek, ale HTML není moc vhodný pro sazbu matic. Budu se snažit, aby to bylo aspoň srozumitelné.
Základní funkce pro operaci s maticemi:
Definice matice | A = matrix() |
Sčítání, násobení | A+B, A*B |
Jednotková matice | identity(n) |
Inverzní matice | A^(-1) |
Transponovaná matice | A' |
Determinant | det(A) |
Dimenze matice | dim(A) |
Pro zadávání matic v Palmu je asi vhodnější editor matic než funkce matrix(). Editoru bych jedině vytkl, že se na obrazovku vejdou pouze tři sloupce matice. Vhodnější by byla možnost nastavení šířky sloupce uživatelem nebo automatická šířka sloupce dle vložených dat.
Příklad použití matic: řešení soustavy n lineárních rovnic o n proměnných
Uvedený příklad používá dvě rovnice o dvou neznámých, lze samozřejmě použít libovolný počet (nezjistil jsem, kde jsou hranice EasyCalcu nebo Palmu).
Hledá se řešení rovnic:
a1x | + | b1y | = | c1 |
a2x | + | b2y | = | c2 |
V maticovém zápisu:
a1 | b1 | * | x | = | c1 |
a2 | b2 | y | c2 |
Neboli: A * X = B
Řešení: X = A-1 * B
Konkrétní postup v EasyCalcu:
- pomocí editoru matic se definují matice A, B
- do příkazové řádky napsat vzorec: A^(-1)*B
- výsledkem je matice (vektor) hledaných proměnných x, y
Seznamy
Tlačítka pro práci se seznamy jsou dostupná z menu (S) vědecké kalkulačky jako volba Funkce seznamů. Dále je v roletovém menu dostupný Editor seznamů (pod volbou Speciální).
Základní funkce pro operaci se seznamy:
Definice seznamu | a = list() |
Součet položek | sum(a) |
Průměr | mean(a) |
Geometrický průměr | gmean(a) |
Setřídění vzestupně | sorta(a) |
Setřídění sestupně | sortd(a) |
Součin položek | prod(a) |
Minimum | min(a) |
Maximum | max(a) |
Počet položek | dim(a) |
Pro zadávání seznamů v Palmu je asi vhodnější editor seznamů než funkce list().
Řešení funkcí
Tlačítka pro práci s funkcemi jsou dostupná z menu (S) vědecké kalkulačky jako volba Řešení funkcí.
Popis proměnných použitých v popisovaných funkcích:
- min, max: dolní a horní mez intervalu, ve kterém se uvažuje řešení (pokud je v zadaném intervalu více možných řešení, kalkulačka ohlásí: Nemožný výpočet.)
- fce: funkce, pro kterou se hledá řešení. Je možné ji zadat dvěma způsoby: buď přímo funkci napsat v uvozovkách (příklad: "x^2-4"), nebo ji nejdříve definovat samostatně (f()=x^2-4) a použít zápis f().
- ve funkcích fzero, fvalue, fmin, fmax lze ještě použít nepovinnou proměnnou error, která definuje přesnost výpočtu. Já jsem ji v zápisu vzorců zanedbal, použije se implicitní hodnota 1E-10.
1. Nalezení nulové hodnoty funkce
fzero (min : max : fce)
Výsledkem je hodnota proměnné, pro kterou je hodnota fce nulová (je to místo, kde graf dané fce protíná osu x).
Příklady:
- fzero(-1:4:"x^2-4")
- pokud se výše uvedená funkce zapíše jako y=x^2-4, hledá se hodnota x, pro kterou platí: y=0. Řešením je x=2.000000003 (viz výše zmiňovaná přesnost výpočtu).
- pokud by se stejná funkce uvažovala v jiném intervalu (fzero(-4:4:"x^2-4")), je výsledkem Nemožný výpočet, protože úloha má v tomto případě více než jedno (2) řešení.
2. Nalezení obecné hodnoty funkce
fvalue (min : max : value : fce)
Funkce je obecnějším případem funkce fzero, kdy se nehledá nulová hodnota fce, ale hodnota definovaná v proměnné value.
Příklad:
- fzero(-1:4:3:"x^2-4")
- pokud se výše uvedená funkce zapíše jako y=x^2-4, hledá se hodnota x, pro kterou platí: y=3. Řešením je x=2.645754313.
3. Nalezení minima (maxima) funkce v zadaném intervalu
fmin (min : max : fce)
fmax (min : max : fce)
Výsledkem je hodnota proměnné, pro kterou je hodnota funkce v zadaném intervalu minimální (maximální).
Příklad:
- fmin(-1:4:"x^2-4")
- pokud se výše uvedená funkce zapíše jako y=x^2-4, hledá se hodnota x, pro kterou platí: y=minimální. Řešením je x=0 (resp. 9,313225746E-10, viz výše zmiňovaná přesnost výpočtu).
4. Nalezení průsečíku dvou funkcí
fintersect (min : max : fce1 : fce2)
Výsledkem je hodnota proměnné, pro kterou je hodnota fce1 rovna hodnotě fce2.
Příklad:
- fintersect(-1:4:"x^2-4":"x+1")
- pokud se výše uvedené funkce zapíší jako y=x^2-4 a y=x+1, hledá se hodnota x, pro kterou se hodnoty y obou funkcí rovnají. Řešením je x=2,791287844.
5. Určitý integrál
fromberg (min : max : fce)
Převody mezi číselnými soustavami
Kalkulačka pro převod mezi číselnými soustavami je dostupná v horní liště (tlačítko I) nebo v roletovém menu (Celá čísla). V levém spodním rohu kalkulačky jsou čtyři tlačítka pro volbu soustavy:
- Bin - dvojková
- Oct - osmičková
- Dec - desítková
- Hex - šestnáctková
Při práci s převody číselných soustav se doporučuje zaškrtnout v Nastavení volbu Vynutit celá čísla (mně to fungovalo i bez toho).
Postup převodu čísel mezi soustavami:
- zvolit výchozí soustavu (jedním ze čtyř tlačítek vlevo dole)
- napsat převáděné číslo a stisknout EXE
- zvolit cílovou soustavu (číslo v řádku výsledků se zkonvertuje do cílové soustavy)
Grafy
Obrazovka grafů je dostupná v horní liště (tlačítko G) nebo v roletovém menu (Grafy).
- v horní liště jsou tlačítka: P (Nastavení grafů) a S (Výběr a definice grafu). Je to rychlá náhrada za volby v roletovém menu (Grafy / Nastavení, Grafy / Výběr grafů)
- tlačítko minus: zmenšení grafu
- tlačítko plus: zvětšení grafu (nutno zadat tažením obdélník pro rozsah)
- tlačítko T: trasování (ukázáním na nějaké místo grafu se zobrazí souřadnice). Při zapnutém tlačítku T je dostupné i tlačítko Jdi, kde lze zadat hodnotu na x-ové ose, kam se má přejít.
- Tlačítko C. umožňuje graficky řešit funkce, které jsou popsány výše v kapitole Řešení funkcí. Po stisku tlačítka C a výběru příslušné funkce se spustí průvodce, který uživatele provede celým výpočtem. V následující srovnávací tabulce je uvedeno, která volba spouští jakou funkci:
Volba v menu C Funkce nula fzero hodnota fvalue minimum fmin maximum fmax d/dx fd_dx d2/dx fd2_dx integrál fromberg intersect intersect
- Pro zobrazení hodnot grafu v tabulce je funkce v roletovém menu Graf / Mód tabulka
- celou obrazovku lze přesouvat tažením stylusem
Závěr
EasyCalc je vynikající kalkulačka, je zdarma, nyní i v české lokalizaci. Běžný uživatel asi využije jen několik procent všech možností kalkulačky. Více ji asi využijí studenti. Pokud se smířím s tím, že mi kalkulačka zabere (včetně knihovny MathLib) v paměti cca 230kB, lze kalkulačku vřele doporučit. Já sám ji používám i ve svém Palmu m100 s pouhými 2 MB RAM.
Na Palmare.cz jsme před rokem přinesli recenzi jedné z prvních verzí kalkulačky, včetně rozhovoru s autorem Ondrou Palkovským.