| Vrsta datoteke | APK |
|---|---|
| Izdavač | Tomohide NANIWA |
| Datum izlaska | 19. lis 2019. |
| Datum dodan | 19. lis 2019. |
| Os zahtjevi | Android |
| Zahtjevi | Requires Android |
| Ukupno preuzimanja | 0 |
| Cijena | $1.00 |
Opis
Frtm (FoRTh Modoki) je softver koji simulira programski jezik FORTH. Međutim, nije namijenjeno reproduciranju strogog FORTH-a. Ne postoji kompilator, ali se riječi i konstante u korisnički definiranoj riječi tumače kada se ona registrira.
Postoje i neki aspekti za razliku od FORTH-a: frtm nema riječi za manipuliranje povratnim stogom, dok frtm dopušta rekurzivnu definiciju riječi.
Frtm također podržava izračun realnih brojeva. Ima matematičke funkcije kao što su eksponencijal, kvadratni korijen, trigonometrijske funkcije, hiperboličke funkcije, bitovne operacije. Tako frtm može biti alternativni softver znanstvenog kalkulatora.
Tumačenje izraza provodit će se u skladu s obrnutom poljskom notacijom (RPN). Frtm ima uvjetno grananje "if", strukturu za petlju "do-while" i "for-loop". Također možete napraviti novu riječ kombiniranjem riječi.
Na Android OS-u dodana je konfiguracija početne veličine rječnika i hrpe, mogućnost spremanja riječi u rječniku u "knjigu riječi". Broj "knjiga riječi" ograničen je na najviše tri.
Za detaljnije specifikacije jezika, pogledajte web stranicu na japanskom za podršku.
Ako želite besplatno testirati frtm, pokušajte s Java applet verzijom frtm-a na sljedećoj web stranici:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** PRIMJERI riječi ***
* Prosjek dva broja
: ave + 2,0/;
* Prosjek od N brojeva
: nave swap preko 1 za rot + petlja swap 1.0 */;
2 4 6 8 10 5 brod . kr
0 1 2 3 4 5 6 7 8 9 10 SP brod . kr
* Varijanca populacije od N brojeva
: nvarp dup 1+ kopija nave SP nrotr swap dup * preko 1 za rot dup * + petlja swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . kr
* Nepristrana varijanca N brojeva
: nvar dup 1+ kopija nave SP nrotr swap dup * preko 1 za rot dup * + petlja SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . kr
* Najveći zajednički djelitelj 2 broja
: gcd do swap preko % dup 0 > while drop ;
1001 819 gcd . kr
* Faktorijel [činjenica(1)=1, činjenica(n)=n*činjenica(n-1)]
** Rekurzija
: factr dup 1=if else dup 1- factr * endif ;
10 faktor . kr
** Ponavljanje
: facti 1 zamjena 1+ 1 za I * petlja ;
10 činjenica. kr
* Fibonaccijev niz [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rekurzija
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 fib. kr
** Ponavljanje
: fibi dup 0= if else 0 1 rot 1 for swap over + petlja swap drop endif ;
30 fibi . kr
* Grafika
** Ispunite pravokutnik
: kutije 16 0 za I setcol 10 20 I * + dup 100 100 rectf petlja ;
gm kutije
: hls 16 0 za I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf petlja ;
gm hls
** Rekurzivno crtanje (Kochova krivulja)
: ispuštanje prije 5 kopija ;
: genx 3 ndup 6 ndup - * minus 100/zamjena 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 ndrop ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 ndrop ;
: gen 6 kopija genx 7 nrotr geny ;
: zadržati 7 nrotr 7 nrotr pre;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: redak pomaknuti u redak;
: koch dup 0= if drop line else
pre 0 0 gen zadržati 33 0 gen post koch
pre 33 0 gen zadržati 50 -28 gen post koch
pre 50 -28 gen zadržati 66 0 gen post koch
pre 66 0 gen zadržati 100 0 gen post koch
5 ndrop
završi ako ;
: 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
** Izravna upotreba ReGIS grafičkog terminala poput izlazne sekvence
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]'Zdravo svijete') .
// Korištenjem riječi 'grdemo' neke riječi za primjere grafike bit će registrirane u rječniku.