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

Когда вы пишете функцию, нужно


       -----------------------------------------------------------------
            Когда вы пишете функцию, нужно убедиться, что перед тем, как
       функция возвращает  управление,  ее имени присваивается некоторое
       значение. Рассмотрим следующий пример кода:
            const
                    NLMax = 100;
            type
                    NumList = array[1...NLMax] of integer;
                    ...
            function FindMax(List : Numlist; Count : integer) : integer;
            var
                    I,MAX : integer;
            begin


                   Max := List[1];
                    for I := 2 to Count do
                    if List[I] > Max then
                    begin
                            Max := List[I];
                            FindMax := Max
                    end
            end; { FindMax }

       TDeb 3.0 #2-3               = 136 =
            Эта функция будет прекрасно работать, если максимальным зна-
       чением в List не является List[1]. В этом случае никогда не будет
       присвоено  значение.  Правильный вариант функции должен выглядеть
       следующим образом:
            begin
                Max := List[1];
                for I := 2 to Count do
                if List[I] > Max then
                Max := List[I];
                FindMax := Max
            end; { FindMax }
          Уменьшение значения переменных размером в байт или слово
       -----------------------------------------------------------------
            Будьте внимательны  и  не  уменьшайте  беззнаковое скалярное
       значение (размером в слово или байт) при проверке на >= 0. Следу-
       ющий фрагмент программы образует бесконечный цикл:
            var
               w : word;
            begin
               w:= 5;
               while w >= 0 do
                       w := w - 1;
               end.
            После пятой  итерации  w равно 0.  При следующем проходе оно

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