Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3324_KT / УМК_Красноярск_Учебное пособие_МатЛаб_МатКад.pdf
Скачиваний:
195
Добавлен:
28.03.2015
Размер:
5.19 Mб
Скачать

24.ЗАДАНИЕ СОБСТВЕННЫХ ФУНКЦИЙ И ПРОГРАММИРОВАНИЕ В MATHCAD

24.7.Арифметическое выражение в условии

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

24.8. Операторы циклов

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

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

24.8.1. Сумма квадратов

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

В начале процедуры с нулевым значением инициализируется локальная переменная s. Далее индексная переменная пробегает значения от 1 до N (а р- гумент функции, определяющий верхнюю границу суммы) и квадрат значения индексной переменной прибавляется к значению локальной переменной s. После выполнения всех итераций значение локальной переменной возвращается как результат выполнения процедуры (которую, кстати, можно рассматривать и как функцию).

Математическое программное обеспечение. Учебное пособие

-236-

24.ЗАДАНИЕ СОБСТВЕННЫХ ФУНКЦИЙ И ПРОГРАММИРОВАНИЕ В MATHCAD

24.8.Операторы циклов

Рис. 24.14

Нередко встречается инструкция continue, которая служит указанием для выхода из цикла. Точнее, после этой инструкции с помощью ключевого слова if указывают условие, при котором выполнение цикла прекращается.

24.8.2. Суммаквадратовсограничением

Разместим в рассматривавшемся ранее операторе цикла команду continue if i > 10 – см. рис. 24.15.

Рис. 24.15

В этом случае сумма будет увеличиваться до тех пор, пока индексная переменная не превысит значение 10. Другими словами, процедурой будет вычисляться сумма квадратов натуральных чисел с верхней границей, равной минимальному из чисел 10 и аргумента функции. В последнем несложно убедиться по результатам вычисления суммы для разных передаваемых процедуре аргументов. Если аргумент превышает 10, результат не меняется.

Операторы цикла в MathCad организуются также с помощью инструкции while. Цикл продолжается до тех пор, пока выполняется условие, ука-

Математическое программное обеспечение. Учебное пособие

-237-

24.ЗАДАНИЕ СОБСТВЕННЫХ ФУНКЦИЙ И ПРОГРАММИРОВАНИЕ В MATHCAD

24.8.Операторы циклов

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

Процедура вычисления суммы квадратов натуральных чисел на основе инструкции while показана на рис. 24.16.

Рис. 24.16

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

24.8.3. Использованиеинструкцииbreak

Как и ранее, при работе с инструкцией while можно пропускать некоторые итерации или вообще преждевременно завершать выполнение программного кода – см. рис. 24.17.

Математическое программное обеспечение. Учебное пособие

-238-