Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатизация инженерного образования (выпуск 1)

.pdf
Скачиваний:
101
Добавлен:
28.06.2014
Размер:
22.7 Mб
Скачать

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

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

1)многие встроенные функции Mathcad не приспособлены к работе с размерными аргументами (см. статью по этому поводу — http://twt.mpei.ac.ru/ochkov /Unit_MC_MP/Unit_MC_MP.htm);

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

3)в расчетах фигурируют так называемые эмпирические формулы, т.е. формулы, где переменные связаны с конкретными единицами измерений, а не с физическими величинами. Если единица измерения (например, мг/л) фигурирует в расчете не как переменная, а как комментарий, то рекомендуется вставлять ее в расчет как единичный коэффициент, завершающий оператор вывода числового значе-

ния — мг/л: = 1 C = 25 ← мг/л. В этом случае единица измерения станет «плавающей» — будет перемещаться и оставаться в нужном месте при изменении длины выводимого числа (см. пример http://twt.mpei.ac.ru/mas/worksheets/Comp_procent.mcd).

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

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

Если в списке всего две позиции («да» или «нет» — альтернативный вопрос), то обычно используют «галочку», три и более позиций — радиокнопки и(или) список. Список отличается от радиокнопок лишь тем, что в списке часть позиций может быть скрыта и выведена на экран прокруткой. Если же из списка нужно выбрать не одну, а несколько позиций, то его заменяют на группу галочек, как показано в примере, расположенном по Интернет-адресу http://twt.mpei.ac.ru/mas/worksheets/Tests/Test_Cone.mcd.

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

583

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ

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

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

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

584

Гл а в а 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. К сожалению, пользователь не может записать в колонку Value встроенные или пользовательские переменные и выражения, а только константы. В несетевых аналогах радиокнопок и списка форматирование велось через чистое программирование на одной из версий язык BASIC — на VBS (Visual Basic Script).

585

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ

Пример программы, поддерживающей список (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 так, чтобы он не касался клавиатуры, работая только с мышкой.

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

586

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

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

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

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

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

Так, на рис. 14.16 показано, как можно скомбинировать текстовое окно и список и получить Combobox. Особенность данного рисунка состоит в том, что значение в текстовом окне присваивается одной переменной, а значение, выбранное из списка, — другой (она скрыта). Итоговой переменной присваивается первое или второе значение. Такое комбинированное окно, сочетающее текстовое окно и список, применено в документе по адресу http://twt.mpei.ac.ru/mas/worksheets/ VPU_4_1.mcd. Пользователь имеет возможность выбрать значение диаметра фильтра из списка (1,0; 1,5; 2,0; 2,6; 3,0 и 3,4 м) или ввести значение, отличное от перечисленных в списке.

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

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

Это правило требует некоторой коррекции при подготовке Mathcad-документа к работе в Сети. Дело в том, что объемный документ с большими графическими

587

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ

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

Другое решение: можно запрашивать углы ориентации графика вокруг осей и делать пересчеты перед выводом трехмерного графика на дисплей, как в примере http://twt.mpei.ac.ru/mas/worksheets/3D_Plot_Rotate.mcd.

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

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

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

588

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

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

В-третьих, пользователь открывает несколько вариантов одного расчета (несколько файлов) с комментариями и переменными (Vinput и Vвх, например) на различных языках. Так построены, например, документы http://twt.mpei.ac.ru/ mas/worksheets/Tests/Test_Cone.mcd и http://twt.mpei.ac.ru/mas/worksheets/Tests/ Test_Cone_Eng.mcd.

Есть и другое решение, когда информацию, отображающую в том числе и часть Mathcad-документа, можно превратить в графические файлы с различными именами. Такие файлы можно считывать с диска и помещать в разных частях документа, следуя логике самого расчета. По адресу http://twt.mpei.ac.ru/MAS/Worksheets/Solodov/Heat exchanger_Design.mcd читатель найдет виртуальную лабораторную работу по тепломассообмену, где выбор студентом теплообменника открывает ту или иную схему аппарата.

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

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

589

ЧА С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ

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

ВMathcad-документ можно внедрить фрагменты Excel, MATLAB, LabView

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

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

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

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

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

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

При работе с Mathcad-документом, открытым в сети на MAS или в самой оболочке Mathcad, может возникнуть проблема ввода большого изменяющегося массива данных (пример приведен по адресу http://twt.mpei.ac.ru/mas/worksheets/Exp_Steam_K_300_240_LMZ.mcd, где пользователь должен просмотреть и при необходимости изменить значения в нескольких десятках текстовых окон прежде, чем нажать на кнопку Recalculate). Ввод таких данных через обычные Web

590

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

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

После того, как данные готовы (это могут быть подправленные данные предыдущего сеанса связи с 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).

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

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

591

Ч А С Т Ь 3. ТЕХНОЛОГИИ ИНФОРМАТИЗАЦИИ ОБРАЗОВАНИЯ

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

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

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

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

Пример такого документа хранится по адресу http://twt.mpei.ac.ru/mas/worksheets/Tests/Test_Cone.mcd, где предлагается по заданным геометрическим размерам прямого круглого конуса определить некоторые его параметры — высоту и объем (рис. 14.20).

592