50429 (Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса)

2016-07-30СтудИзба

Описание файла

Документ из архива "Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50429"

Текст из документа "50429"

Размещено на http://www.allbest.ru/

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

Государственное образовательное учреждение высшего профессионального образования

Кузбасский государственный технический университет

Кафедра информационных и автоматизированных производственных систем

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

к курсовой работе по курсу “Технология программирования”

Содержание

  1. Задание

  2. Математическая постановка

    1. Уточнение формулировки задачи

    2. Математическое описание процесса

    3. Спецификация переменных (обозначения, типы, назначение, классификация)

    4. Спецификация объектов (назначение, свойства)

    5. Организация процесса и расчетные формулы

  3. Разработка блок-схемы

  4. Текст программы на VB

  5. Контрольный пример

  6. Инструкция пользователя

Список использованной литературы

  1. Задание

Разработать проект программного средства "Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса".

Параметры маршрута задаются в м. или км. Скорость движения в м/с или км/час. Образ движущегося объекта – цветное пятнышко, перемещающееся по линии эллипса.

По ходу движения отображаются координаты объекта, пройденный путь от места старта , время движения, число полных пройденных кругов. По каждому кругу фиксируется средняя скорость и время прохождения.

  1. Математическая постановка

    1. Уточнение формулировки задачи и выбор языка программирования

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

Для решения задачи воспользуемся языком программирования Visual Basic, поскольку он является идеальным средством для быстрого создания небольших проектов. Средства интегрированной среды разработки языка Visual Basic позволяют использовать Форму, для создания графического интерфейса проекта, что удобно для решения поставленной задачи.

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

    1. Математическое описание процесса

программный математический пользователь

Параметрически эллипс задаётся в виде: x=a*cos(fi) y=b*cos(fi), где fi – угол в промежутке [0; 2π]. Эти формулы используются для организации движения объекта по траектории эллипса. Параметры a и b задаются произвольно, подбираются опытным путём, в зависимости от размера формы.

Длина эллипса рассчитывается с помощью эллиптического интеграла, вида , таким образом, достаточно рассчитать длину дуги эллипса при t € [0; π/2] и умножить на 4.

    1. Спецификация переменных (обозначения, типы, назначение, классификация)

x – текущая координата объекта, тип Single.

y – текущая координата объекта, тип Single.

x2 – предыдущая координата объекта, тип Single.

y2 – предыдущая координата объекта, тип Single.

v – мгновенная скорость объекта, тип Single.

fi – угол в радианах, который изменяется во время работы программы, тип Double.

k – переменная, хранящая количество кругов, пройденных объектом, тип Integer.

S – переменная, хранящая путь, пройденный телом, тип Single.

Исходные данные: переменных, хранящих исходные данные, нет.

Результаты: x, y, v, k, S.

Промежуточные результаты: fi, x2, y2.

    1. Спецификация объектов (назначение, используемые свойства)

Form Form1 – форма, на которой расположены другие объекты управления.

AutoRedraw = -1 'True (рисунки, выполненные графическими методами, автоматически восстанавливаются после изменения размера формы или после того как форма была закрыта другим окном)

Caption = "Движение по эллиптическому маршруту с регулируемой скоростью и визуализацией" (надпись в заголовке формы)

PictureBox Picture1 – внутри объекта происходит графическая визуализация процесса.

AutoRedraw = -1 'True

ScaleMode = 3 'Pixel (единицы измерения, используемые в системе координат, связанной с объектом)

Height = 3975 (высота объекта)

Width = 6255 (ширина объекта)

Line Line1 ­– объект, используемый для изображения оси ординат.

X1 = 20

X2 = 20

Y1 = 8

Y2 = 256

Line Line2 – объект, используемый для изображения оси абсцисс.

X1 = 408

X2 = 8

Y1 = 240

Y2 = 240

Shape Shape1 – объект, выводит изображение геометрических фигур, в программе это круг, перемещающийся по лини эллипса.

Shape = 3 'Circle

Width = 240

Height = 240

Label Label9 – метка, выводит на экран надпись. Располагается на объекте Picture1. Указывает начало координат.

Caption = "0"

Label Label8 – метка, выводит на экран надпись. Располагается на объекте Picture1. Подпись к оси ординат.

Caption = "Y,м"

Label Label7 – метка, выводит на экран надпись. Располагается на объекте Picture1. Подпись к оси абсцисс.

Caption = "X,м"

Label Label13 – метка, выводит на экран надпись. Располагается на объекте Picture1. Подпись к оси ординат.

Caption = "100"

Label Label14 – метка, выводит на экран надпись. Располагается на объекте Picture1. Подпись к оси абсцисс.

Caption = "50"

Timer Timer1 – позволяет организовать циклическое повторение группы команд, отвечающих за движение объекта Shape1, расчёт значений переменных x, y, k, S и их вывод в соответсвующие метки

