Basic pro Palm OS - www.PalmHelp.cz

Článek do news mohou přidat registrovaní uživatelé PalmHelp. Zajímavé články odměníme.

 Basic pro Palm OS

Autor: hugo0695 - 19.01.2009, 4237 čtenářů


Software hugo0695 nám napsal(a): Programování pro kapesní počítače je oblastí, která potenciálně zajímá poměrně slušné množství uživatelů, protože možnost vývoje aplikací šitých na míru svépomocí je velmi lákavá. Na druhou stranu je tento potenciál srážen nereálně vysokými nároky kladenými na "běžného" uživatele. Přesto možnost zvládnout programování pro PDA není tak úplně z říše snů. Existuje totiž hned několik implementací triviálního programovacího jazyka Basic...





(článek do soutěže o univerzální solární nabíječku)



BASIC? Nic jednoduššího nehledejte!

Programovací jazyk BASIC byl vyvinut v šedesátých letech minulého století jako prostředí pro výuku programování. Ve své době byl velmi populární QBasic, Turbo BASIC, stejně jako Turbo PASCAL. QBasic byl standardně dodáván se systémem MS-DOS verze 5+ a stáhnout si ho můžete zde: Download QBASIC 1.1 from Microsoft.

O tom, co je BASIC, nám dá stručnou, ale rychlou referenci česká wikipedie nebo rozšířenou informaci verze anglická. Že BASIC není fosilií, lze dokumentovat množstvím jeho klonů, včetně MS Visual Basicu. Poslední upgrade basicu na PalmHelpu byl v červenci 2008. Že se někdy jedná o starší verze, nás nemusí mrzet, protože cíle které dnes sledujeme, jsou v použitelnosti programů - proměnit své PDA v chytrou kalkulačku.

Na stránkách PalmHelpu jsme se mohli dočíst o několika variantách prostředí pro Palm OS. Můžeme si vybrat: Palm Basic, tinyBASIC, NS Basic, SmallBASIC, cbasPad [nyní Hotpaw Basic], programátorské prostředí LaFac. Každý klon obsahuje jakousi základní výbavu příkazů referenční BASIC a nějakou přidanou hodnotu (datové typy, procedury, spolupráce s grafikou, spolupráce s PC, cykly, knihovny funkcí aj.). Na domovských stránkách lze často nalézt i řadu tutoriálů. Komerční je iziBasic (o možnostech napoví stránka příkladů), stejně jako Hotpaw Basic s příklady a NS Basic s ukázkovými kódy. Vývojáři aplikací pravděpodobně sáhnou po Handheld Basic ++.

Palm Basic

Popis interpretu: Palm Basic se skládá z jednoho souboru prc (~ 79 kB). Označování vstupů a výstupů (input, print), proměnných, konstant, polí, funkcí, aritmetických výrazů, cyklů (if then (else), do loop while), je standardní, stejně jako implementace procedur (let, goto, gosub), deklarací, řetězcových a dalších funkcí.

Z pohledu uživatele Palm OS: Po instalaci a spuštění souboru basic.prc se nám otevře správce, který vypadá jako Memo Pad (systémová Palm OS aplikace pro poznámky). Umožňuje kategorizovat programy, spouštět, vytvářet a editovat programy, a pomocí menu se přepnout do konzole BASICu. Konzole umožňuje interaktivně spouštět jednořádkové programy nebo programy podle jména. Kolébkou nahoru nebo dolu vyvoláme poslední příkaz.

Příklad: Obvod kruhu spočítáme jako o = 2*pi*r. Celý program by mohl vypadat takto:

INPUT r
obvod=2*pi*r
PRINT obvod


Nebo jeho jednořádkovou variantou:

INPUT r : PRINT 2*pi*r

Závěr: Palm Basic je utilita, která je napsána pro Palm OS 3+. Umožňuje napsat a spouštět užitečné programy. Uživatel uvítá jednoduchý jazyk i prostředí. Detaily zájemce nalezne v manuálu. Palm Basic nevytváří spustitelný kód, to znamená, že všechny příkazy se musí spouštět pouze z prostředí Palm Basicu.

SmallBASIC

Program SmallBASIC může být velmi dobrou variantou k naprogramování si své vlastní aplikace pro Palm OS. Příjemně nás osloví jednoduchostí a praktickým zpracováním. Má mnoho společného s QBasic. Jedná se o dialekt, který je strukturovaný, obsahující mnoho rozšiřujících operací a funkcí včetně grafiky, nebo i např. matic (řešení soustav lineárních rovnic Gaussovou eliminační metodou). Vhodný je nejen pro začátečníky, hodí se na experimentování za dlouhých zimních večerů... Umožní nám rychle naprogramovat často se opakující výpočty (vzorečky naleznete např. v Přehledu užité matematiky, kompendiu, příručkách...). SmallBASIC je multiplatformní (MS Windows, Linux, Palm OS aj.) s otevřeným kódem. Domovská stránka basicu obsahuje i příklady použití včetně zdrojových kódů.

