HP 50g图形计算器之RPL编程(二)

局部变量(local variables)

或者叫临时变量或者叫lambda变量。可以把程序运行过程中的临时数据存到这些变量中。用的时候调出来参与计算。程序运行结束就没有了。
下面是一个程序例子。建立两个局部变量。

::

%2 %3
{
  LAM first
  LAM sec
}
BIND
LAM first
LAM sec
DUP
' LAM first
STO
%+
' LAM sec
STO
ABND

;

HP 50g图形计算器之RPL编程(二)

这个程序运行完了之后。什么也没有显示。但是在运行过程中进行了一系列的操作。
下面逐行解释这个程序的意思。
%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编程英文版的一些命令,放到程序里使用一下。命令前面有^的。比如^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命令。把多项式进行因式分解;或者把整数分解为质因数相乘。

大家保存好英文版本。因为里面有各种命令的使用方和功能介绍。后面会告诉大家怎么使用和查阅这些资料。

推荐关注:
购物攻略
话题:购物攻略 +关注
软件游戏
分类:软件游戏 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论0

发表评论请 登录

0 0

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示