Совет 33 Несколько операторов на одной строке Mathcad-программы (Several operators on one line of a Mathcad-program)

   

Язык программирования Mathcad – относительно «молодой». Многие языки программирования (BASIC, fortran и т.д.) в своих ранних версиях допускали наличие только одного оператора на строке. Затем («в зрелые годы») это ограничение было снято для того, чтобы программист мог сам для себя решить, писать ли ему несколько операторов на одной строке или только один.

В Mathcad-программах несколько операторов на одной строке можно записать двумя способами.

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

Во-вторых, на строке Mathcad-программы можно поместить оператор умножения с невидимым символом умножения, сомножители которого – операторы программы. Здесь также есть ограничение – на такой строке не могут быть два оператора, один из которых число, а второй – текст.

Есть и третий способ сделать программу более компактной – в среде Mathcad 6-7 Pro и 12-14 можно операторы программы на одной строке разделять запятыми (см. рис.).

Но нужно помнить о том, что описанные способы не документированы. Может статься так, что в новой версии Mathcad они перестанут работать.

Все три способа записи нескольких операторов на одной строке имеют общее ограничение – такая многооператорная строка программы не может быть «возвращающей» строкой программы – последней строкой или операндом оператора return. В противном случае такая программа будет возвращать матрицу, а не скаляр или произведение, а не нужный сомножитель. Кроме того, нужно помнить о том, что описанное «укорачивание» программы замедляет ее выполнение.

Будем надеяться, что в новых версиях Mathcad на панели программирования кнопку Add Line дополнит кнопка Add Operator и описанный нами прием, призванный сделать программу более компактной, станет легальным.