Урок информатики в 11-м классе "Вычисление значения числа Пи методом Монте-Карло" (язык Visual Basic)

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


Цели урока:

  • закрепить знания, полученные учащимися на предыдущих уроках по программированию на языке Visual Basic
  • познакомить учащихся со способом вычисления площади фигуры неопределенной формы с помощью метода Монте-Карло
  • расширить знания учащихся о константе ?
  • воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.
  • развитие познавательных интересов, навыков работы на компьютере.

Оборудование для урока: интерактивная доска, компьютер, слайды

Программное обеспечение урока: OC Windows XP, Visual Basic 6.0, презентация к уроку (Приложение 1).

Ход урока

I. Организационный момент.

Приветствие, проверка присутствующих.

II. Активизация познавательной деятельности.

Информирование о целях и задачах урока. Переключение внимания на новый материал.

III. Теоретическая часть.

Вступление

Презентация.

Среди всех чисел, есть категория чисел, которые называются числа с собственными именами. Мы знаем эти числа по имени, нам достаточно услышать "дюжина", "чертова дюжина", или "число зверя" и мы понимаем, о чем идет речь и чему равно значение этого числа. (Слайд 1). Среди всех этих именованных чисел сегодня нас интересует число , значение которого мы с Вами хорошо знаем. Число =3,14159:. (Слайд 2). Действительно ли это так? Давайте сегодня мы с Вами это проверим.

Воспользуемся для этого одной из известных нам формул с числом : S = * R2 (площадь круга S = R2 , где R - радиус круга). Если радиус круга принять равным 1, то площадь круга будет равна . Следовательно, вычислив площадь круга, мы получим значение числа . Нам остается найти площадь круга и сделаем мы это сегодня с помощью метода Монте-Карло.

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

Свое название данный метод получил в честь столицы княжества Монако (Слайд 3), известной своими многочисленными казино, в которых публика растрачивает или увеличивает свои доходы согласно законам распределения случайных величин. Метод Монте-Карло еще называется методом статистического моделирования. Он используется для моделирования игровых вероятностных ситуаций (бросание кубика, монеты), а также для вычисления площадей фигур неопределенной формы.

Для того чтобы определить площадь фигуры неопределенной формы, необходимо вписать ее в геометрическую фигуру, площадь которой легко вычисляется (в нашем случае мы впишем фигуру неопределенной формы - круг, в прямоугольник). Далее мы будем бросать в прямоугольник случайные точки, подсчитывая количество тех из них, которые попали внутрь нашего круга. Произведение площади прямоугольника на отношение количества точек, попавших внутрь фигуры (круга), ко всему количеству точек дает приближенное значение искомой площади, т.е. значение числа .

IV. Практическая часть

Выполнение проекта Нахождение числа (разбор этапов проекта, Слайд 4).

Первая часть - визуальное программирование

1. Создадим форму и переименуем ее (свойству Caption присвоим значение "Число ПИ")

2. Нанесем на форму Окно рисунка.

3. Нанесем на форму метку, изменив ее свойства: Caption на пустую строку, Alignment на 2 - Center, Autosize на True.

4. Нанесем на форму две Командные кнопки, изменив их свойство Caption на "Старт" и "Стоп".

5. Нанесем на форму объект Таймер, присвоив свойству интервал значение 1 (что означает 1 миллисекунда) и Enabled = False.

Вторая часть - написание кода программы

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

Dim n, m As Integer, pi As Single

7. Обработаем событие Загрузка Формы. Для этого необходимо включить генератор случайных чисел и изменить масштаб Окна рисунка с помощью метода Scale, указав реальные координаты левого нижнего угла и правого верхнего угла.

Программный код:

Private Sub Form_Load()

Randomize Timer

Picture1.Scale (-1, -1)-(1, 1)

End Sub

8. Обработаем событие Щелчок на Кнопку "Старт". Для этого необходимо запустить Таймер, изменив его Enabled на True. В окне рисунка, используя методы Line и Circle, нарисуем квадрат со стороной 2 и окружность единичного радиуса, вписанную в данный квадрат. Площадь такого квадрата равна 4 кв.ед., а круга - 3,1415926, то есть "Пи".

Программный код:

Private Sub Command1_Click()

Timer1.Enabled = True

Picture1.Line (-1, -1)-(1, 1), , B

Picture1.Circle (0, 0), 1, , , , 0.95

End Sub

