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

Функция Ord

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Функция Ord в Паскале возвращает порядковый номер значения порядкового типа (далее на примерах это будет разъяснено более внятно). Синтаксис:

function Ord(X : TOrdinal) : LongInt;

Здесь Х - значение любого порядкового типа. Функция возвращает порядковый номер значения порядкового типа, переданного через параметр Х.

Изначально Паскаль не имел функций преобразования типов и функция Ord была необходима для того, чтобы выполнять некоторые операции с не целочисленными порядковыми типами (такими, как тип Char). С введением универсального подхода к преобразованию типов стало возможным отказаться от использования функции Ord. Однако она не считается устаревшей и до сих пор широко используется.

Чаще всего эту функцию используют для того, чтобы узнать код символа (об этом ниже). Однако её также можно использовать с любыми порядковыми типами - как с простыми целыми числами (хотя в этом нет особого смысла), так и, например, с перечислениями.

Как узнать код символа

Как известно, любой символ имеет свой код. Потому что компьютеры не понимают ни слов, ни символов. Они понимают только числа. Поэтому каждому символу присвоен определённый код.

Различных кодировок существует довольно много. Самая простая и одна из самых первых - это ASCII.

В разной справочной литературе и в книгах по программированию вы можете найти таблицы ASCII-кодов. Но в Паскале можно узнать ASCII-код любого символа и без этих таблиц (к тому же в разных операционных системах эти таблицы могут отличаться для русского языка), просто воспользовавшись функцией Ord. Например, так:

Cod := Ord('Z');

Здесь в переменную Cod мы получаем ASCII-код английской буквы Z.

Пример программы:

program chrord;

type TSeasons = (Winter, Spring, Summer, Autumn);

var Cod     : byte;
    Sym     : Char;
    Seasons : TSeasons;

begin
  //Узнать код числа: Ord(Cod) = 200
  Cod := 200;
  WriteLn('Code ', Cod, ': ', Ord(Cod));
  Sym := 'Z';
  //Узнать код символа: Ord(Sym) = 90
  WriteLn('ASCCII-code ', Sym, ': ', Ord(Sym));
  Seasons := Summer;
  //Узнать номер элемента перечисления: Ord(Seasons) = 2
  WriteLn('Number ', Seasons, ': ', Ord(Seasons));
  ReadLn;
end.

В этой программе с помощью функции Ord мы сначала получаем код (номер) числа 200. Разумеется, это и будет число 200.

Затем мы получаем ASCII-код символа Z (английская большая буква Z). В кодировке символов ASCII код символа Z - Это число 90.

А затем мы получаем порядковый номер элемента Summer в перечислении TSeasons. Элемент Summer у нас находится на третьей позиции. Однако в перечислениях отсчёт начинается с 0, поэтому функция Ord вернёт число 2.


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

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

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

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