Лабораторно-практическая работа по теме: "Вычисление значения числа Пи"

Разделы: Информатика


Цель: Используя компьютер и различные способы вычислений, вычислить значение числа с использованием цикла с параметром.

Оборудование: распечатка таблицы “Методы вычисления”, программа Turbo Pascal

План

  1. Организационный момент.
  2. Ряд Тейлора.
  3. Метод Монте-Карло.
  4. Домашнее задание.

Ход урока

1. Организационный момент. Раздать учащимся заготовку таблицы

Методы вычисления

Значение N 10 25 50 100 200 500 1000 2000 5000 10000
Ряд Тейлора                    
Метод Монте-Карло                    

2. Ряд Тейлора

Известно, что разложение функции arctg x в ряд Тейлора имеет вид:

Если х=1, arctg 1 = /4 – и, значит,

Значит, наша задача сводится к вычислению суммы членов последовательности.

Учитель: Как вы думаете, от чего будет зависеть точность вычисления числа ?

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

Пусть I - номер члена ряда (1, 2, 3, …, n)

Учитель: Давайте найдем закономерность в записи дробей. Какое число стоит в числителе у всех этих дробей?

Ответ: Число 1.

Учитель: Что вы можете сказать о числах, стоящих в знаменателе дробей?

Ответ: В знаменателе стоят нечетные числа 3, 5, 7, …

Учитель: Какая формула будет для нечетных чисел?

Ответ: 2i+1.

Учитель: Но тогда мы пропустим первый член ряда – 1.

Ответ: Для вычисления суммы мы возьмем первое значение S=1.

Учитель: От чего будет зависеть знак у членов ряда Тейлора?

Ответ: От переменной I. Если I – четное, то оставить дробь без изменения, иначе изменить знак на противоположный.

PROGRAM METOD1;

VAR S,P,F: REAL; I,N:INTEGER;

BEGIN WRITE (‘ВВЕДИТЕ КОЛИЧЕСТВО ЧЛЕНОВ РЯДА ТЕЙЛОРА?‘);READLN(N);

S:=1;

FOR I:=1 TO N DO

BEGIN F:=1/(2*I+1);

IF I MOD 2=0 THEN F:=F ELSE F:=-F;

S:=S+F;

END;

P:=4*S;

WRITELN(‘ЗНАЧЕНИЕ ЧИСЛА Pi РАВНО: ‘,P:7:6);

END.

Скомпилировать программу и выполнить вычисления, результаты занести в таблицу.

Значение N 10 25 50 100 200 500 1000 2000 5000 10000
Ряд Тейлора 3,232316 3,103145 3,161199 3,151493 3,146568 3,143589 3,142592 3,142092 3,141793 3,141693

3. Метод Монте-Карло

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

Для опыта приготовим кусок картона, нарисуем на нем квадрат и впишем в него четверть круга. Если такой чертеж некоторое время подержать под дождем, то на его поверхности останутся следы капель. Подсчитаем число следов от капель внутри квадрата NKV и внутри четверти круга NKR.

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

Вместо следов от капель можно рассмотреть случайные числа от 0 до 1 (Рисунок 1).И тогда каждому следу поставим в соответствие два случайных числа вдоль осей Ох и Оу.

Учитель: Какая функция языка программирования Паскаль поможет нам выбрать случайные числа?

Ответ: RANDOM.

Мы будем сами задавать количество случайных чисел (NKV). Но как же подсчитать количество капель, попавших в четверть круга. Воспользуемся для этого уравнением окружности: x2 + y2 = r2.

Учитель: Чему равно значение r?

Ответ: r=1

Учитель: Как вы думаете, при каком условие случайное число попадет в четверть круга?

Ответ: Если x2 + y21, то nkr=nkr+1.

PROGRAM METOD2;

VAR X,Y,P: REAL; I,NKV,NKR:INTEGER;

BEGIN RANDOMIZE;

WRITE (‘ВВЕДИТЕ КОЛИЧЕСТВО КАПЕЛЬ В КВАДРАТЕ?‘);READLN(NKV);

NKR:=0;

FOR I:=0 TO NKV DO

BEGIN X:=RANDOM;

Y:=RANDOM;

IF X*X+Y*Y<=1 THEN NKR:=NKR+1;

S:=S+F;

END;

P:=4*NKR/NKV;

WRITELN(‘ЗНАЧЕНИЕ ЧИСЛА Pi РАВНО: ‘,P:7:6);

END.

Набрать и скомпилировать программу, выполнить вычисления, результаты внести в таблицу.

Примерный вариант ответом может быть такой:

Значение N 10 25 50 100 200 500 1000 2000 5000 10000
Ряд Тейлора 4,000000 2,560000 3,520000 3,280000 3,100000 3,176000 3,204000 3,190000 3,139200 3,135600

Учитель: Почему такой разброс значений? И почему ответы у учащихся не совпадают?

Ответ: Так как при вычисление использовалась функция RANDOM.

Для вычисление числа ? существуют и другие методы: метод прямоугольников, метод “падающей иголки”.

4. В качестве домашнего задания я предлагаю самостоятельно рассмотреть метод прямоугольников (литература предлагается учащимся).

Литература

  1. Новожилов Б.В. Метод Монте-Карло. М.: Знание, 1966.
  2. Основы информатики и вычислительной техники. Пробный учебник для средних учебных заведений/ Кушниренко А.Г, Лебедев Г.В.: Просвещение, 1990.
  3. Информатика. №20, 1998 г./ Приложение к газете “Первое сентября”.