Другие типы данных. Часть 2

Самый простой тип - Boolean. Переменные такого типа могут принимать одно из двух значений: True (истина) и False (ложь). Например: B:=True; . Фактически, это "да" и "нет".

Переменным типа Boolean, помимо True и False, можно присваивать целые логические выражения. Например, оператор B := I = 1; присвоит переменной B (типа Boolean) значение True, если I равняется единице, и False в противном случае.

Также необязательно, например, писать if B = True then , можно обойтись одним if B then , т. к. последующий оператор выполняется только в том случае, если результат логического выражения равен True.

Что представляет собой следующая программа?

program DataBase; {Программа "База данных"}
var
  Password: String; {Вводимый с клавиатуры пароль}
  AllRight: Boolean; {Переменная, отвечающая за верность пароля}
begin
  WriteLn('Попытка загрузить базу данных... ');
  Write('Введите пароль: ');
  ReadLn(Password); {Ввод}
  Write('Доступ ');
  AllRight := Password = 'Strawberry'; {В переменную запиывается результат сравнения}
  if AllRight then
  begin
    WriteLn('разрешён');
    WriteLn('<нет данных>');
  end
  else
    WriteLn('запрещён');
  ReadLn;
end.

Есть ещё другой целочисленный тип. Его называют интервальным. Интервальный тип называют отдельно, потому что его диапазон определяется пользователем. Записывается этот тип так же, как и промежуток:

var
  Age: 0..120; {Переменная, содержащая возраст: она может принимать значения от 0 до 120 включительно}

Особенного применения такой тип не находит.

Самый последний простой тип—перечисляемый. Обычно его используют для упрощения программного кода и для наглядности. Переменным такого типа можно присваивать только словесные значения. Если переменная B: Boolean; могла получить либо True, либо False, то то переменная перечисляемого типа может принять любое из значений, перечисленных в скобках при объявлении этой переменной:

var
  UserType: (Teapot, Moderate, Programmer, Master, Hacker);
  {Эта переменная хранит в себе ранг пользователя, его опыт работы с комьютером}
...
  UserType:=Programmer;
...

Такой тип очень удобно использовать в операторе case.

Ещё есть структурированные типы данных, но они требуют отдельного рассмотрения.

Разберём такой вопрос: почему при объявлении переменной целого типа не требуется писать -32768..32767, а можно обойтись одним простым Integer? А потому что этот тип объявлен заранее(верно, типы тоже можно объявлять) и "вкручен" в систему Turbo Pascal.

Вы тоже можете объявлять типы. Для этого нужно создать раздел описания типов. Объясняем: каждый раздел в программе начинается с соответствующего ему слова (например, var) а в конце его ограничивает начало другого раздела, либо слово begin.

В разделе type (то есть после слова type) нужно записать имя типа, знак равенства (=) и тип, равносильный объявляемому. Например:

type
  Name = String[10] {Name - это, в принципе, то же, что и String[10]}
var
  You, Friend: Name;
  Other: String[10];

В данном случае следует, однако, знать, что Other, как бы то ни было, имеет другой тип, нежели You или Friend. Но присваивать их и их значения друг другу можно, потому что в данном случае равенства типов не требуется, достаточно их совместимости, т. е. сходности. Также можно использовать вместе числа разных типов и т. д.

Оглавление
Hosted by uCoz