- •Введение
- •1. Подпрограмма-функция. Описание и вызов.
- •2. Обращение к подпрограмме-функции Mathcad
- •3. Программирование линейных алгоритмов
- •4. Программирование разветвляющихся алгоритмов
- •5. Программирование циклических алгоритмов
- •5.1. Программирование цикла типа арифметической прогрессии
- •5.2. Программирование итерационных циклов.
5. Программирование циклических алгоритмов
Циклические алгоритмы (циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной. Такая переменная называется параметром цикла, а сами повторяющиеся вычисления составляют тело цикла. Циклы можно условно разделить на две группы:
циклы типа арифметической прогрессии;
итерационные циклы.
5.1. Программирование цикла типа арифметической прогрессии
Для программирования таких циклов используется оператор цикла for (часто называемый оператором цикла с параметром). Для ввода такого оператора необходимо выполнить следующие действия:
щелкнуть на кнопке for палитры ПРОГРАММИРОВАНИЕ. На экране появятся поля ввода, изображенные на рис. 5.1;
Рис. 5.1. Поля оператора цикла for
в поле ввода 1 ввести имя переменной, являющейся параметром цикла;
в поле 2 — закон изменения параметра цикла, используя для этого описание дискретной переменной или описание массива;
в поле 3 — операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке Add line палитры ПРОГРАММИРОВАНИЕ, и тогда слева от тела цикла появляется вертикальная черта, охватывающая тело цикла.
Пример 5.1:
Написать программу формирования вектора
длины п, значения элементов которого
являются значениями выражения
,
где
.
|
Рис. 5.2. Реализация цикла FOR в MathCad:
Пример 5.2:
На отрезке [-1;3] с шагом 0,3, вычислить
значения функции
и сформировать из этих значений вектор
.
Примем
- начальное значение, а
- конечное значение аргумента, приращение
аргументы происходит по закону
,
получим реализацию алгоритма for:
Рис. 5.3. Формирование вектора примера 5.2
Следует помнить, что
и
в тексте программы не являются элементами
вектора и знаки 0 и k
пишутся через десятичную точку.
5.2. Программирование итерационных циклов.
Для программирования таких циклов используется оператор цикла while. Для ввода этого оператора необходимо выполнить следующие действия:
щелкнуть на кнопке while палитры ПРОГРАММИРОВАНИЕ. На экране появляются элементы, показанные на рис. 5.4;
Рис. 5.4. Структура оператора итерационного цикла
в поле 1 ввести условие выполнения цикла;
в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы, которые могут изменить значение условия цикла, иначе цикл будет продолжаться бесконечно.
Оператор цикла while выполняется следующим образом: обнаружив оператор while, Mathcad проверяет указанное в операторе условие. Если оно равно 1 (т.е. выполняется), то выполняется тело цикла, и снова проверяется условие. Если условие принимает значение 0, то цикл заканчивается.
Пример 5.3:
Вычислять значение функции
с шагом
на отрезке [0.001; 3], до тех пор, пока
.
Решение. Как видно из рисунка 5.5, функция , действительно меняет знак на отрезке [0.001; 3].
Введем следующие обозначения: а – начальное значение функции, d – приращение аргумента (шаг, с которым вычисляется значение функции ).
Рис. 5.5. График функции
Реализация программы итерационного цикла с использованием оператора while приведена ниже на рис. 5.6:
Рис. 5.5. решение задачи примера 5.3
