1

我将如何使用用户输入的值来限制 for 循环中的术语。该程序的目标是让用户输入项的数量、起始值和计数间隔。谢谢!

4

2 回答 2

2

咨询TIBasicDev可以很容易地回答您的问题,特别是InputPrompt和的页面For(Input并且Prompt 是不言自明的;它们用作从用户检索输入的两种方式。For(可以通过参数来展示你想要的行为。

Prompt

Prompt更小更脏。该程序

Prompt A

将导致以下输出。

A=?

Input

Input是更大更清洁的选择。该程序

Input "ENTER VALUE:",A

将导致以下输出

ENTER VALUE:

For

取自 TIBasicDev:

For 循环有四个参数:变量(AZ 或 theta)、起始值、结束值和增量。它以指定的增量从起始值计数到结束值。

...

Format
:For(variable,start,end[,increment])
:Command(s)
:End

编写程序现在只需要使用输入命令来检索用户输入,然后使用 for 循环来创建所需的效果。

于 2015-05-26T11:23:57.553 回答
1

正如dohaqatar7所说,您可以使用基本输入命令来实现您的目标。但是,还有一种(稍微高级一点的)方法允许用户一次输入所有值,用逗号分隔。为此,您输入一个字符串,将其存储到一个内置的字符串变量(如Str1)中,然后将其转换为数字列表,最后访问列表中的每个元素以获取For(循环中的参数。

Input "START,END,STEP: ",Str1        //Whatever is input goes into Str1 as a string
                                     //For example, "1,100,2"
expr("{"+Str1                        //Then it is converted into a list like {1,100,2}
For(X,Ans(1),Ans(2),Ans(3)           //Evaluates to For(X,1,100,2
[your code]
End

expr(表示表达式,并且基本上告诉计算器评估传递给它的字符串。但首先,a{被附加到前面,因此计算器将其解释为一个列表,该列表存储在 Ans 变量中。列表的各个元素以 [listname](位置)格式访问,因此Ans(1)将获取列表的第一个元素(在本例中为起始值 1),依此类推。

于 2015-05-27T01:20:28.040 回答