
- •Алгоритмизация и программирование.
- •Структура программы на языке Паскаль
- •Типы данных языка программирования Паскаль
- •Стандартные математические функции Турбо Паскаля
- •Пустой оператор
- •Программирование линейных алгоритмов
- •Программирование алгоритмов разветвляющейся структуры
- •Программирование алгоритмов циклической структуры
- •Подпрограммы яп Pascal (процедуры и функции)
- •Работа с массивами
- •Пермский филиал мгуту. 2006 г.
Программирование алгоритмов циклической структуры
Циклический алгоритм реализует повторение некоторых действий, то есть включает в себя циклы.
Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых параметрах.
В языке Турбо Паскаль имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программы.
Оператор For. Оператор задает многократное выполнение некоторого оператора (может быть и составным) с одновременным изменением значения управляющей переменной. Вид оператора:
For <управляющая переменная>:= <нач.знач.> To <кон.знач.> Do <оператор>;
For <управляющая переменная>:= <нач.знач.> DownTo <кон.знач.> Do <оператор>;
Начальное и конечное значения управляющей переменной могут быть представлены константами, переменными или арифметическими выражениями. Они определяются один раз в начале выполнения оператора For и не заменяются во время выполнения этого оператора. Если окажется, что <нач.знач.> больше <кон.знач.> при использовании слова To, то оператор после слова Do («тело» цикла) не будет выполнен ни разу и выполнение цикла с параметром закончится (соответственно при DownTo, если <нач.знач.> меньше <кон.знач.> ). Управляющая переменная, а так же её начальное и конечное значения должны быть одного типа, обязательно порядкового. Оператор после слова Do выполняется один раз для каждого значения управляющей переменной. Если в операторе For используется слово To, то значение управляющей переменной увеличивается на единицу при каждом повторении А, А+1, …, В-1, В, при DownTo – уменьшается на единицу.
Оператор While. Данный оператор имеет вид:
While <логическое выражение> Do <оператор (составной оператор)>;
Оператор While содержит логическое выражение, значение которого (True или False) управляет повторным выполнением оператора, им может быть и составной оператор. Значение выражения вычисляется перед выполнением оператора. Если результат равен True, то оператор выполняется, при значении False – нет. Если вначале логическое выражение имеет значение False, оператор после слова Do вообще не выполняется. В операторе обязательно изменение значений переменных, влияющих на значение логического выражения.
Оператор Repeat – Until. Оператор Repeat (повторять) – Until (до тех пор, пока) содержит логическое выражение (после Until), которое управляет повторением выполнения последовательности операторов, записанных между Repeat и Until. Повторение продолжается до тех пор, пока логическое значение не примет значение True. Последовательность операторов тела цикла выполняется не менее одного раза.
Структура оператора:
Repeat
<оператор 1>;
<оператор 2>;
…
<оператор N>;
Until <логическое выражение>;
При использовании оператора Repeat – Until (цикла с постусловием) необходимо учитывать следующее:
перед выполнением оператора логическое выражение его окончания (или продолжения) должно быть определено;
последовательность операторов должна содержать хотя бы один оператор, влияющий на значение логического выражения, иначе оператор Repeat – Until работает бесконечно долго;
логическое выражение в конечном итоге должно принять значение True