Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Программирование в Бейсике

Тип Реферат
Предмет Информатика и программирование
Просмотров
397
Размер файла
201 б
Поделиться

Ознакомительный фрагмент работы:

Программирование в Бейсике

Содержание

Введение

1. Постановка задачи

1.1 Моделирование

1.2 Входные, выходные данные

1.3 Организация данных

2. Разработка интерфейса

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

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

2.3 Просмотр маршрутов и управление автобусами

3. Алгоритм

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

Вывод

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

Приложение


Введение

Обычно Basic ассоциируется с каким-то очень простым в освоении и использовании средством программирования. Это действительно так. На заре компьютерных технологий язык Basic был создан для создания простых программ и использовался в качестве учебного языка для первых шагов при изучении основ программирования с последующим переходом на более сложные и универсальные языки. Это было заложено в название языка BASIC — Beginners All-purpose Symbolic Instructional Code, то есть многоцелевой код символьных инструкций для начинающих. С прогрессом компьютерных технологий развивался и Basic. В настоящее время версия Visual Basic 6 дает возможность решать любые современные задачи разработки приложений. При этом Visual Basic 6 остался достаточно простым в освоении, став в то же время одним из мощных современных языков программирования.

По сути дела последняя версия языка Visual Basic 6 представляет собой интегрированную среду разработки — IDE (Integrated Development Environment). Это означает, что в Visual Basic 6 интегрирован набор инструментов, облегчающих и значительно ускоряющих процесс разработки готового приложения. Такая реализация языка Visual Basic 6 с полным правом позволяет отнести его к средствам быстрой разработки приложений — RAD (Rapid Application Development) и ставит практически в один ряд с такими средствами разработки, как Visual C++, Delphi и другими.

С помощью Visual Basic 6 можно создавать приложения практически для любой области современных компьютерных технологий: бизнес-приложения, игры, мультимедиа, базы данных. При этом приложения могут быть как простыми, так и очень сложными, в зависимости от поставленной задачи.


1. Постановка задачи

1.1 Моделирование

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

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

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

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

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

1.2 Входные, выходные данные

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

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

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

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

1.3 Организация данных

В данной работе для хранения уже существующих или записи ново созданных используются текстовые файлы.

Для хранения всех существующих маршрутов используется файл " c: Курсовая моя Маршруты.txt" , где представлен список названий имеющихся маршрутов.

Для хранения данных по всем маршрутам используются файлы (отдельный для каждого маршрута):

"c: Курсовая моя < название маршрута > .txt"

В таких файлах информация представлена например в следующем виде:

автобус, 512

водитель, Батуров П.П.

кондуктор, Иванова И.И.

автобус, 513

водитель, Рябова Т.И.

кондуктор, Шишкова Ю.М.

автобус, 514

водитель, Продидж Н.Н.

кондуктор, Мартысюк С.С.

остановка, , 405, 4680

остановка, , 915, 2730

остановка, , 870, 765

остановка, , 3750, 255

остановка, , 2790, 2490

остановка, , 5955, 3585

остановка, , 6030, 1995 и так далее …

Для хранения свободных на данный момент автобусов тоже используется свой файл :

" c: Курсовая моя Свободные автобусы .txt"

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

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

arLinesName(0 To 30) AsString

-- для записи названий всех маршрутов, 30 – максимальное число маршрутов

LinesCountAsInteger

-- для запоминания количества маршрутов

arBusNumber(0 To 30, 0 To 25) AsString

-- для записи номеров всех автобусов, 25 – максимальное число автобусов на одном маршруте

arBusCount(0 To 30) AsInteger

-- для запоминания количества автобусов на определенном маршруте

AllBusesAsInteger

-- для хранения числа всех задействованных на маршрутах автобусов

arDriveName(0 To 30, 0 To 25) AsString

-- для запоминания имени водителя автобуса на определенном маршруте

arConductorName(0 To 30, 0 To 25) AsString

-- для запоминания имени кондуктора автобуса на определенном маршруте

arStayName(0 To 30, 0 To 35) AsString

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

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

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

-- для записи координат( по X и Y) для каждой остановки определенного маршрута

arStayCount(0 To 30) AsInteger

-- для хранения числа остановок на данном маршруте


2. Разработка интерфейса

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

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

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

Для хранения названий маршрутов, номеров автобусов( как задействованных, так и свободных) и названий остановок используются элементы управления Combo_Box; для прорисовки маршрутов – Picture_Box; для обозначения остановок – Image_Box.


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

