Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования(Сиников).doc
Скачиваний:
63
Добавлен:
07.06.2015
Размер:
171.52 Кб
Скачать
  1. 27. Скалярный тип.

Скалярный тип является основным типом данных в Паскале.

Стандартные скалярные типы так же относятся к скалярному типу.

type <имя типа>:=(<имя>,{<имя>});

В качестве таких имен можно использовать любые допустимые идентификаторы.

type <имя типа>:=(white, red, blue, yellow, purple, green, orange, black);

Константы входящие в определение таких типов нумеруются с 0.

Поэтому:

ord (white)=0;

ord (black)=7;

К значениям перечислимого типа применимы: pred, succ.

pred (black)=orange;

succ (white)=red;

Значения перечислимого типа можно сравнивать: C>C1, если ord (C) > ord (C1);

blue>red;

В программе можно определять переменные таких типов, и между переменными одного и того же типа допустима операция присваивания.

Переменные перечислимых типов нельзя вводить или выводить с помощью стандартных операторов ввода/вывода.

В конкретных реализациях переменные перечислимых типов используются для задания значений различных стандартных констант.

Считается, что использование таких типов делает программу более наглядной.

  1. 28. Ограниченный тип.

Образуется наложением ограничений на уже определенный тип или стандартный скалярный тип.

Тип, на основе которого строится ограниченный, называется базовым.

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

Описание:

type <имя типа>=(<константа1> … <константа2>);

Ограничение задает диапазон возможных значений нового типа, который определен отрезком или интервалом, задаваемый константой определяющей min и max значения.

В указанный интервал должно входить хотя бы одно значение.

Во множество возможных значений входят все значения с <константа1> до <константа2> включительно. Две указанных константы должны принадлежать одному и тому же типу.

После определения типов можно использовать переменные этих типов.

Эти переменные можно использовать как соответствующие переменные базового типа.

Переменные этого типа могут сравниваться с помощью операции отношения.

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

//Структурный тип.

//Характеризуется тем, что они строятся на основе других типов и состоят из компонентов.

//В паскале имеется 4 способа реализации этих типов:

//1. массивы,

//2. записи,

//3. множества,

//4. файлы.

//Массивы и записи могут быть представлены как упакованные структуры, это означает то что компилятор должен экономить память при размещении значений указанной

//При использовании упакованных структурных типов экономится место в оперативной памяти, но увеличивается время доступа к их компонентам.

//Структурный тип может быть упакованным или не упакованным.

  1. 29. Регулярный тип. Массивы.

Массив – это набор некоторого числа элементов (однотипные компоненты массива).

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

Синтаксис:

type <имя типа> = array [<тип индекса> {<тип индекса>}] of <тип элемента>;

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

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

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

После определения регулярных типов в программе можно определить и использовать переменные этих типов, которые называются массив.

Строка.