
- •Содержание
- •Лабораторная работа №9 классы хранения и видимость переменных
- •Теоретические сведения
- •Варианты индивидуальных заданий
- •Приложение 1
- •Лабораторная работа №10 препроцессорные средства
- •Теоретические сведения
- •1. Состав директив препроцессора и стадии препроцессорной обработки
- •2. Стадии препроцессорной обработки
- •3. Замены в тексте программы
- •4. Цепочка подстановок
- •5. Включение текстов из файлов
- •6. Условная компиляция
- •7. Операция defined
- •8. Макроподстановки средствами препроцессора
- •9. Моделирование многомерных массивов
- •10. Отличия макросов от функций
- •11. Препроцессорные операции в строке замещения
- •12. Вспомогательные директивы
- •13. Реакция на ошибки
- •14. Пустая директива
- •15. Встроенные (заранее определенные) макроимена
- •Варианты индивидуальных заданий
- •Лабораторная работа № 11 динамическое распределение памяти
- •Теоретические сведения
- •1. Функции malloc и free
- •2. Операторы new и delete
- •Варианты индивидуальных заданий
- •Лабораторная работа № 12 структура данных «список»
- •Теоретические сведения
- •1. Основные определения
- •2. Операции над списками
- •3. Пример реализации односвязного списка с помощью массива структур
- •4. Пример реализации двусвязного списка с помощью массива данных
- •Варианты индивидуальных заданий
- •Лабораторная работа №13 очереди. Операции над очередями. Деки
- •Теоретические сведения
- •1. Понятие очереди. Операции над очередями. Кольцевая очередь. Дек
- •2. Программная реализация очереди на основе массива
- •Варианты индивидуальных заданий
- •Лабораторная работа №14 стеки. Очереди. Операции над стеками и очередями
- •Теоретические сведения
- •1. Понятие стека. Операции над стеком
- •2. Программная реализация стека на основе массива
- •Варианты индивидуальных заданий
- •Лабораторная работа №15
- •Анализ пузырьковой сортировки. Пузырьковая сортировка обладает несколькими характеристиками:
- •2. Сортировка методом выбора
- •3. Сортировка методом вставки
- •4. Сортировка методом Шелла
- •5. Сортировка методом Хоора
- •6. Алгоритмы поиска
- •Варианты индивидуальных заданий
- •Приложение 2
- •Лабораторная работа №16 программирование алгоритмов вычислительной математики
- •Теоретические сведения
- •1. Методы Симпсона
- •Варианты индивидуальных заданий
- •Литература
Лабораторная работа №16 программирование алгоритмов вычислительной математики
Цель: Освоить практическое использование численных методов, научиться вычислять интеграл функции, осуществлять сравнение методов расчета интеграла и их погрешности.
Теоретические сведения
При решении задач, связанных с вычислением интеграла, отсутствует возможность осуществлять преобразование функции в соответствии со специальными функциями и правилами, принятыми в математике. На практике эта задача сводится к нахождению площади фигуры, образованной (ограниченной) данной функцией, осью координат, прямыми х = а и х = b, где а и b – крайние точки (рис. 16.1).
Рис. 16.1. Интеграл функции f(x) от а до b
При расчете площади данной фигуры применяют метод разбивки данной фигуры на множество элементов (прямоугольников или трапеций) с очень маленькой шириной, при этом можно предположить, что функция (верхняя часть этих элементов) представляет собой прямую (рис. 16.2). Подобную методику называют аппроксимацией.
Рис. 16.2. Аппроксимация функции f(x)
Выделяют два наиболее простых способа расчета интеграла: метод прямоугольника (метод Симпсона) и метод трапеции. В свою очередь метод Симпсона делится на три варианта: левого прямоугольника, правого и серединного.
1. Методы Симпсона
1.1. Метод левого прямоугольника заключается в том, что площадь прямоугольника вычисляется на основании левой стороны прямоугольника и ширины прямоугольника – шага аппроксимации (рис.16.3).
Рис. 16.3. Метод левого прямоугольника
Математически это можно записать следующим образом
dS = f(x1)*dx,
где dS – приращение площади – площадь маленького прямоугольника;
dx – приращение координат (x);
f(x1) – левая сторона прямоугольника.
1.2. Метод серединного прямоугольника заключается в том, что площадь прямоугольника вычисляется на основании значения функции в середине прямоугольника и ширины прямоугольника – шага аппроксимации (рис. 16.4).
Рис. 16.4. Метод серединного прямоугольника
Математически это можно записать как
dS = f((x1+x2) /2)* dx,
где dS – приращение площади – площадь маленького прямоугольника;
dx – приращения координат (x);
f(x1) – левая сторона прямоугольника;
f(x2) – правая сторона прямоугольника.
1.3. Метод правого прямоугольника заключается в том, что площадь прямоугольника вычисляется на основании правой стороны прямоугольника и ширины прямоугольника – шага аппроксимации (рис. 16.5).
Рис. 16.5. Метод правого прямоугольника
Математически это можно записать как
dS = f(x2)* dx,
где dS – приращение площади;
dx – приращения координат (x);
f(x2) – правая сторона прямоугольника.
Метод трапеции
Данный метод заключается в том, что площадь трапеции вычисляется на основании произведения среднеарифметического значения левой и правой сторон прямоугольника и ширины прямоугольника – шага аппроксимации (рис. 16.6).
Математически это можно записать как
dS = (f(x1)+f(x2))/2* dx,
где dS – приращение площади;
dx – приращение координат (x);
f(x1) – левая сторона прямоугольника;
f(x2) – правая сторона прямоугольника.
Рис. 16.6. Метод трапеции