Кафедра информатики и вычислительной техники Курганской государственной сельскохозяйственной академии (зав. кафедрой канд. экон. наук, доцент А.Х.Голованова); директор Гуманитарного института, д-р техн. наук, профессор Б.С.Воронцов
Печатается по решению методического совета Курганского государственного университета.
Научный редактор – канд. техн.. наук, доцент А.П.Головко
В67 Волк В.К. Программирование в системе MathCAD.: Учебное пособие. – Курган: Изд-во Курганского гос. ун-та. 2005. - 78 с.
MathCAD рассматривается как универсальная система программирования, ориентированная на пользователя - непрограммиста. Вводятся базовые понятия языка MathCAD: типы и структуры данных, оператор, переменная и функция, математическое и логическое выражения. Дается обзор встроенных операторов и функций, обеспечивающих обработку числовых и строковых данных, одномерных и многомерных массивов, внешних файлов данных. Обсуждаются средства графического анализа зависимостей. Вводится понятие программы, как составного выражения MathCAD, рассматриваются типовые алгоритмические структуры и операторы структурного программирования.
Пособие содержит пять тематических разделов. Изложение каждой темы сопровождается примерами, комментариями и методическими рекомендациями по программированию и применению встроенных программных средств. Шестой раздел пособия содержит лабораторный практикум, включающий перечень учебных заданий, рекомендуемых для самостоятельной подготовки и проведения лабораторных работ по каждой из рассмотренных тем. Завершающий раздел пособия содержит контрольные задания повышенной сложности.
Пособие имеет целью практическое ведение в MathCAD и освоение техники структурного программирования в объеме, достаточном для последующего использования этой системы при изучении соответствующих разделов высшей математики, общетехнических и специальных дисциплин.
Может быть рекомендовано широкому кругу начинающих пользователей системы MathCAD.
Контрольная работа по теме №1............................................................................ 72
Контрольная работа по теме №2............................................................................ 72
Контрольная работа по теме №3............................................................................ 73
Контрольная работа по теме №4............................................................................ 75
Контрольная работа по теме №5............................................................................ 75
СПИСОК ЛИТЕРАТУРЫ............................................................................................... 77
ПРЕДИСЛОВИЕ
Потребность в автоматизации трудоемких математических расчетов возникла не вчера и вряд ли будет когда-либо удовлетворена в полной мере. Осознание обществом такой потребности привело в свое время к созданию компьютерной техники, которая, как известно, долгое время использовалась исключительно в научно-технической сфере. Несмотря на то, что с тех пор область применения компьютеров существенно расширилась, традиционные задачи расчетно-аналитического характера не потеряли своей актуальности, что подтверждается наличием на рынке программных продуктов множества специализированных CAD-систем (Computer Aided Designing), используемых для автоматизированного проектирования сложных технических объектов.
Ядром любой CAD-системы является модуль математического моделирования проектируемого объекта - наиболее "интеллектуальная" часть всей системы, определяющая, по существу, качество проектных решений, предлагаемых пользователю. В то же время, не является секретом и тот факт, что этот "интеллектуальный" модуль часто является и наименее проработанной частью системы, а в некоторых системах он просто отсутствует. Реальным выходом из такой ситуации является создание специализированных компьютерных программ, решающих задачи расчета и моделирования объектов определенного класса, с последующей интеграцией этих программ в CAD-систему.
В последнее десятилетие произошел своеобразный прорыв в области математического обеспечения систем автоматизированного проектирования и научных исследований – все большую популярность получают как специализированные, так и универсальные математические системы. Внедрение таких систем в сферу автоматизации научной и инженерной деятельности обусловлено необходимостью сокращения разрыва между всё возрастающей сложностью используемых математических моделей и оперативностью программной реализации этих моделей для их практического использования. В качестве примеров можно привести такие известные системы, как StatGraph, MatLab, Maple и, разумеется, систему MathCAD, которая является объектом изучения в предлагаемом учебном пособии.
В отличие от других математических систем, MathCAD имеет в своем составе функционально полный набор встроенных операторов структурного программирования, что позволяет пользователям реализовывать сколь угодно сложные алгоритмы и создавать MathCAD-программы в стиле традиционных языков программирования высокого уровня – таких, например, как Basic, Pascal или Fortran. MathCAD является, по существу, универсальной системой программирования, соединившей в себе математическую мощь специализированной вычислительной системы с алгоритмической гибкостью языка программирования высокого уровня.
Предлагаемое учебное пособие не следует рассматривать, как путеводитель по пользовательскому интерфейсу MathCAD – читателю, владеющему навыками общения с персональным компьютером и имеющему минимальный опыт работы с приложениями Windows, потребуется не более часа для освоения основных элементов языка MathCAD.
Пособие не является также и полным справочником по встроенным операторам и функциям MathCAD – эти вопросы гораздо подробнее рассмотрены во многих других (более толстых) книгах, например, в [4,5,6,7,9].
Не следует также ожидать от данного пособия рекомендаций по применению системы MathCAD для решения уравнений и систем, задач математического анализа, теории вероятностей, математической статистики или других задач прикладной математики – всех интересующихся этими вопросами отсылаем к соответствующим специализированным изданиям [8].
Предлагаемое пособие обеспечивает практическое введение в систему MathCAD и является, по существу, руководством по программированию. При этом MathCAD рассматривается, как универсальная система программирования, снабженная визуальным языком (своеобразным "конструктором" программ) и ориентированная на пользователя-непрограммиста. При изложении материала основное внимание уделено базовым вопросам программирования, понимание которых необходимо для создания эффективно работающих компьютерных программ, независимо от выбранных средств их реализации.
Пособие состоит из пяти тематических разделов, каждый из которых содержит изложение соответствующего теоретического материала, сопровождаемое подробно комментируемыми примерами – фрагментами MathCAD-программ.
В четырех первых разделах пособия подробно рассмотрены вопросы организации данных, обрабатываемых MathCAD-программами, и встроенные средства, обеспечивающие обработку данных различных типов и структур. Вводятся понятия константы, переменной и функции, как базовых элементов выражения MathCAD. Обсуждаются форматы представления данных числового типа, методы обработки строковых данных, использование ранжированных переменных в математических выражениях.
Особое внимание уделено массивам и внешним файлам данных. Определено понятие массива, индекса элемента массива, рассмотрены встроенные операторы и функции, обеспечивающие обработку одномерных и многомерных массивов. Подробно рассмотрены типовые структуры внешних файлов ASCII-формата, обрабатываемых встроенными функциями MathCAD.
Пятый раздел пособия посвящен собственно программированию (в традиционном понимании этого слова). Вводится неформальное определение алгоритма, обсуждается регламентируемая стандартом нотация графических схем алгоритмов и программ [3], рассматриваются типовые алгоритмические структуры, используемые для описания процессов обработки данных.
Определено понятие программы, как составного выражения MathCAD, понятие локальной переменной, расширяющее определение переменной, данное ранее, рассмотрены примеры использования операторов структурного программирования для реализации типовых алгоритмических структур. Обсуждается структура MathCAD-программы, базирующаяся на понятии подчиненной программы, рассматриваются специфические вопросы использования переменных в подпрограммах и определения программ через другие про граммы, в том числе и рекурсивные определения подпрограмм.
Завершающие разделы пособия содержат учебные задания по каждой из рассмотренных тем, которые могут использоваться при проведении практических занятий и лабораторных работ, и контрольные задания повышенной сложности.
Пособие разработано в соответствии с программой дисциплины "Специальные главы информатики", предусмотренной учебными планами специальности 220301 - "Автоматизация технологических процессов и производств" во втором семестре. Изучение материала, изложенного в пособии, не требует от студентов специальной подготовки по математике или программированию. Напротив, одной из целей преподавания дисциплины является подготовка студентов к эффективному использованию (и более глубокому изучению) системы MathCAD в процессе освоения соответствующих разделов высшей математики, а также общетехнических, экономических и других специальных дисциплин, требующих решения задач математического моделирования или проведения сложных математических расчетов.
Выполнение некоторых контрольных заданий по темам №3, №4 и №5 требует понимания основ организации и функционирования персонального компьютера, изучаемых студентами указанной выше специальности в первом семестре в рамках дисциплины "Информатика". В частности, предполагается, что студенты знакомы с сегментной организацией памяти персонального компьютера и структурой таблицы векторов прерываний, а также со структурой системной области дисковых устройств внешней памяти, поддерживаемой в FAT-ориентированных файловых системах, и типовыми алгоритмами выполнения основных файловых операций. Необходимая справочная информация по этим вопросам приведена в [2].