| Tipp tal-fajl | APK |
|---|---|
| Pubblikatur | Tomohide NANIWA |
| Data tal-ħruġ | 19 Ott 2019 |
| Data miżjuda | 19 Ott 2019 |
| Rekwiżiti Os | Android |
| Rekwiżiti | Requires Android |
| Tniżżil totali | 0 |
| Prezz | $1.00 |
Deskrizzjoni
Frtm (FoRTh Modoki) huwa softwer li jissimula l-lingwa ta 'programmar FORTH. Madankollu mhuwiex maħsub biex jirriproduċi l-STRATT FORTH. M'hemm l-ebda kompilatur, iżda l-kliem u l-kostanti f'kelma definita mill-utent huma interpretati meta tiġi rreġistrata.
Hemm ukoll xi aspetti b'differenza minn FORTH: frtm m'għandux il-kliem biex jimmanipula l-munzell tar-ritorn, filwaqt li frtm jippermetti d-definizzjoni rikorsiva tal-kelma.
Frtm jappoġġja wkoll il-kalkolu ta 'numri reali. Għandu funzjonijiet matematiċi bħal esponenzjali, għerq kwadru, funzjonijiet trigonometriċi, funzjonijiet iperboliċi, operazzjonijiet bit-bit. Allura frtm jista 'jkun is-software alternattiv ta' kalkolatur xjentifiku.
L-interpretazzjoni tal-espressjoni ssir skont in-Notazzjoni Pollakka Reverse (RPN). Frtm għandha fergħa kondizzjonali "jekk", struttura għal linja "do-while" u "for-loop". Tista 'wkoll tagħmel kelma ġdida billi tgħaqqad il-kelma.
Fuq l-Android OS, il-konfigurazzjoni tad-daqs inizjali tad-dizzjunarju u l-munzell, il-kapaċità li tissejvja l-kelma fid-dizzjunarju għall-"ktieb tal-kliem" ġew miżjuda. In-numru ta '"ktieb tal-kliem" huwa limitat sa tlieta.
Għal speċifikazzjoni aktar dettaljata tal-lingwa, jekk jogħġbok irreferi għall-paġna tal-Web bil-Ġappuniż għall-appoġġ.
Jekk trid tittestja frtm liberament, jekk jogħġbok ipprova l-verżjoni Java applet ta' frtm fil-paġna web li ġejja:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** EŻEMPJI ta' kliem ***
* Medja ta' żewġ numri
: ave + 2.0/;
* Medja ta 'N numri
: tpartit tan-nava fuq 1 għal taħsir + tpartit tal-linja 1.0 */;
2 4 6 8 10 5 nava . cr
0 1 2 3 4 5 6 7 8 9 10 SP nava . cr
* Varjazzjoni tal-popolazzjoni ta 'N numri
: nvarp dup 1+ kopja nave SP nrotr swap dup * fuq 1 għal rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Varjazzjoni imparzjali ta 'N numri
: nvar dup 1+ kopja nave SP nrotr swap dup * fuq 1 għal rot dup * + loop SP nrot dup * 3 ndup * - tpartit 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* L-akbar diviżur komuni ta '2 numri
: gcd do swap fuq % dup 0 > filwaqt li drop ;
1001 819 gcd . cr
* Fattorjali [fatt(1)=1, fatt(n)=n*fatt(n-1)]
** Rikorsjoni
: factr dup 1=jekk inkella dup 1- factr * endif ;
10 factr . cr
** Iterazzjoni
: facti 1 tpartit 1+ 1 għal I * loop ;
10 fatti . cr
* Sekwenza Fibonacci [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rikorsjoni
: fib dup 0= jekk inkella dup 1=jekk inkella dup 1- fib swap 2 - fib + endif endif ;
30 fib . cr
** Iterazzjoni
: fibi dup 0= jekk inkella 0 1 rot 1 għal swap over + loop swap drop endif ;
30 fibi . cr
* Grafika
** Imla rettangolu
: kaxxi 16 0 għal I setcol 10 20 I * + dup 100 100 rectf loop ;
kaxxi gm
: hls 16 0 għal I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf loop ;
gm hls
** Tpinġija Rikursiva (kurva Koch)
: qabel 5 kopja qatra ;
: genx 3 ndup 6 ndup - * nieqes 100/tpartit 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrtr 4 drop ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrtr 4 drop ;
: gen 6 kopja genx 7 nrtr geny ;
: żomm 7 nrtr 7 nrtr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: line moveto lineto ;
: koch dup 0= jekk drop line inkella
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 qatra
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
** Użu dirett tat-terminal tal-grafika ReGIS bħal sekwenza tal-ħarba
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') .
// Billi tuża l-kelma 'grdemo', xi kliem għal eżempji ta' grafika jiġu rreġistrati fid-dizzjunarju.