Строковый тип

Тип массив

Перечислимый тип

Интервальный тип

Раздел описания типов

Пользовательские порядковые и составные типы. Процедуры и функции

Лекция 4

 Синтаксис

TYPE

<Имя типа 1> = <Тип 1>;

∙ ∙ ∙

<Имя типа 2> = <Тип 2>;

<Имя типа N> = <Тип N>;

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

 Синтаксис

<Начальное значение>..<Конечное значение>

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

 Пример

TYPE

Day_of_week = 1..7;

VAR

DOW:Day_of_week;

Letter:'A'..'Z';

∙ ∙ ∙

DOW:=8; { Ошибка }

 Синтаксис

(<Имя 1>, <Имя 2>, …, <Имя N>)

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

 Пример

TYPE

Color = (Red,Yellow,Green,Blue);

SubColor = Yellow..Blue;

VAR

C:Color;

Size:(Small,Middle,Big);

∙ ∙ ∙

DOW:=Green;

IF Size=Big THEN Writeln('Большой');

Как и для любого из порядковых типов, для перечислимых определенны функции Pred, Succ, Ord и т.д. Например, Pred (Yellow)= Red, Succ (Green)= Blue. Порядковые номера элементов перечислимых типов начинаются с 0, т.е. Ord (Small)=0, Ord (Middle)=1 и т.д.

 Синтаксис

ARRAY [<Тип индекса>] OF <Тип элемента>

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

 Пример

TYPE

I100=ARRAY [1..100] OF Integer; { Массив из 100
целых чисел}

VAR

A:I100;

B:ARRAY [Char] OF (Letter,Digit);

C:ARRAY [1..10] OF ARRAY [1..20] OF Real;

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

 Пример

VAR

C:ARRAY [1..10,1..20] OF Real;

 Обращение к элементам массива

<Имя массива>[<Индекс 1>][<Индекс 2>]…[<Индекс N>]

или

<Имя массива>[<Индекс 1>,<Индекс 2>,…,<Индекс N>]

 Пример

A[10]:=5;

FOR Ch:='A' TO 'Z' DO B[Ch]:=Letter;

FOR Ch:='0' TO '9' DO B[Ch]:=Digit;

C[2][3]:=C[2,4]-1;

 Синтаксис

STRING

или

STRING[<Максимальная длина>]

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

 Пример

VAR

S:STRING;

S20:STRING[20]; { Строка максимальной
длины 20 символов}

∙ ∙ ∙

S:='Иванов';

IF S[4]<>'н' THEN Writeln('Ошибка');

S20:=S+' ушел в отпуск';

Writeln(S20);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: