| Jenis fail | APK |
|---|---|
| Penerbit | Tomohide NANIWA |
| Tarikh pelepasan | 19 Okt 2019 |
| Tarikh ditambahkan | 19 Okt 2019 |
| Keperluan Os | Android |
| Keperluan | Requires Android |
| Jumlah muat turun | 0 |
| Harga | $1.00 |
Penerangan
Frtm (Forth Modoki) ialah perisian yang menyerupai bahasa pengaturcaraan FORTH. Walau bagaimanapun ia tidak bertujuan untuk menghasilkan semula FORTH yang ketat. Tiada pengkompil, tetapi perkataan dan pemalar dalam perkataan yang ditentukan pengguna ditafsirkan apabila ia didaftarkan.
Terdapat juga beberapa aspek tidak seperti FORTH: frtm tidak mempunyai perkataan untuk memanipulasi timbunan kembali, manakala frtm membenarkan definisi rekursif perkataan.
Frtm juga menyokong pengiraan nombor nyata. Ia mempunyai fungsi matematik seperti eksponen, punca kuasa dua, fungsi trigonometri, fungsi hiperbola, operasi bitwise. Jadi frtm boleh menjadi perisian alternatif kalkulator saintifik.
Tafsiran ungkapan akan dijalankan mengikut Notasi Bahasa Poland Songsang (RPN). Frtm mempunyai cawangan bersyarat "jika", struktur untuk gelung "do-while" dan "for-loop". Anda juga boleh membuat perkataan baharu dengan menggabungkan perkataan tersebut.
Pada OS Android, konfigurasi saiz awal kamus dan timbunan, keupayaan untuk menyimpan perkataan dalam kamus ke "buku perkataan" telah ditambahkan. Bilangan "buku perkataan" terhad kepada tiga.
Untuk spesifikasi bahasa yang lebih terperinci, sila rujuk halaman Web dalam bahasa Jepun untuk mendapatkan sokongan.
Jika anda ingin menguji frtm secara bebas, sila cuba versi applet Java bagi frtm di halaman web berikut:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** CONTOH perkataan ***
* Purata dua nombor
: ave + 2.0/;
* Purata N nombor
: nave swap over 1 untuk rot + loop swap 1.0 */;
2 4 6 8 10 5 nave . cr
0 1 2 3 4 5 6 7 8 9 10 SP nave . cr
* Varians populasi nombor N
: nvarp dup 1+ copy nave SP nrotr swap dup * over 1 for rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Varians tidak berat sebelah bagi nombor N
: nvar dup 1+ copy nave SP nrotr swap dup * over 1 for rot dup * + loop SP nrot dup * 3ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* Pembahagi sepunya terbesar bagi 2 nombor
: gcd lakukan swap over % dup 0 > while drop ;
1001 819 gcd . cr
* Faktorial [fakta(1)=1, fakta(n)=n*fakta(n-1)]
** Rekursi
: factr dup 1=if else dup 1- factr * endif ;
10 fakta. cr
** Lelaran
: facti 1 tukar 1+ 1 untuk gelung I * ;
10 fakta. cr
* Jujukan Fibonacci [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rekursi
: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;
30 fib. cr
** Lelaran
: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi . cr
* Grafik
** Isi segi empat tepat
: kotak 16 0 untuk I setcol 10 20 I * + dup 100 100 rectf loop ;
kotak gm
: hls 16 0 untuk I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 gelung rectf ;
gm hls
** Lukisan Rekursif (lengkung Koch)
: pra 5 salinan drop ;
: genx 3 ndup 6 ndup - * tolak 100/swap 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 titis;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 titis;
: gen 6 salinan genx 7 nrotr geny ;
: simpan 7 nrotr 7 nrotr pra;
: jawatan 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: line bergerak ke lineto ;
: koch dup 0= jika drop line else
pra 0 0 gen mengekalkan 33 0 gen selepas koch
pra 33 0 gen kekal 50 -28 gen selepas koch
pra 50 -28 gen kekal 66 0 gen selepas koch
pra 66 0 gen mengekalkan 100 0 gen selepas koch
5 titis
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
** Penggunaan langsung terminal grafik ReGIS seperti urutan melarikan diri
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') .
// Dengan menggunakan perkataan 'grdemo', beberapa perkataan untuk contoh grafik akan didaftarkan ke dalam kamus.