虽然fx-92+ Spéciale Collège还是继承了92系列的谜之呕吐绿,但是神奇的是这个型号上又一个我从未在其他型号ClassWiz系列函数计算器上见到过的模式,Algorithmique(算法)模式。在这个模式中可以通过设定指令序列来控制屏幕上的箭头的移动和朝向,还提供了绘制轨迹和交互输入/输出功能。如果说电子表格模式是Excel的微缩版,算法模式可以说是对Logo基本图形指令部分的低配仿制品。
使用方法是编程→执行而不是交互式输入指令立即执行,也正是“算法”模式设计在计算器上的目的。编程也并不能像真正的可编程计算器那样完全自己输入每一个字符/单词/原语,倒是跟RPG Maker的事件编辑器简直一模一样。(除了事件编辑器在选择事件指令种类后设定指令参数时不会把用来选择事件指令种类的对话框关闭——但选择指令类型后设定参数时不能返回重新选择指令类型确实符合ClassWiz系列的设计逻辑。)
可用的指令有:
- Avancer de(前进)
- Tourner de ↺(左转)
- S’orienter à(更改朝向)
- Aller à x;y(更改坐标)
- Stylo écrit(落笔)
- Stylo relevé(提笔)
- Mettre var à(赋值)
- Demander valeur(输入数值)
- Commentaire(显示
文章文字)- 只能显示“Oui”、“Non”、“Nombre?”、“Résultat :”这四种文字。
- Afficher résult(显示数值)
- Style(更改箭头样式)
- 可选择(8方向)或(固定朝向)。
- Attendre(暂停)
- Répéter(循环n次)
- Répéter jusqu’à(循环直到满足条件)
- Si Alors(如果~那么)
- Si Alors Sinon(如果~那么~否则)
- Insérer ligne(空行)
除了循环n次中的n必须是1~10000之间的常整数之外,其他指令的参数都可以指定表达式。表达式中可以使用θ。θ是算法模式中的变量,指示箭头的朝向,单位固定为角度,范围是0 ≤ θ < 360。算法模式中,无论是程序编辑和执行时θ都存在。变量x和y则指示箭头的位置。程序执行到暂停或输入/输出指令时,有机会按下SECONDE STO (RECALL),会显示变量值一览,如旁边的屏幕快照所示,其中包括θ。(这句话其实是在吐槽CASIO说明书的中文翻译:参见《电子计算器fx-991CN X用户说明书》第55页底部。)
所有表达式的长度限制都是49字节。根据参数数量和为参数输入的表达式长度不同,每个指令会占用4~104字节。整个程序存储内存可容纳900字节的程序。不像电子表格模式,算法模式没有显示可用的剩余字节数的方法,只会在用尽存储区后显示ERREUR mémoire。
条件分歧和循环结束的条件的输入看起来同验证模式(Vérification)中的语法一样。这意味着不能直接输入由and和or连接的多重条件。表达式中必须出现关系运算符,在验证模式中计算算术表达式时会自动加上的=0这里也没有。为了保持与验证模式和算法模式自身的一致性,连明明可以做成2页的输入菜单都加长到了3页。下面是输入条件时的OPTN选项菜单:
程序执行画面上分为图形区(3行)和交互区(1行)。看这个视口比例,画花或者显示y = x2之类的函数图像会比较吃力。图形区显示的坐标系有四种样式可以在设置中选择。(没错,这其实是图形编程函数机!)
Axes | |
---|---|
Axes/Grille | |
Axes/xy | |
Aucun |
既然这是个画图用的模式,那么就来先写一个分解素因数的程序吧!
fx-9860GII程序库中的素因子分解程序 | 翻译为算法模式程序 |
---|---|
大多数指令可以直接翻译(就连"INPUT NUMBER"?→A
这种都能找到替代选项),但是条件循环结构只有Do Until~Loop而没有Do~Loop While和Do~Loop Until。这里没有关系,只不过条件需要反转。Frac函数也没有,这里用Arond(即RndFix)函数重写了条件。
有了这个稀有的能够不间断循环执行的功能,求和和求积都不再是问题了……只是运算速度太感人。即使是在电脑上运行的模拟器执行下面这个程序都花了数秒钟的时间。
为变量赋予初始值是必要的。开始执行程序时,计算器只保证变量x、y、θ为0。
不过,控制结构只能嵌套3层,否则在编辑程序时就会产生ERREUR branch错误。说明书上似乎写着5层,3层是我实验得出的结果。
除了这个错误,因为有了表达式,出现诸如ERREUR de plage(范围错误,当箭头在±999范围外时产生)、ERREUR de syntaxe(语法错误)、ERREUR maths(数学错误)之类的错误是常规操作。这次,按左右光标键返回出错地点终于能为调试起作用了。选取Aller à将跳转到出错的指令编辑界面,虽然并不能精确到出错的那个参数。
当然,也可以用算法模式绘制函数图像,如果你能忍受这贼慢的绘图速度的话。为了最好地展示这个图形视口的潜能, 我选择了正弦函数。
第一幅绘制全程没有提笔;第二幅通过前进0.3像素来达到绘制单个像素点的效果。落笔—前进1像素—提笔的指令序列实际上会绘制出2个像素点。
只要你可以等,甚至可以画多个函数的图像:
在程序编辑和执行暂停时,产生的二维码指向一个包含程序和对应的Scratch代码的页面。下面这个链接是绘制上面这幅正弦和余弦函数图像的程序产生的:
然而,产生的Scratch代码因空行的存在而不能正确执行。(一些复杂的表达式也不能被正确转换成Scratch代码,而只能以文本形式放着。)
(抱歉,出于安全的考虑,mist.so不支持上传SVG类型的图像。给mist.so点个赞。事实证明,因为各种各样的原因,合适的图像格式总是得不到恰当的使用。或者说,根本就没有合适的图像格式。)
ClassWiz显示屏上的“▶”指示符一直是个未解之谜,就连拥有多达13个模式的fx-991DE X也只会在自检中显示这个指示符。直到面向阿拉伯语用户的型号推出,▶指示符才第一次被点亮。而这一次。在从左向右书写的环境中,▶指示符竟被赋予了全新的含义。
- L’indicateur ▶ affiché sur l’écran signifie que le script est en cours d’exécution.
是的,它是“程序正在运行”的指示符。CASIO:你以为做了四个方向的箭头标记就一定要用来指示方向吗?ノンノンだよ!
最后,按照惯例,无论何时,只要您执行以下任一操作,您在算法中输入的程序都将被全部删除:按ON;更改成不同的计算模式;执行“EFF—Tt initialiser”或“EFF—Config données”。
又一次,忘记ruby标签不能在mist.so上用了。这篇文章中的图并不是故意压成全损画质的,压缩过程是自动的,并且在所见即所得编辑器中不可见。要浏览全尺寸的图像,先在单独的窗口中打开缩略图,然后在地址栏中删除文件名末尾、扩展名之前如-300×205这样的尺寸标记。
似乎在所见即所得编辑器中,选中图片,点击编辑按钮,在弹出对话框中将“尺寸”修改成“完整尺寸”即可。
对于希望以完整尺寸显示的图片来说,我已经这么做了。有些图片因宽度限制无法以完整尺寸显示;但是对于某些图片(例如关于SVG的评论上方的那张),即使如此操作,且有足够的空间显示全图,也不能清晰地以完整尺寸显示。
另外,已经允许 SVG 文件的上传和 <ruby> 等标签。
感谢提供支持!然而,亲测表示仍然不能上传SVG格式的图片。