Po rozbalení souboru SmallBASIC-PalmOS5-0.8.2b.zip dostaneme adresář dokumentů a příkladů. V adresáři dokumentů je soubor ref.txt, který obsahuje všechna primitiva jazyka; tj. syntax a sémantiku vyhrazených slov - užitečné poznámky pro začátečníka. Další soubory v tomto adresáři se věnují omezení implementace. Adresář příkladů obsahuje užitečné aplikace, hry, příklady vstupů a výstupů, práci se zvuky a grafikou, dále podadresář testy, které lze využívat při ladění programů. Adresář příkladů lze využít jako studnici typických konstrukcí jazyka, jejich analýza pomůže začátečníkovi v orientaci v problematice jazyka SmallBASIC (včetně např. tinyBASIC). Vlastní program je sbpad.prc (~ 284 kB), spolu s knihovnou MathLib.prc (~ 51 kB) matematických funkcí.

Z pohledu uživatele Palm OS: Po spuštění SmallBASICu dostaneme praktického správce souborů (zdrojových programů *.bas), který umožňuje vytvářet, modifikovat a spouštět programy. Uživatel v menu jistě ocení položku Info, která obsahuje stručnou syntax a sémantiku vyhrazených slov jazyka BASIC. Programy je možné přehledně kategorizovat (filtrování souborů). Režim editace umožňuje program přejmenovat, otevřít jiný program apod. V levém dolním rohu je pole S&R, které znamená ulož a spusť aktuální program. Z menu ještě upozorníme na možnosti editace, změny písma, možnost hledání a odskoku, včetně "klávesových" zkratek. V režimu editace programů je možné i vytvářet sekce (spolupráce s poznámkovým blokem). Tato vlastnost se nejlépe uplatní při ladění programů a jejich přehlednosti.

Příklad: Program hledání kořenů křivek Newtonovou metodou regula falsi. Je dána funkce (řádek 510) a její první derivace (řádek 520). V bodě x (řádek 530) se sestrojí tečna, která protne osu x (řádek 580) a sestrojí se nová funkční hodnota (řádek 570) inicializačního bodu. To se opakuje (řádek 540) do té doby, dokud nejsme dostatečně blízko kořenu (řádek 560 a 600).

400 REM Metoda tecen
410 REM IQ 151/86/w
480 CLS
490 DATA -50
500 RESTORE
510 DEF FNY(X)=X*X-SIN(X)
520 DEF FNZ(X)=2*X-COS(X)
530 READ X
540 LET Y=FNY(X)
550 PRINT X,Y
560 IF ABS(Y)<1E-4 THEN GOTO 600
570 LET Z=FNZ(X)
580 LET X=X-Y/Z
590 GOTO 540
600 PRINT : PRINT "Priblizny koren je ";X
610 END


Závěr: Na rozdíl od Palm Basicu má SmallBASIC rozšířenější množinu příkazů. Zdrojový kód je téměř kompatibilní s Turbo BASICem. Výhodou je i jeho multiplatformost. Prostředí komunikuje prostřednictvím beam (infračervený port), umožňuje export a import programů prostřednictvím Memo Padu (poznámek) a PalmDOC. Znamená to, že lze snadno připravovat programy pro SmallBASIC přímo na PC (přenositelnost). Zvládá 16bitovou grafiku 320x320 pixelů a umožňuje tak působivý výstup v podobě grafů. Díky matematické knihovně je SmallBASIC více jak komplexní superkalkulátor. Projekt je stále otevřený, jak se můžeme přesvědčit na jeho domovské stránce. Interpret SmallBASICu podstatným způsobem rozšiřuje možnosti použití palmu.


Václav Vopravil

Poznámka redakce: článek byl mírně stylisticky upraven.







 
   Související odkazy
· Více o tématu Software
· Další články od autora Badel


Nejčtenější článek na téma Software:
Video pro Palm, zázrak jménem SmartMovie


   Hodnocení článku
Průměrné hodnocení: 4.57
Účastníků: 7

Výborný

Zvolte počet hvězdiček:

Výborný
Velmi dobré
Dobré
Povedený
Špatné


   Možnosti

 Vytisknout článek Vytisknout článek


Související témata

Software

"Basic pro Palm OS" | Přihlásit/Registrovat | 2 komentářů | Vyhledávání v diskusi
Komentáře vlastní jejich autoři. Neodpovídáme za jejich obsah.

Re: Basic pro Palm OS (Hodnocení: 1)
Od: Dakar (email je skrytý) - 19.01.2009
(O uživateli | Poslat soukromou zprávu)
diky za pekny clanek

Re: Basic pro Palm OS (Hodnocení: 1)
Od: jonasserych (email je skrytý) - 21.01.2009
(O uživateli | Poslat soukromou zprávu)
Zajimavy clanek. Nemohlo by to byt napsano jinak nez kurzivou, podle me se to strasne spatne cte. (Zajimave, kdyz dam vlozit komentar, tak uz ten clanek kurzivou neni...)

Reklama / Ceník
Vstup pro inzerenty




 


Doporučte nás | Webmaster | Hledání | Statistiky | Syndikační kanály | Právní ujednání | Ochrana osobních údajů



PalmHelp (www.PalmHelp.cz), informace nejen ze světa webOS a Palm OS, asistenční služby uživatelům produktů Palm. ISSN 1801-9412