| Bestandstype | APK |
|---|---|
| Uitgever | Tomohide NANIWA |
| Datum van publicatie | 19 okt 2019 |
| Datum toegevoegd | 19 okt 2019 |
| OS-vereisten | Android |
| Voorwaarden | Requires Android |
| Totaal aantal downloads | 0 |
| Prijs | $1.00 |
Omschrijving
Frtm (FoRth Modoki) is een software die de programmeertaal FORTH simuleert. Het is echter niet bedoeld om de strikte FORTH te reproduceren. Er is geen compiler, maar de woorden en de constanten in een door de gebruiker gedefinieerd woord worden geïnterpreteerd wanneer het wordt geregistreerd.
Er zijn ook enkele aspecten die anders zijn dan FORTH: frtm heeft niet de woorden om de retourstapel te manipuleren, terwijl frtm de recursieve definitie van het woord toestaat.
Frtm ondersteunt ook de berekening van reële getallen. Het heeft wiskundige functies zoals exponentiële, vierkantswortel, trigonometrische functies, hyperbolische functies, bitsgewijze bewerkingen. Dus frtm kan de alternatieve software van een wetenschappelijke rekenmachine zijn.
Interpretatie van de uitdrukking zal worden uitgevoerd in overeenstemming met Reverse Polish Notation (RPN). Frtm heeft voorwaardelijke tak "if", structuur voor een lus "do-while" en "for-loop". Je kunt ook een nieuw woord maken door het woord te combineren.
Op het Android-besturingssysteem is de configuratie van de initiële grootte van het woordenboek en de stapel, de mogelijkheid om het woord in het woordenboek op te slaan in het "woordenboek" toegevoegd. Het aantal "woordenboek" is beperkt tot maximaal drie.
Voor een meer gedetailleerde specificatie van de taal verwijzen wij u naar de webpagina in het Japans voor ondersteuning.
Als u frtm vrijelijk wilt testen, probeer dan de Java-appletversie van frtm op de volgende webpagina:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** VOORBEELDEN van woorden ***
* Gemiddelde van twee getallen
: gemiddelde + 2.0/;
* Gemiddelde van N-nummers
: nave swap over 1 voor rot + loop swap 1.0 */;
2 4 6 8 10 5 schip . cr
0 1 2 3 4 5 6 7 8 9 10 SP schip . cr
* Populatievariantie van N-nummers
: nvarp dup 1+ kopieer nave SP nrotr swap dup * meer dan 1 voor rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Onbevooroordeelde variantie van N-nummers
: nvar dup 1+ kopieer nave SP nrotr swap dup * over 1 voor rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* Grootste gemene deler van 2 getallen
: ggd swap over % dup 0 > while drop ;
1001 819 gcd. cr
* Faculteit [feit(1)=1, feit(n)=n*feit(n-1)]
** Herhaling
: factr dup 1=indien anders dup 1-factr * endif ;
10 fak. cr
** Iteratie
: facti 1 swap 1+1 for I * loop ;
10 feiten. cr
* Fibonacci-reeks [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Herhaling
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 fb. cr
** Iteratie
: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;
30 fib. cr
* Grafisch
** Vul rechthoek
: vakjes 16 0 voor I setcol 10 20 I * + dup 100 100 rectf loop;
gm dozen
: hls 16 0 voor I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf-lus;
gm hls
** Recursieve tekening (Koch-curve)
: pre 5 copy drop ;
: genx 3 ndup 6 ndup - * min 100/swap 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nr. 4 ndrop ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nr. 4 ndrop ;
: gen 6 kopiëren genx 7 nrotr geny ;
: houd 7 nrotr 7 nrotr voor;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: regel verplaatsen naar regel naar ;
: koch dup 0= if drop line else
pre 0 0 gen keep 33 0 gen post koch
pre 33 0 gen keep 50 -28 gen post koch
pre 50 -28 gen keep 66 0 gen post koch
pre 66 0 gen keep 100 0 gen post koch
5 ndrop
stop als ;
: 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
** Direct gebruik van ReGIS grafische terminal zoals escape sequence
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]'Hallo wereld') .
// Door het woord 'grdemo' te gebruiken, worden enkele woorden voor voorbeelden van afbeeldingen in het woordenboek geregistreerd.