Применение численных методов в химии в настоящее время является
необходимостью, обусловленной развитием как теоретических, так и
практических аспектов науки. Данный курс является базовым. Он используется
в учебной и научной работе студентов например, в курсах химическая
технология и математические методы в химии. Дополнительную информацию
можно получить
здесь.
Основы алгоритмического языка Turbo Pascal
Понятие о языках программирования “низкого” и “высокого” уровня.
Алгоритмические языки программирования. Понятие о программах - компиляторах
и программах -интерпретаторах.
Международная система байтового кодирования информации ASCII. Таблица
ASCII-кодов: управляющие символы, основная и расширенная часть таблицы.
Алфавит алгоритмического языка программирования Turbo Pascal. Структура
программы. Правила размещения разделов программы.
Типы данных. Стандартные типы данных и типы данных, определяемые
программистом. Раздел объявления типов. Целые и вещественные типы
данных. Логический и символьный типы данных. Перечисляемые типы
данных. Тип - диапазон. Выражения. Переменные. Раздел объявления
переменных. Константы. Типизированные константы. Раздел объявления
констант. Стандартные функции языка Turbo Pascal. Арифметические
функции. Функции преобразования типов и функции для величин порядкового
типа. Арифметические операции. Логические операции. Таблицы “истинности”.
Операции отношения. Порядок вычисления выражений.
Операторы. Простые операторы: оператор присваивания, пустой оператор:
оператор Goto.
Метки. Раздел описания меток.
Структурированные операторы. Составной оператор begin ... end. Условные
операторы If - then – else, Case. Операторы цикла Repeat ... until,
While, For. Использование стандартных процедур Break и Continue.
Структурированные типы данных. Тип-массив. Тип - строка. Тип - запись.
Обращение к полям записи. Оператор With. Тип - файл.
Понятие подпрограммы. Глобальные и локальные параметры. Особенности
использования механизма формальных и фактических параметров. Классификация
формальных параметров. Подпрограмма - процедура. Подпрограмма-функция.
Особенности использования стандартных процедур Exit и Halt. Директивы
подпрограмм. Директива Forward.
Организация ввода-вывода. Стандартные процедуры и функции для всех
типов файлов. Стандартные процедуры и функции для текстовых файлов.
Особенности работы с процедурами Read(ln), Write(ln). Файловые переменные
Input, Output. Понятие формата вывода. Стандартные процедуры и функции
для типизированных файлов.
Понятие модуля. Библиотеки процедур и функций.
Элементы численных методов
Особенности выполнения вычислений на ЭВМ. Диапазон и точность представления
чисел. Машинный нуль. Ошибки округления. Абсолютная и относительная
погрешности результатов основных арифметических операций. Потеря
точности при операциях сложения и вычитания. Накопление ошибок.
Методы решения нелинейных алгебраических и трансцендентных уравнений.
Аналитическое и графическое отделение корней. Методы уточнения корней:
метод деления отрезка пополам, метод хорд, метод Ньютона, комбинированный
метод хорд и Ньютона, метод параболической аппроксимации, метод
итераций. Условия применимости и сходимости. Скорость сходимости.
Реализация методов решения нелинейных уравнений: расчет рН и равновесных
концентраций компонентов растворов слабых электролитов, буферных
смесей, при гидролизе солей; моделирование кривых титрования; расчет
констант скоростей реакций; расчет молярного объема газов с помощью
уравнения Ван-дер-Ваальса; вычисление персистентной длины молекулы
полимера; расчет эффективности разделения при ректификации.
Методы решения систем линейных алгебраических уравнений: метод,
использующий правило Крамера; итерационный метод Гаусса-Зейделя.
Методы исключения: Гаусса-Жордана, метод обращения матрицы. Условия
устойчивости вычислений.
Методы решения систем нелинейных уравнений. Отделение корней. Методы
уточнения корней: метод Ньютона - Рафсона, метод итераций.
Реализация методов решения систем уравнений: расчет равновесий для
процессов комплексообразования.
Методы обработки табличных данных. Аппроксимация. Интерполяция таблично
заданной функции как вид точечной аппроксимации. Интерполяционный
полином. Узлы интерполяции. Интерполяция таблично заданной функции
методом Лагранжа. Интерполяция таблично заданной функции методом
Ньютона. Точность интерполяции. Интерполяция таблично заданной функции
методом сплайнов. Построение кубического интерполяционного сплайна.
Методы обработки табличных данных. Построение аппроксимирующей функции
с использованием критерия среднеквадратичного приближения. Метод
наименьших квадратов. Линейный и нелинейный метод наименьших квадратов.
Реализация методов обработки табличных данных: обработка данных
Лабораторной работы "Определение относительной атомной массы
металла по правилу Дюлонга-Пти" из курса Неорганической химии.
Методы поиска минимума функции одной переменной: Фибоначчи, "золотого
сечения". Квадратичная интерполяция Пауэлла. Метод прямого
поиска для функции многих переменных Хука - Дживса. Метод наискорейшего
спуска как представитель градиентных методов. Реализация методов
поиска минимума функции: расчет и моделирование термодинамических
параметров из температурной зависимости константы химического равновесия.
Реализация принципов программирования и численных методов в прикладных
программных комплексах: Maple, MathCad, Mathematica.
1. Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. М.:
Финансы и статистика. 1991 г.
2. А. Епанешников, В. Епанешников Программирование в среде Турбо
Паскаль 7.0. М.: "Диалог-МИФИ". 1996 г.
3. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму
на ЭВМ. М.: Наука. 1986 г.
4. Е.А. Зуев Программирование на языке Turbo Pascal 6.0, 7.0 М:
Веста, Радио и связь, 1993 г.
а также любая другая по языку Паскаль.
350040, Краснодар, ул. Ставропольская
149, Кубанский государственный университет, к. 136 tel. 8(861)2199574