我写了一个程序(在我的TI-84计算器上),以满足以下练习:
编写一个程序,打印不等式ax + b < c的所有解,其中a、b和c由用户输入。在这个程序中,x的域将是一组连续的整数,其中最小和最大的成员也将由用户输入。(提示:使用FOR。。。NEXT循环从小到大测试每个整数。)
这是我的代码:
:Input "A=",A
:Input "B=",B
:Input "C=",C
:Disp "DOMAIN FOR X"
:Input "MIN=",D
:Input "MAX=",E
:For(X,D,E,1)
:If AX+B<C
:Disp X
:End我在某种程度上是偶然发现的;我真的不知道“如果”在内部是如何工作的。我想让它告诉我是否没有解决方案,所以我尝试了:
:Input "A=",A
:Input "B=",B
:Input "C=",C
:Disp "DOMAIN FOR X"
:Input "MIN=",D
:Input "MAX=",E
:For(X,D,E,1)
:If AX+B<C
:Then
:Disp X
:Else
:Disp "NO SOLUTION"
:End但是这会返回"MIN=“的值为什么会这样呢?有人能帮我理解这些工作吗?
发布于 2010-01-01 00:32:57
也许可以尝试在程序的末尾添加一个额外的End?据我所知,您需要为每个For或If等有一个相应的End。
发布于 2012-06-21 10:21:09
:Input "A=",A
:Input "B=",B
:Input "C=",C
:Disp "DOMAIN FOR X"
:Input "MIN=",D
:Input "MAX=",E
:For(X,D,E,1)
:If AX+B<C
:Then
:Disp X
:Else
:Disp "NO SOLUTION"
:Stop
:End基本上,通过放入Stop,一旦没有解决方案,它就会停止循环。
发布于 2014-11-07 10:30:29
当您请求的变量与问题的名称相同时,您可以使用":Prompt“代替":Input”。另外,":Prompt“允许多个变量。例如,而不是
:Input "A=",A
:Input "B=",B
:Input "C=",C使用
:Prompt A,B,C在TI BASIC中,every :If、:For、:While和:Repeat需要一个:End;否则,它根本不会工作。下面是如何使用:If和:For
:If condition
:Then:commands(condition=True)
[:Else:commands(condition=False)]
:End
:For(var,start,end[,interval])
:commands
:End如果是interval=1,你不需要把它放在那里。
要使用:If in in of :For,只需确保您的:End位于正确的位置。您可能还希望使用":“字符将多个命令压缩到一行中。至于GDund的答案,如果你想在那里结束程序,那么这是可行的,但如果你想简单地离开循环,你可以做的是将计数器变量的值更改为结束值,如下所示:
:For(X,D,E)
:If AX+B<C:Then
:commands:Else
:E-->X:End
:End其中"-->“是STO箭头。
如果您确实希望程序在此处停止,您可以使用: stop 代替:E --> X。如果您在另一个程序中使用此程序,则可以改为使用:Return。
因此,您的代码应该如下所示:
:Prompt A,B,C
:Disp "DOM. FOR X"
:Input "MIN=",D
:Input "MAX=",E
:For(X,D,E)
:If AX+B<C:Then:Disp X
:Else:Disp "NO SOL.":E-->X:End
:Endhttps://stackoverflow.com/questions/1986006
复制相似问题