Меню сайта

Циклы в Pascal
Циклы

Цикл – это многократные повторяемые действия. В Турбо Паскале существует —
3 основных вида циклов:

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

-цикл с предусловием

-цикл с постусловием

Цикл с параметром

Оператор имеет следующий формат:

Fori:=AtoBdoS

где i – счетчик цикла, является переменной порядкового типа данных.

А – начальное значение, В – конечное значение счетчика цикла.

S – тело цикла (повторяющиеся действия).

Цикл работает следующим образом: переменной i присваивается начальное значение A, если A&lt-=B, то выполняется тело цикла S, после чего значение счетчика цикла i автоматическиувеличивается -на 1 и опять сравнивается с B. Цикл будет повторяться до тех пор, пока значение счетчика i не станет больше B. Если тело цикла S состоит из нескольких операторов, то они заключаются в операторные скобки (begin…end). Если в операторе for .. to последнее значение счетчика цикла меньше первого, то тело цикла не выполняется ни одного раза.

Блок-схема выглядит следующим образом:


Пример 1:Напечатать 10 раз фразу « турбо паскаль»

Program primer-

Var i: integer-

Begin

For i:=1 to 10 do writeln(‘турбо паскаль’)-

End.

Существует еще одна разновидность цикла с параметром:

For i:=A downto B do S-

где A&gt-=B

Цикл работает аналогично предыдущему, но после выполнения тела цикла, значение счетчика цикла автоматически —уменьшается -на 1. Если A&lt-B, то цикл не выполнится ни разу.

Цикл с предусловием

Цикл с параметром следует применять, когда заранее известно, сколько раз необходимо повторить те или иные действия. Однако во многих случаях циклические действия необходимо выполнять пока не будет достигнут -определенный результат. В этом случае используются другие разновидности циклов: цикл с предусловием и цикл с постусловием.

Цикл с предусловием(цикл «пока») имеет следующий формат:

Whileусловие —doS

В качестве условия можно использовать любое логическое выражение, которое может быть либо истиной (true) ли ложью (false). S – тело цикла.

Сначала проверяется условие, если оно – истина, то выполняется тело цикла S и опять проверяется условие. Цикл будет повторяться до тех пор, пока условие – истина, как только условие станет ложным – происходит выход из цикла. Если изначально условие – ложь, то тело цикла не выполнится ни разу. В отличии от цикла с параметром в этом виде цикла не предусмотрено автоматическое изменение переменной цикла, поэтому в теле цикла S должны быть команды, изменяющие значение переменной цикла. В противном случае при запуске произойдет так называемое зацикливание программы (т.е. выполнение бесконечного цикла).

Если тело цикла S состоит из нескольких операторов, то они заключаются в операторные скобки (begin…end).

Блок-схема выглядит следующим образом:

Пример 2:Вводить числа с клавиатуры, пока не будет введено число 0

Program chisla-

Var i:integer-

Begin

Writeln(‘ введите число’)-

Readln(i)-

While i&lt-&gt-0 do

Begin

Writeln(‘ введите число’)-

Readln(i)-

End.

Цикл с постусловием.

Формат оператора:

Repeat

S

Until —условие

где S – тело цикла, условие – любое логическое выражение.

Принципиальное отличие оператора repeat…until (повторять до тех пор, пока) от оператора while…do в том, что проверка условия производится не перед началом выполнения оператора, а в его конце, когда решается вопрос, повторить ли еще раз действия. Поэтому тело этого цикла всегда выполняется по крайней мере один раз. Кроме того цикл будет повторяться,
когда условие – ложно, как только условие станет истинным – происходит выход из цикла.

Блок-схема цикла с постусловием:

Пример 3: —Вводить числа с клавиатуры, пока не будет введено число 0

Program chisla-

Var i:integer-

Begin

Writeln(‘ введите число’)-

Readln(i)-

Repeat

Writeln(‘ введите число’)-

Readln(i)-

Until i=0-

End.

Категория: Обучение Pascal | Дата: 26.04.13

Меню раздела
Блок