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



04.11.2017
Новые видео и статья Функция Odd.

29.10.2017
Новые видео и статья Функция Low.

23.10.2017
Новая задача Даны натуральные числа от 1 до 33.

22.10.2017
Добавлен раздел Статьи по С/С++.

03.10.2017
Новая книга 1001 вопрос начинающего программиста.

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

Функция Low

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

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...

Функция 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


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

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