Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_lectures_small.doc
Скачиваний:
13
Добавлен:
23.03.2015
Размер:
339.46 Кб
Скачать
    1. Константы

Константы – это значения разных типов, которые записываются непосредственно в программе. Константы стандартных типов представляются изображениями, описанными в предыдущем подразделе.

В некоторых случаях употребляется еще один вид констант – строковые константы. Это цепочка символов длиной от 0 до 255 символов, заключенных между двумя апострофами. При необходимости поместить апостроф в строковой константе, его удваивают. Во многих реализациях кроме строковых констант применяются строковые переменные. В стандартном Паскале применение строковых констант ограничено.

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

Именованные константы описываются в разделе описаний Const, отделяясь одно от другого точкой с запятой. Тип константы определяется типом назначенного ей значения.

<описание константы>::=<имя константы> "=" <значение константы>.

Пример раздела описания констант:

Const Pi=3.14159265; {Число Пи}

Rz=6371.0; {Средний радиус Земли в километрах}

Yes=True; No=False;

Confirm='Y'; Deny='N';

    1. Конструирование типов

В этом разделе рассматривается пока лишь конструирование простых типов и массивов.

      1. Перечисления

Этот тип задается упорядоченным перечислением его возможных значений. Значения этого типа – это имена констант, входящих в перечисление. Считается, что константы упорядочены по возрастанию в порядке их перечисления. Имена констант должны быть уникальными в программе (в пределах области видимости).

<перечисление>::= "(" <имя> { "," <имя> ')'.

Пример: (Su, Mo, Tu, We, Th, Fr, Sa)

      1. Диапазоны (интервалы)

Этот тип задается как непрерывное подмножество (диапазон, интервал) значений некоторого другого ординального типа, называемого базовым типом диапазонного типа. Для задания диапазона указываются его начальное и конечное значения (включительно) в множестве значений базового типа.

<диапазон>::= <начальное значение> ".." <конечное значение>.

Здесь начальное и конечное значения – допустимые значения базового типа, причем, конечное значение старше (больше) начального.

Примеры:

0..5 – диапазон на целом типе. Значения 0, 1, 2, 3, 4, 5.

'A'..'Z' – диапазон на типе Char. Значения – большие буквы латинского алфавита.

Mo..Fr – диапазон на типе перечисления, описанном в примере предыдущего пункта.

      1. Массивы

Массивы относятся к сложным типам данных.

Массив – это упорядоченная последовательность значений одного и того же базового типа. Базовым типом массива может быть любой тип, кроме файлового.

<массив>::= "Array" "[" <тип индекса> "]" "of" <базовый тип>.

Индекс – это порядковый номер элемента массива. Тип индекса определяет множество возможных значений индекса и количество элементов массива. Тип индекса может быть любым ординальным типом.

Примеры:

Array [1..20] of Real – массив, содержащий 20 элементов типа Real;

array [-10..50] of char – массив из 61 элемента символьного типа;

Array [Mo..Fr] of Boolean – массив, тип индекса которого задан на основе перечисления, описанного ранее. Он содержит 5 элементов булевского типа.

Поскольку базовым типом массива может быть любой тип, кроме файлового, в частности, массив может состоять из массивов. Пример:

Array [1..5] of array ['A'..'D'] of array [Boolean] of Real

Этот массив содержит 542 = 40 элементов вещественного типа.

Массивы, подобные описанному в последнем примере, называются многомерными. Для удобства описания таких массивов в Паскале предусмотрено сокращенное описание:

<массив>::= "Array" "[" <тип индекса> {"," <тип индекса> }"]" "of" <базовый тип>.

С помощью такого синтаксиса, последний пример может быть записан таким образом:

Array [1..5, 'A'..'D', Boolean] of Real

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]