Математические пакеты и сайты учебной направленности в Интернет

Вид материалаДокументы

Содержание


14.1.Математические пакеты в учебном процессе
Mathcad Application Server
14.2.Подготовка Mathcad-документов к публикации в Интернет
14.3.Web Controls – сетевые элементы интерфейса
14.4.О комментариях
14.5.О вставках других программ
14.6.Об именах переменных и функций
14.7.Проблема объемных исходных данных
14.8.Контроль знаний через MAS
14.9.Доступ к расчетам через пароль
Подобный материал:

Глава 14.Математические пакеты и сайты учебной направленности в Интернет


Математические пакеты, Интернет-реализация одного представителя которых будет описана в данной главе книги, предназначены не только для расчетов, но и для создания полновесных Интернет-приложений (сайтов) в том числе и учебной направленности. В этом плане математические пакеты выгодно отличаются от других средств создания Интернет-приложений тем, что они оборудованы, во-первых, мощными средствами решения задач отдельных учебных дисциплин (математика, физика, химия, специальные дисциплины и др.) и, во-вторых, удобными инструментами визуализации исходных, промежуточных и рассчитанных данных: цветной двух- и трехмерной графикой, анимацией и др.

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

Далее в тексте под словом «расчет» будут подразумеваться не только расчеты, но и полновесные Интернет-приложения в том числе и учебного плана – интерактивные лекции, лабораторно-практические занятия, системы контроля знаний и т.д.

14.1.Математические пакеты в учебном процессе


История использования компьютеров том числе и для расчетов учебного плана условно разбивается на три этапа:
  • работа с машинными кодами;
  • программирование на языках высокого уровня;
  • использование математических пакетов типа Mathcad, Maple, MatLab, Mathematica и др.1

Четких границ между перечисленными этапами (технологиями) нет, работая, например, в среде Mathcad (а именно об этом пакете пойдет речь в данной главе книги), можно при необходимости вызывать собственные функции, написанные на языке Cи, в код которых вкраплены фрагменты Ассемблера. Здесь скорее следует говорить не об этапах развития средств решения задач, а о некой тенденции, которая, в частности, приводит к резкому сокращению времени создания и реализации на компьютере и в Интернет расчетных методик и математических моделей, к исключению программиста как дополнительного и часто бестолкового (с точки зрения специалиста-прикладника или преподавателя, создающего компьютерный обучающий курс) звена между исследователем и компьютером.

Но «нет роз без шипов». Главный недостаток математических пакетов состоял в том, что они, как правило, не могли генерировать так называемые exe-файлы, которые можно запускать без программы-прародительницы. Это, в частности, существенно мешало такому прогрессивному явлению как разделение сидящих за компьютером на пользователей и разработчиков. Люди, работающие с математическими пакетами, как правило, ведут «натуральное хозяйство» – разрабатывают учебные и прочие расчетные методики сугубо для личного употребления либо для передачи узкому кругу обучаемых. Передать их можно было только тому, у кого на компьютере стоит Mathcad. А этот человек покупать файл не будет, а постарается (норовит, как скажет продавец) воссоздать нужный расчет сам2. Передать же (продать) файл тому, кто не знаком с пакетом Mathcad и не имеет его на компьютере, можно было только с большой нагрузкой – с условием установки на компьютере самого пакета Mathcad нужной версии, что часто влечет за собой необходимость обновления не только операционной системы Windows, но и «железа». Да и поучиться обращаться c Mathcad тоже необходимо…

Фирма Mathsoft Engineering & Education, Inc. (ссылка скрыта – разработчик пакета Mathcad) делала ряд попыток для исправления этого ненормального положения.

Во-первых, были попытки запуска с очередной (восьмой, если быть точным) версией пакета Mathcad его бесплатного3 и укороченного варианта – Mathcad Explorer, который позволял открывать Mathcad-файлы и считать по ним, но не редактировать и не сохранять на дисках документы (так называемая read-only версия).

Во-вторых, интенсивно развивались средства публикации Mathcad-документов в Интернете. Ведь основной потребитель математических программ – это сфера образования, где важен не сам результат расчета, а путь к результату, изучение расчетных методик, заложенных в расчет. На это была нацелена, в частности, версия Mathcad 2001i, где буква i означала «интерактивный» (interactive).

Но все это были неполные решения. Mathcad Explorer нужно было скачивать из сети и устанавливать на свой компьютер. А тут уж лучше поставить сам пакет Mathcad, а не его укороченную версию (см. сноску 3). Mathcad-документы, вернее их html или MathML копии, открытые в сети, хочется не только разглядывать, но и «пощупать» – изменить исходные данные и увидеть (распечатать, сохранить на диске) новый ответ. И не просто «хочется», а «надо» – дано такое задание преподавателем.

