Preskočiť na obsah
FF

frtm for Android APK

Vydavateľ: Tomohide NANIWA
Android APK $1.00
Stiahnuť ▼ 0 stiahnutia
Typ súboruAPK
Vydavateľ Tomohide NANIWA
Dátum vydania19. 10. 2019
Dátum pridania19. 10. 2019
Požiadavky OSAndroid
PožiadavkyRequires Android
Celkový počet stiahnutí0
cena$1.00

Popis

Frtm (FoRTh Modoki) je softvér, ktorý simuluje programovací jazyk FORTH. Nie je však určený na reprodukciu striktného FORTH. Neexistuje žiadny kompilátor, ale slová a konštanty v slove definovanom používateľom sa interpretujú pri jeho registrácii.

Na rozdiel od FORTH existujú aj niektoré aspekty: frtm nemá slová na manipuláciu s návratovým zásobníkom, zatiaľ čo frtm umožňuje rekurzívnu definíciu slova.

Frtm podporuje aj výpočet reálnych čísel. Má matematické funkcie ako exponenciála, druhá odmocnina, goniometrické funkcie, hyperbolické funkcie, bitové operácie. Takže frtm môže byť alternatívnym softvérom vedeckej kalkulačky.

Výklad výrazu bude vykonaný v súlade s reverznou poľskou notáciou (RPN). Frtm má podmienenú vetvu "if", štruktúru pre cyklus "do-while" a "for-loop". Nové slovo môžete vytvoriť aj spojením slova.

Na OS Android pribudla konfigurácia počiatočnej veľkosti slovníka a zásobníka, možnosť uložiť slovo v slovníku do „slovníka“. Počet „slovníkov“ je obmedzený na tri.

Podrobnejšiu špecifikáciu jazyka nájdete na webovej stránke v japončine, kde nájdete podporu.

Ak chcete frtm voľne otestovať, vyskúšajte verziu s Java appletom frtm na nasledujúcej webovej stránke:

http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html

*** PRÍKLADY slov ***

* Priemer dvoch čísel

: ave + 2,0/;

* Priemer N čísel

: nave swap cez 1 za rot + loop swap 1.0 */;

2 4 6 8 10 5 loď . cr

0 1 2 3 4 5 6 7 8 9 10 SP loď . cr

* Populačný rozptyl N čísel

: nvarp dup 1+ copy nave SP nrotr swap dup * over 1 for rot dup * + loop swap 1.0 */SP nrot dup * - ;

2 4 6 8 10 5 nvarp . cr

* Nezaujatý rozptyl N čísel

: nvar dup 1+ copy nave SP nrotr swap dup * over 1 for rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;

2 4 6 8 10 5 nvar . cr

* Najväčší spoločný deliteľ 2 čísel

: gcd do swap cez % dup 0 > while drop ;

1001 819 gcd . cr

* Faktor [fakt(1)=1, fakt(n)=n*fakt(n-1)]

** Rekurzia

: factr dup 1=ak inak dup 1- factr * endif ;

10 faktov. cr

** Iterácia

: facti 1 zámena 1+ 1 za I * slučka ;

10 faktov. cr

* Fibonacciho sekvencia [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]

** Rekurzia

: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;

30 fib. cr

** Iterácia

: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;

30 fibi. cr

* Grafika

** Vyplňte obdĺžnik

: boxy 16 0 pre I setcol 10 20 I * + dup 100 100 rectf loop ;

gm boxy

: hls 16 0 pre I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf loop ;

gm hls

** Rekurzívne kreslenie (Kochova krivka)

: pokles pred 5 kópiami ;

: genx 3 ndup 6 ndup - * mínus 100/výmena 4 ndup 7 ndup - * 100/+ 5 ndup +

5 nrotr 4 ndrop ;

: výmena geny 3 ndup 6 ndup - * 100/výmena 4 ndup 7 ndup - * 100/+ 4 ndup +

5 nrotr 4 ndrop ;

: gen 6 kópia genx 7 nrotr geny ;

: ponechať 7 nrotr 7 nrotr pre ;

: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;

: riadok moveto lineto ;

: koch dup 0= ak prepadne riadok else

pre 0 0 gen udržať 33 0 gen post koch

pre 33 0 gen ponechať 50 -28 gen post koch

pre 50 -28 gen ponechať 66 0 gen post koch

pre 66 0 gen ponechať 100 0 gen post koch

5 kvapiek

koniec Ak ;

: kochs 10 setcol 89 440 551 440 4 koch

11 setcol 551 440 320 40 4 koch

12 setcol 320 40 89 440 4 koch ;

gm kochs

** Priame použitie grafického terminálu ReGIS ako úniková sekvencia

gm

(W(I15)P[50,50]C(S)[][+40,+40][+40,-40][+40,+40][+40,-40][+40,+ 40][+40,-40][](E)).

(W(I12)P[50,150]F(C(B)[200,+200][+200,-150](E))).

(W(I11)P[70,170]T(S16)[16,12]'Ahoj svet') .

// Použitím slova 'grdemo' sa niektoré slová pre príklady grafiky zaregistrujú do slovníka.

Podobné programy

Alternatívy