Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1.doc
Скачиваний:
34
Добавлен:
22.02.2015
Размер:
1.94 Mб
Скачать
        1. Оператор циклаWhile

 Синтаксис

WHILE<Логическое выражение>DO<Оператор>

Принцип действия оператора можно сформулировать так: пока значение логического выражения истинно, выполнять оператор. Т.е. сначала происходит вычисление значения логического выражения. Если оно истинно, то выполняется оператор, и все повторяется сначала до тех пор, пока выражение не станет ложным.

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

 Пример

n:=1;

WHILE n<=10 DO

BEGIN

WriteLn('n=',n);

Inc(n);

END;

 Результат выполнения

n=1

n=2

. . .

n=10

Функции Inc иDec определены для порядковых типов.

 Синтаксис

Inc(<Порядковая переменная>[,<Целое число>])

Dec(<Порядковая переменная>[,<Целое число>])

Они выполняют соответственно увеличение и уменьшение значения переменной на 1 или на указанное число.

 Пример

Inc(n); { Увеличение значения пременнойnна 1 }

Dec(n,5); { Уменьшениеnна 5 }

        1. Оператор циклаRepeat

 Синтаксис

REPEAT

<Список операторов>

UNTIL<Логическое выражение>

Список операторов в цикле REPEAT имеет такую же структуру, как и в составном оператореBEGIN END.

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

В отличие от оператора WHILE, циклREPEAT заканчивается, когда выражение становится истинным. Также, в отличие от оператораWHILE, здесь сначала выполняется список операторов, и только потом вычисляется значение логического выражения, поэтому независимо от того, каким будет логическое выражение, список операторов выполнится хотя бы один раз.

 Пример

n:=1;

REPEAT

WriteLn('n=',n);

Inc(n);

UNTIL N>10

 Результат выполнения

n=1

n=2

. . .

n=10

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

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

 Синтаксис

TYPE

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

∙ ∙ ∙

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

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

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

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

 Синтаксис

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

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

 Пример

TYPE

Day_of_week = 1..7;

VAR

DOW:Day_of_week;

Letter:'A'..'Z';

∙ ∙ ∙

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

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

 Синтаксис

(<Имя 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 и т.д.