Для создания своего маршрута аналогично выбираем пункт – Создать новый маршрут

Для записи названия маршрута, имен водителя и кондуктора, а также названия остановки (если нужно задать ей свое имя) используются элементы управления Text_Box; для хранения номеров автобусов( как прикрепленных к создаваемому маршруту, так и еще свободных) – Combo_Box; для рисования своего произвольного маршрута – Picture_Box.

2.3 Просмотр маршрутов и управление автобусами

Для выбора режима просмотра маршрутов и управления движением автобусов нужно выбрать пункт меню: Маршруты

Здесь для хранения названий маршрутов используется элемент управления Combo_Box; для отображения данных по автобусам – Label и Text_Box; для отображения самого маршрута и движения по нему автобусов – Picture_Box; для самих автобусов, остановок.


3. Алгоритм

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

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.Визуализация движения автобусов

Fori = 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 – номер текущего маршрута, файл которого читается.

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


Вывод

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

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

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

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

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

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

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


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

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

2.Самоучитель по VisualBasic 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

Command1.Enabled = True: Command2.Enabled = True: Command3.Enabled = True: Command7.Enabled = True

Command5.Enabled = True

Mis = Combo1.ListIndex

If Len(Dir("c:Курсоваямоя" + Combo1.List(Mis) + ".txt")) = 0 Then

MsgBox"Файл маршрута не найден" + vbCrLf + _

"Проверьте его наличие: 'c:Курсовая моя" + Combo1.List(Mis) + ".txt'"

Exit Sub

Else

Files

End If

For i = 0 To arBusCount(Mis) - 1

Combo2.AddItem arBusNumber(Mis, i)

Next i

For i = 0 To 35

Image1(i).Picture = LoadPicture("c:КурсоваямояИконкиIcon2.ico")

Next i

Picture1.Cls

For i = 1 To 35

Me.Image1(i).Visible = False

Me.Label14(i).Visible = False

Next i

Me.Picture1.PSet (arStayAbsciss(Mis, 0), arStayOrdinata(Mis, 0))

w = Me.Image1(0).Width / 2

Me.Image1(0).Move arStayAbsciss(Mis, 0) - w, arStayOrdinata(Mis, 0) - w

Me.Label14(0).Move Image1(0).Left + 2 * w, Image1(0).Top

Me.Label14(0).Caption = arStayName(Mis, 0)

For i = 0 To (arStayCount(Mis) - 1)

Me.Picture1.Line -(arStayAbsciss(Mis, i), arStayOrdinata(Mis, i))

Me.Image1(i).Move arStayAbsciss(Mis, i) - w, arStayOrdinata(Mis, i) - w

Me.Image1(i).Visible = True

Me.Label14(i).Visible = True

Me.Label14(i).Move Image1(i).Left + 2 * w, Image1(i).Top

Me.Label14(i).Caption = arStayName(Mis, i)

Me.Combo4.AddItem arStayName(Mis, i)

Next i

End Sub

Private Sub Combo2_Click()

DooM = False

Text2.Enabled = True: Text3.Enabled = True

Me.Command8.Enabled = True

Misk = Combo2.ListIndex

Text1.Text = arBusNumber(Mis, Misk)

Text2.Text = arDriveName(Mis, Misk)

Text3.Text = arConductorName(Mis, Misk)

End Sub

Private Sub Combo3_Click()

DooM = True

Text2.Enabled = True: Text3.Enabled = True

Mi = Combo3.ListIndex

Text1.Text = Combo3.List(Mi)

Text2.Text = ""

Text3.Text = ""

End Sub

Private Sub Combo4_Click()

disk = Combo4.ListIndex

Text4.Enabled = True

Text4.Text = Combo4.List(disk)

For i = 0 To 35

If Label14(i).Caption = Combo4.List(disk) Then

Image1(i).Picture = LoadPicture("c:КурсоваямояИконки!conMania.cur")

Else

Image1(i).Picture = LoadPicture("c: КурсоваямояИконкиIcon2.ico")

End If

Next i

End Sub

Private Sub Combo5_Click()

zxz = Combo5.ListIndex

Text7.Text = Combo5.List(zxz)

Text6.Text = ""

Text5.Text = ""

Command11.Enabled = True

Text5.Enabled = True

Text6.Enabled = True

End Sub

Private Sub Combo7_Click()

Text9.Enabled = True

Text9.Text = nama(LinesCount - 1, Combo7.ListIndex)

End Sub

Private Sub Command1_Click()

IfLen(Dir("c:Курсовая мояСвободные автобусы.txt")) = 0 Then

