- •Лабораторный практикум по информатике
- •Часть II программирование в системе турбо паскаль
- •Введение
- •Лабораторная работа №1 Создание простейшей программы
- •Начало работы с новой программой
- •Задание 1
- •Сохранение текстового файла программы на диске:
- •Задание 2
- •Задание 3
- •Задание 4
- •Лабораторная работа №2 Ввод данных и вывод результатов
- •Задания
- •Лабораторная работа №3 Программирование линейных алгоритмов
- •Задание
- •Лабораторная работа №4 Программирование разветвляющихся алгоритмов
- •Задание 1
- •Задание 2
- •Лабораторная работа № 5 Программирование циклических алгоритмов с известным числом повторений
- •Задание
- •Лабораторная работа №6 Программирование циклических алгоритмов с неизвестным числом повторений
- •Задания
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Лабораторная работа №7 Программирование алгоритмов итерационной циклической структуры
- •Задание
- •Лабораторная работа №8 Массивы
- •Лабораторная работа №9 Процедуры и функции пользователя в языке Паскаль
- •Задание
- •Лабораторная работа №10 Записи
- •Задания
- •Лабораторная работа №11 Работа с файлами
- •Лабораторная работа №12 Графический режим в языке Паскаль
- •Лабораторная работа №13 Построение графика функции
- •Задания
- •Лабораторная работа №14 Создание движущихся изображений
- •Задание 1
- •Задание 2
- •Лабораторная работа №15 Вычисление определённого интеграла численными методами
- •Метод прямоугольников
- •Метод трапеций
- •Метод Симпсона
- •Задания
- •Лабораторная работа №16 Решение нелинейных уравнений численными методами
- •Метод половинного деления
- •Метод Ньютона
- •Метод хорд
- •Задания
- •Лабораторная работа №17 Решение обыкновенных дифференциальных уравнений численными методами
- •Метод Эйлера
- •Модифицированный метод Эйлера
- •Метод Рунге-Кутта
- •Задание
- •Приложение
- •Список литературы
- •Оглавление
- •Лабораторный практикум по информатике
- •Часть II программирование в системе турбо паскаль
- •Архангельск
Задание 1
a) Наберите программу Multik и измените скорость перемещения окружности с помощью варьируемых параметров так, чтобы окружность плавно перемещалась.
б) Организуйте движение второй окружности с независимыми от первой параметрами.
Задание 2
а) Наберите программу Salut и модифицируйте ее так, чтобы вместо окружности перемещался бы эллипс, все параметры которого также зависели бы от случайных чисел.
б) Модифицируйте программу так, чтобы вместо эллипса перемещалась бы прямая, координаты и цвет которой зависели бы также от случайных чисел.
Лабораторная работа №15 Вычисление определённого интеграла численными методами
При решении инженерных задач часто приходится вычислять значения определённого интеграла. В случаях, когда не удаётся выразить интеграл в замкнутой форме, или полученная формула сложна, или подынтегральная функция задана таблично, пользуются численным интегрированием. В основе численного интегрирования лежит приближенное вычисление площади под кривой, описываемой подынтегральной функцией. В общем виде задача формулируется как нахождение значения
.
Наиболее простыми для реализации являются методы, для которых значения x заданы с постоянным шагом. Мы рассмотрим методы прямоугольников, трапеций (Ньютона-Котеса) и парабол (Симпсона).
В общем виде алгоритм решения задачи состоит из шагов:
Интервал, на котором выполняется интегрирование [a,b], разбивается на n равных отрезков и вычисляется длина этих отрезков;
Криволинейная трапеция S заменяется фигурой, составленной, в зависимости от метода, из элементарных прямоугольников, трапеций или криволинейных трапеций;
Вычисляются и суммируются площади Si каждой элементарной фигуры.
Метод прямоугольников
Пусть на отрезке [a,b] задана непрерывная функция y=f(x), (рис.15.1). Интервал, на котором выполняется интегрирование, [a,b], разбивается на n равных отрезков и криволинейная трапеция S заменяется фигурой, составленной из элементарных прямоугольников с площадями Si (рис.15.2).
.
Шаг интегрирования .
Площадь элементарной фигуры .
Интеграл равен .
|
|
Рис.15.1. Геометрический смысл определённого интеграла |
Рис.15.2. Интегрирование методом прямоугольников |
Таким образом, для вычисления определённого интеграла методом прямоугольников достаточно вычислить сумму значений подынтегральной функции в узлах интегрирования и умножить эту сумму на шаг интегрирования. Преимуществом метода является его простота, недостатком – сравнительно невысокая точность, для повышения которой необходимо увеличивать значение n до 1...10 тысяч.
Пример 1. Составить программу для вычисления интеграла с заданным количеством узлов интегрирования n. Аналитическое решение даёт результат 9,0. Таким образом, при условии правильного составления программы ожидаемый результат должен быть примерно равен 9. Большое число десятичных знаков при выводе результата позволяет оценить точность метода.
Program Integral1;
Uses Crt;
Var
a,b,s,x,h:real;
i, n: integer;
Function f(xx:real):real;
begin
f:=xx*xx; {Здесь приводим выражение для вычисления функции }
end;
Begin
ClrScr;
Writeln(' Вычисление определенного интеграла');
Writeln(' Метод прямоугольников');
{ Ввод исходных данных }
a:=0; b:=3; n:=1000;
{ Начинаем расчет }
h:=(b-a)/n;
s:=0; x:=a;
for i:=1 to n do
begin
x:=x+h;
s:=s+f(x);
end;
s:=s*h;
Writeln(' Интеграл равен ', s:10:7);
Readln;
End.