методичка. Решение математических задач в среде Mathcad методические указания к лабораторным работам
![]()
|
ЛАБОРАТОРНАЯ РАБОТА № 4РАБОТА С ФАЙЛАМИ, ИСПОЛЬЗОВАНИЕ УСЛОВНЫХ ФУНКЦИЙ И ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD Цель лабораторной работы – ознакомиться с основными опе- раторами, обеспечивающими работу с файлами данных, организацию вычислений с условными функциями, и изучить основы программи- рования в среде MathCAD. Работа с файлами данныхДля обмена с внешними программными системами MathCAD имеет специальный тип данных – файловые данные. В сущности, это те же векторы и матрицы, но с элементами, которые могут записы- ваться в виде простых текстовых файлов. Ниже перечислены основ- ные файловые операции. READPRN("Имя_файла"). Эта операция считывает данные в виде матрицы. Функция READPRN возвращает матрицу, значения элементов которой однозначно связаны со значениями элементов файла. Или, точнее, каждая строка или столбец возвращаемой матри- цы подобны соответствующим строкам или столбцам текстового представления файла. WRITEPRN("Имя_файла"). Эта операция применяется для записи матричного выражения (или матрицы) в файл с указанным именем. Структура файла подобна структуре матрицы. APPENDPRN("Имя_файла"). Эта операция дописывает дан- ные в уже существующий матричный файл. Следует особо отметить, что при работе с векторами и матрицами, имеющими комплексные элементы, эти операции используют расширенные векторы или мат- рицы, элементы которых – действительные числа. Имя файла включает путь к файлу. Можно задавать как полный путь к файлу, например, С:\Мои документы, так и относительный, имея в виду, что он будет отсчитываться от папки, в которой находит- ся файл с документом MathCAD. Если вы задаете в качестве аргумен- та просто имя файла, то файл будет записан или прочитан из той пап- ки, в которой находится сам документ MathCAD. На рис. 20 приведены примеры использования операторов для ввода-вывода данных. ![]() Рис. 20 Использование функций с условиями сравненияВ системе MathCAD существует ряд встроенных функций, у ко- торых возвращаемый ими результат зависит от знака или значения ар- гумента. Так, при их вычислении производится сравнение аргумента с некоторыми числовыми константами, например с нулем или целыми числами. Ниже представлены такие функции с условиями сравнения: ceil(x) – наименьшее целое, большее или равное x; floor(x) – наибольшее целое, меньшее или равное x; mod(x,y) – остаток от деления x/y со знаком x; ![]() (x) – функция Хевисайда – единичного скачка (дает 0 при ![]() (m,n) – функция, именуемая символом Кронекера, возвращаю- щая 1 при m= nи 0 в противном случае. ![]() ![]() ![]() Более широкие возможности дает функция if для создания условных выражений: if(Условие, Выражение 1, Выражение 2). Если в этой функции условие выполняется, то вычисляется вы- ражение 1, в противном случае – выражение 2 (рис. 21). Использование программных модулей![]() Рис. 21 Программные операторы сосредоточены в наборной панели про- граммных элементов (рис. 22). Набор программных элементов весьма ограничен. ![]() Рис. 22 ![]() – символ локального присваивания (телепрограммного мо- дуля); if – оператор условного выражения; for – оператор задания цикла с фиксированным числом продол- жений while – оператор задания цикла типа "пока" (цикл выполняется, пока выполняется некоторое условие); otherwise – оператор иного выбора (обычно применяется с if); break – оператор прерывания; continue – оператор продолжения; return – оператор-функция возврата; on error – оператор обработки ошибок. Пример использования программных операторов приведен на следующей странице (рис. 23). ![]() Рис. 23 ![]() ![]() присваивает переменной x значение 12. Локальный характер присваи- вания означает, что такое значение x сохраняет только в теле про- граммы. За пределами тела программы значение переменной может быть не определенным либо равно значению, которое задается опера- тором локального := и глобального присваивания. Оператор создания условных выражений if задается в виде Выражение if Условие Если условие выполняется, то возвращается значение выраже- ния. Совместно с этим оператором часто используются операторы прерывания break и оператор иного выбора otherwise. Оператор for служит для организации циклов с заданным чис- лом повторений. Он записывается в виде ![]() Эта запись означает, что если переменная Var меняется с шагом +1 от значения Nmin до Nmax, то выражение, помещенное в шаблон, будет выполняться. Переменную счетчика Var можно использовать в выражениях программы. Оператор While служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор запи- сывается в виде while Условие Выполняемое выражение записывается на место шаблона. Оператор otherwise (иначе) обычно используется совместно с оператором if. Его использование поясняет следующая программная конструкция: ![]() Оператор break вызывает прерывание работы программы вся- кий раз, как он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла. Оператор continue (продолжения) используется для продолже- ния работы после прерывания программы. Он также используется обычно совместно с операторами задания циклов while и for, обеспе- чивая после прерывания возврат в начало цикла. Оператор-функция возврата return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае return 0 if x < 0 будет возвращаться значение 0 при любом x< 0. Оператор on error и функция error. Оператор обработки оши- бок позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде Выражение_1 on error Выражение_2 Здесь если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. Для обработки ошибок полезна также функция error(S), которая будучи в программном модуле возвращает окошко с надписью, хранящейся в символьной переменной Sили в символьной константе (любой фразе в кавычках). На следующей странице рассмотрены примеры использования программных блоков. Вложенные циклы позволяют сделать программу компактней. Рассмотрен пример решения с использованием вложенных циклов следующей задачи. Данмассивчиселa1..a10.Вычислить 2 10 a1+a2+…+a10(рис. 24, 25). ![]() Рис. 24 ![]() ![]() ПРИМЕНЕНИЕ ПРОГРАММНЫХ БЛОКОВ ![]() ![]() ![]() ![]() ![]() 0 if x 2 x 10 9.99 10 e ![]() ![]() ![]() ![]() ![]() ![]() prod( n) p 1 prod( 4) 24 ![]() ![]() ![]() for i 1 n ![]() ![]() sum( 10) 55 sum( 25) 325 p p i ![]() p prod( 8) 4.032104 ![]() выдачи индекса этого элемента. ![]() ![]() ![]() t( v thesh ) j 0 ![]() ![]() ![]() ![]() Инициализация счетчика Отслеживание специального случая ![]() ![]() ![]() ![]() t( v 1.98) 8 ![]() Впервые восьмой элемент массива превосходит заданную величину ![]() Порядок выполнения работыВойти в систему MathCAD. Внимательно ознакомиться с опи- санием лабораторной работы. Выполнить некоторые рассмотренные примеры. После завершения изучения описания удалить с листа рас- смотренные примеры. 44 Выполнить средствами пакета MathCAD последовательность заданий из вариантов, указанных преподавателем, формируя единый до- кумент. Каждую задачу обязательно сопровождать комментариями. Выполнить задание 1. Выполнить задание 2. Используя условную функцию if, построить график ступен- чатой функции задания 3. Используя программный модуль решить задачу из задания 4. Используя программный модуль решить задачу из задания 5. Используя подпрограммы, решить задачу из задания 6. Содержание отчетаТитульный лист. Решение всех задач с комментариями. Выводы. Контрольные вопросыПеречислите основные операторы для работы с файлами данных. Напишите структуру оператора условия if. Назовите основные программные операторы MathCAD. Какие операторы позволяют организовать циклы с неизвест- ным количеством повторений ? Какие операторы позволяют организовать циклы с известным количеством повторений? Каким образом можно организовать вложенные циклы ? ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Задание 3.![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Задание 4.![]() i ![]() 1 i2 ![]() i1 i3 ![]() i1 i ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() 51 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() |