MsgBox "Файл свободных автобусов не найден!!!" + vbCrLf + _

"Проверьте его наличие : 'c: Курсовая мояСвободные автобусы.txt'"

Exit Sub

End If

Combo3.Enabled = True

i = 0

Open "c: Курсовая мояСвободные автобусы.txt" ForInputAs 3

Do While Not EOF(3)

Input #3, arFreeBuses(i)

Combo3.AddItem arFreeBuses(i)

i = i + 1

Loop

Close 3

End Sub

Private Sub Command10_Click()

IfCommand10.Caption = "Начать последовательность остановок" Then

Command7.Enabled = False

food = True

q = 0

Else

Command7.Enabled = True

food = False

Combo4.Enabled = False

Text4.Enabled = False

Command3.Enabled = False

Command4.Enabled = False

Command5.Enabled = False

Command6.Enabled = False

End If

End Sub

Private Sub Command11_Click()

Combo6.Enabled = True

If Text7.Text = "" Or Text6.Text = "" Or Text5.Text = "" Then

MsgBox "Все поля должны быть заполнены!!!"

Exit Sub

End If

arBusNumber(LinesCount - 1, zzz) = LTrim(Str$(LinesCount - 1 + 1) + Combo5.List(zxz))

arDriveName(LinesCount - 1, zzz) = Text6.Text

arConductorName(LinesCount - 1, zzz) = Text5.Text

Combo6.AddItem arBusNumber(LinesCount - 1, zzz)

Combo5.RemoveItem Mi

zzz = zzz + 1

End Sub

Private Sub Command12_Click()

IfLen(Dir("c: Курсовая мояСвободные автобусы.txt")) = 0 Then

MsgBox "Файл свободных автобусов не найден!!!" + vbCrLf + _

"Проверьте его наличие : 'c: Курсовая мояСвободные автобусы.txt'"

Exit Sub

End If

Combo3.Enabled = True

Combo5.Enabled = True

End Sub

Private Sub Command13_Click()

If Text8.Text = "" Then MsgBox "Напишитеназваниемаршруту!!!": Exit Sub

If Len(Dir("c: КурсоваямояМаршруты.txt")) = 0 Then

MsgBox "Файл маршрутов не найден!!!" + vbCrLf + _

"Проверьте его наличие : 'c: Курсовая мояМаршруты.txt'"

Combo1.Enabled = False

Label11.Visible = False

Exit Sub

End If

Open "c: КурсоваямояМаршруты.txt" For Append As 1

Print #1, Text8.Text

Close 1

Open "c:курсоваямоя" + Text8.Text + ".txt" For Output As 3

For zzz = 0 To (Combo6.ListCount - 1)

Print #3, "автобус,", arBusNumber(LinesCount - 1, zzz)

Print #3, "водитель,", arDriveName(LinesCount - 1, zzz)

Print #3, "кондуктор,", arConductorName(LinesCount - 1, zzz)

Next zzz

For i = 0 To (Combo7.ListCount - 1)

Print #3, "остановка,", nama(LinesCount - 1, i), ",", Combo7.List(i)

Next i

Close 3

Open "c: КурсоваямояСвободныеавтобусы.txt" For Output As 6

For i = 0 To (Combo5.ListCount - 1)

Print #6, Combo5.List(i)

Next i

Close 6

mnuNewLine_Click

End Sub

Private Sub Command14_Click()

Frame2.Visible = False

End Sub

Private Sub Command15_Click()

Frame1.Visible = False

End Sub

Private Sub Command16_Click()

IfText9.Text = "" ThenMsgBox "Напишите название остановки!!!" Else _

nama(LinesCount - 1, Combo7.ListIndex) = Text9.Text

End Sub

Private Sub Command17_Click()

Picture2.Cls

Combo6.Clear: Combo6.Enabled = False

Combo5.Enabled = False

Text6.Text = "": Text6.Enabled = False

Text5.Text = "": Text5.Enabled = False

Command11.Enabled = False

Combo7.Enabled = False: Combo7.Clear

Text9.Text = "": Text9.Enabled = False

Command16.Enabled = False: Command13.Enabled = False

End Sub

Private Sub Command2_Click()

If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then

MsgBox "Все поля должны быть заполнены!!!"

Exit Sub

End If

Select Case DooM

Case False: arDriveName(Mis, Misk) = Text2.Text

arConductorName(Mis, Misk) = Text3.Text

Case True: arBusNumber(Mis, Combo2.ListCount) = LTrim(Str$(Mis + 1) + Combo3.List(Mi))

