Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гладков_Кулютникова.doc
Скачиваний:
8
Добавлен:
03.11.2018
Размер:
1.36 Mб
Скачать

Вычисление определенного интеграла методом трапеций

В научно-технических задачах часто возникает необходимость вычисления определенного интеграла вида

.

Согласно методу трапеций отрезок интегрирования [a, b] разбивается на n равных частей длины h = (b - a)/n. Обозначим точки разбиения x0 = a, x1 = x0 + h, ..., x= x0 + ih, ... , xn = b.

Значения функции f в точках xi обозначим yi, т.е. yi = f(xi). Тогда согласно методу трапеций

.

Задача. Найдите значение определенного интеграла от функции на интервале [1; 4], количество разбиений n = 52.

Const n = 52;

a = 1;

b = 4;

Var y0, yn, x, S, h: real;

n, i: integer;

begin

h := (b-a)/n;

y0 := sqr(ln(a))/a;

yn := sqr(ln(b))/b;

S := (y0 + yn)/2;

for i:= 1 to n-1 do

begin

x := a + i*h;

S := S + sqr(ln(x))/x

end;

S := S*h;

writeln (‘интеграл равен ’, S)

end.

Случайные числа

Мы не можем заранее сказать, какая сторона монеты или игрального кубика окажется сверху, какую карту мы вытащим из колоды. Говорят, что результат такого эксперимента является случайным числом. Повторяя эксперимент много раз, можно получить последовательность случайных чисел. Интересно, что невозможно предвидеть значение нового члена ряда - он не зависит от предыдущих членов.

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

Randomize - инициирует датчик

Random - генерирует случайные действительные числа из диапазона [0; 1)

Random (x) - генерирует случайные целые числа из диапазона [0; х).

Random (x) + random - генерирует случайное действительное число из диапазона [0; x);

Random (x) + random + y - генерирует случайное действительное число из диапазона [y; x + y);

Random (x) + random - y - генерирует случайное действительное число из диапазона [-y; x - y);

2 * x * Random - x - генерирует случайное действительное число из диапазона [-x; x).

Метод Монте-Карло (метод статистических испытаний)

Случайные числа широко используются для приближенного вычисления площади с помощью метода Монте-Карло. Суть метода очень проста. Пусть есть некоторая фигура, площадь которой необходимо вычислить. Размещаем эту фигуру внутри стандартного квадрата со сторонами, параллельными осям. Пусть про любую точку квадрата можно узнать попадает ли эта точка внутрь фигуры или нет. Тогда площадь может быть вычислена следующим образом: поделив количество точек, попавших внутрь фигуры, на количество всех точек, попавших в квадрат, можно узнать, какую часть площади квадрата занимает фигура, умножив это отношение на площадь квадрата, получим площадь фигуры. Ясно, что число точек, попавших внутрь фигуры, тем больше, чем больше фигура, а точность решения будет пропорциональна количеству точек в квадрате. Пара случайных чисел в этом методе может быть рассмотрена как координаты точки на плоскости.

Задача. Определите площадь круга с радиусом R=1.

Решение. Поместим этот круг в квадрат со стороной а = 2. Точка принадлежит квадрату, если - 1  х  1 и -1  y  1. Ecли x2 + y2  1, то точка попадает внутрь круга.

program task;

var n, m: integer; {n - общее кол-во точек, m - кол-во точек внутри круга}

x, y: real; {координаты точки}

begin

writeln (‘Задайте количество точек’);

readln (n);

Randomize;

m := 0;

for i := 1 to n do

begin

x := 2 * random - 1; y := 2 * random - 1;

if sqr (x) + sqr (y) <= 1 then m := m + 1;

end;

writeln (‘Площадь круга равна ’, 4 * m/n);

end.

Упражнения.

1. Имеется четыре коробки, в каждой из которых по 15 спичек. Номер коробки, из которой берется очередная спичка, определяется случайно. Сколько всего спичек будет сожжено, прежде чем одна коробка опустеет?

2. Напишите программу, моделирующую розыгрыш тиража “Спортлото”. Из 49 различных шаров должно выбираться случайным образом 6 шаров. Каждый номер в тираже встречается один раз, т.к. вынутый шар обратно не возвращается, т.е. программа должна генерировать 6 различных случайных чисел из диапазона от 1 до 49 и выводить их на экран.

3. Внесите изменения в программу из упражнения 2, чтобы программа моделировала розыгрыш тиража “Спортлото” 6 из 45 или 5 из 36.

4. Напишите программу моделирования гадания на ромашке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]