Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы цикла while и repeat.

Поиск

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

К таким операторам относятся:

- оператор цикла с предусловием (while)

- оператор цикла с постусловием (repeat)

- оператор цикла с параметром (for)

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

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

 

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

- вычисляется значение <выражения булевского типа>, стоящего после while;

- если true, тогда выполняется оператор после do, после чего осуществляется переход к началу цикла;

- повторяется до тех пор, пока значение не станет false, после этого осуществляется выход из оператора.

Совокупность многократного выполнения операторов обычно называется телом цикла.

 

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

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. файлы.

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

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

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

 

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

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

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

Синтаксис:

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

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

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

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

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

 

Строка.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 216; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.142.245 (0.007 с.)