2

私の TI-84 Plus C Silver Edition 電卓の TI BASIC には、患者の体重に基づいて薬の正しい投与量を決定する小さなコードがあります。たとえば、患者の体重 1 kg あたり 5 mg のアスピリンを投与する場合 (そうではありません)、コードは 100 kg の患者に 500 mg のアスピリンを投与するように指示する必要があります。ただし、コードは考えられるすべての薬物を解決しています。ここにあります:

PROGRAM:DRUG1
:Input "PATIENT WEIGHT: ",W
:Input "AGENT NAME: ",A
:If A=IPPI
:Disp "DOSAGE",W*2
:If A=NEVO
:Disp "DOSAGE", W*0.5

したがって、この場合、2 つの薬はIPPINEVOです。患者の体重を 100kg として を選択するIPPIと、

DOSAGE                 200

しかし、私が見ているのは

DOSAGE              200
DOSAGE               50

したがって、1 つの値 ( ) しか指定していないにもかかわらず、明らかに両方の "if" ステートメントが実行されていますIPPI。[ に設定すると同じエラーが発生しますA] NEVO

If両方のステートメントを囲んでみましたThen...Endので、コードは次のようになります。

PROGRAM:DRUG1
:Input "PATIENT WEIGHT: ",W
:Input "AGENT NAME: ",A
:If A=IPPI
:Then
:Disp "DOSAGE",W*2
:End
:If A=NEVO
:Then
:Disp "DOSAGE", W*0.5
:End

しかし、それは何も変わりません。私はBASICにかなり慣れていないので、見えない単純なエラーがあると確信していますが、現時点では困惑しています。

4

3 に答える 3

2

プログラムの主な問題は、数値のみをサポートする変数に文字列を割り当てることを認識していることです。これにより、変数の新しい値は文字列のブール値 True のままになります。これは、TI-BASIC の場合は値 1 です。これを修正するには、文字列内の文字をサポートする変数にそれを割り当てる必要があります。この場合、STR1 を使用できます。

于 2015-07-05T02:13:02.380 に答える