Автоматическое управление железнодорожными путями

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.08.2012
Размер файла 578,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Содержание

1. Задание

2. Введение

3. Рисунки автоматов

4. Блок схема

5. Листинг программы

6. Скриншоты с выполнением примера

Заключение

Список литературы

1. Задание

Едет поезд по основному пути. Подъезжает к разъезду с двумя путями. Если первый путь свободен, то он едет по первому. Если первый занят, а второй свободен, то он едет по второму. Если первый и второй заняты, то он едет по основному.

Построить автомат управления железнодорожными путями.

2.Введение

Основными задачами теории автоматов являются задачи анализа и синтеза автоматов. Под анализом автомата понимают установление отображения, реализуемого схемой заданного автомата А, а под синтезом --построение схемы автомата, который индуцирует заданное отображение f.

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

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

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

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

Задачи абстрактного анализа и синтеза автоматов противоположны друг другу. Различают канонические и общие задачи абстрактного анализа и синтеза автоматов.

Канонические задачи анализа и синтеза формулируются следующим образом:

1) по заданному абстрактному автомату Мили или Мура А найти соответствующее ему каноническое множество событий М,

2) по заданному автоматному множеству событий М найти абстрактный автомат Мили или Мура А, каноническое множество событий которого совпадает с М.

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

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

Общие задачи анализа и синтеза автоматов формулируются следующим образом:

1) по заданному абстрактному автомату Мили или Мура А найти событие, которое представлено в автомате А любым множеством выходных букв или состоянии автомата;

2) по любому конечному множеству событий построить абстрактный автомат Мили или Мура А. который представляет каждое событие этого множества некоторым множеством выходных букв или состояний.

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

3. Рисунки автоматов

S0

a/x

S1

b/y

S2

a/x

b/y

a/x

S3

a/x

S4

S0 - железнодорожный разъезд

S1 - первый путь

S2 - второй путь

S3 - третий путь

S4 - пункт назначения

а/х - свободен, едем напрямую

b/y - занят, встаем на следующий путь

Рисунок 1 - Автомат Милли

д

а

b

S0

S1

-

S1

S4

S2

S2

S4

S3

S3

S4

-

S4

-

-

л

а

b

S0

х

-

S1

х

у

S2

х

у

S3

х

-

S4

-

-

S0

a

S1/х

b

S2/у

a

b

a

S3/у

a

S4/х

S0 - железнодорожный разъезд

S1/х - первый путь

S2/у - второй путь

S3/у - третий путь

S4/х - пункт назначения

а - свободен, едем напрямую

b - занят, встаем на следующий путь

Рисунок 2 - Автомат Мура

4. Блок схема

Свободен Занят

Свободен Занят

5. Листинг программы

Option Explicit

Dim w, h

Dim k, dl

Dim mass() As Single, i%, j%, sv%, sv1%, ti%, fl As Boolean

Function y1(x As Single) As Single

y1 = 0

End Function

Function y2(x As Single) As Single

y2 = (x - w / 2)

End Function

Function y3(x As Single) As Single

y3 = -(x - w / 2)

End Function

Private Sub Combo1_Click()

k = Combo1

ReDim mass(1 To 2, 1 To k)

For j = 0 To 9

Line1(j).Visible = False

Next j

For j = 0 To k - 1

Line1(j).Visible = True

Next j

End Sub

Private Sub Combo2_Click()

ti = Combo2.ListIndex + 1

End Sub

Private Sub Command2_Click()

Timer1.Enabled = Not (Timer1.Enabled)

End Sub

Private Sub Form_Load()

Picture1.AutoRedraw = True

Picture1.Width = 2 * Picture1.Height

Picture1.Scale (0, -500)-(1000, 500)

Picture1.DrawWidth = 4: Picture1.ForeColor = &HC0C0C0

w = Picture1.ScaleWidth: h = Picture1.ScaleHeight

Shape2.Width = w: Shape2.Height = h

Shape2.FillColor = Picture1.BackColor

Me.Width = Picture1.Width + 100

Me.Height = Picture1.Height + 1000

Timer1.Enabled = False

Timer1.Interval = 10

For i = 0 To 2

Shape1(i).Left = (Picture2.ScaleWidth - Shape1(i).Width) / 2

Shape1(i).Top = Shape1(i).Height / 2 + 1.5 * i * Shape1(i).Height

Shape1(i).BackStyle = 1

Shape1(i).BackColor = vbRed

Option2(i).BackColor = Me.BackColor

Option2(i).Visible = False

Next i

Picture2.Left = w / 2 + Picture2.Width

Picture2.Top = -Picture2.Height / 2

dl = 17

Picture1.Line (0, 0)-(w, 0)

Picture1.Line (w / 2, 0)-(w, h / 2)

Picture1.Line (w / 2, 0)-(w, -h / 2)

For i = 1 To 10

Combo1.AddItem i

Combo2.AddItem i * 10 + 40 & " km/u"

Next i

Combo1.ListIndex = 7

k = Combo1

ReDim mass(1 To 2, 1 To k)

For j = 0 To 9

Line1(j).Visible = False

Next j

For j = 1 To k

Line1(j - 1).Visible = True

Next j

Combo2.ListIndex = 4

ti = Combo2.ListIndex + 1

fl = False

End Sub

Private Sub Option1_Click(Index As Integer)

fl = Index

Option2(sv).Value = True

Shape3.Left = Option1(Index).Left

For i = 0 To 2

Option2(i).Visible = Index

Next i

End Sub

Private Sub Option2_Click(Index As Integer)

If fl = True Then sv1 = Index

End Sub

Private Sub Timer1_Timer()

If mass(1, UBound(mass) - 1) > w * 1.1 Then

ReDim mass(1 To 2, 1 To k)

End If

mass(1, 1) = mass(1, 1) + ti

mass(2, 1) = mass(1, 1) - dl

For i = 2 To k

mass(1, i) = mass(1, 1) - (i - 1) * (dl + 10)

mass(2, i) = mass(1, i) - dl

Next i

If mass(1, 1) < w / 4 Then

If fl = False Then

Randomize: sv = Int(Rnd * 3)

Else

sv = sv1

End If

For i = 0 To 2

Shape1(i).BackColor = vbRed

Next i

Shape1(sv).BackColor = vbGreen

End If

For i = 1 To k

If mass(1, i) - dl / 2 <= w / 2 Then

Line1(i - 1).X1 = mass(1, i)

Line1(i - 1).X2 = mass(2, i)

Line1(i - 1).y1 = y1(mass(1, i))

Line1(i - 1).y2 = y1(mass(2, i))

Else

Select Case sv

Case 0

Line1(i - 1).X1 = mass(1, i)

Line1(i - 1).X2 = mass(2, i)

Line1(i - 1).y1 = y3(mass(1, i))

Line1(i - 1).y2 = y3(mass(2, i))

Case 1

Line1(i - 1).X1 = mass(1, i)

Line1(i - 1).X2 = mass(2, i)

Line1(i - 1).y1 = y1(mass(1, i))

Line1(i - 1).y2 = y1(mass(2, i))

Case 2

Line1(i - 1).X1 = mass(1, i)

Line1(i - 1).X2 = mass(2, i)

Line1(i - 1).y1 = y2(mass(1, i))

Line1(i - 1).y2 = y2(mass(2, i))

End Select

End If

Next i

End Sub

6. Скриншоты с выполнением примера

Заключение

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

алгоритм автоматическое управление листинг

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

1. В.Брауэр Введение в теорию конечных автоматов.- М.: Радио и связь, 1999

2. Хопкрофт Дж. Э., Мотвани Р., Ульман Дж. Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. М.: Вильямс, 2002

3.Савельев А.Я. Прикладная теория цифровых автоматов, 1-е изд. М.: Высшая школа, 2001

4. Карпов Ю.Г. Теория автоматов: Учебник / Ю. Г. Карпов. - СПб. : Питер, 2003. - 208с.

1. Размещено на www.allbest.ru


Подобные документы

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

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

    курсовая работа [1,1 M], добавлен 07.07.2013

  • Изучение категории типов данных, видов выражений и операций, работа на языке Си. Составление программы вычисления значения функции у(х) при произвольном значении х. Блок-схема алгоритма. Описание текста программы и рассмотрение контрольного примера.

    лабораторная работа [124,7 K], добавлен 09.01.2012

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

    курсовая работа [358,5 K], добавлен 19.10.2010

  • Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.

    курсовая работа [69,8 K], добавлен 13.02.2012

  • Разработка алгоритма и программы управления поворотной платформой лифта при помощи языка программирования Java Script. Проектирование приложения к браузеру в среде Adobe Dreamweaver CS5. Схема алгоритма, текст программы для двухмерной модели лифта.

    курсовая работа [353,1 K], добавлен 18.05.2013

  • Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.

    курсовая работа [532,7 K], добавлен 20.07.2014

  • Решение задачи по методу Адамса. Блок-схема функции main. Блок-схема функции Adams. Листинг программы. Блок-схема функции MMinor. Блок-схема функции MatrixMultiply. Блок-схема функции Determinant. Результат решения задачи на ЭВМ.

    курсовая работа [68,9 K], добавлен 16.04.2004

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

    курсовая работа [1,5 M], добавлен 21.11.2013

  • Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.

    контрольная работа [220,4 K], добавлен 18.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.