Решение этой проблемы, но уже не частичное, а почти полное опять пришло со стороны Интернет.

В конце 2003 г. фирма Mathsoft запустила в эксплуатацию так называемый Mathcad Application Server (MAS – ссылка скрыта), позволяющий запускать на нем Mathcad-документы и обращаться к ним дистанционно через Интернет.

Технология MAS позволяет решить следующие проблемы:
  • нет необходимости ставить на компьютеры пользователей саму программу Mathcad нужной версии4, где-то искать, проверять на отсутствие вирусов и запускать прикладные файлы – достаточно подключить компьютер к Интернет и обратиться к MAS через браузер Internet Explorer (5.5 и выше). При этом сохраняется полная иллюзия того, что на компьютере открыт Mathcad-документ, в котором можно изменить исходные данные и считать (распечатать, сохранить на диске) ответ. Но сама расчетная методика (набор формул в традиционной математической нотации, а не в виде компьютерных программ – особенность, за что так любят Mathcad) может быть либо открыта, либо закрыта полностью или частично (продажа или просто передача результата расчета, а не самого расчета).
  • новые расчетные методики становятся моментально доступны всем пользователям Интернет-сообщества, т.е. достаточно только сообщить будущим пользователям Интернет-адрес расчета. При этом можно дать возможность пользователям выбора языка общения (русский, английский и др.). Чтобы эти расчеты стали товаром и организовывать на их основе платное, например, образование, можно администрировать доступ к сайту – сделать его платным (умеренно платным, частично платным), окружить ссылки на них баннерами и т.д.
  • любые ошибки, опечатки, недоработки и допущения в расчете, замеченные как самим автором (разработчиком), так и пользователями, могут быстро (и незаметно для пользователей) исправляться. Незаметно для пользователей можно также модернизировать и расширять расчеты.
  • технология MAS не исключает традиционной возможности скачивания с сервера самих Mathcad-документов для их расширения и модернизации. Для этого достаточно в расчете сделать соответствующую ссылку на FTP-сервер.

Технология MAS кардинально решает проблему лицензирования работы с программой: пользователю нет необходимости покупать дорогостоящую программу Mathcad или ставить на компьютер «пиратскую» копию программы, а также постоянно обновлять их и дополнительно заменять и/или обновлять саму операционную систему Windows, делать «upgrade» компьютеру – достаточно только обратиться к MAS. Покупать дорогостоящие программы должен будет только разработчик – создатель расчетных методик.

Не нужно также учиться обращаться (редактировать) с Mathcad-документами, бояться испортить их. Изменение исходных данных в MAS-документе ведется приемами, которые люди (в том числе и студенты) давно уже освоили, появляясь на различных сетевых форумах, болтая на чатах.

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

14.2.Подготовка Mathcad-документов к публикации в Интернет


Как правило, Mathcad-документы имеют структуру, состоящую из трех частей – ввод данных, расчет и вывод результатов. Эта структура документа в предельно упрощенном виде показана на рис. 14.1, где эти части выведены в три области – Areas, в которых возможны сепаратные действия – защита от редактирования (Lock-Unlock) и/или скрытие (Collapse-Expand).



Рис. 14.1. Структура простейшего Mathcad-документа

Структура реального документа, как правило, не имеет четких границ между этими тремя областями: ответ может выдаваться сразу после расчета по формуле, а входные данные могут быть продублированы в сводной таблице и т.д. Если область расчета занимает несколько страниц, то при отладке ее «захлопывают» (команда Collapse) для того, чтобы одновременно видеть входные данные и результат. Можно разбить расчет на несколько областей и открывать их поочередно.

В документе, показанном на рис. 14.1, пользователь изменяет значения переменных а и/или b и считывает результат – значение переменной с. Пользователь может также усложнить и развить этот документ – ввести новые переменные и формулы, построить графики и т.д. Но это будет уже не пользователь, а разработчик (технология MAS четко делит людей на эти две категории). Первый этап подготовки документа и публикации на MAS – это выделение операторов присваивания. Это не только операторы := или ≡ (глобальное присваивание), но и так называемые Controls, введенные в Mathcad 2001, через которые будущий Интернет-пользователь может менять входные данные. Эти операторы присваивания должны быть заменены на так называемые Web Controls – «сетевые элементы интерфейса» (рис. 14.2), с аналогами которых читатель давно знаком, вводя информацию по различным Интернет-запросам.

14.3.Web Controls – сетевые элементы интерфейса


Web Controls появились у Mathcad 11.1 Enterprise Edition и у Mathcad 12 (все реализации).

