Турбо отладчик (Turbo Debugger) 3.0

к следующему типу ошибок при 


               end;
               FindMax := Max
            end; { FindMax }
            Однако это приводит к следующему типу ошибок при  работе  на
       Паскале - ошибкам диапазона.
                              Ошибки диапазона
       -----------------------------------------------------------------
            По умолчанию в Турбо Паскале проверка  диапазона  выключена.
       При  этом  получается  более быстрый и компактный код,  но в тоже
       время при этом вы можете следует определенного типа  ошибки,  та-
       кие,  как присваивание переменным значения,  выходящего за их до-
       пустимый диапазон,  или обращение к несуществующему элементу мас-
       сива (как показано в приведенном выше примере).


            Первый шаг при обнаружении таких ошибок состоит во включении
       в программу директивы компилятора {$R+},  которая задает проверку
       диапазона,  компиляции программы и повторном ее запуске.  Если вы
       знаете (или догадываетесь),  где содержится ошибка,  можно помес-
       тить  указанную директиву перед данной частью программы,  а после
       нее указать директиву {$R-},  разрешив,  таким образом,  проверку
       диапазона только в той части программы, где содержится ошибка.
            Одна из  общих  ошибок выхода за границы диапазона возникает
       при использовании для индексации массива цикла while  или repeat.
       Предположим,  например,  что вы ищете элемент массива, содержащий
       определенное значение.  Вы хотите остановиться  после  того,  как
       найдете  его,  или  при достижении конца массива.  При нахождении
       элементе вы ходите возвратить его индекс,  а в противном случае -
       0. Ваш первый вариант может выглядеть так:
            function FindVal(List : NumList; Count,Val :
                         integer) : integer;
            var
                    I : integer;
            begin
                   FindVal := 0;

       TDeb 3.0 #2-3               = 138 =

Содержание раздела