Хорошо, вот моя проблема. Я написал передовую программу Pythagorean Theor, но, по-видимому, имеет исключения. Вот пример моей проблемы. Когда я ввожу A? √(3)
и B? 2
, я получаю . 0
назад Вот код:iPart (и int (возврат 0 для 1?
:Prompt A,C
:(C^2-A^2)->B
:If B<0
:Then
:Disp "THAT IS N
OT A VALID TRIA
ANGLE
:Else
:If iPart(√(B))≠
√(B)
:Then
:Disp "B = √(",B
:Else
:Disp "B = ",√(B)
:End
:End
Поэтому, если B = 1, то гипотетически она должна выводить B = 1
, но вместо этого он выводит:
A=? √(3)
C=? 2
B = √(
1
Done
Что я делаю неправильно и как я могу это исправить ?
Какой у вас калькулятор? Язык немного меняется на калькулятор. – PGmath
@PGmath Я использую TI-83 – jaysoncopes
'iPart (' и 'int (' не имеют ничего общего с этой проблемой, вместо этого проблема заключается в ошибке округления калькулятора. Во второй строке вы храните 4-√ (3) ² в B. Так как калькулятор округляет √ (3) в качестве десятичной, √ (3) ² становится настолько немного больше, чем 3, поэтому 4-√ (3) ² становится чем-то вроде 0.9999999999. Принимая 'iPart ('из этого будет тогда дать вам 0, что вызовет проблему. – user3932000