Маткат. MatCAD_5В060300-русс. Программа по дисциплине Mathcad для задач механики для специальности 5B060300 Механика
Скачать 0.82 Mb.
|
Примечание: РГЗ – расчетно-графическое задание.7. Карта учебно-методической обеспеченности дисциплины
8. Лекционный комплекс (тезисы лекций) Тема лекции №1. Запись и чтение файловых данных. Обмен информацией с другими программами - приложениями. Во все времена инженерам, исследователям (т.е. специалистам в своих областях) был необходим удобный и достаточно эффективный (для своего времени) инструмент для решения своих задач. В этот «инструментальный» ряд можно включить логарифмическую линейку, арифмометр, калькулятор, универсальную ЭВМ, персональный компьютер. При использовании вычислительной техники встала проблема реализации алгоритмов решения в виде так называемых программ. Для решения этой проблемы в различные годы использовались следующие средства: программирование в машинных кодах (включая языки типа Ассемблер); программирование на языках высокого уровня (включая объектно-ориентированное программирование); системы компьютерной математики. Разработка программы (даже с использованием языков высокого уровня с приставками Visual) требует и соответствующей подготовки (назовем ее «программистской»), и достаточно большего количества времени (и то и другое часто отсутствует у «обычного пользователя»). Поэтому, начиная с 90-х годов прошлого века, широкую известность и заслуженную популярность приобрели так называемые системы компьютерной математики или, проще, математические пакеты. К ним можно отнести MathCAD, MatLab, Mathematica, Maple. На наш взгляд, наиболее подходящим для выполнения научно-инженерных расчетов является математический пакет MathCAD, особенно его последние версии MathCAD2000 Professional, MathCAD2001i Professional. Эти версии содержат тщательно сбалансированные средства численных и символьных вычислений с графической визуализацией результатов в сочетании с современным интерфейсом пользователя, мощной справочной системой, обширными пакетами расширений (ориентированных на решение определенного класса задач) и средствами для работы в Internet. Экспорт и импорт данных в пакете MathCAD. Запись и чтение файловых данных. В этой теме будут рассмотрены функции MathCAD, позволяющие записывать и считывать числовую и символьную информацию, представляемую ASCII-кодами, когда каждому символу соответствует определённый код со значением от 0 до 255. Обмен данными через файл позволяет «состыковать» MathCAD с программами, написанными на других языках высокого уровня (например, Си, Pascal и т.д.). Эти программы могут либо «генерировать» данные для дальнейшей обработки MathCAD, либо использовать данные, «генерируемые» в пакете MathCAD. Данные, читаемые из файла или записываемые в файл, принадлежат к новому типу данных – файловых. Для удобства изложения операторов для работы с файловыми данными, разделим эти данные на две группы: структурированные файлы; неструктурированные файлы. В структурированном файле данные располагаются в виде матрицы, т. е. каждая строка (так называемая запись) имеет одинаковое число элементов. В неструктурированном файле данные располагаются либо последовательно (только одна запись), либо в нескольких записях, но с разным числом элементов в них. При работе со структурированными файлами необходимо помнить: пробелы, запятые, знаки табуляции используются как разделители данных; перевод строки (клавиша [Enter]) осуществляет переход к новой строке (новой записи файла); в качестве разделителя между целой и дробной частью вещественного числа используется только десятичная точка (внимание при работе с данными из таблиц Excel); данные в файле должны быть упорядочены в виде матрицы, т.е. каждая строка должна содержать одинаковое количество числовых значений; пустые строки и строки, содержащие ASCII-текст, при считывании игнорируются; если файл не соответствует перечисленным требованиям, то имя файла в функциях ввода-вывода выделится красным цветом. При работе с неструктурированными файлами необходимо помнить: пробелы, запятые, знаки табуляции, переводы строк используются как разделители данных; в качестве разделителя целой и дробной части вещественного числа используется только десятичная точка. В функциях работы с файловыми данными аргументом является Имя файла, в качестве которого может выступать: строковая константа, содержащая полное имя файла или только имя файла (если он находится в текущем каталоге); строковая переменная, получившая значение строковой константы, определяющей имя файла. Для создания неструктурированных файлов используется две функции: WRITE («Имя файла») : = «Данные» APPEND («Имя файла») : = «Данные» При использовании этих функций следует помнить: если в функции WRITE указано имя существующего файла, то он заменяется новым файлом без предупреждения. Следовательно, этой функцией нельзя пользоваться для добавления данных в конец существующего файла; функция APPEND используется для добавления данных в конец существующего файла. Если файл не существует, то эта функция создает его, записывая туда данные; каждое обращение к функции APPEND добавляет в файл данные, начиная с новой строки (новую запись); ДАННЫЕ – это только один элемент из следующего списка: имя простой переменной; имя массива с указанием индексного выражения; значение числовой константы; для записи нескольких элементов необходимо вызов функции поставить в тело цикла, параметр которого индексируется выражением. Для создания структурированных файлов используются две функции: WRITEPRN («Имя файла») := <данные> appendPRN («Имя файла») := <данные> При использовании этих функций необходимо помнить: если в функции WRITEPRN указано имя существующего файла, то этот файл заменяется новым файлом без предупреждения; функция APPENDРRN используется для добавления данных в конец существующего файла. При этом число столбцов добавляемого массива должно совпадать с числом столбцов массива, уже записанного в файл. Это правило позволяет добавлять в конец файла векторы с любым числом элементов; в качестве разделителя между числами записывается пробел, в конце каждой строки осуществляется переход на новую строку; ДАННЫЕ – это только один элемент из следующего списка: имя простой переменной; имя массива; значение числовой константы. Для чтения данных из неструктурированных файлов используется функция: <ИМЯ> := READ(<Имя файла >), где <ИМЯ> – это либо имя простой переменной, либо имя массива с указанным индексным выражением (т.е. элемент массива). Для чтения данных из структурированных файлов используется функция: <ИМЯ> := READPRN(<Имя файла >), где <ИМЯ> – это либо имя простой переменной, либо имя массива. Обмен информацией с текстовым процессором Word. При оформлении дипломного проекта, диссертации, научной публикации возникает необходимость в объединении текстовой информации и результатов вычислений, графиков, полученных в документе MathCAD. Здесь возможны два способа объединения. Способ 1. Вставка фрагмента документа MathCAD в документ Word. Способ 2. Вставка фрагмента документа Word в документ MathCAD. Обмен информацией между MathCAD и Excel может быть осуществлен либо через буфер обмена, либо через установление объектной связи. Основная литература:[1], [2], [12]. Дополнительная литература: [5], [6], [7]. Тема лекции №2. Безмодульное программирование в пакете MathCAD. В этом разделе рассматриваются конструкции пакета MathCAD, позволяющие реализовать следующие типы алгоритмов: линейный, разветвляющийся и циклический (проще–цикл). При этом будут изучены два способа программирования: программирование в пакете MathCAD без использования программных модулей; программирование с использованием программных модулей. Первый способ (в дальнейшем для простоты названный безмодульным программированием) реализуется записью соответствующих конструкций непосредственно в математических областях документа MathCAD, и он приемлем для сравнительно простых алгоритмов. Второй способ (называемый для простоты модульным программированием) предполагает реализацию отдельных независимых алгоритмов вычисления (например, решение нелинейного уравнения методом «деления отрезка пополам») в виде отдельных программных модулей, которые будем называть подпрограммами-функциями (сокращенно П-Ф). Первое слово «подпрограмма» указывает на свойство «изолированности» этого модуля от других вычислений в документах MathCAD, а второе слово «функция» – на способ вызова модуля и механизмы передачи вычисленных в модуле значений. Заметим, что принцип модульного программирования в свое время (70–80 годы XX века) существенно повысил производительность труда программистов, разрабатывающих программы с использованием алгоритмических языков высокого уровня. Применение его в пакете MathCAD позволяет: «распараллелить» разработку программы между несколькими исполнителями; создать проблемно-ориентированные библиотеки П-Ф для решения научно-технических задач с размещением библиотек на сайтах Интернета; уменьшить затраты на разработку и сопровождение программ для пакета MathCAD. Рассматриваются конструкции пакета, позволяющие реализовать линейный, разветвляющийся и циклический алгоритмы непосредственно в математических областях документа MathCAD. Программирование линейных алгоритмов. Характерной особенностью линейных алгоритмов является строго последовательное выполнение всех операций алгоритма без пропусков и повторений вычислений. Поэтому конструкции, реализующие такой алгоритм, записываются в документе MathCAD в нужном порядке их выполнения, т.е. «слева направо – сверху вниз». Программирование разветвляющихся алгоритмов. Характерной чертой разветвляющихся алгоритмов является наличие в них нескольких возможных ветвей вычислений. Выбор конкретной ветви зависит от выполнения (или не выполнения) заданных условий на значения переменных алгоритма. Для проверки заданных условий в MathCAD используется: выражение отношений, логические операции и логические выражения. Выражением отношений (или просто отношением) называется конструкция вида: <выр.1> <операция отношения> <выр.2>, где <выр.1>, <выр.2> – произвольные арифметические выражения, <операция отношения> – любая из следующих операций: (здесь вертикальные чёрточки являются разделительным символом при перечислении). Для ввода знаков операций отношений можно использовать использовать клавиши, обозначения которых приведены в табл.1. Таблица 1.
|