Согласие на обработку персональных данных.

16.10.2018
Новая статья Типизированные и нетипизированные указатели.

09.10.2018
Новые видео и статья Как изменить цвет текста в HTML.

02.10.2018
Новый выпуск журнала Автоматизация и программирование.

28.09.2018
Новые видео и статья Процедура Close.

26.09.2018
Новые видео и статья Как уменьшить размер программы в Lazarus.



Раздел: Стандартные функции Паскаля

Функция Low

Функция Low в Паскале возвращает наименьший индекс открытого массива, перечисления или наименьшее значение порядкового типа. Синтаксис:

function Low(Arg : TypeOrVariable) : TOrdinal;

Значение, возвращаемое функцией Low, зависит от параметра, передаваемого в функцию:

  1. Если это порядковый тип, о функция Low возвращает наименьшее значение в диапазоне этого порядкового типа.
  2. Если это массив или переменная типа массива, то функция Low возвращает наименьший индекс массива.
  3. Если это идентификатор массива в функции или процедуре, то функция Low возвращает наименьший индекс массива, который всегда равен 0.
  4. Если это множество или перечисление, то функция Low возвращает наименьшее значение перечисления или множества, относительно начального значения данного типа.

Таким образом, функция Low является противоположностью функции High. Кстати, в переводе с английского слово Low означает “низкий”.

ВАЖНО!
Возвращаемый тип всегда совпадает с типом аргумента (это может привести к некоторым неприятным сюрпризам).

Наименьшее значение типа

Наименьшее значение стандартного типа можно получить из справочных материалов. Для таких типов, как, например, byte, это будет однозначное значение.

Однако для некоторых типов диапазон данных может зависеть от компилятора, от режима компиляции или процессора. В таких случаях как раз и может пригодиться функция Low, с помощью которой можно определить наименьшее значение типа данных в каждом конкретном случае.

Ну а сейчас пример программы, где показаны возможные применения функции Low.

program funclow;

type TEnum = (North, East, South, West);
     TRange = 14..55;
     TArray = array [2..10] of Longint;

var A   : TEnum;
    B   : TRange;
    C   : TArray;
    S   : Char;
    M   : set of TEnum;

begin
  Writeln('The minimum value of TEnum : ', Low(TEnum)); //Для типа
  Writeln('The minimum value of A : ', Low(A));         //Для переменной
  Writeln('The minimum value of M : ', Low(M));         //Для множества

  Writeln('The minimum value of TRange : ', Low(TRange)); //Для типа
  Writeln('The minimum value of B : ', Low(B));           //Для переменной

  Writeln('The minimum index of TArray : ', Low(TArray)); //Для типа
  Writeln('The minimum index of C : ', Low(C));           //Для переменной

  Writeln('The minimum value of S : ', Ord(Low(S)));
  WriteLn('Type of return value is always same as type of argument: ');
  Writeln(Low(word));         //Выведет 0
  Writeln(Low(Low(word)));    //Тоже выведет 0
  WriteLn(Low(0));            //Выведет -128 (так тоже можно,
                              //хотя и смысла в этом нет)

  //Writeln(Low(Real));        //А так нельзя, потому что тип Real
                              //не является порядковым
  Writeln(Low(Int64));        //А так можно, хотя тип Int64 тоже
                              //не является порядковым

  WriteLn('Then end. Press ENTER...');
  ReadLn;
end.

Функция Low


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика