2

次の演習を満たすために、(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

私は偶然にそれを理解しました。「If」が「For」内でどのように機能するのか、私にはよくわかりません。しかし、解決策がないかどうかを教えてもらいたかったので、次のことを試しました。

: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 =」の値を返します。これはなぜですか?誰かが私がこれらの仕事を理解するのを手伝ってもらえますか?

4

4 に答える 4

2

Endおそらく、プログラムの最後に追加してみてください。私の知る限り、Endそれぞれに対応ForするIf、などが必要です。

于 2009-12-31T16:32:56.857 に答える
0
: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解決策がなくなり次第ループを止めます。

于 2012-06-21T02:21:09.087 に答える
0

求めている変数が質問と同じ名前の場合、「:Input」の代わりに「:Prompt」を使用できます。また、":Prompt" では複数の変数を使用できます。たとえば、代わりに

:Input "A=",A
:Input "B=",B
:Input "C=",C

使用する

:Prompt A,B,C

TI BASIC では、すべての :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 の場合、そこに置く必要はありません。

:For 内で :If を使用するには、:End が適切な場所にあることを確認してください。複数のコマンドを 1 行にまとめるには、「:」文字を使用することもできます。GDund の回答については、そこでプログラムを終了したい場合はそのような動作をしますが、単純にループを終了したい場合は、次のようにカウンター変数の値を終了値に変更することができます。

:For(X,D,E)
:If AX+B<C:Then
:commands:Else
:E-->X:End
:End

「-->」は STO 矢印です。

プログラムをその場で停止させたい場合は、 :E --> Xの代わりに:Stopを使用できます。このプログラムを別のプログラム内で使用している場合は、代わりに: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
:End
于 2014-11-07T02:30:29.043 に答える