Error 200: Division by zero! что делать?
Подскажите как избавиться от этой ошибки (Error 200: Division by zero)!!! Сам по всякому пробовал, из сети кучу patch'ев скачал - всеравно эта ошибка появляется. Обясните на пальцах как маленкому как Turbo Pascal 7.0 (или 7.1) лечить.
Заранее благодарен.
Цитата: sieras_a
Здравствуйте!
Подскажите как избавиться от этой ошибки (Error 200: Division by zero)!!! Сам по всякому пробовал, из сети кучу patch'ев скачал - всеравно эта ошибка появляется. Обясните на пальцах как маленкому как Turbo Pascal 7.0 (или 7.1) лечить.
Заранее благодарен.
Подскажите как избавиться от этой ошибки (Error 200: Division by zero)!!! Сам по всякому пробовал, из сети кучу patch'ев скачал - всеравно эта ошибка появляется. Обясните на пальцах как маленкому как Turbo Pascal 7.0 (или 7.1) лечить.
Заранее благодарен.
А вы переводить не пробовали, чего то вас хотят?
Если ошибка появляется на самом старте программи то скорее всего корни ее в модуле CRT. Уберите его или ищите пропатченый. Если мне не изменяет память то в блоке инициализацыи етого модуля определяется количество итерацый некого пустого цыкла для организацыи задержки. Там и сама проблема. Но могу и ошибаться.
Может ты пытаесся делить на ноль? ;)
В программе я рассчитываю координаты точек и расстояния межу ними. Не исключено, что получиться расстояние равно нулю. Но прогрмме-то какая разница будет ноль или нет. Она должна выполнять а не выражать странные сомнения. Ноль-он тоже важный результат. Я так думаю...
Цитата: sieras_a
Не исключено, что получиться расстояние равно нулю. Но прогрмме-то какая разница будет ноль или нет. Она должна выполнять а не выражать странные сомнения. Ноль-он тоже важный результат. Я так думаю...
Для целых чисел операция деления на ноль не определена. Так что проверки, проверки и еще раз проверки - против арифметики не попрешь.
Для вещественных чисел в нормальных системах программирования деление на ноль вернет или бесконечность (если делимое отлично от нуля) или нечисло (NaN - если делимое 0.0). Как в этом случае поступает турбопаскаль, я уже не помню. но твердо знаю - правила математики нужно соблюдать.
[highlight=pascal]
if <Расстояние> = 0 then
Result := <Результат при нулевом расстоянии между точками>
else
Result := <Чтототам>/<Расстояние>;
[/highlight]
Но всетаки если дело не в алгоритме... ?
ты проверь алгоритм. там видно будет. пойми простую вещь - делить на ноль нельзя. поэтому у тебя такая ошибка.