TI-Basic Z80 编程/高级编程
本节将重点介绍高级编程技巧,这些技巧将帮助您更好地管理代码并创建高级编码结构。
习语是在程序之间重复使用的代码片段。
以下代码将清除屏幕并消除程序后面的Done
。如果最后一个更改屏幕的命令(例如,Disp, ClrHome等)是Output(,则不会出现Done
。
- ClrHome
- Output(1,1,"
另一种解决方案是在最后一行设置一个变量、字符串或数字。该值将在程序结束时显示。因此,要删除Done
,只需在程序末尾放置一个空字符串。
- ClrHome
- "
请注意,布尔值由1
和0
表示,其中1
为真,0
为假。这使得将真/假条件集成到方程中变得非常方便。
切勿使用=测试布尔值。相反,您可以使用
- If A
表示“如果为真”,并使用
- If not(A
表示“如果为假”。
这可能看起来微不足道,但最终,它将为您节省大量内存。
的强大功能DelVar常常被忽视。以下所有代码都使用DelVar:
- Delvar ADelVar BDelvar C
- DelVar ADisp B
- Delvar ADelVar B5→C
如您所见,DelVar是一种非常高效的删除变量的方法,因为它还可以在同一行运行另一个命令。
尽管如此,还是有一个问题
如果A=1
,它会删除A
,然后产生语法错误,因为End出现了两次。如果A=0
,则不会发生任何事情,程序正常退出,因为DelVar A
后面的End被忽略了。这是 TI-Basic 解释器中的一个设计缺陷。
可以通过在列表上暂停来快速创建可滚动列表,例如,
- Pause L1
但是,它的布局不是很好看,因此仅当您需要真正快速地创建程序时才使用它。
关于暂停,您可以在变量、字符串和文本上暂停,这很方便。
- Pause A
- Pause Str1
- Pause "My name is David Becker"
可以使用四个X和Y变量通过按键更改If命令
这是更好的方法
如果可以,不要将值放在变量中,而是将它们存储在Ans. Ans中,这是一种存储值的更快方法,并且不会覆盖任何其他数据。唯一不好的地方是,如果您将值存储在变量中,Ans将设置为该值。
- 10
- Disp Ans
您可以通过将循环迭代的变量设置为结束值来提前结束For(循环
- ClrHome
- 1→X
- Disp 2
- Lbl A
- X+2→X
- 1→A
- For(Z,3,√(X)) // 这是 For( 循环开始。
- If not(fPart(X/Z))
- Then
- 0→A
- √(X)→Z // 这是变量设置的位置。
- End
- End // 如果 Z 设置为 √(X),循环将在此处结束,因此不会检查 X 的其余除数。
- If A
- Disp X
- Goto A
您可以有以下类型的结构
- If 条件 1
- Then
- 如果条件 1 为真,则执行的代码
- If 条件 2
- Else
- 如果条件 1 为真或在执行代码块后条件 2 为真,则执行的代码
- End
在某些情况下,这些可以节省大量空间。