| Filtype | APK |
|---|---|
| Forlægger | Tomohide NANIWA |
| Udgivelses dato | 19. okt. 2019 |
| Dato tilføjet | 19. okt. 2019 |
| Os krav | Android |
| Krav | Requires Android |
| Samlet antal downloads | 0 |
| Pris | $1.00 |
Beskrivelse
Frtm (FoRth Modoki) er en software, der simulerer programmeringssproget FORTH. Det er dog ikke beregnet til at gengive den strenge FORTH. Der er ingen compiler, men ordene og konstanterne i et brugerdefineret ord fortolkes, når det registreres.
Der er også nogle aspekter i modsætning til FORTH: frtm har ikke ordene til at manipulere returstakken, hvorimod frtm tillader den rekursive definition af ordet.
Frtm understøtter også beregningen af reelle tal. Det har matematiske funktioner som eksponentiel, kvadratrod, trigonometriske funktioner, hyperbolske funktioner, bitvise operationer. Så frtm kan være den alternative software til videnskabelig lommeregner.
Fortolkning af udtrykket vil blive udført i overensstemmelse med Reverse Polish Notation (RPN). Frtm har betinget gren "hvis", struktur for en loop "gør-mens" og "for-løkke". Du kan også lave et nyt ord ved at kombinere ordet.
På Android OS er konfigurationen af den oprindelige størrelse af ordbogen og stakken, muligheden for at gemme ordet i ordbogen til "ordbogen" blevet tilføjet. Antallet af "ordbog" er begrænset til op til tre.
For en mere detaljeret specifikation af sproget, se venligst websiden på japansk for support.
Hvis du vil teste frtm frit, prøv venligst Java-applet-versionen af frtm på følgende webside:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** EKSEMPLER på ord ***
* Gennemsnit af to tal
: ave + 2,0/;
* Gennemsnit af N tal
: skib swap over 1 for råd + løkke swap 1,0 */;
2 4 6 8 10 5 skib . cr
0 1 2 3 4 5 6 7 8 9 10 SP skib . cr
* Befolkningsvarians af N tal
: nvarp dup 1+ kopi nav SP nrotr swap dup * over 1 for rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Uvildig varians af N tal
: nvar dup 1+ kopi 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
* Største fælles deler af 2 tal
: gcd swap over % dup 0 > while drop ;
1001 819 gcd . cr
* Faktoriel [fakta(1)=1, fakta(n)=n*faktum(n-1)]
** Rekursion
: factr dup 1=if else dup 1- factr * endif ;
10 fakta. cr
** Gentagelse
: facti 1 swap 1+ 1 for I * loop ;
10 fakta. cr
* Fibonacci-sekvens [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rekursion
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 fib. cr
** Gentagelse
: fibi dup 0= hvis andet 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi. cr
* Grafik
** Fyld rektangel
: æsker 16 0 for I setcol 10 20 I * + dup 100 100 rectf loop ;
gm kasser
: hls 16 0 for I 45 * 2/50 100 sætHLS 10 20 I * + dup 100 100 rectf loop ;
gm hls
** Rekursiv tegning (Koch-kurve)
: før 5 kopi drop ;
: genx 3 ndup 6 ndup - * minus 100/swap 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 kopi genx 7 nrotr geny ;
: beholde 7 nrotr 7 nrotr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: linje flytte til linje til ;
: koch dup 0= hvis drop line andet
præ 0 0 gen hold 33 0 gen post koch
præ 33 0 gen hold 50 -28 gen post koch
præ 50 -28 gen hold 66 0 gen post koch
præ 66 0 gen beholde 100 0 gen post koch
5 ndrop
Afslut Hvis ;
: 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
** Direkte brug af ReGIS grafikterminal som escape-sekvens
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]'Hello World') .
// Ved at bruge ordet 'grdemo' vil nogle ord for eksempler på grafik blive registreret i ordbogen.