
- •Основные принципы программирования в среде mathcad
- •Оглавление
- •Цель работы
- •Создание программы
- •2.1. Описание программы - функции
- •2.2. Оператор локального присваивания
- •2.3. Вызов программы-функции
- •Программирование линейных алгоритмов
- •Программирование разветвляющихся алгоритмов
- •4.1. Условная функция if
- •4.2. Условный оператор if
- •5. Программирование циклических алгоритмов
- •5.1. Цикл с параметром for
- •5.2. Цикл с предусловием while
- •5.3. Вложенные циклы
- •7. Оператор прерывания break и оператор продолжения continue
- •Оператор возврата return и оператор обработки ошибок on error
- •Задания по лабораторной работе
- •9.1. Линейные алгоритмы
- •9.2. Разветвляющиеся алгоритмы
- •9.3. Циклические алгоритмы
- •Литература
- •Основные принципы программирования в среде Mathcad
- •400131, Г. Волгоград, пр. Ленина, 28, корп. 1.
5.3. Вложенные циклы
Если телом цикла является циклическая структура, то такой цикл называется вложенным или сложным. Алгоритм со структурой вложенных циклов – это алгоритм, содержащий цикл, внутри которого размещены один или несколько других циклов.
Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся в теле другого цикла, называют внутренним. Параметры внешнего и внутреннего циклов изменяются не одновременно и обозначаются различными переменными.
Простейший случай вложенных циклов – двойной. В этом случае один цикл помещается внутри другого. Различные варианты вложенных циклов:
Пример
6.1. Вычислить
.
Описание и вызов программы-функции:
Работа вложенного цикла заключается в следующем: сначала задаётся первое значение параметра внешнего цикла i, затем управление передаётся внутреннему циклу и параметр внутреннего цикла j принимает по очереди все значения. Когда выполнение внутреннего цикла окончено, задаётся второе значение параметра внешнего цикла и вновь полностью выполняется внутренний цикл. Процесс повторяется до тех пор, пока параметр внешнего цикла не примет все значения.
7. Оператор прерывания break и оператор продолжения continue
Оператор break вызывает прерывание выполнения программы. Чаще всего он используется совместно с оператором цикла для его преждевременного завершения, чтобы избежать зацикливания или слишком продолжительных вычислений.
Для ввода оператора break необходимо щелкнуть на кнопке break панели Программирование. Оператор break используется в левом поле ввода условного оператор if, а в правом размещается условие, при выполнении которого происходит прекращение работы цикла или программы.
В примере, изображенном на рис. 6.1, рассмотрен алгоритм суммирования целых чисел от 1 до 10. Как только значение переменной цикла k достигает значения равного 7, цикл прерывается. Значение переменной s =1+2+3+4+5+6+7= 28.
Рис. 6.1. Пример использования оператора break
Оператор продолжения continue используется для продолжения работы программы после прерывания. Он также применяется совместно с операторами циклов while, for и служит для преждевременного завершения текущей итерации цикла, обеспечивая после прерывания возврат в начало цикла.
Для ввода оператора continue необходимо щелкнуть на кнопке continue панели Программирование.
Рассмотрим применение оператора continue на следующем примере: необходимо определить сумму чисел s =1+2+3+4+5+6+8+9+10 .
Описание и вызов программы-функции:
В цикле for переменная цикла k принимает значения от 1 до 10. Когда переменная k примет значение, равное 7 выполнение цикла будет прервано, нижележащие операторы тела цикла не выполняются (в нашем примере это оператор присваивания s←s+k), произойдет возврат в начало цикла и тело цикла выполнится при новом значении параметра цикла k.
Оператор возврата return и оператор обработки ошибок on error
Программа-функция возвращает значение, определяемое последним оператором, но это можно изменить с помощью оператора return. Оператор возврата return прерывает выполнение программы и возвращает в качестве результата значение, стоящее после него. Вводится оператор return одноименной кнопкой панели Программирование.
Рассмотрим применение оператора return на следующем примере: даны два целых числа x и y, если х<y найти произведение этих чисел; если x>y найти сумму этих чисел; в случае их равенства – вывести сообщение “x=y”.
Описание и вызов программы-функции, реализующий алгоритм решения этого примера:
В этом случае при выполнении указанного условия (x=y) сообщение, введенное после return, возвращается в качестве результата, а никакие другие операторы больше не выполняется.
Программирование в MathCAD'e позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение какого-либо оператора программы может вызвать ошибку (например, деление на ноль), то эту ошибку можно перехватить с помощью оператора on error.
Этот оператор является обработчиком ошибок, возникающих при выполнении вычислений, и записывается в виде:
<выражение 1> on error <выражение 2>
Если при выполнении <выражение 2> возникает ошибка, выполняется <выражение 1>, если ошибки нет – <выражение 2>.
Для вставки оператора on error в программу, надо поместить курсор в нужное место и нажать кнопку on error на панели Программирование:
В правое поле следует ввести выражение 2, в левое – выражение 1.
Оператор on error удобно применять в комбинации со встроенной функцией error(s). Используется для вывода диагностических сообщений при возникновении в вычислениях ошибки и записывается в виде:
error ("< диагностическое сообщение пользователя >")
Рассмотрим применение оператора on error и функции error для предотвращения появления ошибки "деление на ноль":
Диагностическое сообщение пользователя “Ошибка деления на ноль” появится на экране только после щелчка мышью на выделенном красным цветом обращении к программе-функции.