Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные Паскаль.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
780.93 Кб
Скачать

2.1 Организация цикла с предусловием

Цикл с предусловием организуют с по­мощью оператора while, общий вид записи которого выглядит как

while < условие > do < тело цикла >;

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

Здесь < условие > – логическое выражение отношения, < тело цикла > – простой или составной оператор.

Порядок выполнения действий в цикле следующий (рис. 1):

1) проверяется заданное условие,

2) если оно выполняется, т.е. принимает значение true, то:

а) осуществляются действия, предусмотренные операторами тела цикла,

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

3) если условие не выполняется, и результат проверки условия принимает значение false, программа переходит к выполнению следующего за телом цикла оператора.

Рис. 1. Структурная схема цикла с предусловием

Число повторений в цикле заранее неизвестно и зависит от заданного условия. Если заданное условие не удовлетворяется с самого начала, т.е. имеет значение false, то операторы тела цикла ни разу не будут выполнены, так как проверку условия осуществляют до начала вы­полнения операторов тела цикла.

2.2 Организация цикла с постусловием

Цикл с постусловием, то есть с проверкой условия после выполнения операций в теле цикла, организуют с помощью оператора repeat, общий вид записи которого выглядит как

repeat < тело цикла > until < условие >;

что означает "повторять (repeat) действия операторов, образующих тело цикла, до тех пор, пока (until) не начнёт выполняться заданное условие (не начнут выполняться заданные условия)".

Здесь, как и в предыдущем случае, < условие > – логическое выражение отношения, < тело цикла > – простой или составной оператор.

Порядок выполнения действий в цикле будет следующим (рис. 2):

1) выполняются действия, предусмотренные операторами тела цикла, включая из­менения переменных и параметра условия,

2) проверяется заданное условие (условия).

Если оно не выполняется, т.е. принимает значение false, то вновь осуществляются действия по п.1.

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

Количество повторений вычислений в цикле заранее неизвестно и зависит от заданного условия. Оператор цикла repeat обеспечивает выполне­ние по крайней мере одного вычисления оператора тела цикла.

Тело цикла может содержать несколько операторов без применения составного оператора begin... end. Это объясняется тем, что компиля­тор воспринимает ключевое слово repeat как repeat begin, а until – как end until.

Рис. 2. Структурная схема цикла с постусловием

2.3 Организация цикла с параметром

Оператор цикла for служит для организации цикла с известным чис­лом повторений и имеет две формы записи.

Первая форма оператора цикла с параметром имеет вид

for < параметр_цикла > := < нач_знач > to < кон_знач > do < тело цикла >;

Вторая форма оператора цикла с параметром имеет вид

for < параметр_цикла >:= < нач_знач > downto < кон_знач > do < тело цикла >;

Обе формы записи означают, что "для (for) значений параметра цикла от начального (< нач_знач >) до (to или downto) конечного (< кон_знач >) необходимо выполнять (do) действия операторов, образующих тело цикла" рис. 3).

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

Рис. 3. Структурная схема цикла с параметром

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

Параметр цикла должен принимать последовательные значения от заданного (вычисленного) начального значения до заданного (вычисленного) конечного значения. Переход к очередным значениям параметра цикла осуществляется автоматически с помощью стандартных функций Succ (Х) или Pred (Х), присутствующих в цикле в неявной форме. Первая из них – Succ (Х) – при изменении параметра цикла присваивает ему следующее значение порядкового типа и применяется в сочетании со словом to, вторая – Pred (Х) – присваивает параметру цикла предыдущее значение порядкового типа и применяется в сочетании со словом downto. В частности для параметра цикла целого типа шаг его изменения равен +1 или –1 в сочетании со словами to и downto соответственно.

Тело цикла – произвольный оператор Турбо Паскаля, т.е. простой или сложный оператор.