arDriveName(Mis, Combo2.ListCount) = Text2.Text

arConductorName(Mis, Combo2.ListCount) = Text3.Text

Combo2.AddItem arBusNumber(Mis, Combo2.ListCount), Combo2.ListCount

Combo3.RemoveItem Mi

End Select

End Sub

Private Sub Command3_Click()

Doomy = True

Picture1.Cls

Command4.Enabled = True

Command5.Enabled = True

Command6.Enabled = True

End Sub

Private Sub Command4_Click()

If Doomy = True Then

If disk <> 999 Then

Image1(disk).Visible = False

Label14(disk).Visible = False

Combo4.List(disk) = " - "

End If

disk = 999

End If

End Sub

Private Sub Command5_Click()

Text4.Enabled = True

If Doomy = True Then Exit Sub

If disk <> 999 Then

If Do_Do = True Then

IfText4.Text = "" Then

MsgBox "напишите название остановки!!!"

Else

arStayName(Mis, disk) = Text4.Text

For i = 0 To 35

If Label14(i).Caption = Combo4.List(disk) Then Label14(i).Caption = Text4.Text

Next i

Me.Combo4.List(disk) = Text4.Text

Do_Do = False

End If

End If

End If

End Sub

Private Sub Command6_Click()

If Boom = True Then

If disk <> 999 Then Image1(disk).DragMode = 1

Else

If disk <> 999 Then Image1(disk).DragMode = 0

Boom = True

End If

End Sub

Private Sub Command7_Click()

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

For i = 0 To (Combo2.ListCount - 1)

If Combo2.List(i) <> " - " Then

Print #5, "автобус,", Combo2.List(i)

Print #5, "водитель,", arDriveName(Mis, i)

Print #5, "кондуктор,", arConductorName(Mis, i)

End If

Next i

If Command10.Caption = "Сохранитьвсесделанныеизменения" Then

For i = 0 To (Combo4.ListCount - 1)

If Combo4.List(i) <> " - " Then _

Print #5, "остановка,", arStayName(Mis, i), ",", arStayAbsciss(Mis, i), ",", arStayOrdinata(Mis, i)

Next i

Else

For i = 0 To (Combo4.ListCount - 1)

If Combo4.List(i) <> " - " Then _

Print #5, "остановка,", arName(Mis, i), ",", arAbsciss(Mis, i), ",", arOrdinata(Mis, i)

Next i

End If

Close 5

Open "c: Курсовая мояСвободные автобусы.txt" ForOutputAs 6

For i = 0 To (Combo3.ListCount - 1)

Print #6, Combo3.List(i)

Next i

Close 6

End Sub

Private Sub Command8_Click()

If DooM = True Then MsgBox "Нечегоудалять!!!"

If DooM = False Then

Combo2.List(Misk) = " - "

IfLen(Dir("c: Курсовая мояСвободные автобусы.txt")) = 0 Then

MsgBox "Файл маршрутов не найден!!!" + vbCrLf + _

"Проверьте его наличие : 'c: Курсовая мояСвободные автобусы.txt'"

Exit Sub

End If

Open "c: КурсоваямояСвободныеавтобусы.txt" For Append As 7

Print #7, arBusNumber(Mis, Misk)

Close 7

End If

End Sub

Private Sub Command9_Click()

