| 文件类型 | APK |
|---|---|
| 发行人 | Tomohide NANIWA |
| 发布日期 | 2019年10月19日 |
| 添加日期 | 2019年10月19日 |
| 操作系统要求 | Android |
| 要求 | Requires Android |
| 下载总数 | 0 |
| 价钱 | $1.00 |
描述
Frtm(ForTh Modoki)是一款模拟编程语言FORTH的软件。然而,它并不打算重现严格的 FORTH。没有编译器,但用户定义字中的字和常量在注册时会被解释。
还有一些方面与 FORTH 不同:frtm 没有操作返回堆栈的单词,而 frtm 允许对单词进行递归定义。
Frtm 还支持实数的计算。它具有数学函数,如指数、平方根、三角函数、双曲函数、按位运算。所以frtm可以作为科学计算器的替代软件。
表达式的解释将按照逆波兰表示法 (RPN) 进行。 Frtm 有条件分支“if”、循环结构“do-while”和“for-loop”。您还可以通过组合单词来创建一个新单词。
在Android OS上,增加了字典和栈的初始大小的配置,将字典中的单词保存到“单词本”的能力。 “单词书”的数量最多为三个。
有关语言的更详细说明,请参阅日语网页以获得支持。
如果您想免费测试 frtm,请在以下网页尝试 frtm 的 Java 小程序版本:
http://www.rbt.his.u-fukui.ac.jp/~naniwa/comp/frtma.html
***单词示例***
* 两个数字的平均值
: 平均 + 2.0/;
* N 个数字的平均值
: 中殿交换 1 为 rot + 循环交换 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 无功。铬
* 2 个数的最大公约数
: gcd do swap over % dup 0 > while drop ;
1001 819 gcd 。铬
* 阶乘 [fact(1)=1, fact(n)=n*fact(n-1)]
** 递归
: factr dup 1=if else dup 1- factr * endif ;
10 因素。铬
** 迭代
: facti 1 swap 1+ 1 for I * loop ;
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 for I 45 * 2/50 100 setHLS 10 20 I * + dup 100 100 rectf 循环;
通用汽车
** 递归绘图(科赫曲线)
:前5副本掉落;
: genx 3 ndup 6 ndup - * 减 100/交换 4 ndup 7 ndup - * 100/+ 5 ndup +
5 nrotr 4 ndrop ;
: 精灵交换 3 ndup 6 ndup - * 100/交换 4 ndup 7 ndup - * 100/+ 4 ndup +
5 nrotr 4 ndrop ;
: gen 6 复制 genx 7 nrotr geny ;
: 保持 7 nrotr 7 nrotr pre ;
: 发布 9 nrot 9 nrot 4 nrot 4 nrot 5 ndup 1- ;
: 线移到线到 ;
: koch dup 0= if drop line else
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 ndrop
万一 ;
: 科赫斯 10 setcol 89 440 551 440 4 科赫
11 setcol 551 440 320 40 4 科赫
12 setcol 320 40 89 440 4 科赫;
通用科赫斯
** 直接使用 ReGIS 图形终端,如转义序列
通用汽车
(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',一些图形示例的单词将被注册到字典中。