Важные замечания
Home Up Next

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

В основном все приведенные в пособии программы-функции написаны на языке программирования вычислительной среды Mathcad 7. Выбор данной, а не последней версии - Mathcad 2000, продиктован дидактическими соображениями. В первой из этих систем в одной строке программы допускается одновременная запись нескольких команд, а во второй - лишь одной команды. Поэтому Mathcad 7 позволяет формировать более компактные и обозримые программы. И суть не в том, что на любых носителях для них требуется меньше места, а в том, что по короткому тексту программы обычно яснее проглядываются семантика соответствующего алгоритма и его укрупненные дидактические блоки. А это способствует лучшему пониманию сути алгоритма и облегчает его объяснение (описание, комментирование, усвоение, запоминание). К сказанному стоит добавить, что любая из представленных ниже программ-функций, написанных на Mathcad 7, при простом разделении составных строк на “однокомандные строки” сможет работать и в Mathcad 2000.

Часть программ написана на языке Object Pascal 5.0 системы объектного визуального программирования Delphi 5. Особенно это касается задач на косвенную рекурсию, реализация которой в Mathcad невозможна.

Для компактности записи рекурсивных функций используются следующие часто встречающиеся пользовательские константы и функции (см. табл. 2), являющиеся простым и естественным переопределением некоторых встроенных функций языка программирования вычислительной среды Mathcad.

Таблица 2

Пользовательские константы и функции Mathcad

Константа или функция

Название, пояснения

Встроенная константа или функция (выражение)

1. 

id

Вектор единичной длины с компонентой 1.

identity(1)

2. 

id Чb

Вектор единичной длины с компонентой b.

identity(1)Ч b

3. 

id(n)

Единичная матрица размера nґ n.

identity(n)

4. 

sv(v,i,j)

Подвектор вектора v. Из последовательных компонентов вектора v с номерами от i и до j включительно формируется новый вектор.

submatrix(v,a,b,0,0)

5. 

sm(m,i,j,s,t)

Подматрица матрицы m. Из последовательных строк и столбцов матрицы m с номерами соответственно от i до j и от s до t включительно формируется новая матрица.

submatrix(m,i,j,s,t)

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

Справедливости ради стоит сказать и об одном, к сожалению имеющем место, отрицательном свойстве языка программирования Mathcad. Жертвой концепции “живых вычислений” стал механизм действия глобальных констант и переменных. Глобальными в документе, по сути, могут быть лишь именованные константы. Значения глобальные переменных, если таковые имеются, необходимо передавать в качестве фактических параметров от функции к функции. Поскольку эта “лишняя” работа в большинстве языков программирования проводиться не должна, то она и не будет учитываться при подсчете трудоемкости соответствующих алгоритмов.

Home Содержание Схемы ООД Доска объявлений Поиск