If Len(Dir("c: Курсоваямоямаршруты.txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

" Проверьте его наличие: 'c: Курсовая моямаршруты.txt'"

Combo1.Enabled = False

Label11.Visible = False

Exit Sub

End If

Open "c: Курсовая моямаршруты.txt" For Output As 4

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

If i <> Mis Then Print #4, Combo1.List(i)

Next i

Close 4

Open "c:Êóðñîâàÿ ìîÿ" + Combo1.List(Mis) + ".txt" For Output As 4

Close 4

End Sub

Private Sub Form_Load()

aa = 0

q = 999

For i = 1 To 35

Load Image1(i)

Load Label14(i)

Me.Image1(i).Visible = False

Me.Label14(i).Visible = False

Next i

disk = 999

End Sub

Private Sub Image1_Click(Index As Integer)

w = Image1(0).Width / 2

If q = 0 Then

Picture1.PSet (Image1(Index).Left, Image1(Index).Top)

Combo4.Clear

End If

If food = True Then

Command10.Caption = "Çàïîìíèòü"

arName(Mis, q) = arStayName(Mis, Index)

arAbsciss(miss, q) = arStayAbsciss(Mis, Index)

arOrdinata(miss, q) = arStayOrdinata(Mis, Index)

Combo4.AddItem arName(Mis, q)

Picture1.Line -(arStayAbsciss(Mis, Index), arStayOrdinata(Mis, Index))

q = q + 1

Else

disk = Index

Combo4.ListIndex = disk

End If

End Sub

Private Sub mnuEditLine_Click()

Combo1.Clear

Me.Frame1.Visible = True

If Len(Dir("c: Курсовая моямаршруты.txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

"Ïðîâåðüòå åãî íàëè÷èå : 'c: Курсовая моямаршруты.txt'"

Combo1.Enabled = False

Label11.Visible = False

Exit Sub

End If

Open "c: Курсовая моямаршруты.txt" For Input As 1

LinesCount = 0

Do While Not EOF(1)

Input #1, arLinesName(LinesCount)

Combo1.AddItem arLinesName(LinesCount)

LinesCount = LinesCount + 1

Loop

Close 1

End Sub

Private Sub mnuFree_Click()

If Len(Dir("c: КурсоваямояСвободныеавтобусы.txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

" Проверьте его наличие: 'c: Курсовая мояСвободные автобусы.txt"

ExitSub

EndIf

Retval = Shell("NotePad.exec: Курсовая мояСвободные автобусы.txt", 1)

End Sub

Private Sub mnuLines_Click()

Form2.Show

End Sub

Public Static Sub 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

Private Sub Image1_DragOver(Index As Integer, Source As Control, X As Single, Y As Single, State As Integer)

If e = 0 Then

mx = X

my = Y

e = 1

End If

End Sub

Private Sub mnuNewLine_Click()

zzz = 0

Frame1.Visible = False

Frame2.Visible = True

If Len(Dir("c: Курсовая моямаршруты.txt")) = 0 Then

MsgBox " Файл маршрутов не найден í!!!" + vbCrLf + _

"Ïðîâåðüòå åãî íàëè÷èå : 'c: Курсовая моямаршруты.txt'"

Combo1.Enabled = False

Label11.Visible = False

Exit Sub

End If

Open "c: Курсовая моямаршруты.txt" For Input As 1

LinesCount = 0

Do While Not EOF(1)

Input #1, arLinesName(LinesCount)

Combo1.AddItem arLinesName(LinesCount)

LinesCount = LinesCount + 1

Loop

Close 1

i = 0

Open "c: Курсовая мояСвободные автобусы.txt" ForInputAs 3

Do While Not EOF(3)

Input #3, arFreeBuses(i)

Combo5.AddItem arFreeBuses(i)

i = i + 1

Loop

Close 3

End Sub

Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)

Source.Move X - mx, Y - my: Label14(disk).Move X - mx + w * 2, Y - my

arStayAbsciss(Mis, disk) = Str$(X - mx)

arStayOrdinata(Mis, disk) = Str$(Y - my)

e = 0

Boom = False

Command6_Click

End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Doomy Then

If Text4.Text = "" Then MsgBox "Напишитеназваниеостановки!!!": Exit Sub

If Do_Do = False Then

Exit Sub

Else

If Text4.Text = "" Then MsgBox " Напишите название остановки!!!": Exit Sub

Image1(Combo4.ListCount).Visible = True

Image1(Combo4.ListCount).Move X - w, Y - w

Me.Label14(Combo4.ListCount).Visible = True

Me.Label14(Combo4.ListCount).Move Image1(Combo4.ListCount).Left + 2 * w, Image1(Combo4.ListCount).Top

Me.Label14(Combo4.ListCount).Caption = Text4.Text

arStayAbsciss(Mis, Combo4.ListCount) = Str$(X - w): arStayOrdinata(Mis, Combo4.ListCount) = (Y - w)

arStayName(Mis, Combo4.ListCount) = Text4.Text

Me.Combo4.AddItem arStayName(Mis, Combo4.ListCount)

Me.Text4.Text = ""

End If

Else

Exit Sub

End If

End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Combo7.Enabled = True

aa = aa + 1

Combo7.AddItem Str$(X) + "," + Str$(Y)

nama(LinesCount - 1, aa - 1) = Str$(aa - 1)

If aa <> 1 Then

Me.Picture2.Line -(X, Y)

Command13.Enabled = True

Else

Me.Picture2.PSet (X, Y)

End If

x0 = X: y0 = Y

End Sub

Private Sub Text4_Change()

Do_Do = True

End Sub

Private Sub Text9_Change()

Command16.Enabled = True

End Sub

Form2

Dim Boom As Boolean

Dim MovePossible As Boolean

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 arStayPast(0 To 30, 0 To 25) As Integer последняяостановкаавтобуса

DimarStayEdit(0 To 30, 0 To 25) AsIntegerв какую сторону изменять остановки

Dim arCoordEdit(0 To30,Dim k(0 To 30, 0 To 25) As Single вкакуюсторонуизменятькоординаты

Dim b(0 To 30, 0 To 25) As Single угловойкоэффициентпридвижении

Dim x0(0 To 30, 0 To 25) As Single

Dim y0(0 To 30, 0 To 25) As Single

Dim mx As Single '

Dim my As Single, p As Integer, Pisk As Integer

Public Mis As Integer определенныймаршрут

Public Misk As Integer определенныйавтобус

Dim i As Integer

Dim w As Single

Const t0 = 4: Const t1 = 7: Const t2 = 10: Const t3 = 13

Const t4 = 15: Const t5 = 17: Const t6 = 20: Const t7 = 23

Dim Fuel(0 To 750) As Single

Private Sub Combo1_Click()

Me.mnuEditBuses.Enabled = True

Me.mnuMove.Enabled = True

Me.Command1.Enabled = True

For i = 0 To (AllBuses - 1)

Image1(i).Picture = LoadPicture("c: Курсовая мояИконкиBlue Bus.ico")

Next i

Me.Frame1.Visible = True

Me.Label2.Visible = True

Mi = Mis

Mis = Combo1.ListIndex

Me.Picture1.Visible = True

Me.Label9.Visible = True

arBusCount(Combo1.ListIndex) = 0

arStayCount(Combo1.ListIndex) = 0

If Len(Dir("c:Êóðñîâàÿ ìîÿ" + Combo1.List(Mis) + ".txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

"Ïðîâåðüòå åãî íàëè÷èå : 'c:Êóðñîâàÿ ìîÿ" + Combo1.List(Mis) + ".txt'"

Combo1.ListIndex = Mi

Exit Sub

Else

Work_With_Files

End If

Picture1.Cls

For i = 1 To 35

Me.Image2(i).Visible = False

Me.Label14(i).Visible = False

Next i

Me.Picture1.PSet (arStayAbsciss(Mis, 0), arStayOrdinata(Mis, 0))

w = Me.Image2(0).Width / 2

Me.Image2(0).Move arStayAbsciss(Mis, 0) - w, arStayOrdinata(Mis, 0) - w

Me.Label14(0).Move Image2(0).Left + 2 * w, Image2(0).Top

Me.Label14(0).Caption = arStayName(Mis, 0)

For i = 0 To (arStayCount(Mis) - 1)

Me.Picture1.Line -(arStayAbsciss(Mis, i), arStayOrdinata(Mis, i))

Me.Image2(i).Move arStayAbsciss(Mis, i) - w, arStayOrdinata(Mis, i) - w

Me.Image2(i).Visible = True

Me.Label14(i).Visible = True

Me.Label14(i).Move Image2(i).Left + 2 * w, Image2(i).Top

Me.Label14(i).Caption = arStayName(Mis, i)

Next i

For i = 0 To (AllBuses - 1)

Image1(i).Visible = False

Next i

If Boom = True Then Boom = False: First_Stay_of_Buses

For i = 0 To (arBusCount(Combo1.ListIndex) - 1)

If Mis <> 0 Then

a = i

For j = 0 To (Mis - 1)

i = i + arBusCount(j)

Next j

Me.Image1(i).Visible = True

i = a

GoTo 1

Else

Me.Image1(i).Visible = True

End If

1: Next i

Me.Timer1 = True

If Misk <> 999 Then If Image1(Misk).Visible = True Then Image1_Click (Misk)

t = Time

tnow = Val(Mid$(Str$(t), 1, 2))

If tnow > t0 And tnow < t1 Or tnow > t2 And tnow < t3 Or tnow > t4 And tnow < t5 Or _

tnow > t6 And tnow <= t7 Then Label8.Caption = "60 êì/÷": Timer1.Interval = 5

If tnow >= t1 And tnow <= t2 Or tnow >= t3 And tnow <= t4 Or tnow >= t5 And tnow <= t6 Then _

Label8.Caption = "30 êì/÷": Timer1.Interval = 10

If tnow = 24 Or tnow >= 0 And tnow <= 4 Then Label8.Caption = " - ": 'Timer1.Enabled = False

Label13.Caption = "100"

End Sub

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

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

Me.Picture1.PSet (arStayAbsciss(z, 0), arStayOrdinata(z, 0))

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

Me.Picture1.Line -(arStayAbsciss(z, i), arStayOrdinata(z, i)), QBColor(z + 3)

Next i

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

Me.Image1(i).Visible = True

i = a

GoTo 1

Else

Me.Image1(i).Visible = True

End If

1: Next i

Next z

End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Combo1_Click

End Sub

Private Sub Command2_Click()

Misk = 999

Unload Me

End Sub

Private Sub Form_Load()

Misk = 999

Boom = True

MovePossible = False

If Len(Dir("c: Курсовая моямаршруты.txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

" Проверьте его наличие: 'c: Курсовая моямаршруты.txt'"

Combo1.Enabled = False

Label11.Visible = False

Exit Sub

End If

Open "c: Курсовая моямаршруты.txt" For Input As 1

LinesCount = 0

Do While Not EOF(1)

Input #1, arLinesName(LinesCount)

Combo1.AddItem arLinesName(LinesCount)

LinesCount = LinesCount + 1

Loop

Close 1

AllBuses = 0

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

If Len(Dir("c:Курсоваямоя" + Combo1.List(Mis) + ".txt")) = 0 Then

MsgBox " Файл маршрутов не найден!!!" + vbCrLf + _

" Проверьте его наличие: 'c:Курсовая" + Combo1.List(Mis) + ".txt'"

Else

Work_With_Files

AllBuses = AllBuses + arBusCount(Mis)

End If

Next Mis

Fuel(0) = 100

For i = 1 To (AllBuses - 1)

Load Image1(i)

Fuel(i) = 100

Next i

For i = 1 To 35

Load Image2(i)

Load Label14(i)

Next i

End Sub

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

Private Sub Image1_Click(Index As Integer)

Misk = Index

For i = 0 To (AllBuses - 1)

Image1(i).Picture = LoadPicture("c: Курсовая мояИконки Blue Bus.ico")

Next i

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

If Mis <> 0 Then

a = i

For j = 0 To (Mis - 1)

i = i + arBusCount(j)

Next j

If i = Index Then

Frame1.Visible = False

Label4.Caption = arBusNumber(Mis, a)

Text1.Text = arDriveName(zmis, a)

Text2.Text = arConductorName(Mis, a)

Me.Label13.Caption = Str$(Fuel(Index))

Me.Image1(i).Picture = LoadPicture("c: Курсовая мояИконки Purple Bus.ico")

End If

i = a

GoTo 1

Else

If i = Index Then

Frame1.Visible = False

Label4.Caption = arBusNumber(Mis, i)

Text1.Text = arDriveName(Mis, i)

Text2.Text = arConductorName(Mis, i)

Me.Label13.Caption = Str$(Fuel(Index))

Me.Image1(i).Picture = LoadPicture("c: Курсовая мояИконки Purple Bus.ico")

End If

End If

1: Next i

End Sub

Private Sub Image1_DragOver(Index As Integer, Source As Control, X As Single, Y As Single, State As Integer)

Pisk = Index

End Sub

Private Sub Image2_Click(Index As Integer)

If Misk <> 999 Then

If Image1(Misk).Visible = True Then

x0(Mis, Misk) = Val(arStayAbsciss(Mis, Index))

y0(Mis, Misk) = Val(arStayOrdinata(Mis, Index))

If x0(Mis, Misk) = Val(arStayAbsciss(Mis, Index)) _

Then arStayPast(Mis, Misk) = Index

If arStayPast(Mis, Misk) = (arStayCount(Mis) - 1) Then arStayEdit(Mis, Misk) = -1

If arStayPast(Mis, Misk) = 0 Then arStayEdit(Mis, Misk) = 1

End If

End If

End Sub

Private Sub Image3_Click()

If Misk <> 999 Then If Image1(Misk).Visible = True Then Fuel(Misk) = 100

End Sub

Private Sub mnuEditNext_Click()

If Misk <> 999 Then

If Image1(Misk).Visible = True Then

x0(Mis, Misk) = Val(arStayAbsciss(Mis, arStayPast(Mis, Misk) + arStayEdit(Mis, Misk)))

If x0(Mis, Misk) = Val(arStayAbsciss(Mis, arStayPast(Mis, Misk) + arStayEdit(Mis, Misk))) _

Then arStayPast(Mis, Misk) = arStayPast(Mis, Misk) + arStayEdit(Mis, Misk)

End If

End If

End Sub

Private Sub mnuEditPast_Click()

If Misk <> 999 Then

If Image1(Misk).Visible = True Then

x0(Mis, Misk) = Val(arStayAbsciss(Mis, arStayPast(Mis, Misk)))

End If

End If

End Sub

Private Sub mnuMove_Click()

If MovePossible = True Then

Me.mnuMove.Caption = "Включить режим: передвижение автобусов"

For i = 0 To (AllBuses - 1)

Image1(i).DragMode = 0

Next i

MovePossible = False

Exit Sub

End If

If MovePossible = False Then

Me.mnuMove.Caption = "Включить: режим выбора автобуса"

MovePossible = True

For i = 0 To (AllBuses - 1)

Image1(i).DragMode = 1

Next i

End If

End Sub

Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)

If Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk))) > Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk) + arStayEdit(Mis, Pisk))) _

Then

For i = Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk))) To Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk) + arStayEdit(Mis, Pisk))) Step -1