Web Controls отличаются от своих несетевых аналогов (Controls – см. их список над словом Web Control в центре рис. 14.2, а также панель правее слова Go) главным образом тем, что для функционирования Web Controls не надо писать или редактировать программы на языках, поддерживающих технологию Active Scripting (JScript и VBScript – см. рис. 14.15). Такие программы в сети нежелательны, так как через них в основном переносятся компьютерные вирусы. Из-за этого многие разработчики в среде Mathcad не вставляют в свои программы Controls, а по-прежнему используют только операторы := или ≡. В среде Mathcad 2001i появилась возможность фиксации таких «скриптов» в открываемом документе, как это делается в среде Word или Excel. По этой причине (боязнь вирусов, а также то, что Controls сильно увеличивают размер файлов) можно рекомендовать вставлять Web Controls не только в Mathcad-документы, подготавливаемые к открытию в сети (будем называть их WebSheets), но и в обычные, несетевые (WorkSheets) документы.



Рис. 14.2. Вызов диалогового окна вставки сетевых элементов интерфейса Mathcad

Документ, показанный на рис. 14.1, после подготовки и публикации на MAS должен выглядеть так, как показано на рис. 14.3.




Рис. 14.3. Простейший Mathcad-документ, подготовленный к публикации на MAS

Из рис. 14.3 видно, что операторы а:= и b:= заменены на текстовые окна (поля) – Text box. Дополнительно вставлена кнопка Submit, которой дали имя «Пересчитать». При открытии на MAS этого документа линии и комментарии, отмечающие границы областей, не будут видны. Но при необходимости их можно прописать комментарием – цепочкой тире, например, чтобы будущий пользователь расчетного документа, знал, что тут находится область с закрытым расчетом. Границы областей, маркированных как «Исходные данные», «Расчет» и «Вывод ответа» на MAS не будут видны. Можно «захлопнуть» область «Расчет» и оператор с:= a + b также не будет виден. Это очень важно, потому что разработчик может скрыть от пользователя часть Mathcad-документа, опубликованного в сети, предоставляя возможность только расчета. А можно, наоборот, открыть и выделить цветом наиболее интересные и важные части расчета, например, для проверки как самой методики расчетов, так и входных данных.

