Naar inhoud springen
FF

frtm for Android APK

Uitgever: Tomohide NANIWA
Android APK $1.00
Downloaden 0 downloads
BestandstypeAPK
Uitgever Tomohide NANIWA
Datum van publicatie19 okt 2019
Datum toegevoegd19 okt 2019
OS-vereistenAndroid
VoorwaardenRequires Android
Totaal aantal downloads0
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.

Vergelijkbare programma's

Alternatieven