| Typ pliku | APK |
|---|---|
| Wydawca | Tomohide NANIWA |
| Data wydania | 19 paź 2019 |
| Data dodania | 19 paź 2019 |
| Wymagania systemu operacyjnego | Android |
| Wymagania | Requires Android |
| Całkowita liczba pobrań | 0 |
| Cena £ | $1.00 |
Opis
Frtm (Forth Modoki) to oprogramowanie symulujące język programowania FORTH. Jednak nie ma na celu odtworzenia ścisłego FORTH. Nie ma kompilatora, ale słowa i stałe w słowie zdefiniowanym przez użytkownika są interpretowane podczas rejestracji.
Istnieją również pewne aspekty w przeciwieństwie do FORTH: frtm nie ma słów do manipulowania stosem zwrotów, podczas gdy frtm pozwala na rekurencyjną definicję słowa.
Frtm obsługuje również obliczanie liczb rzeczywistych. Posiada funkcje matematyczne, takie jak wykładnicze, pierwiastek kwadratowy, funkcje trygonometryczne, funkcje hiperboliczne, operacje bitowe. Tak więc frtm może być alternatywnym oprogramowaniem kalkulatora naukowego.
Interpretacja wyrażenia będzie prowadzona zgodnie z odwrotną notacją polską (RPN). Frtm ma gałąź warunkową „if”, strukturę pętli „do-while” i „for-loop”. Możesz również utworzyć nowe słowo, łącząc je.
W systemie operacyjnym Android dodano konfigurację początkowego rozmiaru słownika i stosu, możliwość zapisywania słowa w słowniku do "książki słów". Liczba „książek słownych” jest ograniczona do trzech.
Aby uzyskać bardziej szczegółową specyfikację języka, odwiedź stronę internetową w języku japońskim, aby uzyskać pomoc.
Jeśli chcesz swobodnie testować frtm, wypróbuj wersję frtm apletu Java na następującej stronie internetowej:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
*** PRZYKŁADY słów ***
* Średnia z dwóch liczb
: śr + 2,0/;
* Średnia z N liczb
: zamiana nave nad 1 dla rot + loop swap 1.0 */;
2 4 6 8 10 5 nawa . cr
0 1 2 3 4 5 6 7 8 9 10 SP nawa . cr
* Wariancja populacyjna liczb N
: nvarp dup 1+ copy nave SP nrotr swap dup * over 1 dla rot dup * + loop swap 1.0 */SP nrot dup * - ;
2 4 6 8 10 5 nvarp. cr
* Nieobciążona wariancja liczb N
: nvar dup 1+ copy nave SP nrotr swap dup * ponad 1 dla rot dup * + pętla SP nrot dup * 3 ndup * - swap 1- 1.0 */;
2 4 6 8 10 5 nvar . cr
* Największy wspólny dzielnik 2 liczb
: gcd do swap over % dup 0 > while drop ;
1001 819 gcd. cr
* Silnia [fakt(1)=1, fakt(n)=n*fakt(n-1)]
** Rekurencja
: factr dup 1=jeśli inaczej dup 1- factr * endif ;
10 fakt. cr
** Iteracja
: facti 1 zamień 1+1 na I * pętla ;
10 faktów. cr
* Ciąg Fibonacciego [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]
** Rekurencja
: fib dup 0= jeśli inaczej dup 1=jeśli inaczej dup 1- fib swap 2 - fib + endif endif ;
30 włókn. cr
** Iteracja
: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;
30 fibi. cr
* Grafika
** Wypełnij prostokąt
: pola 16 0 dla I setcol 10 20 I * + dup 100 100 rectf loop ;
pudełka gm
: hls 16 0 dla I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf loop ;
gm hls
** Rysowanie rekurencyjne (krzywa Kocha)
: przed 5 kopiowaniem zrzutu ;
: 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 kopiuj genx 7 nrotr gen ;
: zachowaj 7 nrotr 7 nrotr pre ;
: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: linia moveto lineto ;
: koch dup 0= jeśli upuść linię else
przed 0 0 gen zachować 33 0 gen po koch
przed 33 0 gen zachować 50 -28 gen po koch
przed 50 -28 gen zachować 66 0 gen po koch
pre 66 0 gen zachować 100 0 gen post koch
5 kropli
endif ;
: kocz 10 setkol 89 440 551 440 4 koch
11 kol. 551 440 320 40 4 koch
12 kol. 320 40 89 440 4 koch ;
GM Kochs
** Bezpośrednie użycie terminala graficznego ReGIS, takiego jak sekwencja ucieczki
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]'Witaj świecie') .
// Używając słowa 'grdemo', niektóre słowa przykładowe do grafiki zostaną zarejestrowane w słowniku.