Алгоритм циклической структуры

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

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

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

Цикл организуют по определенным правилам. Циклический алгоритм состоит из подготовки цикла, тела цикла, условия продолжения цикла (рис. 2.5.10).

Рис. 2.5.10. Блок-схема цикла

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

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

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

Пример.Рассмотрим задачу изменения спроса на мороженое в ларьке за один день, если функция спроса подчиняется зависимости y = b/x, то есть график спроса представляет собой кривую обратно пропорциональной зависимости. Предположим, что y – предполагаемая величина спроса количества порций мороженого за один день, b - коэффициент пропорциональности, а x – цена, за одну порцию мороженого. Необходимо вычислить множество значений функции спроса y = b/x для цены x, изменяющейся от 1 до 15 с шагом 1, при этом b = 10,25.

 

Входные данные - начальное и конечное значения х, шаг изменения х и значения константы b. Выходные данные - значения функции у для различных значений аргумента х.

Разработка алгоритма решения.Анализ условия задачи показывает необходимость многократного повторения вычислений значений функции y для различных значений аргумента x, т.е. необходимость использования алгоритма циклической структуры.

В качестве параметра цикла можно взять величину аргумента функции х. Тогда начальным значением параметра цикла будет начальное значение х; конечным - конечное значение х; шагом изменения параметра цикла - шаг изменения значения х.

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

Тело цикла: организация вычисления очередного значения функции у; вывод текущего значения аргумента и вычисленного значения функции; подготовка (вычисление) значения параметра цикла для следующего повторения тела цикла - увеличение параметра цикла на величину шага.

Условие продолжения цикла: вычисления в теле цикла будут продолжаться, пока значение величины х (параметра цикла) не превысит конечное значение параметра цикла.

Введем обозначения: ХN - начальное значение х; ХК - конечное значение х; DX - шаг изменения величины х; Х - текущее значение величины х; Y- текущее значение функции; B – значение константы b.

Шаг 1. Начало алгоритма.

Шаг 2. Ввод значений ХN, XK, B и DX.

Шаг 3. Задание первого значения Х:=ХN.

Шаг 4. Вычисление значения Y:= B/X.

Шаг 5. Вывод значений Х и У.

Шаг 6. Изменение значения Х:=Х +DX.

Шаг 7. Если ХХК, то перейти к шагу 4, иначе - к шагу 8.

Шаг 8. Конец алгоритма.

Блок-схема данного алгоритма приведена на рис. 2.5.11.

Рис. 2.5.11. Блок-схема определения значений функции спроса

Отметим шаги словесного описания алгоритма решения данной задачи, соответствующие понятиям циклического алгоритма.

Подготовка цикла: шаги 2 и 3.

Тело цикла: вычисление функции - шаг 4; вывод значений - шаг 5; подготовка следующего значения параметра цикла - шаг 6.

Условие продолжения цикла: шаг 7.

В схеме алгоритма (рис. 2.5.11) номера символов соответствуют номерам шагов словесного описания и алгоритм работы цикла полностью аналогичен алгоритму цикла в словесном описании.