У меня есть небольшой код в TI BASIC на калькуляторе TI-84 Plus C Silver Edition, который определит правильную дозировку лекарств на основе веса пациента. Например, если аспирин дается при 5 мг на кг веса пациента (это не так), тогда код должен сказать мне дать 100 кг пациента 500 мг аспирина. Тем не менее, код решает все возможные лекарства. Вот оно:Неисправность в заявлении «Если» на TI-84 Plus C Silver Edition
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
Таким образом, в этом случае два препарата IPPI
и NEVO
. Если я дам вес пациента 100 кг, и выбрать IPPI
, то я бы ожидал увидеть
DOSAGE 200
Однако то, что я вижу
DOSAGE 200
DOSAGE 50
так, видимо, и «если» заявления работают, хотя я дал только одно значение (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, поэтому я уверен, что есть простая ошибка, которую я не вижу, но сейчас я в тупике.
Спасибо! Я также добавил строку в начале «DelVar Str0» (я использовал Str0 вместо Str1), так что предыдущее значение для Str0 не было перенесено - на всякий случай. –
DelVar не требуется, поскольку можно пропускать команду Input с помощью кнопки ON, которая завершает работу программы. – lirtosiast