系统RPL编程初步教学
本帖最后由 aswed 于 2018-10-25 15:41 编辑局部变量(local variables)
或者叫临时变量或者叫lambda变量。可以把程序运行过程中的临时数据存到这些变量中。用的时候调出来参与计算。程序运行结束就没有了。
下面是一个程序例子。建立两个局部变量。::
%2 %3
{
LAM first
LAM sec
}
BIND
LAM first
LAM sec
DUP
' LAM first
STO
%+
' LAM sec
STO
ABND
;这个程序运行完了之后。什么也没有显示。但是在运行过程中进行了一系列的操作。
下面逐行解释这个程序的意思。
%2 %3 输入实数2和实数3。大括号里面 LAM first 是建立名字为first的局量变量。LAM sec 建立名字为sec的局部变量。
BIND是把这两个变量名和前面输入的两个数字绑定。按顺序来绑定。LAM first绑定的是排在前面的实数2,LAM sec绑定的是后面的实数3。
LAM first把绑定的实数2调出来。LAM sec把实数3调出来。DUP命令把LAM sec调出来实数3再复制一个。' LAM first注意前面有一个单引号。表示调出来的局部变量的名称,而不是里面存储的数值。STO命令把实数3存到LAM first这个名字里面。以后再调LAM first它就不是原来存储的数值实数2,而是新存数值的实数3。
STO命令之后,复制的实数3消失了。剩下前面LAM first调出来实数2,和LAM sec调出来实数3。%+实数相加命令把这两个数相加。得出结果实数5。然后' LAM sec调出第二个局部变量的名字。下面一个命令STO把数值5存到这个变量名里面。
最后ABND命令解除绑定。两个临时变量都被清除了。腾出了计算器的内存空间。
first和sec是临时变量名,自己随便用什么名称都可以。绑定和调用的时候前面要加LAM和一个空格。表示这是一个临时变量。不能直接用名字来调用。
BIND绑定命令和ABND命令成对出现。可以多次使用BIND绑定临时变量。不必ABND之后再绑定。ABND解除绑定命令每次只解除最新一次BIND命令绑定的临时变量。不会影响前面BIND绑定的临时变量。如果要解除前面的绑定的临时变量就要多次使用ABND。
如果想在程序中要把计算结果存到计算器里面长久保存,就象在RPN模式下按引号给一个名字,然后按STO,把计算结果存起来怎么办?且听下回分解。
因为有事情。教学暂停一周。到下下周再开始。这个时间大家可以努力学习用户RPL编程。自已也可以看看系统RPL编程英文版的一些命令,放到程序里使用一下。
命令前面有^的。比如^ZGcd。如果输入两个整数,使用它可以得出它们的最大公约数。在程序中使用时前面要加上FPTR2和一个空格。
例子
::
24 FPTR2 ^#>Z
48 FPTR2 ^#>Z
FPTR2 ^ZGcd
;
这样才可以。如果直接使用会令到计算器出错。
24和48后面的FPTR2 ^#>Z是把这两个数分别转为整数格式。直接输入这两个数被认为是二进制整数。对二进制整数使用整数操作命令^ZGcd会令到计算器出错,需要按ON&F3重启或者戳计算器背后的reset小孔。程序运行完之后,给出24和48的最大公约数结果24。
命令前面有~的。比如~xFACTOR在程序中使用时前面要加上ROMPTR2和一个空格才能使用。前面加有~或者x的命令的作用和用户RPL程序中去掉~和x的命令的作用是一样的。比如~xFACTOR就是用户RPL中的FACTOR命令。把多项式进行因式分解;或者把整数分解为质因数相乘。
大家保存好英文版本。因为里面有各种命令的使用方和功能介绍。后面会告诉大家怎么使用和查阅这些资料。
发个教学贴还要密码 老师,辛苦。 艾哈迪利 发表于 2018-10-13 17:52
发个教学贴还要密码
多多洛好 zhj6408 发表于 2018-10-13 20:57
老师,辛苦。
同学好 艾哈迪利 发表于 2018-10-13 17:52
发个教学贴还要密码
老师级的教学。总要增加一些难度什么才能看到。不能和普通贴子一样。 这个够硬核的!会的人不多! 密码是多少啊》
页:
[1]
2