| Vrsta datoteke | APK |
|---|---|
| Založnik | Tomohide NANIWA |
| Datum izdaje | 19. okt. 2019 |
| Datum dodajanja | 19. okt. 2019 |
| Os zahteve | Android |
| Zahteve | Requires Android |
| Skupno prenosov | 0 |
| Cena | $1.00 |
Opis
Frtm (FoRTh Modoki) je programska oprema, ki simulira programski jezik FORTH. Vendar ni namenjen reprodukciji strogega FORTH. Ni prevajalnika, vendar se besede in konstante v uporabniško določeni besedi interpretirajo, ko je ta registrirana.
Obstaja tudi nekaj vidikov za razliko od FORTH: frtm nima besed za manipulacijo povratnega sklada, medtem ko frtm omogoča rekurzivno definicijo besede.
Frtm podpira tudi izračun realnih števil. Ima matematične funkcije, kot so eksponentne funkcije, kvadratni koren, trigonometrične funkcije, hiperbolične funkcije, bitne operacije. Frtm je torej lahko alternativna programska oprema znanstvenega kalkulatorja.
Tolmačenje izraza bo potekalo v skladu z obrnjenim poljskim zapisom (RPN). Frtm ima pogojno vejo "if", strukturo za zanko "do-while" in "for-loop". Novo besedo lahko sestavite tudi tako, da besedo združite.
V operacijskem sistemu Android je bila dodana konfiguracija začetne velikosti slovarja in sklada ter možnost shranjevanja besede v slovarju v »besedno knjigo«. Število »besednikov« je omejeno na največ tri.
Za podrobnejšo specifikacijo jezika si oglejte spletno stran v japonščini za podporo.
Če želite brezplačno preizkusiti frtm, poskusite različico programčka Java frtm na naslednji spletni strani:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** PRIMERI besed ***
* Povprečje dveh številk
: ave + 2,0/;
* Povprečje N številk
: zamenjava ladje nad 1 za rot + zamenjava zanke 1.0 */;
2 4 6 8 10 5 ladja . kr
0 1 2 3 4 5 6 7 8 9 10 SP ladja . kr
* Varianca populacije N števil
: nvarp dup 1+ kopija nave SP nrotr swap dup * nad 1 za rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . kr
* Nepristranska varianca N števil
: nvar dup 1+ kopija nave SP nrotr swap dup * nad 1 za rot dup * + zanka SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar. kr
* Največji skupni delitelj 2 števil
: gcd naredi zamenjavo čez % dup 0 > medtem ko spusti ;
1001 819 gcd. kr
* Faktorijel [dejstvo(1)=1, dejstvo(n)=n*dejstvo(n-1)]
** Rekurzija
: factr dup 1=if else dup 1- factr * endif ;
10 dejstvo kr
** Ponovitev
: facti 1 zamenjava 1+ 1 za I * zanko;
10 dejstvo. kr
* Fibonaccijevo zaporedje [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
** Ponovitev
: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi. kr
* Grafika
** Izpolnite pravokotnik
: polja 16 0 za I setcol 10 20 I * + dup 100 100 rectf zanka ;
gm škatle
: hls 16 0 za I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf zanka ;
gm hls
** Rekurzivno risanje (Kochova krivulja)
: izpust pred 5 kopij ;
: genx 3 ndup 6 ndup - * minus 100/zamenjava 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 ndrop ;
: geny zamenjaj 3 ndup 6 ndup - * 100/zamenjaj 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 ndrop ;
: gen 6 kopija genx 7 nrotr geny ;
: obdrži 7 nrotr 7 nrotr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: vrstica premakniti v vrstico;
: koch dup 0= if drop line else
pre 0 0 gen obdrži 33 0 gen post koch
pred 33 0 gen obdrži 50 -28 gen post koch
pre 50 -28 gen obdrži 66 0 gen post koch
pre 66 0 gen obdrži 100 0 gen post koch
5 ndrop
endif ;
: 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
** Neposredna uporaba grafičnega terminala ReGIS kot ubežno zaporedje
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]'Pozdravljen svet') .
// Z uporabo besede 'grdemo' bodo nekatere besede za primere grafike registrirane v slovarju.