рефераты рефераты
Главная страница > Курсовая работа: Программирование в Бейсике  
Курсовая работа: Программирование в Бейсике
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Программирование в Бейсике

1.Просмотр маршрутов и управление движением автобусов.

-  Считывание из файла " Маршруты.txt" названия всех существующих маршрутов и запись их в Combo_Box

-  При выборе определенного маршрута из списка представленных - считывание из файла выбранного маршрута " < Имя маршрута >.txt" данных : номера автобусов, имена их водителей и кондукторов, названия всех остановок и их координаты. Отображение в Picture_Box схемы самого маршрута с помощью линий, остановок и автобусов – Image_Box

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

-  При выборе автобуса – щелчок по нему – отображение основных данных по нему: имена водителя и кондуктора, номер, скорость с учетом времени суток и уровень оставшегося топлива

-  При щелчке по остановкам перемещать активный в данный момент автобус( выделенный) на эти остановки

-  При выборе пунктов меню: переместить на остановку вперед и назад - перемещать активный в данный момент автобус( выделенный) соответственно на эти остановки

-  При выборе пунктов: Режимы передвижения или просмотра автобусов – соответственно разрешать или запрещать ручное (Drag_and_Drop) перетаскивание автобусов

2.Просмотр свободных автобусов

-  открывает файл свободных автобусов

3.Редактор маршрутов

-  Считывание из файла " Маршруты.txt" названия всех существующих маршрутов и запись их в Combo_Box

-  При выборе определенного маршрута из списка представленных - считывание из файла выбранного маршрута " < Имя маршрута >.txt" данных : номера автобусов, имена их водителей и кондукторов, названия всех остановок и их координаты. Отображение в Picture_Box схемы самого маршрута с помощью линий и остановки – Image_Box

-  При нажатии кнопки Новый считывание из файла " Маршруты.txt" названия всех существующих маршрутов и запись их в Combo_Box

-  При выборе кнопок Добавление/Изменение или Удаление соответственно добавление, изменение или удаление в зависимости от определенных параметров

-  При нажатии соответствующих после выбора режима изменения маршрутов кнопок переименование, удаление, перемещение выбранной остановки или добавление новой

-  Перенаправление маршрута и запоминание соответственно уже измененного маршрута

-  При нажатие соответствующей кнопки запись изменений в файл открытого маршрута

4.Создание нового маршрута

-  Запись в файл маршрутов названия нового и создание файла самого маршрута


4. Программная часть

Самыми сложными на мой взгляд и наиболее требующими внимания являются следующие части кода программы:

1.Визуализация движения автобусов

For i = 0 To (AllBuses - 1)

Fuel(i) = Fuel(i) - 1 / (10000 * Me.Timer1.Interval)

If i = Misk Then Me.Label13.Caption = Str$(Fuel(Misk))

If Fuel(i) = 0 Then Fuel(i) = 100

Next i

For z = 0 To (Combo1.ListCount - 1)

For i = 0 To (arBusCount(z) - 1)

If z <> 0 Then

a = i

For j = 0 To (z - 1)

i = i + arBusCount(j)

Next j

End If

If arStayPast(z, i) = (arStayCount(z) - 1) Then arStayEdit(z, i)= -1

If arStayPast(z, i) = 0 Then arStayEdit(z, i) = 1

If Val(arStayAbsciss(z, arStayPast(z, i))) > Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _

Then arCoordEdit(z, i) = -1

If Val(arStayAbsciss(z, arStayPast(z, i))) < Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _

Then arCoordEdit(z, i) = 1

If Val(arStayAbsciss(z, arStayPast(z, i))) = Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _

Then arCoordEdit(z, i) = 0

k(z, i) = (Val(arStayOrdinata(z, arStayPast(z, i))) - Val(arStayOrdinata(z, arStayPast(z, i) + arStayEdit(z, i)))) / _

(Val(arStayAbsciss(z, arStayPast(z, i))) - Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))))

b(z, i) = Val(arStayOrdinata(z, arStayPast(z, i))) - k(z, i) * Val(arStayAbsciss(z, arStayPast(z, i)))

Dim c As Single

c = Cos(Atn(k(z, i)))

x0(z, i) = x0(z, i) + c * 2 * arCoordEdit(z, i)

y0(z, i) = k(z, i) * x0(z, i) + b(z, i)

Image1(i).Move x0(z, i) - Image1(i).Width / 2, y0(z, i) - Me.Image1(i).Height / 2

If arCoordEdit(z, i) = 1 Then