Если в примере на рис. 14.1 и 14.3 переменные а и/или b могут принимать значения только в оговоренных интервалах (0 < a < 3, например), то будет полезно вставить в Mathcad-документ некий контрольно-пропускной пункт: a := if(0 < a < 3, a, “Ошибка!” блокирующий дальнейшие вычисления, если пользователь задал неверные входные данные. Такие же проверки хорошо установить перед выводом ответа. Они должны блокировать вывод результата, если входные данные дают несовместимое сочетание.

По адресу ссылка скрыта хранится программа расчета проектной производительности водоподготовки для электростанции, которая возвращает не число, а текст «Ошибка в данных!», если пользователь ввел ошибочное сочетание параметров проектируемой станции.

Название «Text box» не совсем правильное. Через этот элемент интерфейса можно вводить не только (и не столько) текстовые константы, но и числа как простые (рис. 14.3), так и комплексные (-5+3i, например). При этом приходится опираться на старую (DOS) запись формата чисел: не 103, а Е3 (е3) – см. рис. 14.4. Если введенная строка символов не «похожа» на число, то она воспринимается как текст. В несетевом аналоге текстового окошка любая цепочка символов воспринимается как текст, который нужно было конвертировать в число встроенной функцией num2str из группы «String» (рис. 14.15).



Рис. 14.4. Ввод констант через текстовые окошки

Автором совместно с Томом Гудманом (Tom Gudman – tom_gutman@compuserve.com) разработана методика ввода через текстовое окошко массивов (векторов и матриц), а также функций пользователя, что отображено на рис. 14.5 – 14.7.



Рис. 14.5. Ввод вектора через текстовое окно

На рис. 14.5 показано, как цепочка символов, введенная в текстовое окошко, преобразуется в вектор с помощью пользовательской функции Str2VMat. Разделителями чисел в текстовом окошке могут быть любые символы, отличающиеся от 0…9, точки (десятичный разделитель) и знака «минус». В нашем случае разделителями чисел служат пробелы.



Рис. 14.6. Ввод квадратной матрицы через текстовое окно

Матрицу можно ввести построчно или по столбцам, несколько усложнив метод, показанный на рис. 14.5. Но если матрица квадратная и произвольного размера, то можно ввести ее в виде вектора размером n2, а затем «упаковать» в квадратную матрицу (рис. 14.6).

По адресу ссылка скрыта можно открыть в Интернет решатель системы линейных алгебраических уравнений вида А·х = В, где массивы А (квадратная матрица коэффициентов при неизвестных) и В (вектор свободных членов) вводятся по технологии, показанной на рис. 14.5 и 14.6.



Рис. 14.7. Ввод функции через текстовое окно

Частично решена и проблема ввода через текстовое окошко функции пользователя. Так, на рис. 14.7 показан «текстовый» ввод функции пользователя с одним аргументом, по которой строится график. Сам алгоритм перевода текста в формулу довольно громоздок, и на рис. 14.7 не показан (спрятан в захлопнутой области). Этот же алгоритм может быть использован и для ввода значения переменной не константой (например, 1.25), а арифметическим выражением (45/12+11), включающим и ранее введенные и встроенные переменные (например, PI/4*d2). Если необходимо, чтобы у пользовательской функции аргументы были собраны в вектор, то прибегают к дополнительному оператору f(X) := f(X0,X1,...). Так реализован расчет глобального минимума по генетическому алгоритму – см. ссылка скрыта.

Пример работы с функцией, введенной через текстовое окно можно увидеть по адресу: ссылка скрыта. Частичность этого решения состоит в том, что к данной функции нельзя применить символьную математику и использовать в ней переменные, заданные ранее, хотя список аргументов функции y можно изменять и расширять (пример расположен по адресу ссылка скрыта).

Полезной особенностью Mathcad является его работа с физическими величинами. На рис. 14.8 показано, как оператор Р:= 123·mm заменяется на текстовое окно.



Рис. 14.8. Ввод размерной величины через текстовое окно

Через текстовое окно на рис. 14.8 в переменную Р вводится безразмерная величина, но при этом справа от окна стоит комментарий, указывающий, что переменная Р станет размерной – Р := Р·mm. Радиокнопки (или списки), о которых подробнее будет сказано чуть ниже, позволяют выбирать единицы измерения (рис. 14.9 и 14.10).



Рис. 14.9. Ввод размерной величины с выбором единицы измерения (область открыта)

Аргумент у радиокнопок (UnitP) показан на рис. 14.9. Но его можно и нужно скрыть, что сделано на рис. 14.10. Для этого вызывается соответствующая команда из меню «правой кнопки».



Рис. 14.10. Ввод размерной величины с выбором единицы измерения (область захлопнута)

Очень часто единицы измерения в расчетах фигурируют лишь как комментарии, а не множители, упрощающие и контролирующие сам расчет. Это связано с тем, что:

1. Многие встроенные функции Mathcad не приспособлены к работе с размерными аргументами (см. статью по этому поводу – ссылка скрыта).

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

3. В расчетах фигурируют так называемые эмпирические формулы, т.е. формулы, где переменные связаны с конкретными единицами измерений, а не с физическими величинами. Если единица измерения (например, мг/л) фигурирует в расчете не как переменная, а как комментарий, то рекомендуется вставлять ее в расчет как единичный коэффициент, завершающий оператор вывода числового значения – мг/л: = 1 C=25 ■ ← мг/л. В этом случае единица измерения станет «плавающей» – будет перемещаться и оставаться в нужном месте при изменении длины выводимого числа (см. пример ссылка скрыта).

На рис. 14.11-14.14 показаны диалоговые окна формирования и форматирования сетевых элементов управления, перечисленных на рис. 14.2: Text box (текстовое окошко), Checkbox (галочка), Listbox/combobox (список) и Radio button group (радиокнопки).



Рис. 14.11. Диалоговое окно форматирования текстового окна



Рис. 14.12. Диалоговое окно форматирования галочки

Если число вариантов ввода информации ограничено, то можно (нужно) ее вводить не через текстовое окошко (через клавиатуру), а через выбор из предложенного списка (мышкой). Мы это уже делали (см. рис. 14.10), прося пользователя не набирать единицу длины на клавиатуре, а выбрать ее из трех вариантов – m, mm и cm.



Рис. 14.13. Диалоговое окно форматирования радиокнопок



Рис. 14.14. Диалоговое окно форматирования списка

Если в списке всего две позиции (да или нет – альтернативный вопрос), то обычно используют «галочку», три и более позиций – радиокнопки и/или список. Список отличается от радиокнопок лишь тем, что в списке часть позиций может быть скрыта и выведена на экран прокруткой. Если же из списка нужно выбрать не одну, а несколько позиций, то его заменяют на группу галочек, как показано в примере, расположенном по Интернет-адресу: ссылка скрыта.

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

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

Диалоговое окно (рис. 14.11) и ему подобные окна, представленные на рис. 14.12-14.14, возникают после нажатия кнопки «Далее >», отмеченной в правом нижнем углу рис. 14.2.

Через диалоговое окно пользователь может изменить ширину самого текстового окна (на рис. 14.11 показано, что она равна 18) и/или максимальную длину вводимого текста (256 символов). Нажатие на клавишу Enter будет сигналом на передачу измененных данных на MAS. В этом случае кнопка «Пересчитать», показанная на рис. 14.3, может быть лишней. Но в этой ситуации не будет лишним вставить в документ соответствующий комментарий. Иначе пользователь может не дождаться ответа глобус в верхнем правом углу браузера не начнет крутиться, что является признаком передачи данных на сервер.

В диалоговом окне форматирования галочки есть собственная «галочка», «постановка» которой создателем MAS-приложения будет означать, что изменение в «галочке», поставленной в самом Mathcad-документе, будет тут же передаваться на MAS (рис. 14.12). Такие же галочки имеются и в диалоговых окнах форматирования радиокнопок (рис. 14.13) и списка (рис. 14.14).

Как видно из сравнения рис. 14.13 и 14.14 в диалоговом окне списка (рис. 14.14) есть окошко (правый верхний угол), фиксирующее число элементов, которые будут одновременно показаны в списке. Если это число меньше числа элементов в списке, то они будут показаны с прокруткой. В «радиокнопках» всегда показаны все элементы (кнопки). В этом и состоит единственное отличие списка от радиокнопок.

На рис. 14.13 и 14.14 зафиксированы два способа настройки радиокнопок и списка – см. «галочку» с надписью «Values equal Names – значения равны именам». В первом случае (см. рис. 14.13) переменная, связанная с блоком радиокнопок или списком (у нас это UnitP), принимает текстовое значение, хранящееся в соответствующей ячейке колонки Names («Values equal Names»), а во втором (см. рис. 14.14) – значение (числовое или текстовое) из ячейки в колонке Value. К сожалению, пользователь не может записать туда встроенные или пользовательские переменные и выражения, а только константы. В несетевых аналогах радиокнопок и списка форматирование велось через чистое программирование на одной из версий язык BASIC – на VBS (Visual Basic Script).

Пример программы, поддерживающей список (List) из группы Controls, представлен ниже:



Наличие программ (макросов), вставленных в Mathcad-документ, было одной из причин отказа от Controls и перехода к Web Controls. Из-за этого в списке Web Controls не оказалось такого удобного элемента интерфейса как «бегунок» (Slider), позволяющего мышкой выставить нужное значение переменной в заданном диапазоне и с заданной размерностью.

Но бегунок можно сымитировать (рис. 14.15), отформатировав определенным образом список (оставив в окне только один элемент), а в таблице форматирования (Name – Value: см. рис. 14.13 и 14.14) записав нужное количество дискретных значений, присваиваемой переменной: 0.1, 0.11, 0.12…0.2, например, как на рис. 14.15.

Идеальным было бы спроектировать интерфейс для пользователя MAS так, чтобы он не касался клавиатуры, работая только с мышкой.




Рис. 14.15. Имитация слайдера (бегунка) через список

В сетевом Mathcad-документе, может не быть кнопки Submit, но в документ можно вставить и несколько таких кнопок, если он объемный и входные данные нужно изменять в разных местах. В данном случае эти места необходимо «отмечать» кнопкой Submit. Пример с двумя такими кнопками показан на рис. 14.18. Хорошим решением является разбивка расчета на отдельные блоки, окончание которых фиксируется кнопкой Submit. Расчеты по последующему блоку будут заблокированы до тех пор, пока пользователь не введет нужные данные в предыдущих блоках, не проверит правильность решения и не нажмет очередную клавишу Submit.

Те, кто проектировал интерфейс пользователя на языках программирования Visual C, Visual Basic, Delphi, сразу отметят, что интерфейс MAS довольно скудный. Там нет Combobox, совмещающего текстовое окошко и список. Не предусмотрена возможность «гашения» некоторых элементов интерфейса, если какая-либо переменная принимает определенное значение (частичное решение этой проблемы: ссылка скрыта) и т.д. Но здесь нужно принимать во внимание то, что Web Controls – это не разработка Mathsoft, а стандартные средства передачи данных в Интернет, которые пока не отличаются разнообразием. Это некие заготовки (полуфабрикаты), которые можно доработать.

Так, на рис. 14.16 показано, как можно скомбинировать текстовое окно и список и получить Combobox. Особенность данного рисунка состоит в том, что значение в текстовом окне, присваивается одной переменной, а значение, выбранное из списка, другой (она скрыта). Итоговой переменной присваивается первое или второе значения. Такое комбинированное окно, сочетающее текстовое окно и список, применено в документе по адресу: ссылка скрыта – пользователь имеет возможность выбрать значение диаметра фильтра из списка (1,0; 1,5; 2,0; 2,6; 3,0 и 3,4 м) или ввести значение, отличное от перечисленных в списке.



Рис. 14.16. Имитация Combobox через список и текстовое окно

14.4.О комментариях


Составляя Mathcad-документ, нужно не скупиться на комментарии: текстовые и графические вставки, не влияющие на сам расчет, но помогающие в нем разобраться не только другому человеку, но и самому разработчику. Если же в среде Mathcad создается учебный курс, то львиная его доля, как правило, комментарии.

Это правило требует некоторой коррекции при подготовке Mathcad-документа к работе в сети. Дело в том, что объемный документ с большими графическими вставками будет «тормозиться» в сети. Поэтому основные комментарии (история создания документа, его подробное описание, инструкция по работе и др.) целесообразно поместить в отдельный (не Mathcad) документ (в html-файл, созданный, например, в среде Word или FrontPage). В самом Mathcad-документе необходимо разместить только минимум комментариев и ссылку на дополнительные комментарии, которые открываются в отдельном окне браузера. По этой же причине не рекомендуется перегружать Mathcad-документ сложными графиками. Нужно помнить, что в Mathcad-документе, открытом на MAS, нет возможности мышкой вращать трехмерный график. Поэтому следует дублировать такой график в разных ракурсах.

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

Технология MAS, предоставляя пользователю возможность доступа к операторам и функциям Mathcad, отсекает он него команды меню и диалоговые окна форматирования.

Публикуя документ в Интернете, следует помнить и о его многоязычности. Для этого, во-первых, все комментарии дублируются на нескольких языках – по-русски, по-английски и т.д. Во-вторых, пользователю предоставляется возможность выбора языка (рис. 14.17).

Решение, приведенное на рис. 14.17, следующее: разноязычные комментарии вводятся в вектор, элементы которого выводятся на дисплей в зависимости от выбранного языка (первый язык – первый элемент, второй язык – второй элемент и т.д.).




Рис. 14.17. Многоязычный Mathcad-документ

В-третьих, пользователь открывает несколько вариантов одного расчета (несколько файлов) с комментариями  и переменными (Vinput и Vвх, например) на различных языках. Так построены, например, документы ссылка скрыта и ссылка скрыта.

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

Интерактивная смена части информации представлена ниже:



Наконец, при открытии MAS-приложений в Интернете могут возникать проблемы с показом букв кириллицы не только в Web Controls, но и в простых текстовых комментариях Mathcad-документов. Поэтому рекомендуется заменять текстовые комментарии именами переменных, где спецсимволы вставлены после взятия аккорда «Ctrl + Shift + j», помня о том, что их количество должно быть минимальным. При этом нельзя использовать точку, так как она становится невидимой и выделяет последующую часть имени переменной, например в нижний индекс – Vвх.

14.5.О вставках других программ


В Mathcad-документ можно внедрить фрагменты Excel, MATLAB, LabView и обмениваться данными с этими программами. Excel, например, часто внедряют, чтобы удобнее было вводить и выводить таблицы (вектора и матрицы) или использовать специфические функции электронных таблиц.

Список таких приложений зависит от программ, которые установлены на компьютере. Mathcad-документ с программными вставками размещается на MAS только после решения лицензионных вопросов с разработчиками соответствующих программ. Ведь программы приобретались для использования только на рабочей станции, а не для открытия в Интернете. Если вообще приобретались.

14.6.Об именах переменных и функций


При подготовке Mathcad-документа к публикации в сети может оказаться так, что имя переменной или функции, нормально работающее в среде Mathcad, дает сбой при открытии этого документа в сети. Обычно это случается, если используются русские буквы в именах. Вообще-то, в именах объектов программирования русские буквы нежелательны не только в «работающих» именах переменных, функций, файлов, но даже и в комментариях. Тем не менее, их приходится использовать особенно в специфических расчетах, где те или иные объекты уже давно получили русские имена и к которым пользователи привыкли. У многих этих переменных есть латинские аналоги, но у некоторых нет. Если русские буквы необходимы в формулах, то можно посоветовать следующий прием. Например, замечено, что переменные ч (час), мг-экв (миллиграмм-эквивалент) и некоторые другие – Ц. баз (базовая цена, где баз – это нижний текстовый индекс) при открытии Mathcad-документ в сети дают сбой. Переменные «краснеют» с сообщением об ошибке «Переменная или функция не определена». «Подлечить» такие переменные можно, поставив первым их символом пробел. Вид переменной не изменится (она только чуть сдвинется вправо), а расчет восстановится. «Лечить» переменные можно заменой (подправкой) их имени через команду Edit/Replace, проставив галочку у слова Math в диалоговом окне настройки замены.

По-настоящему Mathcad поддерживает только латинские и греческие буквы. Наши хитрости, связанные с «лечением» покрасневших имен переменных, содержащих спецсимволы (пробел в начале имени), не является документированным. Следовательно, можно ожидать, что в новой версии Mathcad данный прием не будет работать. Если все же без русских букв не обойтись, то можно порекомендовать накрывать латинские названия картинкой с русскими символами.

14.7.Проблема объемных исходных данных


При работе с Mathcad-документом, открытым в сети на MAS или в самой оболочке Mathcad, может возникнуть проблема ввода большого изменяющегося массива данных (пример приведен по адресу: ссылка скрыта, где пользователь должен просмотреть и при необходимости изменить значения в нескольких десятках текстовых окнах прежде, чем нажать на кнопку Recalculate). Ввод таких данных через обычные Web Controls (текстовые окна) очень трудоемок и неудобен. При работе вне сети (в самой оболочке Mathcad) эта проблема обычно решается записью входных данных файлом на диск и считыванием их в массивы Mathcad (функция READPRN и др.). При работе с MAS такая технология затруднительна, но можно рекомендовать другой путь. Пользователь перед тем, как работать с МАS, в электронных таблицах, например, готовит новые данные – см. рис. 14.18.



Рис. 14.20. Таблица исходных данных для MAS (показана малая часть данных)

После того, как данные готовы (это могут быть подправленные данные предыдущего сеанса связи с MAS, хранящиеся, например, в архиве пользователя), они простым копированием (Ctrl+Insert – Shift+Insert) переносятся в «длинное» текстовое окно Mathcad-документа, открытого в сети – в одно или несколько окон, если длина копируемой цепочки символов превышает 256 знаков. После этого нажимается кнопка Submit и расчет ведется с новыми данными. Если ответ также объемен, то рекомендуется выводить его не отдельными скалярными величинами, а с помощью таблицы, которую также можно скопировать из сетевого Mathcad-документа, т.е. перенести в документ пользователя для дальнейшего анализа и обработки. При этом следует помнить, что вертикальные и горизонтальные прокрутки объемных массивов (векторов и матриц) в сети не работают. Кроме того, там не будет возможности раскрытия составных массивов (Nested Array).

Предложенное решение проблемы архивации и ввода в сетевом Mathcad-документе объемных данных в принципе должно быть встроено в MAS. Во многих несетевых расчетных программах – приложениях Windows – в меню File есть специальные команды (New [Project], Open [Project] и Save [Project]), позволяющие работать с архивом данных. На рис. 14.19 эти команды показаны (меню и диалоговые окна одного приложения Windows-программы с именем расчета водоподготовительной установки, где данные по отдельным проектам (сеансам работы с программой) хранятся на диске в файлах с именами Sample1.rod, Sample2.rod, ... Sample8.rod).



Рис. 14.19. Меню и диалоговое окно создания, открытия и сохранения расчетных проектов

Готовя Mathcad-документ для публикации в сети, нужно решить вопрос о стартовых значениях данных. Как правило, разработчик сетевого расчета, продолжая традицию Mathcad с его основным оператором интерфейса «:=», строит документ так, что в расчете даны некие типовые исходные данные, которые пользователь может (но не обязан!) изменить, отредактировать. С одной стороны, это удобно – можно сразу просмотреть расчет, ничего в нем не меняя или меняя отдельные данные. С другой стороны, это чревато и ошибками, связанными с тем, что пользователь может где-то не изменить нужные данные и получить неправильный ответ. Поэтому рекомендуется записывать в текстовое окошко, например, не стартовое (типовое) значение, а прочерк «–», блокирующий расчет и требующий тем самым от пользователя обязательного ввода нужных данных. По этой же причине следует использовать группу «галочек», а не список или радиоточки при организации выбора варианта исходных данных.

14.8.Контроль знаний через MAS


Задачи, выложенные на MAS, направлены в основном на решение практических задач и построены следующим образом. Пользователю, обратившемуся к MAS, предлагается через Web Controls ввести данные, нажать на кнопку Recalculate и получить ответ. Но если такой документ как бы «вывернуть наизнанку», то его можно приспособить и для контроля знаний. Допустимо генерировать исходные данные и просить пользователя (обучаемого, тестируемого) ввести нужные формулы, по которым высчитывается ответ и который в свою очередь сравнивается с истинным. На основании этого сравнения делается вывод о знании пользователем соответствующего процесса, аппарата и/или технологии. Тоже самое происходит при контроле или самоконтроле во время изучения учебного материала, а также при организации практических занятий. При этом необходимо в самом расчетном документе или в документах, на которые сделаны ссылки из расчетного документа, дать все необходимые теоретические и справочные материалы, «подталкивающие» учащегося к правильному ответу.

Пример такого документа хранится по адресу: ссылка скрыта, где предлагается по заданным геометрическим размерам прямого круглого конуса определить его некоторые параметры – высоту и объем (рис. 14.20).



Рис. 14.20. Контроль знаний через MAS: выбор варианта и ввод выражения

По документу, показанному на рис. 14.22 и хранящемуся по адресу: ссылка скрыта, учащемуся предлагается решить с помощью компьютера некую химическую задачу не через ввод числовых констант как на рис. 14.20, а через составление некоего уравнения.

При создании этих документов (рис. 14.20 и 14.21) необходимо решить следующие задачи:

1. Необходимо генерировать исходные данные так, чтобы они находились в разумном диапазоне.

2. Требуется либо выбрать исходные данные из довольно объемной таблицы, либо создавать эти данные, опираясь на генераторы псевдо- и/или действительно случайных чисел, отбраковывая неверные исходные данные (см. п. 1).

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



Рис. 14.23. Контроль знаний через MAS: составление и решение уравнения



Рис. 14.24. Пример документа с требованием ввода пароля

4. Работа с формулами, по которым ведутся расчеты, может осуществляться через выбор из предложенного списка (высота конуса – см. рис. 14.20) или посредством ввода формул через текстовые окошки (объем конуса). Эти два метода имеют свои достоинства и недостатки. Выбор из предложенного списка подразумевает, что в нем есть и неверные результаты, а это очень спорный момент в методическом плане. Считается, что учащийся может запомнить неверный ответ в предложенном списке и не запомнить правильный. Ввод формулы через текстовое окошко не совсем удобен тем, что формулу при этом приходится вводить в текстовом режиме, опираясь не на общематематические, а на «компьютерные» варианты написания операторов. Но это не так уж и плохо, так как пользователь, изучая специальную дисциплину, заодно и осваивает некоторые приемы работы на компьютере. В формулах допустим ввод как числовых констант, так и переменных, их хранящих.

5. При сравнении числовых ответов пользователя, включая и те, которые вводятся через формулы (см. п. 4) с истинными результатами, необходимо принимать во внимание точность математических операций. Например, пользователь может ввести число π как 3,14, что будет несколько отличаться от истинного значения этой фундаментальной математической константы.

14.9.Доступ к расчетам через пароль


Проблему администрирования (допуска) к расчетным документам MAS можно решать традиционными средствами, используемыми в Интернет – регистрация, получение пароля и т.д. Эти инструменты можно приложить как ко всему сайту, хранящему расчетные методики, так и к отдельным расчетам. Например, на рис. 14.22 показан расчет температуры в конденсаторе (см. рис. 14.17). Расчет организован так, что при исходных данных, показанных на рис. 14.22 (Pv = 0,95 бар и В = 750 мм рт.ст.) ответ дается (tc = 32,8 ºС / 91,1 ºF). При других исходных данных расчет блокируется, а ответ не показывается. Чтобы все заработало, пользователю с именем Login необходимо получить от разработчика пароль и ввести его в соответствующее текстовое окно (Password).

Итак, что нужно сделать, чтобы Ваш Mathcad-документ стал доступен в сети:

1. Необходимо в среде Mathcad 11.2 Enterprise Edition или Mathcad 12 отредактировать Mathcad-документ – вставить Web Controls вместо операторов присваивания. Если данной версии Mathcad у пользователя нет, он может отметить, например цветом эти операторы присваивания и попросить администратора MAS сделать нужные замены (см. рис. 14.1 и 14.3).

2. Послать по электронной почте или передать при встрече Mathcad-документ администратору MAS, например автору этого текста. Еще лучше, если WebSheet будет расположен на двух MAS. Дополнительно, например, в библиотеке фирмы Mathsoft (ссылка скрыта). Администратор этого сайта Beth Porter (bporter@mathsoft.com). Так на сайте ссылка скрыта можно увидеть слова (дубль). Это означает, что соответствующий расчет продублирован на запасном сервере.  Естественно, можно приобрести MAS и в индивидуальное пользование.

3. После установки Mathcad-документа на MAS проверить его работу и, взаимодействуя с администратором сервера, отладить этот документ.


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

2 Речь идет, конечно, о небольших расчетных программах, где время их создания и отладки сопоставимо со временем поиска их готового варианта, установки на компьютер и освоения.

3 Здесь не затрагивается финансовая сторона проблемы, т.е. не говорится о том, сколько стоят сами математические пакеты в их легальных и нелегальных версиях. Но и объемные расчеты с трудом пробивают себе путь на рынке, так как собственный расчет всегда можно расширить и модернизировать, чего не скажешь о чужих программах.

4 Под словом «нужный» подразумевается не только последняя версия Mathcad, но и старые («древние») версии, необходимые именно для данного файла.