Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

ПРЕДИСЛОВИЕ

Персональные ЭВМ (ПЭВМ) широко внедряются в науку и технику, образование, управленческую деятельность, технологические процессы и т. д. Эффективность применения ПЭВМ связана в первую очередь с программным обеспечением, как с наличием готовых пакетов системных и прикл адных программ, так и со способностью пользователя адаптировать их к решению конкретных задач.

Математическое моделирование процессов и явлений в различных областях науки и техники является одним из основных способов получения новых знаний и технологических решений. Для осуществления математического моделирования исследователь независимо от его специальности должен знать определенный минимальный набор алгоритмов вычислительной математики, а также владеть способами их программной реализации на ПЭВМ. Такие знания и навыки необходимы также и при использовании готовых пакетов программ, иначе будут затруднительными планирование вычислительного эксперимента и интерпретация его результатоа

В настоящее время имеется обширная литература по методам вычислений, программированию на алгоритмических языках. Однако сравнительно небольшое количество изданий объединяет эти два направления.

Из книг по вычислительной математике универсального содержания, предназначенных для лиц, не являющихся специалистами в этой области, отметим [1], в которой доступность изложения сочетается с достаточной строгостью и практической направленностью излагаемых алгоритмов. Популярность [1] среди научных работников и инженеров проявляется в многочисленных ссылках на нее в научных публикациях, связанных с вычислительным экспериментом при математическом моделировании в различных областях науки и техники. В последние годы издан ряд книг, где представлен широкий спектр методов и алгоритмов [2-7], а также работ, в которых более углубленно даны отдельные разделы вычислительной математики [8-15].

Среди книг, объединяющих изложение вычислительных алгоритмов с их реализацией на языке Бейсик, отметим [16-17], а на языке Фортран -[18-21]. Подобные работы с программами на языке Паскаль, где были бы представлены систематически методы вычислительной математики, автору не известны.

При работе на ПЭВМ широко используются языки программирования Бейсик, Фортран и Паскаль, каждый из которых имеет определенные преимущества и недостатки.

Так, для Бейсика характерны слабая структурированность, сравнительно медленная скорость выполнения программ вычислительных алгоритмов,

возможность побочных эффектов за счет «лерекрытия» переменных в подпрограммах. Но в то же время программы на Бейсике отличаются читаемостью и обозримостью, краткостью и наличием диалогового режима, удобством непосредственного внесения добавлений и исправлений без использования программ-редакторов и повторной компиляции программы. Такие особенности позволяют использовать Бейсик для реализации сравнительно простых алгоритмов, а также при проверке и отладке отдельных фрагментов сложных алгоритмов и программ.

Фортран отличается недостаточной структурированностью, наличием множества архаизмов, сохранившихся со времен первых ЭВМ, неконтролированностью объявлений и введением новых переменных по умолчанию. Но в то же время накоплен богатый опыт применения языка и созданы обширные пакеты программ для решения прикладных задач, разработано системное математическое обеспечение и, в частности, оптимизирующие компиляторы для использования Фортрана на разных ЭВМ. Ученых и инженеров Фортран привлекает простотой работы с комплексными переменными и функциями.

В обучении программированию и практике применения ПЭВМ сейчас широко используется и язык Паскаль благодаря его структурированности, четкой и однозначной грамматике, удобству работы с файловыми структурами. Однако некоторая громоздкость записи программ из-за необходимости описания всех используемых объектов, недостаточная развитость проблемного математического обеспечения, отсутствие оптимизирующих компиляторов на некоторых ПЭВМ являются препятствием при решении задач математического моделирования на языке Паскаль.

Вследствие указанных особенностей языков программирования на разных этапах решения прикладных задач бывает выгодно использовать разные языки или совмещать их на одном этапе при программировании частей одной задачи. Так как каждый язык обладает своим набором средств для программной реализации алгоритмов, то «дословный» перевод программ с одного языка на другой не всегда возможен. Один и тот же алгоритм должен быть записан на каждом языке программирования с использованием своих изобразительных средств. Здесь возникает ситуация, подобная переводу текста с одного естественного языка на другой.

