ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 6795
Скачиваний: 51
186
Чтобы пересчитать ответ в других единицах, надо щелкнуть на ответе, затем
на
втором (до-
полнительном) поле ввода правее и ввести нужные единицы.
Документ MATHCAD, на котором совмещены текст, графика и формулы, выглядит как
страница учебника или научной статьи, при этом формулы являются «живыми» - стоит внести из-
менения в любую из них, как MATHCAD пересчитает результаты, перерисует графики и т.д.
Можно анимировать график, записав его эволюцию при изменяющемся значении параметра, а за-
тем воспроизвести мультипликацию со звуковым сопровождением.
Документы MATHCAD могут быть особым образом «сшиты» в электронные книги. При
этом они, сохраняя все свои свойства, оказываются организованными в структуру, обладающую
гипертекстовыми ссылками, навигацией, контекстным поиском, открывающимися окнами и т.д.
Доступ к таким электронным книгам может осуществляться по локальным и глобальным
сетям - MATHCAD имеет средства для выхода в Интернет и загрузки документов с помощью Ин-
тернет-протокола.
При поиске числового результата наряду с общеупотребительными математическими опе-
рациями и функциями может быть использовано большое количество встроенных функций, таких
как функции отыскания собственных векторов матрицы, решения дифференциального уравнения,
генерации последовательности случайных чисел с заданным законом распределения.
В среде MATHCAD имеются функции трех видов: встроенные, пользовательские и вло-
женные. Это виртуальные функции, производные, интегралы, корни, связанные с соответствую-
щими вычислительными методами и алгоритмами. В меню Symbolic пакета Mathcad PLUS 5.0.
включены следующие операции символьной математики:
• вычисление выражения в аналитическом виде;
• вычисление выражения в комплексном виде;
• вычисление числового значения выражения;
• упрощение выражений;
• развертывание выражения;
• разложение на множители;
• группировка выражения;
• вычисление коэффициентов полинома;
• поиск производной по переменной;.
• интегрирование по переменной;
• решение уравнения в аналитическом
виде
;
• подстановка в выражение;
• разложение в ряд;
• представление в виде смешанной дроби;
• транспонирование матрицы;
• инвертирование (обращение) матрицы;
• нахождение детерминанта (определителя) матрицы;
• преобразование Фурье;
• обратное преобразование Фурье;
• преобразование Лапласа;
• обратное преобразование
Лапласа
;
• Z-транспонирование;
• обратное Z-транспонирование;
• пределы (команд нет.есть кнопки-иконки).
В системе имеются разнообразные способы ввода числовых данных: с клавиатуры, из дру-
гих приложений, например, электронных таблиц, с использованием технологии OLE или DDE или
буфера обмена, непосредственно
их файлов, с использованием разнообразных функций файлового
доступа.
Интеллектуальная система SmartMath включается в работу двумя способами: одноименной
командой из меню Math или нажатием и «притоплением» на панели инструментов кнопки-иконки
с изображением кафедралки - головного убора средневековых ученых.
187
SmartMath позволяет работать не только в ручном, но и в автоматическом режиме. Режим
автоматических символьных преобразований включается опцией .
Live Variable
в меню
Math.
Искомое выражение появляется правее, ниже или вместо исходного, заданного пользовате-
лем. Место для результата задается установкой
Derivation Format...
и
Derive in Place
в меню
Sym-
bolic.
Если в исходном выражении пользователь что-то поменяет, то ему придется все действия
повторить, не забыв при этом стереть предыдущий вариант ответа. В автоматическом режиме за
исходным выражением нажатием соответствующей кнопки-иконки ставится знак «стрелка впра-
во». А чтобы система SmartMath поняла, в каком направлении необходимо вести преобразования,
введены 7 ключевых слов: factor, expand, series, simplify, complex, float и assume. Эти слова можно
считать зачатками нового языка программирования, ориентированного не на вычислительный, а
на аналитический процесс.
Второй режим системы SmartMath связан с оптимизацией численных расчетов.
Ключевое слово optimize, поставленное перед суммой (произведением, интегралом, преде-
лом), заставляет систему SmartMath отойти от лобовой атаки. Если оптимальное решение найдено,
то правее выражения появляется красная шестиугольная звезда.
Пользователь может просмотреть не только численный результат, но и аналитическое вы-
ражение, упростившее расчеты. Оно заносится в специальный буфер, отображенный на диске ко-
мандой
Show SmartMath..меню Math
или щелчком по красной звездочке. Оптимизационное выра-
жение можно записать в переменную, которая будет уже иметь, не числовой, а символьный тип.
Оптимизировать расчеты можно и без слова optimize, включив опцию Optimize в меню Math. В
этом случае оптимизироваться будут все выражения без особого на то приглашения.
Оптимизация не только ускоряет расчеты, но и повышает их точность. И не только количе-
ственно, но и качественно за счет исправления методологических ошибок (промахов) численных
методов.
10.3. СИСТЕМА АНАЛИТИЧЕСКИХ ПРЕОБРАЗОВАНИЙ REDUCE
Развитие вычислительной техники начиналось с автоматизации выполнения арифметиче-
ских действий. Вместе с тем известно, что компьютеры могут успешно оперировать математиче-
скими символами. Область вычислительной математики, связанная с аналитическими преобразо-
ваниями и получившая название компьютерной алгебры, в настоящее время развивается и получа-
ет широкое распространение в различных направлениях науки и образования. Основным объек-
том, над которым производит действие компьютер, является аналитическое (символьное) выраже-
ние, организованное и преобразуемое по заданным логическим правилам. Сегодня возможно ком-
пьютерное интегрирование и дифференцирование символьных выражений, перестановки и пере-
группировки членов, приведение подобных членов, подстановки в выражения с последующим их
преобразованием.
Очевидно, что известные системы программирования (Паскаль, СИ, Бейсик и т.п.) мало
пригодны для анализа и преобразования символьной информации. Для этих целей созданы и раз-
виваются специальные системы аналитических преобразований, которые можно разделить на уни-
версальные, специализированные и общего назначения. Наибольшей популярностью пользуется
универсальная система символьных вычислений REDUCE, автором которой является профессор
А.Хиен. Система Reduce написана на языке высокого уровня ЛИСП.
Язык Reduce, составляющий ядро системы, трансляторы для которого разработаны для всех
распространенных типов ЭВМ, предназначен прежде всего для проведения вычислении в анали-
тическом виде. Язык «знает» все операции алгебры с многочленами, приведением подобных чле-
нов, раскрытием скобок; все базовые элементарные функции, в том числе и в комплексной форме,
ряд других функции; широкий набор операции над матрицами, включающий как входящие в
обычные вузовские программы, так и выходящие за их пределы (например, функции от матриц);
очень хорошо дифференцирует и несколько хуже вычисляет первообразные (но все же значитель-
но лучше, чем большинство студентов, изучивших стандартный курс интегрального исчисления);
умеет делать и ряд других действий.
Насколько это существенно для решения некоторых задач, показывает следующий пример.
В одной из диссертаций по физике магнитных явлений диссертант (дело было в середине 50-х го-
дов) потратил несколько лет на решение в принципе несложной задачи, требовавшей, однако, про-
188
ведения совершенно фантастического (для человека) количества операторных коммутаций и по-
следующего приведения подобных членов. Каждое отдельное неразрывное преобразование требо-
вало, по-видимому, нескольких месяцев неустанной работы при максимальной аккуратности и на-
пряжении. Поручить же эту работу ЭВМ было невозможно, так как в те времена языков аналити-
ческих преобразований в практически пригодном виде не существовало. О независимой проверке
работы не приходилось и думать - это потребовало бы от другого человека не менее года работы.
Примерно через 15 лет все эти выкладки были проделаны на ЭВМ в системе Reduce за несколько
дней; оказалось, что автор диссертации почти все выкладки сделал безошибочно.
Разумеется, язык «умеет» производить и численные операции, причем его арифметика име-
ет произвольную точность, не привязанную к способу представления чисел с плавающей запятой в
регистрах процессора и ячейках ОЗУ. Получить при вычислении 20 или 50 значащих цифр в ре-
зультате для Reduce вполне возможно.
В системе Reduce программа записывается и выполняется по предложениям, каждое из ко-
торых представляет собой последовательность символов. Предложение завершается одним из
символов: ; (точка с запятой), п (кружок с черточками). Если предложение оканчивается знаком
";", то результат его выполнения выводится на экран дисплея или печатающее устройство. В слу-
чае знака ◘ вывод не происходит.
В системе Reduce каждая переменная имеет имя и значение. Если переменной не присвоено
какое-либо значение, то имя переменной является ее значением. В этом заключается одно из
принципиальных отличий подобных систем от традиционных языков программирования. Перво-
начально имя и значение переменной совпадают между собой, и такая переменная называется сво-
бодной.
Запуск программы на выполнение в системе осуществляется клавишей <Enter>.
Ниже приведем несколько примеров программ в системе Reduce, которые позволят полу-
чить первоначальные представления о системах аналитических преобразований символьной ин-
формации.
Пример 1.
А; XI; SS# ABCDIF; <Enter>
Листинг результата программы следующий:
А
XI
ABCDIF
Комментарий: все переменные являются свободными, т.е. их значения совпадают с имена-
ми.
Пример 2.
А:=123456789# В:= 123456789123456789#А*В; <Enter>
Листинг результата программы следующий:
15241578765432099750190521
Комментарий: переменным А и В присваиваются целочисленные значения и вычисляется
их произведение, причем результат вычисления точный без округления.
Пример 3.
A:=S# A; A:=X*Y# A; Q:=X:=Y# Q; X; <Enter>
Листинг результата программы следующий:
189
S
Х*У
Y
Y
Комментарий: переменной А присваивается сначала значение S, затем - X*Y.
Пример 4.
13; 3+6; 2**64; 11-20; 25/(-125); 2*(3*A-6)/6; <Enter>
Листинг результата программы следующий:
139 18446744073709551616 (-9) (-1)/5А-2
Комментарий: при проведении алгебраических преобразований для записи сложных выра-
жений используют имена переменных и знаки арифметических операций.
Пример5.
I**2; A:=X+I*Y# B:=X-I*Y# A*B; A**2; <Enter>
Листинг результата программы следующий:
-1
X-52-0+Y-52
' 2*I*X*Y + X-52-0-Y-52
Комментарий: для использования комплексных чисел за латинской буквой I закреплено
значение мнимой единицы.
Пример 6.
OPERATOR F,W; W(X); F(5*X); (F(X)+A)**2; <Enter>
Листинг результата программы следующий:
W(X) F(5*X) F(X)-52-0 + 2*A*-F(x) + A-52
Комментарий: имена в скобках используют для обозначения операторов или функций, ко-
торые описываются предварительно командой OPERATOR.
Пример 7.
DF(X**2,X); DF(Y,Y,2); DF(X**3*Y*82*Z**3,X,3,Y,Z,2); DF(Y,X); <Enter>
Листинг результата программы следующий: 2*Х 0 72*Y*Z О
Комментарий: встроенный оператор DF используется для вычисления частных производ-
ных по отношению к одной или нескольким переменным, первым аргументом в скобках является
дифференцируемое выражение, далее - аргументы, по которым проводится дифференцирование, и
числа, указывающие порядок производной.
Пример 8.
190
INT(X**2,X); INT(SIN(X),X); <Enter>
Листинг результата программы следующий:
Х-53-0/3 - COS(X)
Комментарий: оператор INT используется для вычисления интегралов, на первом месте
стоит интегрируемое алгебраическое выражение, на втором месте указывается переменная интег-
рирования.
Мы привели наиболее простые возможности системы Reduce. Подробнее ознакомиться с
работой подобных систем читателю рекомендуется по специальным учебным пособиям и моно-
графиям.
Контрольные вопросы
1. В чем основные отличия переменных в традиционных системах программирования от
систем аналитических преобразований типа REDUCE?
2. В каких задачах предпочтительнее использовать методы компьютерной алгебры?
§ 11. КОМПЬЮТЕРНОЕ ТЕСТИРОВАНИЕ
11.1. ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ КОМПЬЮТЕРНЫХ
ТЕСТОВ
ПРЕДМЕТНОЙ ОБЛАСТИ
Компьютеры в обучении - вопрос, требующий отдельного рассмотрения. Отметим лишь,
что различные варианты АОС (автоматизированных обучающих систем) вобрали в себя лучшие
достижения компьютерных технологий и стали широко популярными не только в учебных заведе-
ниях, но и при подготовке персонала в промышленности, различных социальных сферах, военном
деле и т д.
Обучение - многогранный процесс, и контроль знаний - лишь одна из его сторон. Однако
именно в ней компьютерные технологии продвинулись максимально далеко, и среди них тестиро-
вание занимает ведущую роль. В ряде стран тестирование потеснило традиционные формы кон-
троля - устные и письменные экзамены и собеседования.
По-видимому, многие преподаватели уже прошли через некоторую эйфорию при создании
тестов и поняли, что это - весьма непростое дело. Куча бессистемно надерганных вопросов и отве-
тов - далеко еще не тест. Оказывается, что для создания адекватного и эффективного теста нужно
затратить много труда. Компьютер может оказать в этом деле немалую помощь.
Существует специальная
теория тестирования,
оперирующая понятиями
надежность, ва-
лидность, матрица покрытия
и т.д., не специфических именно для компьютерных тестов. Здесь
мы не будем в нее углубляться, сосредоточившись в основном на технологических аспектах.
Широкое распространение в настоящее время получают инструментальные авторские сис-
темы по созданию педагогических средств: обучающих программ, электронных учебников, ком-
пьютерных тестов. Особую актуальность для преподавателей школ и вузов приобретают програм-
мы для создания компьютерных тестов - тестовые оболочки. Подобных программных средств су-
ществует множество и программисты-разработчики готовы строить новые варианты, так называе-
мых, авторских систем. Однако широкое распространение этих программных средств сдерживает-
ся отсутствием простых и нетрудоемкнх методик составления тестовых заданий, с помощью кото-
рых можно «начинять» оболочки. В настоящем разделе представлены некоторые подходы к разра-
ботке компьютерных тестов.
Проектирование модели знаний.
Эксперты
чаще используют метод нисходящего проек-
тирования модели знаний (технология «сверху - вниз»). Вначале строится генеральное содержание
предметной области с разбивкой на укрупненные модули (разделы). Затем проводится детализа-
ция модулей на элементарные подмодули, которые, в свою очередь, наполняются педагогическим
содержанием.
Другой метод проектирования «снизу - вверх» (от частного к общему) в большинстве слу-
чаев реализуется группой экспертов для разработки модели знаний сложной и объемной предмет-
ной области, или для нескольких, близких по структуре и содержанию, предметных областей.