Перейти к содержимому
FF

frtm for Android APK

Издатель: Tomohide NANIWA
Android APK $1.00
Скачать 0 скачиваний
Тип файлаAPK
Издатель Tomohide NANIWA
Дата выпуска19 окт. 2019 г.
Дата добавления19 окт. 2019 г.
Требования ОСAndroid
ТребованияRequires Android
Всего скачиваний0
Цена$1.00

Описание

Frtm (FoRTh Modoki) — это программа, имитирующая язык программирования FORTH. Однако он не предназначен для воспроизведения строгого FORTH. Компилятора нет, но слова и константы в определяемом пользователем слове интерпретируются при его регистрации.

Есть также некоторые аспекты, отличные от FORTH: frtm не имеет слов для управления стеком возврата, тогда как frtm допускает рекурсивное определение слова.

Frtm также поддерживает вычисление действительных чисел. Он имеет математические функции, такие как экспонента, квадратный корень, тригонометрические функции, гиперболические функции, побитовые операции. Таким образом, frtm может быть альтернативой научному калькулятору.

Интерпретация выражения будет проводиться в соответствии с обратной польской нотацией (RPN). Frtm имеет условную ветвь "if", структуру для цикла "do-while" и "for-loop". Вы также можете составить новое слово, объединив слово.

На ОС Android добавлена ​​настройка начального размера словаря и стека, возможность сохранения слова в словаре в "книгу слов". Количество «книг слов» ограничено тремя.

Более подробную спецификацию языка можно найти на веб-странице поддержки на японском языке.

Если вы хотите бесплатно протестировать frtm, попробуйте версию frtm для Java-апплета на следующей веб-странице:

http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html

*** ПРИМЕРЫ слов ***

* Среднее из двух чисел

: ср + 2,0/;

* Среднее из N чисел

: замена нефа на 1 для гниения + замена петли 1.0 */;

2 4 6 8 10 5 неф. кр

0 1 2 3 4 5 6 7 8 9 10 SP ступица . кр

* Дисперсия населения 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 нварп. кр

* Непредвзятая дисперсия N чисел

: nvar dup 1+ copy nave SP nrotr swap dup * over 1 for rot dup * + loop SP nrot dup * 3 ndup * - swap 1- 1.0 */;

2 4 6 8 10 5 нвар . кр

* Наибольший общий делитель двух чисел

:gcd do swap over %dup 0 > while drop ;

1001 819 НОД. кр

* Факториал [факт(1)=1, факт(n)=n*факт(n-1)]

** Рекурсия

: factr dup 1=if else dup 1- factr * endif ;

10 фактор . кр

** Итерация

: факти 1 поменять местами 1+ 1 вместо I * петля ;

10 фактов. кр

* Последовательность Фибоначчи [fib(0)=0, fib(1)=1, fib(n)=fib(n-1) + fib(n-2)]

** Рекурсия

: fib dup 0= if else dup 1=if else dup 1- fib swap 2 - fib + endif endif ;

30 фиб. кр

** Итерация

: fibi dup 0= if else 0 1 rot 1 for swap over + loop swap drop endif ;

30 Фиби. кр

* Графика

** Заполнить прямоугольник

: коробки 16 0 for I setcol 10 20 I * + dup 100 100 rectf loop ;

гм коробки

: HLS 16 0 для I 45 * 2/50 100 SetHLS 10 20 I * + дуп 100 100 прямая петля ;

гм хлс

** Рекурсивный рисунок (кривая Коха)

: падение до 5 копий ;

: genx 3 ndup 6 ndup - * минус 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 копировать genx 7 nrotr geny ;

: сохранить 7 nrotr 7 nrotr pre ;

: post 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;

: строка переместиться на строку на ;

: koch dup 0= если отбросить строку еще

pre 0 0 gen держать 33 0 gen post koch

до 33 0 ген держать 50 -28 ген пост кох

до 50 -28 поколение держать 66 0 поколение пост кох

pre 66 0 gen держать 100 0 gen post koch

5 ндроп

конец ;

: kochs 10 setcol 89 440 551 440 4 koch

11 сеткол 551 440 320 40 4 кох

12 сеткол 320 40 89 440 4 кох ;

ГМ Кохс

** Прямое использование графического терминала ReGIS, например escape-последовательность.

гм

(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') .

// Используя слово 'grdemo', некоторые слова для примеров графики будут зарегистрированы в словаре.

Похожие программы

Альтернативы