9. Каждую миллисекунду срабатывает событие Timer, в результате которого "бросается" в квадрат случайная точка, счетчик точек увеличивается на 1 (переменная n). Формируются случайные координаты точки (внутри квадрата) и проверяется принадлежность каждой точки вписанному в квадрат кругу. Если точка попадает в круг, то увеличивается на 1 другой счетчик (переменная m). Точки внутри и за пределами круга для наглядности изображаются разным цветом.

Программный код:

Private Sub Timer1_Timer()

n = n + 1

x = Rnd * 2 - 1

y = Rnd * 2 - 1

If (x * x + y * y) <= 1 Then

m = m + 1

Picture1.PSet (x, y), QBColor(15)

Else

Picture1.PSet (x, y), QBColor(4)

End If

End Sub

10. Обработаем событие Щелчок на Командную кнопку "Стоп".  В процедуре обработки этого события  необходимо выключить Таймер, вычислить приближенное значение числа "Пи" (площади круга единичного радиуса) из соотношения: количество точек всего (n) соответствует площади квадрата 4; количество точек внутри круга (m) соответствует площади круга - . Отсюда следует формула для вычисления = (m / n) * 4. Полученный результат представим в метке, изменив ее свойство Caption.

Программный код:

Private Sub Command2_Click()

Timer1.Enabled = False

pi = (m / n) * 4

Label1.Caption = "Число Пи ~ " + Str(pi)

End Sub

11. Запускаем программу на выполнение, тестируем ее и заканчиваем практическую работу (Приложение 2).

12. Вычисление среднего

Заполняется итоговая таблица, в которую каждый ученик заносит свое полученное значение константы , после чего вычисляется среднее значение константы (Приложение 3).

V. Вопросы учеников

Ответы на вопросы

VI. Итоги урока

а) Давайте подведем итог урока. На уроке мы познакомились с методом Монте-Карло, научились вычислять площадь фигуры неопределенной формы методом Монте-Карло, повторили основные события и свойства объектов языка Visual Basic, вычислили значение константы ? (среднее значение константы ? получилось =3,1418). Будем ли мы с Вами опровергать и доказывать, что значение константы ? ?3,1415, так как не совпадает с нашими расчетами? (Ответ: конечно нет).

б) Выставление оценок

VII. Забавные факты

а) Ребята, а знаете ли Вы, что сегодня (14 марта) неофициальный праздник - день числа . Почему выбрана такая дата?

Ответ: это значение числа = 3,14159 в американском формате дат (месяц/день) - 3 месяц 14 число 1 час 59 минут (Слайд 5).

б) Знаете ли Вы, что существует неофициальный праздник - день приближенного числа - 22 июля.

Ответ: Ещё одной датой, связанной с числом , является 22 июля, которое называется "Днём приближённого числа (англ. Pi Approximation Day), так как в европейском формате дат этот день записывается как 22/7, а значение этой дроби является приближённым значением числа ? (Слайд 4).

в) Знаете ли Вы, что мировой рекорд по запоминанию знаков числа принадлежит японцу Акира Харагути (Akira Haraguchi). Он запомнил число до 100-тысячного знака после запятой. Ему понадобилось почти 16 часов, чтобы назвать всё число целиком.

г) Знаете ли Вы, что Российский рекорд значений числа установил челябинец Александр Беляев. За полтора часа с небольшими перерывами Александр написал 2500 цифр числа . По словам самого Александра Беляева - руководителя центра развития образной памяти, такой эксперимент со своей памятью может провести любой из нас. Важно лишь знать специальные техники запоминания и периодически тренироваться.

VIII. Домашнее задание

Дополните созданный Вами проект кнопкой Очистить, при нажатии на которую окно рисунка очистится и значение константы ? можно будет вычислить снова.

Литература.

  1. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов - М.: БИНОМ. Лаборатория знаний, 2006.
  2. Visual Basic 6.0: Пер. с англ. - СПб.: БХВ - Санкт-Петербург, 2000.
  3. Сафронов И. Visual Basic в примерах и задачах. - СПб.: БХВ - Петербург, 2007.
  4. Угринович Н., Босова Л., Михайлова Н. Практикум по информатике и информационным технологиям. - М.: Лаборатория базовых знаний, 2006.

Интернет-ресурсы.

http://ru.wikipedia.org/wiki/Visual_Basic

http://school-collection.edu.ru/

http://visualprogs.medyal.ru/

http://www.vbstreets.ru/VB/default.aspx