Оператор цикла с постусловием.




repeat <оператор> until < выражение булевского типа >;

 

Порядок выполнения:

Оператор выполняется до тех пор, пока значение выражения не станет true.

 

Оператор цикла с параметром.

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

Существует две формы оператора цикла:

1. for <переменная>:=<начальное значение> to <конечное значение> do <оператор>;

2. for <переменная>:=<начальное значение> downto <конечное значение> do <оператор>;

где:

<переменная> - переменная любого скалярного типа кроме вещественного. Она называется параметром цикла или управляющей переменной.

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

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

Тип их результата должен совпадать с типом уравнения переменной.

Начальное (конечное) значение выполняется только один раз в начале выполнения оператора цикла.

Второй оператор выполняется аналогично, но значение управляющей переменной изменяется в сторону уменьшения (увеличения) от начального к конечной.

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

 

Оператор for обычно выполняется достаточно быстро и поэтому его рекомендуется использовать вместо других операторов цикла.

 

Скалярный тип.

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

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

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;

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

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

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

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

 

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

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

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

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

Описание:

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

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

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

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

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

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

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

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

 

 

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

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

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

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

// 2. записи,

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

// 4. файлы.

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

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

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: