Моделирование доски Гальтона на C++ Borland Builder - Программирование, компьютеры и кибернетика курсовая работа

Моделирование доски Гальтона на C++ Borland Builder - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Моделирование доски Гальтона на C++ Borland Builder

Разработка программы, моделирующей процесс падения шариков в Доске Гальтона - приборе, наглядно иллюстрирующем некоторые законы теории вероятностей. Структура метода решения. Блок-схема меню программы. Процедуры, интерфейс, руководство пользователя.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Федеральное агентство по образованию
имени Первого Президента России Б.Н. Ельцина"
Радиоэлектронных и телекоммуникационных систем
Руководитель: Саблина Наталья Григорьевна
Теперь перейдем к созданию анимации. Состояние каждого шарика в процессе анимации описывается набором следующих полей:
start (логический тип) - определяет, начал ли шарик движение;
end (логический тип) - закончил ли шарик движение;
stage (натуральное число) - номер этажа, на котором находится шарик;
z (целое число) - координата по высоте от начала текущего этажа;
linear (логический тип) - определяет, достиг ли шарик наклонный участок данного этажа;
Lstage (логический тип) - достигнут ли последний этаж;
turn (массив целых чисел) - содержит информацию о поворотах шарика в виде упорядоченного набора +1 или - 1;
OldX (целое число) - координата Х шарика в прошлый момент времени;
OldY (целое число) - координата Y шарика в прошлый момент времени;
number (натуральное число) - номер ячейки, в которую попадает шарик.
Примечание: все координаты отсчитываются от левого верхнего угла поля рисования (канвы) соответственно направо и вниз.
Изменение картинки осуществляется через определенные моменты времени, определяемые параметром dt . Приращение координаты шарика определяется параметром dz . У первого из шариков параметр start на начало анимации принимает значение "истина", у остальных "ложь". После старта первого шарика начинается отсчет времени. Когда наступит момент времени, определяемый параметром period , следующий шарик начинает движение ( start приобретает значение "истина") и т.д.
В процессе построения кадра в первую очередь для каждого шарика определяется, начал ли он движение и не закончил ли его и не находится ли на последнем этаже. Далее выясняем, достиг ли шарик наклонного участка данного этажа или падает вертикально вниз. Если он находится на вертикальном отрезке, то увеличиваем его вертикальную координату пропорционально dz (коэффициент пропорциональности зависит от номера этажа, но не превышает 4, таким образом обеспечивается ускорение шариков по мере падения). Если новая координата z превысила высоту вертикального участка a , то осуществляем присваивание z = a , а параметру linear задаем значение "ложь". Если же шарик находился на наклонном участке, то он должен осуществить движение в наклонном направлении, зависящем от величины, соответствующей последнему повороту (-1 или +1), от параметра dz и от номера этажа. Ниже приведены формулы, по которым вычисляются приращения обеих координат шарика в этом случае:
знак в последней формуле определяется направлением движения - "+”, если направо и "-", если налево. После приращения соответствующих координат выясняем, не превысила ли координата z значение h . Если это так, то номер этажа stage шарика увеличиваем на 1, координату z обнуляем: z = 0, а свойству linear присваиваем значение "истина".
Далее рассматриваем случай, когда шарик движется по последнему этажу. Этот путь прямолинейный. Проверяем, достиг ли данный шарик вершины столбика из шариков, уже попавших в данную ячейку. Чтобы это было возможно, по мере достижения каждым из шариков конца заполняется массив, хранящий количество шариков, попавших в каждую из ячеек. Высота столбика из шариков, уже достигших "дна" ячейки, определяется формулой
где -количество шариков, уже попавших в данную ячейку, -оператор выделения целой части. Если шарик достиг вершины столбика, то увеличиваем на один, а свойству end данного шарика присваиваем значение "истина". Далее проверяем, есть ли еще шарики, которые не закончили движение. Если это так, то параметру End , отвечающему за конец анимации, присваиваем значение "истина" и выводим на экран окончательное распределение шариков. Если шарик не достиг вершины столбика, то увеличиваем его вертикальную координату на величину, пропорциональную dz (при числе этажей, большем трех, на ).
После окончания просчета параметров каждого из шариков необходимо выполнить рисование очередного кадра, которое состоит из трех частей. Во-первых, "стираем" шарики прошлого кадра специальной функцией, на вход которой подаем координаты OldX и OldY каждого из шариков. Затем рисуем новые переместившиеся шарики в точках с координатами (если не все шарики достигли конца), определенными с помощью вышеописанных формул, присваиваем значения этих координат переменным OldX и OldY , и в-третьих рисуем шарики, уже попавшие в ячейки с помощью специальной функции, на вход которой подаем текущее распределение шариков по ячейкам.
Пользователь может управлять режимом анимации с помощью функций "Старт", "Пауза", "Стоп". Функция "Старт" в режиме анимации запускает (продолжает) цикл построения кадров, "Пауза" приостанавливает этот цикл, а "Стоп" останавливает процесс, после чего на экран выводится окончательная картинка и распределение.

Разработка игровой программы, моделирующей поведение мяча в закрытом безвоздушном пространстве. Изменение значения гравитации и трения о стены. Интерфейс программы, ее основная форма. Блок-схема программы и ее основной код. Добавление третьего измерения. контрольная работа [111,1 K], добавлен 27.08.2012
Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя. курсовая работа [1,5 M], добавлен 17.03.2014
Динамика движения материальной точки. Разработка программы, моделирующей траектории полета снаряда при стрельбе из пушки под заданным углом к горизонту. Ее структурная схема, системные требования к ней. Создание приложения в среде Borland C++Builder. курсовая работа [3,2 M], добавлен 10.06.2014
Разработка программного продукта (лабиринт с входом и выходом, состоящий из комнат) в среде разработки Borland C++ Builder 6. Требования пользователя к программному изделию. Программные ограничения, совместимость. Основные процессы разработки программы. курсовая работа [819,9 K], добавлен 14.01.2013
Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания). курсовая работа [901,8 K], добавлен 11.02.2014
Визуальные компоненты среды разработки С++ Builder: форма, кнопка, надпись, изображение, многостраничная панель, таблица строк. Интерфейс программы автоматизации расчета численности рабочих. Окно для ввода исходных данных. Руководство пользователя. курсовая работа [480,7 K], добавлен 10.02.2012
Компиляция и использование модулей. Разработка интерфейса программы. Факторы, воздействующие на комфорт пользователя. Структура диалога типа меню и разработка экранных форм. Обоснование выбора типа подпрограмм для решения задачи. Текст программы. курсовая работа [30,1 K], добавлен 22.02.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Моделирование доски Гальтона на C++ Borland Builder курсовая работа. Программирование, компьютеры и кибернетика.
Сочинение Про Архитектуру
Курсовая работа: Разработка многопользовательской информационной системы по ведению учёта подписной деятельности почтовым отделением
Реферат: The Versailles Treaty Essay Research Paper The
Реабилитация Дипломная Работа
Реферат по теме Философская лексика в поэзии Бродского
Контрольная работа: по Управлению качеством
Реферат На Тему Религия Полинезийцев
Курсовая работа: Химия запахов. Скачать бесплатно и без регистрации
Реферат: Теплофизика
Дипломная работа: Вимикачі навантаження
Реферат: «Теория и методика преподавания русского языка», «Психология» и«Педагогика»
Сочинение Огэ 9.3 Презентация
Курсовая работа по теме Новые технологии производства компьютеров
Реферат по теме Птицы и млекопитающие Новгородской области
Реферат: Абдул-Хамид Хамидов. Скачать бесплатно и без регистрации
Курсовая работа: Компенсация морального вреда как мера Гражданско-правовой ответственности
Доклад: Куннилингус. Язык любви.
Реферат На Тему Внешняя И Внутренняя Политика Екатерины Ii
Реферат: Русская деревня в изображении В.П. Астафьева. Скачать бесплатно и без регистрации
Дипломная работа по теме Разработка проекта создания турагентства в городе Красноярске
Приобретение права собственности путем наследования - Государство и право дипломная работа
Соблюдение конституционных прав и свобод человека и гражданина в сфере гражданских правоотношений - Государство и право дипломная работа
Автоматизированные системы управления материальными ресурсами предприятия - Менеджмент и трудовые отношения реферат


Report Page