Типовой пример
Операторы циклов
В языке ТР имеются три различных оператора, с помощью которых организуются циклические (повторяющиеся) фрагменты программ.
Оператор цикла с предусловием
Оператор цикла с предусловием имеет вид:
While <условие> Do <оператор>;
Где <условие> - логическое выражение.
Если логическое выражение принимает значение TRUE (истина), то выполняется оператор, стоящий после ключевого слова Do, в противном случае оператор While прекращает свою работу. На месте одного оператора может располагаться группа операторов, заключённых в операторные скобки (Begin ... end).
Оператор цикла с постусловием
Оператор цикла с постусловием имеет вид:
Repeat <Тело_цикла> Until <условие>
где <Тело цикла> - последовательность операторов ТР;
<условие> - логическое выражение.
Операторы "тела цикла" выполняются хотя бы один раз, после чего
вычисляется значение логического выражения и если это значение FALSE,
то операторы "тела цикла" повторяются, в противном случае оператор
цикла завершает свою работу.
Оператор цикла с параметром
Оператор цикла с параметром имеет вид:
For <параметр_цикла> := <нач.знач.> To < конеч.знач.> Do <оператор>;
где <параметр_цикла> - переменная любого порядкового типа;
<нач.знач.> - начальное значение - выражение того же типа;
<конеч.знач.> - конечное значение - выражение того же типа;
На месте одного оператора может располагаться группа операторов, заключённых в операторные скобки (Begin ... end).
Для более гибкого управления операторами циклов For, While, Repeat в ТР введены две процедуры:
BREAK- реализует немедленный выход из цикла; действие процедуры заключается в передаче управления оператору, стоящему сразу за после последнего оператора цикла.
CONTINUE- обеспечивает досрочное завершение очередного прохода цикла, что эквивалентно передаче управления в самый конец циклического оператора.
Лабораторная работа
Циклические алгоритмы и программы
Цель работы:
1. Построение схем циклических алгоритмов;
2. Использование операторов циклов (повторений):
Типовой пример
Составить схему алгоритма и программу для вычисления значений
функции Y для значений переменной х, изменяющейся в интервале от a до b
с заданным шагом h.
Решение
Так как в языке Pascal нет стандартной функции извлечения корня любой степени кроме квадратного, для вычисления функции Y воспользуемся переходом к функциям Exp и Ln.
При программировании необходимо учесть, что выражение, стоящее под знаком Ln, может быть только положительным: (6x2-x3) > 0.
Исходными данными в этой задаче являются значения a,b и h.
Начальное значение х принимаем равным а (х:=а). Каждое следующее значение х вычисляется по формуле х:=х+h. Вычисления функции Y для новых значений х заканчиваются, когда значение х становится больше, чем заданное значение b.
Схема алгоритма и программа вычислений зависит от того, какой оператор цикла используется в программе. Рассмотрим три различных варианта решения поставленной задачи.
Вариант 1