MathCAD

       

Панель программирования Mathcad


Щелчок по одной из этих кнопок создает на дисплее заготовку соответствующей программной конструкции.

Опишем их.

Кнопка

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

Было

стало

Вертикальная линия объединяет отдельные операторы в операторный блок с одним входом и одним выходом, который выполняется как единый оператор (один из трех атрибутов структурного программирования). Какое-то подобие операторного блока пользователь Mathcad часто выделяет и в беспрограммном документе, реализуя, например, метод последовательных приближений (см. пункт 6 на рис. 5.1).

Кнопка

 – это оператор присвоения значения локальной переменной. На языке Pascal мы пишем А := В + С, на языке BASIC – А = В + С, а на языке Mathcad – А ¬ B + С. Почему? Сначала опять же приходится недоумевать, но потом понимаешь, что без знака «¬» программа превратилась бы в нечто невразумительное, режущее глаз программиста:

A := A := B + C (Pascal),

А = А = В + С (BASIC)[7].

В Mathcad-выражении:

A := A ¬ B + C

все более-менее ясно: локальной переменной A (она в середине между символами «:=» и «¬») присваивается значение суммы двух переменных B и C, значение которых уже задано выше в Mathcad-документе (глобальные переменные). Затем эта сумма передается глобальной переменной A (она слева от знака «:=»).

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

Негативное изображение переменной В будет свидетельствовать о том, что ее значение вне программы (В ¬ 3) неопределенно[8]. Благодаря локальным переменным можно создавать объемные Mathcad-документы, поручая разработку отдельных функций и операторов разным программистам и не заботясь о разделении переменных: в разных программах переменные могут совпадать по имени, но при этом они не будут перебегать дорогу друг другу (технология программирования «сверху вниз»). С локальными переменными мы, кстати, сталкивались и ранее: примеры индексы i, j и др. в операторах суммы или произведения (см., например, конец рис. 3.14).


Итак, локальная переменная распространяет свое действие только на программу, а глобальная – на весь документ (на низ документа). Но в среде Mathcad есть инструментарий, позволяющий переменным, пользовательским функциям и операторам проникать и в другие документы, но с их, так сказать, согласия. Представим такую ситуацию. Конкретный пользователь создал функции, которые помогают ему быстро решать задачи в конкретной научно-технической области. Решая очередную задачу, пользователь должен в начале документа записать все нужные для расчета функции. Среда Mathcad предоставляет пользователю и другое решение данной проблемы. В новом документе можно сделать ссылку (Reference) на документ (файл с расширением *.mcd), хранящий нужные пользовательские функции, операторы и переменные. Документ, на который ссылаются, может в данный момент не быть открытым, а просто храниться на диске. После этого к создаваемому документу как бы приписывается сверху еще один документ. Пример ссылки на другой Mathcad-документ можно видеть на рис. 6.29, 6.30 и 6.49.

Нажав на кнопку
, мы получим на экране заготовку цикла[9]

с предпроверкой – слово while с двумя пустыми квадратиками:



В первый квадратик (правее while) нужно будет записать булево выражение (переменную), управляющее циклом, а во второй (ниже while) – тело цикла, операторы которого будут выполняться, пока булево выражение возвращает значение «Да» (в среде Mathcad – это числовое значение, отличное от нуля). Если в теле цикла более одного оператора (а это основное отличие оператора while от вышеупомянутой функции until), то нужно воспользоваться кнопкой Add Line (см. выше).


Содержание раздела