Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

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

Следует помнить, что Mathcad по-настоящему поддерживает только латинские и греческие буквы. Наши хитрости, связанные с «лечением» покрасневших имен переменных, содержащих спецсимволы, (пробел в начале имени) не является документированным. Следовательно можно ожидать, что в новой версии Mathcad данный прием не будет работать. Если все же без русских букв не обойтись, то можно порекомендовать накрывать латинские «поганые» названия картинкой с русскими символами - см. совет 214 из книги «Советы пользователям Mathcad». Пример специальных переменных – http://twt.mpei.ac.ru/mas/worksheets/Spec_Var.mcd.

Проблема объемных исходных данных (Suggested solution for a large volume input data)

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

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

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...