Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OP_2015 / ОП. Методические указания / 7. ОП. Разработка алгоритмов простейших программ.doc
Скачиваний:
74
Добавлен:
23.03.2016
Размер:
2.91 Mб
Скачать
  1. Циклические процессы. Алгоритмы решения задач вычислительной математики

    1. Типы циклических процессов

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

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

Рисунок 2.1 – Три структурные конструкции циклов:

а– цикл-пока; б – цикл-до; в – счетный цикл

Каждый из трех алгоритмов циклических процессов состоит из нескольких основных этапов:

  • подготовка цикла – задание начальных значений переменным, изменяющимся в цикле;

  • тело цикла – действия, выполняемые непосредственно в цикле;

  • подготовка итерации – изменение значений переменных для нового выполнения тела цикла;

  • условие – проверка условия продолжения или окончания цикла;

  • организация счетчика – задание начального и конечного значения, а также шага переменной цикла.

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

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

В конкретных типах циклических процессов указанные этапы цикла могут присутствовать в различных сочетаниях, однако порядок их проектирования не меняется:

  1. определяются действия, составляющие тело цикла;

  2. заполняется блок подготовки итерации;

  3. определяется условие выхода из цикла (счетчик или логическое выражение);

  4. заполняется блок подготовки цикла.

Пример 2.1. Задано натуральное число a. Получить все члены последовательности a, a2, a3, …, не превышающие числа b.

Схема алгоритма решения этой задачи представлена на рисунке 2.2.

Рисунок 2.2 – Схема алгоритма получения последовательности

При подготовке цикла присваивается начальное значение вспомогательной переменной с. Тело цикла включает последовательное вычисление переменной c, которая равна a, a2, a3, … Изменение значения с происходит до тех пор, пока оно не станет большим или равным значению b. Если a b, то не будет выведено не одного элемента последовательности.

    1. Табулирование функции

Типичным примером циклического процесса с заданным числом повторений является задача табулирования функции (получение таблицы значений функции).

Задача сводится к вычислению значений функции y = f(x) при изменении x от начального значения a до конечного значения b с постоянным шагом h. Такая программа реализуется посредством цикла с заданным числом повторений, причем число повторений определяется по формуле:

Решение задачи можно осуществить с помощью алгоритма, схема которого приведена на рисунке 2.3.

Рисунок 2.3 – Схема алгоритма вычисления значений функции

Здесь при подготовке цикла вычисляется количество его повторений и присваивается начальное значение переменной x. В теле цикла рассчитывается значение функции в точке x и, затем, выводится значение x и y. При подготовке итерации изменяется значение x.