If i = Fix(X) Then x0(Mis, Pisk) = X

Next i

Else

For i = Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk))) To Val(arStayAbsciss(Mis, arStayPast(Mis, Pisk) + arStayEdit(Mis, Pisk))) Step 1

If i = Fix(X) Then x0(Mis, Pisk) = X

Next i

End If

End Sub

Private Sub Timer1_Timer()

For i = 0 To (AllBuses - 1)

Fuel(i) = Fuel(i) - 1 / (1000 * 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

Public Static Sub First_Stay_of_Buses()

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

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

a = i

If z <> 0 Then

a = i

For j = 0 To (z - 1)

i = i + arBusCount(j)

Next j

End If

If a = 0 Then

arStayEdit(z, i) = 1

arStayPast(z, i) = 0

Me.Image1(i).Move arStayAbsciss(z, 0) - Image1(i).Width / 2, _

arStayOrdinata(z, 0) - Image1(i).Height / 2

x0(z, i) = Val(arStayAbsciss(z, 0)): y0(z, i) = Val(arStayOrdinata(z, 0))

'MsgBox Str$(z) + " - " + Str$(i) + " - " + Str$(X0(z, i)) + " " + Str$(Y0(z, i))

Else

arStayEdit(z, i) = 1

arStayPast(z, i) = arStayPast(z, i - 1) + 1

Me.Image1(i).Move arStayAbsciss(z, arStayPast(z, i)) _

- Image1(i).Width / 2, _

arStayOrdinata(z, arStayPast(z, i)) _

- Image1(i).Height / 2

x0(z, i) = Val(arStayAbsciss(z, arStayPast(z, i)))

y0(z, i) = Val(arStayOrdinata(z, arStayPast(z, i)))

'MsgBox Str$(z) + " - " + Str$(i) + " - " + Str$(X0(z, i)) + " " + Str$(Y0(z, i))

End If

i = a

1: Next i

Next z

End Sub


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
153602
рейтинг
icon
3192
работ сдано
icon
1384
отзывов
avatar
Математика
Физика
История
icon
149663
рейтинг
icon
5987
работ сдано
icon
2709
отзывов
avatar
Химия
Экономика
Биология
icon
105464
рейтинг
icon
2097
работ сдано
icon
1310
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
59 654 оценки star star star star star
среднее 4.9 из 5
СГУ
Всё прошло хорошо, исполнитель быстро идёт на контакт, цена хорошая, работа устроила. Боль...
star star star star star
ГБПОУ Некрасовский педколледж 1
Спасибо большое ☺️ Работа выполнена без замечаний, быстро, всё как надо!!!
star star star star star
Книту
Работа выполнена в срок. Все замечания были исправлены быстро. Добродушное общение. Очень ...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Выполнить 4 контрольной в лк

Контрольная, Физика

Срок сдачи к 9 апр.

только что

Построение детали в режиме твердотельного моделирования по чертежу

Чертеж, Системы автоматизированного проектирования

Срок сдачи к 2 апр.

только что

Математические методы принятия решений.

Решение задач, Высшая математика

Срок сдачи к 2 апр.

только что

по теме: Бухгалтерский учет готовой продукции и ее реализации в...

Курсовая, Бухгалтерский учет

Срок сдачи к 3 апр.

3 минуты назад

Решить задачи по информационным системам поддержки производственных процессов

Решение задач, Информационные системы

Срок сдачи к 13 апр.

4 минуты назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени: 2 апреля 2025 г. 09:47

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Press the down arrow key to interact with the calendar and select a date. Press the question mark key to get the keyboard shortcuts for changing dates.

Файлы (при наличии)

    это быстро и бесплатно