Программирование циклических алгоритмов

Цикл - это последовательность операторов, которая может выполняться один или более раз. Циклический алгоритм - это алгоритм, содержащий один или несколько циклов. Последовательность операторов, которые выполняются в цикле, называется телом цикла. Параметр цикла – переменная, управляющая работой цикла. Параметр цикла изменяет свое значение при каждом проходе тела цикла. Каждый "проход" цикла называется итерацией. В Mathcad’e применяются два типа циклических алгоритмов: цикл с параметром for и цикл с предусловием while.

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

Оператор цикла for служит для организации циклов с заданным числом повторений. Параметр такого цикла задается дискретной переменной (называемой также ранжированной переменной).

программирование циклических алгоритмов - student2.ru

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

Последовательность действий для вставки оператора цикла for:

- ввести имя программы-функции, список формальных параметров и символ “:”;

- щелкнуть на кнопке for панели Программирование. На экране появятся поля для ввода, изображенные на рис. 5.2:

программирование циклических алгоритмов - student2.ru

Рис. 5.2. Вставка оператора цикла for

- в первое поле ввести имя параметра цикла, например i;

- во второе поле диапазон значений параметра цикла, например: i1.. i2 (двоеточие между i1 и i2 набирается клавишей точка с запятой);

- в нижнее третье поле вводятся операторы тела цикла. Для добавления дополнительных операторов в тело цикла щелкните на кнопке Add line.

Операторы тела цикла, будут выполняться столько раз, сколько переменная i изменяет своё значение от i1 до i2 с шагом step. Если значение i1+step не задано, то шаг изменения переменной, по умолчанию равен +1:

программирование циклических алгоритмов - student2.ru

Пример 5.1.Вычислить: программирование циклических алгоритмов - student2.ru

Блок-схема алгоритма решения примера:

программирование циклических алгоритмов - student2.ru

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

Пример 5.2. Вычислить: программирование циклических алгоритмов - student2.ru

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

Пример 5.3. Дана последовательность программирование циклических алгоритмов - student2.ru где i=1, 2, ..., n. Подсчитать число четных элементов и число отрицательных элементов последовательности.

программирование циклических алгоритмов - student2.ru

Пример 5.4. Вычислить значения функции программирование циклических алгоритмов - student2.ru при изменении аргумента х от -1 до 2 с шагом 0.5 и сформировать из этих значений вектор y.

Блок-схема алгоритма решения примера:

программирование циклических алгоритмов - student2.ru

Описание программы-функции и обращение к ней имеет вид:

программирование циклических алгоритмов - student2.ru

программирование циклических алгоритмов - student2.ru

Формальные параметры программы-функции Func используются для задания диапазона и шага изменения переменной x. Переменная i определяет текущее значение индекса элемента вектора y.

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

Цикл while называется с предусловием, т. к. проверка условия осуществляется перед каждым выполнением тела цикла. Используется, если число повторений цикла заранее неизвестно.

Выполнение оператора цикла while начинается с проверки условия. Если оно истинно, то выполняются операторы тела цикла, затем вновь проверятся условие и т. д. Как только на очередном шаге окажется, что условие ложное, то выполнение цикла завершится. Цикл while может ни разу не выполниться, если условие в самом начале ложное.

В блок-схеме цикл while изображается так, как показано на рис. 5.3.

программирование циклических алгоритмов - student2.ru

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

Ввод оператора цикла while осуществляется аналогично вводу цикла for, после нажатия кнопки while панели Программирование на экране появляются элементы, показанные на рис. 5.4. В первое поле введите условие выполнения цикла, и в нижнее поле операторы тела цикла. Если в теле цикла более одного оператора, то нужно воспользоваться кнопкой Add Line для добавления дополнительных операторов в тело цикла.

программирование циклических алгоритмов - student2.ru

Рис. 5.4. Вставка оператора цикла while

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

Пример 5.4. Найти первый отрицательный член последовательности программирование циклических алгоритмов - student2.ru

Блок-схема алгоритма решения примера:

программирование циклических алгоритмов - student2.ru

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

Пример 5.5. Вычислить значения функции программирование циклических алгоритмов - student2.ru при изменении аргумента х от -1 до 3 с шагом 0.5 и сформировать из этих значений вектор y.

Эта задача уже была рассмотрена, но с использованием цикла For, решим ее с циклом While.

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

Пример 5.6.Найти количество и сумму цифр заданного натурального числа.Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

В данной программе используются две функции:

· mod – выдаёт остаток при делении x на y.

· trunc – выдает целую часть z, удаляя дробную часть.

Пример 5.7. Составить программу для вычисления суммы членов бесконечного ряда с точностью до члена ряда программирование циклических алгоритмов - student2.ru .

программирование циклических алгоритмов - student2.ru

При этом вычисление текущего члена ряда выполнить по формуле: программирование циклических алгоритмов - student2.ru программирование циклических алгоритмов - student2.ru -текущий член ряда, программирование циклических алгоритмов - student2.ru - предыдущий член ряда.

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

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

Вложенные циклы

Если телом цикла является циклическая структура, то такой цикл называется вложенным или сложным. Алгоритм со структурой вложенных циклов – это алгоритм, содержащий цикл, внутри которого размещены один или несколько других циклов.

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

Простейший случай вложенных циклов – двойной. В этом случае один цикл помещается внутри другого. Различные варианты вложенных циклов:

программирование циклических алгоритмов - student2.ru

Пример 6.1. Вычислить программирование циклических алгоритмов - student2.ru .

Описание и вызов программы-функции:

программирование циклических алгоритмов - student2.ru

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

Наши рекомендации