| Tipe file | APK |
|---|---|
| Penerbit | Tomohide NANIWA |
| Tanggal rilis | 19 Okt 2019 |
| Tanggal Ditambahkan | 19 Okt 2019 |
| Persyaratan OS | Android |
| Persyaratan | Requires Android |
| Total unduhan | 0 |
| Harga | $1.00 |
Deskripsi
Frtm (ForTH Modoki) adalah sebuah software yang mensimulasikan bahasa pemrograman FORTH. Namun itu tidak dimaksudkan untuk mereproduksi FORTH yang ketat. Tidak ada kompiler, tetapi kata-kata dan konstanta dalam kata yang ditentukan pengguna ditafsirkan ketika terdaftar.
Ada juga beberapa aspek yang tidak seperti FORTH: frtm tidak memiliki kata-kata untuk memanipulasi tumpukan kembali, sedangkan frtm memungkinkan definisi kata secara rekursif.
Frtm juga mendukung perhitungan bilangan real. Ini memiliki fungsi matematika seperti eksponensial, akar kuadrat, fungsi trigonometri, fungsi hiperbolik, operasi bitwise. Sehingga frtm bisa menjadi alternatif software kalkulator ilmiah.
Interpretasi ekspresi akan dilakukan sesuai dengan Reverse Polish Notation (RPN). Frtm memiliki cabang bersyarat "jika", struktur untuk loop "do-while" dan "for-loop". Anda juga dapat membuat kata baru dengan menggabungkan kata tersebut.
Pada OS Android, konfigurasi ukuran awal kamus dan tumpukan, kemampuan untuk menyimpan kata dalam kamus ke "buku kata" telah ditambahkan. Jumlah "buku kata" dibatasi hingga tiga.
Untuk spesifikasi bahasa yang lebih rinci, silakan merujuk ke halaman Web dalam bahasa Jepang untuk dukungan.
Jika Anda ingin menguji frtm secara bebas, silakan coba frtm versi applet Java di halaman web berikut:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** CONTOH kata-kata ***
* Rata-rata dua angka
: ave + 2.0/;
* Rata-rata dari N angka
: nave swap lebih dari 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 dari N angka
: nvarp dup 1+ copy nave SP nrotr swap dup * lebih dari 1 untuk rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp . cr
* Varians tak bias dari N angka
: nvar dup 1+ copy nave SP nrotr swap dup * lebih dari 1 untuk rot dup * + loop SP nrot dup * 3 ndup * - swap 1-1,0 */;
2 4 6 8 10 5 nvar. cr
* Pembagi persekutuan terbesar dari 2 angka
: gcd melakukan swap over % dup 0 > while drop ;
1001 819 gcd. cr
* Faktorial [fakta(1)=1, fakta(n)=n*fakta(n-1)]
** Pengulangan
: factr dup 1=jika lain dup 1- factr * endif ;
10 fakta. cr
** Pengulangan
: facti 1 tukar 1+ 1 untuk I * loop ;
10 fakta. cr
* Barisan fibonacci [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Pengulangan
: fib dup 0= jika lain dup 1=jika lain dup 1- fib swap 2 - fib + endif endif ;
30 fib. cr
** Pengulangan
: fibi dup 0= if else 0 1 rot 1 untuk swap over + loop swap drop endif ;
30 fibi. cr
* Grafik
** Isi persegi panjang
: box 16 0 for 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 rectf loop ;
gm hls
** Gambar Rekursif (kurva Koch)
: sebelum 5 salinan jatuh;
: genx 3 ndup 6 ndup - * minus 100/swap 4 ndup 7 ndup - * 100/+ 5 ndup +
5 menit 4 menit ;
: geny swap 3 ndup 6 ndup - * 100/swap 4 ndup 7 ndup - * 100/+ 4 ndup +
5 menit 4 menit ;
: gen 6 salin genx 7 nrotr geny ;
: simpan 7 nrotr 7 nrotr pra;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: pindah baris ke baris ke ;
: koch dup 0= jika drop line lain
pra 0 0 gen tetap 33 0 gen pasca koch
pre 33 0 gen keep 50 -28 gen post koch
pra 50 -28 gen keep 66 0 gen pasca koch
pre 66 0 gen keep 100 0 gen post koch
5 ndrop
berakhir jika ;
: kochs 10 setcol 89 440 551 440 4 koch
11 setkol 551 440 320 40 4 koch
12 setcol 320 40 89 440 4 koch ;
gm kochs
** Penggunaan langsung terminal grafis ReGIS seperti escape sequence
gm
(L(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]'Halo Dunia') .
// Dengan menggunakan kata 'grdemo', beberapa kata untuk contoh grafik akan didaftarkan ke kamus.