Программирование
Добавление строк программного кода
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line (Добавить линию). Для этого следует предварительно поместить на нужное место внутри программного модуля линии ввода. Например, расположение линии ввода на строке, показанной на рис. 1.18, приведет к появлению новой линии с местозаполнителем перед этой строкой. Если передвинуть вертикальную линию ввода из начала строки (как это показано на рис. 1.20) в ее конец, то новая линия появится после строки. Если выделить строку не целиком, а лишь некоторую ее часть (рис. 1.20), то это повлияет на положение в программе новой строки кода (результат нажатия кнопки Add Line показан на рис. 1.21).
Совет
Не забывайте, что для желаемого размещения линий ввода внутри формулы можно использовать не только мышь и клавиши со стрелками, но и пробел. С помощью последовательных нажатий пробела линии ввода "захватывают" разные части формулы.
Рис. 1.20. Положение линий ввода влияет на положение создаваемой строки программы
Зачем может потребоваться вставка новой линии в положение, показанное на рис. 1.21? Новая вертикальная черта с двумя линиями выделяет фрагмент программы, который относится к условию х > 0, находящемуся в его заголовке. Пример возможного дальнейшего программирования показан в листинге 1.20.
Рис. 1.21. Результат вставки новой линии в программу (из положения рис. 1.20)
Листинг 1.20. Пример усовершенствования программы:
В режиме выполнения программы, а это происходит при любой попытке вычислить f (х), выполняется последовательно каждая строка кода. Например, в предпоследней строке листинга 1.20 вычисляется f (1). Рассмотрим работу каждой строки кода этого листинга.
- Поскольку х=1, то условие х< 0 не выполнено, и в первой строке ничего не происходит.
- Условие второй строки х>о выполнено, поэтому выполняются обе следующие строки, объединенные короткой вертикальной чертой в общий фрагмент.
- Функции f(x) присваивается значение f (x)="positive.
- Условие х> 1000 не выполнено, поэтому значение " big positive " не присваивается f (х), она так и остается равной строке " positive ".
- Последняя строка не выполняется, т. к. одно из условий (х> 0) оказалось истинным, и оператор otherwise (т. е., "иначе") не понадобился.
Таким образом, основной принцип создания программных модулей заключается в правильном расположении строк кода. Ориентироваться в их действии довольно легко, т. к. фрагменты кода одного уровня сгруппированы в программе с помощью вертикальных черт.
Локальное присваивание
Язык программирования Mathcad не был бы эффективным, если бы не позволял создавать внутри программных модулей локальные переменные, которые "не видны" извне, из других частей документа. Присваивание в пределах программ, в отличие от документов Mathcad, производится с помощью оператора Local Definition (Локальное присваивание), который вставляется нажатием кнопки с изображением стрелки (←) на панели Programming (Программирование).
Внимание!
Ни оператор присваивания: =, ни оператор вывода = в пределах программ применять не разрешается.
В Mathcad 12 переменным, которые впервые появляются в программных модулях, по умолчанию присваивается значение 0. В прежних версиях программы использование переменных в программах без предварительного присваивания им значений приводило к генерации ошибки (как в расчетах на рабочей области документов Mathcad).
Локальное присваивание иллюстрируется листингом 1.21. Переменная z существует только внутри программы, выделенной вертикальной чертой. Из других мест документа получить ее значение невозможно. На этом же листинге вы видите пример применения оператора цикла for.
Листинг 1.21. Локальное присваивание в программе: