Суббота, 20.04.2024, 07:58
Приветствую Вас Гость | RSS
Меню сайта
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Поиск по сайту
На сайте
Excel Профильное образование учебная программа практикум экономика элективный для учащихся интернет расчеты 8 класс учителю информатики олимпиада командная «ВИРТУАЛЬНЫХ ОТКРЫТИЙ» авторские разработки аппроксимация тест испытания ответы agrba учителей аттестация квалификационные Базовые контроль икт решение Агрба анализ выполнения алгоритмические структуры алгоритмические конструкции результат Open Office.org Сalc праздник афоризмы дети безопасность 2014 3 декабря новый год конкурс урок кода час акция программирование час кода 32 64 lenoit Базы данных файлы 10 класс pascal будущее выпускник профессия ЕГЭ Баллы презентация безопасности 10Б Домашнее задание 11Б 21 век контрольная работа итоги STREAM-игра тренировочная работа 24 C1 Безопасность в сети Интернет Web-квест Защита информации 16 22 9 класс весна 8 марта 23 февраля информатике! экзамен 14 ОГЭ разминочная работа ГИА Диагностическая работа часть с 25 Информатика 2016 паскаль 26 подготовка поздравление Всемирный день информации Web-квест для семиклассников 11 класс Arduino
Статистика


Rambler's Top100
Онлайн всего: 1
Гостей: 1
Пользователей: 0


Гость
Прямая связь
Новости
  САЙТ УЧИТЕЛЯ ИНФОРМАТИКИ

Учебный проект "Площадь круга"

 
Компьютерные модели, построенные с использованием метода Монте-Карло, на языке Pascal
Разработаем на языке Pascal компьютерную модель, позволяющую методом Монте-Карло определять площадь круга и число п. 
Проект "Методом Монте-Карло" на языке Pascal. 
1. Поместить на форму:
• графическое поле Image1, в котором будет отображаться процесс случайной генерации точек;
 
• два текстовых поля: Editl — для ввода радиуса окружности и Edit2 — для ввода количества генерируемых точек;
 
• надпись Labe11 для вывода значения площади круга;
 
• надпись Label2 для вывода числа п.
 
2. Установить размер графического поля: с помощью окна Object Inspector присвоить свойству Size значение 2 0 0; 2 0 0.
3. Ввести в начало программного кода в оператор uses модуль Math, который обеспечивает подключение математических функций (Cos (), Tan () и т. д.).
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Math;
4. Поместить на форму кнопку Buttonl и создать для нее событийную процедуру TForml. ButtonlClick (), которая обеспечивает:
• стирание результатов предыдущего опыта;
 
• ввод значения радиуса окружности в переменную R;
 
• ввод количества генерируемых точек и присваивание его переменной N;
 
• генерацию случайных координат точек;
 
• рисование в графическом поле квадрата со стороной 2*R и окружности радиуса R;
 
• подсчет в переменной М количества точек, попавших внутрь круга;
 
• вычисление и вывод значений площади круга и числа п на надписи.
var R: integer; //радиус N: integer; //количество "брошенных" точек X: real; //координата точек X Y: real; //координата точек Y М: integer; //количество точек, попавших //в круг I: integer; //счетчик цикла procedure TForml.ButtonlClick(Sender: TObject); begin //Стирание Imagel.Canvas.Brush.Color := clWhite; Imagel.Canvas.Rectangle(100-R,100-R,100+R,100+R); Imagel.Canvas.FillRect(Rect(100-R, 100-R, 100+R, 100+R)); M:=0; //Ввод значений R:=StrToInt(Editl.Text); N:=StrToInt(Edit2.Text); //Рисование квадрата и круга Imagel.Canvas.Rectangle(100-R,100-R,100+R,100+R); Imagel.Canvas.Ellipse(100-R, 100-R,100+R, 100+R); //Генерация точек Randomize; For I:=l To N do begin X:=Random(2*R)-R; Y:=Random(2*R)-R; Imagel.Canvas.Pixels[Round(X)+100, Round(Y)+100]:=clBlack; If Sqr(X)+Sqr(Y)<=Sqr(R) Then M:=M+1 end; //Площадь
Labell.Caption:=FloatToStr(4*Sqr(R)*M/N); //Число PI Label2.Caption:=FloatToStr(4*M/N); end; end.
5. Ввести радиус окружности и количество генерируемых точек. После щелчка по кнопке Пуск в графическом поле будет отображен процесс генерации случайных точек, а на надписи будут выведены значение площади круга и число п (см. рис. ниже).
Использованная литература :  
Н.Д. Угринович Информатика и ИКТ 11 Класс
Автор статьи Деманин Роман 11 "A"