If x0(z, i) >= Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _

Then arStayPast(z, i) = arStayPast(z, i) + arStayEdit(z, i)

End If

If arCoordEdit(z, i) = -1 Then

If x0(z, i) <= Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i)))_

Then arStayPast(z, i) = arStayPast(z, i) + arStayEdit(z, i)

End If

If z <> 0 Then i = a

Next i

Next z

End Sub

где k(z, i) – угловой коэффициент уравнения движения автобуса " i " по маршруту " z "; b(z, i) – свободный член того же уравнения; arCoordEdit(z, i) – в какую сторону изменять координату автобуса; arStayPast(z, i), arStayEdit(z, i) – соответственно последняя остановка, которую прошел автобус, и величина, показывающая в какую сторону будут изменяться остановки; с – изменение координаты автобуса по X; x0(z, i), y0(z, i) – промежуточные координаты автобуса. В данной процедуре программа сама проверяет в какую сторону должен двигаться определенный автобус, как должна изменяться его координата и где следующий момент времени он будет находиться.

2.Работа с текстовыми файлами при считывании информации об определенном маршруте

Public Static Sub Work_With_Files()

arBusCount(Mis) = 0

arStayCount(Mis) = 0

Open "c:\Курсовая моя\" + Combo1.List(Mis) + ".txt" For Input As 2

Do While Not EOF(2)

Input #2, a$

Select Case a$

Case "автобус": Input #2, arBusNumber(Mis, arBusCount(Mis))

Case "водитель": Input #2, arDriveName(Mis, arBusCount(Mis))

Case "кондуктор": Input #2, arConductorName(Mis, arBusCount(Mis))

arBusCount(Mis) = arBusCount(Mis) + 1

Case "остановка": Input #2, arStayName(Mis, arStayCount(Mis))

Input #2, arStayAbsciss(Mis, arStayCount(Mis))

Input #2, arStayOrdinata(Mis, arStayCount(Mis))

arStayCount(Mis) = arStayCount(Mis) + 1

End Select

Loop

Close 2

End Sub

где Mis – номер текущего маршрута, файл которого читается.

Полный код программы смотрите в Приложении.


Вывод

В данной программе удалось полностью реализовать поставленную задачу.

С помощью Visual Basic получили:

Программу - модель работы оператора по управлению автобусами

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

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

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

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


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

1.Visual Basic 6.0 – Мастер – Разработка приложений. Санкт – Петербург, " БХВ - Петербург", 2000

2.Самоучитель по Visual Basic 6.0


Приложение

Form1

Public EditBus As Boolean

Public EditLine As Boolean

Dim DooM As Boolean, Doomy As Boolean, Do_Do As Boolean

Dim Mis As Integer, Mi As Integer

Dim Misk As Integer, disk As Integer

Dim w As Single

Dim arLinesName(0 To 30) As String, LinesCount As Integer '30 - max маршрутов

Dim arBusNumber(0 To 30, 0 To 25) As String, arBusCount(0 To 30) As Integer

Dim AllBuses As Integer '25 - max автобусов

Dim arDriveName(0 To 30, 0 To 25) As String

Dim arConductorName(0 To 30, 0 To 25) As String

Dim arStayName(0 To 30, 0 To 35) As String ' 35 max остановок на одном маршруте

Dim arStayAbsciss(0 To 30, 0 To 35) As String

Dim arStayOrdinata(0 To 30, 0 To 35) As String

Dim arStayCount(0 To 30) As Integer

Dim arName(0 To 30, 0 To 35) As String ' 35 - max остановок на одном маршруте

Dim arAbsciss(0 To 30, 0 To 35) As String

Dim arOrdinata(0 To 30, 0 To 35) As String

Dim arFreeBuses(0 To 100) As String

Dim q As Integer, food As Boolean, Boom As Boolean

Dim e As Integer, mx As Single, my As Single

Dim zzz As Integer, zxz As Integer

Dim aa As Integer, x0 As Single, y0 As Single, nama(0 To 30, 0 To 35) As String

Private Sub Combo1_Click()

Mi = 0

Misk = 0

Boom = True

disk = 999

Do_Do = False

Doomy = False

Command4.Enabled = False

Command5.Enabled = False

Command6.Enabled = False

Combo2.Clear

Combo3.Clear

Combo4.Clear

Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = ""

Me.Picture1.Visible = True

Combo2.Enabled = True: Combo4.Enabled = True

Страницы: 1, 2, 3, 4, 5, 6

рефераты
Новости