Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Моделирование доски Гальтона на C++ Borland Builder

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Разработка программы, моделирующей процесс падения шариков в Доске Гальтона - приборе, наглядно иллюстрирующем некоторые законы теории вероятностей. Структура метода решения. Блок-схема меню программы. Процедуры, интерфейс, руководство пользователя.
Краткое сожержание материала:

Размещено на

Федеральное агентство по образованию

ГОУ ВПО "УГТУ-УПИ

имени Первого Президента России Б.Н. Ельцина"

Кафедра

Радиоэлектронных и телекоммуникационных систем

Пояснительная записка

к курсовой работе

по дисциплине "Информатика"

Доска Гальтона

Выполнил: студент группы Р-28061

Гришин Анатолий Александрович

Руководитель: Саблина Наталья Григорьевна

Екатеринбург 2009 г.

Задание на разработку

Разработать программу, моделирующую процесс падения шариков в Доске Гальтона - приборе, наглядно иллюстрирующем некоторые законы теории вероятностей. В качестве исходных данных задавать общее количество шаров n, предусмотреть два варианта с разным количеством каналов (k=5 и k=10).

Оглавление

  • Задание на разработку
  • Введение
  • 1. Метод решения
  • 1.1 Структура метода решения
  • 1.2 Блок-схема меню программы
  • 1.3 Блок-схема алгоритма функции Timer1Timer (TObject *Sender)
  • 2. Описание программы
  • 2.1 Процедуры
  • 2.2 Интерфейс
  • 3. Руководство пользователя
  • 3.1 Системные требования
  • 3.2 Установка и удаление
  • 3.3 Инструкция по эксплуатации
  • 4. Результаты моделирования
  • Заключение
  • Список литературы
  • Приложения

Введение

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

Процесс моделирования включает три элемента:

субъект (исследователь),

объект исследования,

модель, определяющую (отражающую) отношения познающего субъекта и познаваемого объекта.

Первый этап построения модели предполагает наличие некоторых знаний об объекте-оригинале. Познавательные возможности модели обусловливаются тем, что модель отображает (воспроизводит, имитирует) какие-либо существенные черты объекта-оригинала. Вопрос о необходимой и достаточной мере сходства оригинала и модели требует конкретного анализа. Очевидно, модель утрачивает свой смысл как в случае тождества с оригиналом (тогда она перестает быть моделью), так и в случае чрезмерного во всех существенных отношениях отличия от оригинала. Таким образом, изучение одних сторон моделируемого объекта осуществляется ценой отказа от исследования других сторон. Поэтому любая модель замещает оригинал лишь в строго ограниченном смысле. Из этого следует, что для одного объекта может быть построено несколько "специализированных" моделей, концентрирующих внимание на определенных сторонах исследуемого объекта или же характеризующих объект с разной степенью детализации.

На втором этапе модель выступает как самостоятельный объект исследования. Одной из форм такого исследования является проведение "модельных" экспериментов, при которых сознательно изменяются условия функционирования модели и систематизируются данные о ее "поведении". Конечным результатом этого этапа является множество (совокупность) знаний о модели.

На третьем этапе осуществляется перенос знаний с модели на оригинал - формирование множества знаний. Одновременно происходит переход с "языка" модели на "язык" оригинала. Процесс переноса знаний проводится по определенным правилам. Знания о модели должны быть скорректированы с учетом тех свойств объекта-оригинала, которые не нашли отражения или были изменены при построении модели.

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

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

Сейчас трудно указать область человеческой деятельности, где не применялось бы моделирование. Разработаны, например, модели производства автомобилей, выращивания пшеницы, функционирования отдельных органов человека, жизнедеятельности Азовского моря, последствий атомной войны. В перспективе для каждой системы могут быть созданы свои модели, перед реализацией каждого технического или организационного проекта должно проводиться моделирование.

Данная программа моделирует лабораторный прибор, известный под названием "Доска Гальтона" и наглядно демонстрирует процесс падения шариков для произвольного числа каналов (от 3 до 15) и произвольного числа шариков (не больше квадрата от количества ячеек).

1. Метод решения

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

1.1 Структура метода решения

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

Рассмотрим алгоритм вычисления окончательного распределения шариков по ячейкам:

Допустим, что задано начальное количество ячеек - k. Из этого следует, что каждый шарик должен сделать k-1 поворот до тех пор, пока не достигнет своей ячейки. Сформируем массив поворотов данного шарика. Каждый элемент будет соответствовать одному повороту: - 1 - если шарик поворачивает налево, и 1 - если шарик поворачивает направо. Затем посчитаем сумму поворотов. Обозначим эту сумму Sum. Для нахождения номера ячейки, в которую попадет шарик, воспользуемся формулой:

где E [] - оператор выделения целой части. Формула справедлива как для четного, так и для нечетного числа ячеек. Для всех шариков сформируем массив из номеров ячеек, в которые попадет каждый шарик. После этого для каждой ячейки найдем количество шариков, попавших в нее и, таким образом, получим окончательное распределение шариков по ячейкам.

Графическая реализация падения и распределения шариков: рассмотрим вначале процесс построения окончательной картинки без анимации. Естественно, что он будет зависеть от параметров k, N и от размеров окна width и height, в котором отображается Доска Гальтона. Ниже приведен чертеж Доски с параметрами и формулы для расчета этих параметров, выведенные из геометрических соображений и позволяющие выполнять построение Доски Гальтона с произвольным числом ячеек и с учетом числа падающих шариков (от этого зависит максимальная высота "столбика" из шариков в ячейке) для поля рисования произвольных ширины и высоты:

Рис.1.

Формула для расчета ширины одной панели:

где width - ширина поля рисования, ramka - ширина рамки, k - число ячеек;

Формула для расчета радиуса падающих шариков:

Формула для расчета высоты нижних ячеек, в...

Другие файлы:

Borland C++Builder. Освой самостоятельно
Книга "Borland C++Builder. Освой самостоятельно" К. Рейсдорфа и К. Хендерсона является практическим курсом программирования в C++Builder - новой среде...

Borland C++ Builder - основные моменты
Работа в Borland C++ Builder. Среда разработки и компоненты C++ Builder. Свойства компонентов. Менеджер проектов. Создание приложений в C++ Builder. В...

Проrраммирование в среде Borland C++ Builder с математическими библиотеками MAТLAВ С/С++
Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland С++ Builder и возможностей языка С...

Borland C++ Builder. Энциклопедия пользователя
Книга известнейшего автора Чарли Калверта Borland C++ Builder Энциклопедия пользователя посвящена новой среде визуальной разработки приложений под Win...

Застосування BORLAND C++ BUILDER для створення ігрових програм
Ігрові програми та BORLAND C++ BUILDER, застосованна для їх створення. Основні прийоми, застосовувані при проектуванні користувальницького інтерфейсу....