cnCalc计算器论坛 [原fx-es(ms)论坛]

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 61|回复: 4

系统RPL编程初步教学

[复制链接]
发表于 2018-10-8 20:58:12 | 显示全部楼层 |阅读模式
本帖为密码帖 ,请输入密码 
 楼主| 发表于 7 天前 | 显示全部楼层
本帖为密码帖 ,请输入密码 
 楼主| 发表于 6 天前 | 显示全部楼层
本帖最后由 aswed 于 2018-10-11 13:45 编辑

局部变量(local variables)

或者叫临时变量或者叫lambda变量。可以把程序运行过程中的临时数据存到这些变量中。用的时候调出来参与计算。程序运行结束就没有了。
下面是一个程序例子。建立两个局部变量。
  1. ::
  2. %2 %3
  3. {
  4.   LAM first
  5.   LAM sec
  6. }
  7. BIND
  8. LAM first
  9. LAM sec
  10. DUP
  11. ' LAM first
  12. STO
  13. %+
  14. ' LAM sec
  15. STO
  16. ABND
  17. ;
复制代码
这个程序运行完了之后。什么也没有显示。但是在运行过程中进行了一系列的操作。
下面逐行解释这个程序的意思。
%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
48
FPTR2 ^ZGcd
;
这样才可以。如果直接使用会令到计算器出错。
命令前面有~的。比如~xFACTOR在程序中使用时前面要加上ROMPTR2和一个空格才能使用。前面加有~或者x的命令的作用和用户RPL程序中去掉~和x的命令的作用是一样的。比如~xFACTOR就是用户RPL中的FACTOR命令。把多项式进行因式分解;或者把整数分解为质因数相乘。

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


发表于 3 天前 | 显示全部楼层
发个教学贴还要密码
发表于 3 天前 | 显示全部楼层
老师,辛苦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|Archiver|手机版|cnCalc计算器论坛  

GMT+8, 2018-10-16 01:34 , Processed in 0.022022 second(s), 21 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表