| Filtype | APK |
|---|---|
| Forlegger | Tomohide NANIWA |
| Utgivelsesdato | 19. okt. 2019 |
| Dato lagt til | 19. okt. 2019 |
| Os krav | Android |
| Krav | Requires Android |
| Totalt antall nedlastinger | 0 |
| Pris | $1.00 |
Beskrivelse
Frtm (FoRth Modoki) er en programvare som simulerer programmeringsspråket FORTH. Det er imidlertid ikke ment å gjengi den strenge FORTH. Det er ingen kompilator, men ordene og konstantene i et brukerdefinert ord tolkes når det registreres.
Det er også noen aspekter i motsetning til FORTH: frtm har ikke ordene for å manipulere returstabelen, mens frtm tillater den rekursive definisjonen av ordet.
Frtm støtter også beregning av reelle tall. Den har matematiske funksjoner som eksponentiell, kvadratrot, trigonometriske funksjoner, hyperbolske funksjoner, bitvise operasjoner. Så frtm kan være den alternative programvaren til vitenskapelig kalkulator.
Tolkning av uttrykket vil bli utført i samsvar med Reverse Polish Notation (RPN). Frtm har betinget gren "hvis", struktur for en løkke "gjør-mens" og "for-løkke". Du kan også lage et nytt ord ved å kombinere ordet.
På Android OS er konfigurasjonen av den opprinnelige størrelsen på ordboken og stabelen, muligheten til å lagre ordet i ordboken til "ordboken" lagt til. Antall "ordbok" er begrenset til opptil tre.
For en mer detaljert spesifikasjon av språket, se websiden på japansk for støtte.
Hvis du vil teste frtm fritt, prøv Java-appletversjonen av frtm på følgende nettside:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** EKSEMPLER på ord ***
* Gjennomsnitt av to tall
: ave + 2,0/;
* Gjennomsnitt av N tall
: skip bytte over 1 for råte + løkkebytte 1,0 */;
2 4 6 8 10 5 skip . cr
0 1 2 3 4 5 6 7 8 9 10 SP-skip . cr
* Befolkningsvarians av N tall
: nvarp dup 1+ kopi nav SP nrotr bytte dup * over 1 for rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Uhildet varians av N tall
: nvar dup 1+ kopi nave SP nrotr bytte dup * over 1 for rot dup * + loop SP nrot dup * 3 ndup * - bytte 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* Største felles deler av 2 tall
: gcd bytter over % dup 0 > while drop ;
1001 819 gcd . cr
* Faktoriell [fakta(1)=1, faktum(n)=n*fakta(n-1)]
** Rekursjon
: factr dup 1=if else dup 1- factr * endif ;
10 fakta. cr
** Iterasjon
: facti 1 bytt 1+ 1 for I * loop ;
10 fakta. cr
* Fibonacci-sekvens [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rekursjon
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 fib. cr
** Iterasjon
: fibi dup 0= hvis annet 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi. cr
* Grafikk
** Fyll rektangel
: bokser 16 0 for I setcol 10 20 I * + dup 100 100 rectf loop ;
gm bokser
: hls 16 0 for I 45 * 2/50 100 settHLS 10 20 I * + dup 100 100 rectf loop ;
gm hls
** Rekursiv tegning (Koch-kurve)
: før 5 kopi slipp ;
: genx 3 ndup 6 ndup - * minus 100/bytte 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 annet
pre 0 0 gen keep 33 0 gen post koch
pre 33 0 gen hold 50 -28 gen post koch
pre 50 -28 gen beholde 66 0 gen post koch
pre 66 0 gen beholde 100 0 gen post koch
5 ndrop
slutt om ;
: 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 bruk av ReGIS-grafikkterminal 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 å bruke ordet 'grdemo' vil noen ord for eksempler på grafikk bli registrert i ordboken.