В предлагаемой книге классические методы вычислительной математики иллюстрируются параллельными программами на языках Бейсик, Фортран и Паскаль. Всего приводится около 150 законченных программ, ориентированных на ПЭВМ, работающих с операционной системой RT-11 или ее модификациями (СМ-4, «Электроника 100-25», ДВК-2, ДВК-3 и др.). Программы составлялись так, чтобы их было легко читать и модернизировать, брать за основу при разработке программных комплексов. Без особых трудностей программы могут быть адаптированы на другие типы ПЭВМ. В программах, где это возможно без ущерба для читаемости и простоты, минимизировано количество используемых переменных и операторов.

а тексте каждого раздела приводятся краткое изложение вычислительного метода и задачи, используемой для примера, даются сведения, необходимые для перехода алгоритма метода к программе, рассматривается обобщенная блок-схема программы. Более подробные описания даны к программам на языке Бейсик, где обращается внимание на «подводные камни», объясняется логика использования тех или иных конструкций. В пояснениях к программам на языках Фортран и Паскаль обращается внимание только на отличительные особенности от программ на Бейсике.

Читатель, владеющий одним из названных языков программирования, с помощью предлагаемой книги сможет практически освоить два других.

В книге не приводится начальных сведений об используемых языках программирования и операционных системах микроЭВМ. С общей структурой программного обеспечения ПЭВМ можно ознакомиться по книге [22], с современной технологией программирования - по [23-26]. Язык Бейсик в составе операционных систем, используемых на отечественных мини- и микроЭВМ, описан в [27-28]; с особенностями применения Бейсика на компьютерах фирмы IBM можно ознакомиться по руководствам [29-30]. Необходимые знания о Фортране поможет получить книга [31], особенности использования Фортрана на отечественных ПЭВМ приведены в [32]. Общие сведения по языку Паскаль изложены в [33-34], а особенности его применения на микроЭВМ - в [35].

В первой главе рассмотрены методы и алгоритмы отделения и уточнения корней трансцендентных уравнений с параметрами. В качестве примеров используются уравнения, содержащие специальные функции математической физики, среди которых функции Бесселя, эллиптические интегралы, логарифмическая производная "у-функции, интегралы Френеля, интеграл вероятности. Подпрограммы вычисления этих функций можно использовать как самостоятельные отдельно от подпрограмм методов решения уравнений. В первой главе показан способ реализации вычислений с комплексными переменными на разных языках программирования.

Во второй главе рассматриваются точные и итерационные методы решения систем линейных алгебраических уравнений, вычисления определителей, обратных матриц, нахождения собственных значений матриц.

В третьей главе приводятся алгоритмы и программы интерполяции полиномами и сплайнами. Рассматриваются практические способы численного дифференцирования аппроксимирующих функций, применение интерполяции для решения уравнений и вычисления собственных значений матриц.

В четвертой главе изложены различные варианты метода наименьших квадратов, используемого для обработки экспериментальных данных, сглаживания и дифференцирования зависимостей, сокращения объемов численной информации. Приведены программы метода со степенным базисом, базисом в виде классических ортогональных полиномов и полиномов дискретной переменной, линейного варианта метода.

В пятой главе содержится изложение наиболее распространенных способов вычисления определенных интегралов и приведены программы,

реализующие интерполяционные методы, методы наивысшей алгебраической точности и статистических испытаний.

В шестой главе рассмотрены алгоритмы решения задачи Коши для системы обыкновенных дифференциальных уравнений. Приведены программы методов Рунге-Кутты разных порядков, среди которых имеется вариант метода с автоматическим выбором шага интегрирования. Из многоточечных методов выбраны методы Адамса и Гира типа прогноз-коррекция.

Седьмая глава посвящена методам решения граничных задач для обыкновенных дифференциальных уравнений и уравнений в частных производных. Предлагаются программы методов стрельбы и конечных разностей для граничных задач и задач на собственные значения. В качестве примера задач последнего класса рассмотрена задача о распространении электромагнитных волн в коаксиальной волноведущей структуре.

В восьмой главе разработаны программы элементарных методов безусловной минимизации функции одной и многих переменных.

Предлагаемая книга предназначена для научных и инженерно-технических работников, не являющихся специалистами в области программирования и вычислительной математики, желающих ставить и решать прикладные задачи с помощью ПЭВМ. Автор не претендует на полноту охвата и глубину изложения выбранных методов, рассмотренный материал следует считать введением в необъятный мир вычислительной математики.

Автор будет благодарен всем читателям за критические замечания и предложения, которые следует направлять по адресу: 634055, Томск, а/я 2211.

<< Предыдущий параграф Следующий параграф >>
Оглавление