Enabled = 0 'False (при загрузке формы выключен)

Interval = 1 (промежуток времени в миллисекундах, через который повторяется выполнение команд)

Timer Timer2 – позволяет организовать циклическое повторение группы команд, отвечающих за движение объекта Shape1, расчёт значений переменных x2, y2, v и их вывод в соответсвующие метки

Enabled = 0 'False (при загрузке формы выключен)

Interval = 100 (промежуток времени в миллисекундах, через который повторяется выполнение команд)

CommandButton Command1 – объект управления командная кнопка. Нажатие на кнопку начинает выпонение действий, программный код которых связан с ней, объект Shape1 начинает движение.

Caption = "Старт"

Height = 495 (высота)

Width = 1455 (ширина)

CommandButton Command2 – объект управления командная кнопка. Нажатие на кнопку начинает выпонение действий, программный код которых связан с ней, объект Shape1 прекращает движение.

Caption = "Стоп"

Height = 495 (высота)

Width = 1455 (ширина)

Label Label12 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к объекту выводящему время с начала движения объекта Shape1.

Caption = "Общее время, с"

Left = 6720 (положение объекта, координата х верхнего левого угла объекта)

Top = 2880 (положение объекта, координата y верхнего левого угла объекта)

Label Label5 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к объекту, выводящему путь, пройденный объектом Shape1.

Caption = "Общий путь, м"

Left = 6720

Top = 2400

Label LabelYметка, в которую выводится координата Y. Располагается на объекте Form1.

BorderStyle = 1 'Fixed Single (задаёт рамку вокруг метки)

Left = 8880

Top = 1800

Label LabelX

BorderStyle = 1 'Fixed Single

Left = 8160

Top = 1800

Label Label10 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к меткам, выводящим текущие координаты объекта Shape1.

Caption = "Координаты"

Left = 6720

Top = 1800

Label Label6 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к метке, выводящей мгновенную скорость объекта Shape1.

Caption = "Скорость:"

Left = 480

Top = 5040

LabelKметка, в которую выводится количество полных кругов. Располагается на объекте Form1.

Caption = "0"

Left = 8640

Top = 1200

Label LabelV LabelKметка, в которую выводится количество полных кругов, пройденных объектом Shape1. Располагается на объекте Form1.

Caption = "0" (изначально количество кругов считается равным 0)

Left = 8400

Top = 3360

Label Label3 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к метке, выводящей число кругов, пройденных объектом Shape1.

BorderStyle = 1 'Fixed Single

Caption = "Пройдено кругов"

Left = 6720

Top = 1200

Label Label2 – метка, выводит на экран надпись. Располагается на объекте Form1. Подпись к метке, выводящей скорость объекта Shape1.

Caption = "Скорость м/c"

Left = 6720

Top = 3360

Label Label1 – метка, выводит на экран надпись. Располагается на объекте Form1.

Caption = "Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса"

Slider Slider1 – объект управления, с помощью которого регулируется скорость движения объекта Shape1.

Max = 30 (максимальное число делений)

Value = 2 (деление на котором располагается бегунок по умолчанию)

    1. Организация процесса и расчетные формулы

Организовывается процесс работы программы следующим образом. При запуске программы появляется форма, на которой отображаются объекты управления. Для объекта Picture1 свойство DrawWidth = 8, это толщина точек, при помощи которых на объекте изображается эллипс, прорисовка точек с использованием метода PSet происходит в теле цикла For…Next следующим образом: Picture1.PSet (180 * Cos(i) + 200, 100 * Sin(i) + 140)

В результате выполнения цикла получаем изображение эллипса, у которого большая полуось равна 90,а малая 50, и смещённым относительно левого верхнего угла объекта Picture1 на 200 пикселей влево и 140 – вниз.

С помощью метода PSet рисуются точки на осях абсцисс и ординат, задающие единичный отрезок. Масштаб задан следующий 360 пикселей = 100 метров. Таким образом, для пользователя большая полуось будет составлять 45 метров, а меньшая – 50 метров.

При нажатии на командную кнопку Command1 проверяется условие если Slider1.Value = 0, таймер, организующий движение объекта не включается (Timer1.Enabled = False) так как это означает, что скорость равна нулю. Во всех остальных случаях таймер включается (Timer1.Enabled = True).

При нажатии на командную кнопку Command2 таймеры Timer1 и Timer2 выключаются Timer1.Enabled = False: Timer2.Enabled = False, что приводит к остановке движения тела и остановке отсчёта времени.

Теперь последовательно рассмотрим программный код процедур Timer1_Timer() и Timer2_Timer().

С помощью объекта Timer1, организуется движение объекта. В первую очередь активируется Timer1. Затем рассчитываются координаты объекта Shape1 по формулам

x = 180 * Cos(fi) + 200

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее