Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

Как сложную релейную схему преобразовать в мир ООП

28.06.2016, 11:42. Показов 5558. Ответов 83
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день !

Если на форуме есть программисты железнодорожники , то поймут о чем речь.

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

В этой системе есть функционально законченные релейные блоки, которые за что-то отвечают.

Стрелки, светофоры, участки.

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

Основная проблема заключается в разработке взаимодействия обьектов этих классов с точки зрения ООП.

При определенном маршруте взаимодействуют, определенные обьекты.

Может кто подкинет разумные идейки , как это можно правильно реализовать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2016, 11:42
Ответы с готовыми решениями:

немогу нарисовать очень сложную блок схему
прогу написал кое как а блок схемы рисовать неумею,к тому же очень сложная программа получилась Uses CRT; Const MaxMenuItem = 16; Var...

Как преобразовать схему к двум узлам
Немного подзабыл, как это делается, поэтому надеюсь на вашу помощь Вот задача: Преобразовать схему к двум узлам. Рассчитать токи во...

Как преобразовать схему резервного копирования?
Доброго времени суток! существует вот такая схема резервного копирования, как ее преобразовать что бы нагрузка на сеть уменьшить, возможно...

83
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 13:48  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от avgoor Посмотреть сообщение
Как выглядит этот запрос? "

нажатием двух кнопок. (начало и конец маршрута.)

самое сложное это то - что маршрут размыкает уже поезд (посекционо)

алгоритм размыкания маршрута тоже свой.
Цитата Сообщение от Mr.X Посмотреть сообщение
и фунций-членов
это уже надо в конкретный класс пихать с которым мы еще думаем.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 13:49
Цитата Сообщение от RAFA91 Посмотреть сообщение
нажатием двух кнопок.
Каких?
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 13:51
Цитата Сообщение от RAFA91 Посмотреть сообщение
на входе идет к примеру запрос на задание определенного маршрута.
на выходе задание этого маршрута (перевод стрелок по маршруту с последующим их замыканием и открытием светофора
ограждающего этот маршрут)
Ну вот, значит нужно ввести объект Маршрут, который формируется динамически как набор стрелок и прочих элементов. У объекта Станция должна быть функция-член "Сформировать маршрут". У объекта Маршрут должны быть команды по управлению им.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 13:51
Цитата Сообщение от RAFA91 Посмотреть сообщение
самое сложное это то - что маршрут размыкает уже поезд
Какая разница? Поезд - тоже объект, который взаимодействует с остальной системой.
UPD: И, если не повезет, то и с другими поездами
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 13:52  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
Каких?
у каждого светофора есть эта кнопка
Миниатюры
Как сложную релейную схему преобразовать в мир ООП  
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 13:56  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
нужно ввести объект Маршрут,
да ввели. в свою очередь маршрутом владеет светофор - (верно ???)
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 13:58
Цитата Сообщение от RAFA91 Посмотреть сообщение
у каждого светофора есть эта кнопка
Как связаны маршрут и кнопка у светофора? На каждый маршрут свой светофор?
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 14:02
Цитата Сообщение от RAFA91 Посмотреть сообщение
нажатием двух кнопок. (начало и конец маршрута.)
Т.е. маршрут задает оператор нажатием двух кнопок, а размыкает поезд? А оператору кто дает команду? Или это уже за пределами вашей системы?

Добавлено через 2 минуты
Цитата Сообщение от RAFA91 Посмотреть сообщение
в свою очередь маршрутом владеет светофор - (верно ???)
Маршрут принадлежит Станции.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:07  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
Как связаны маршрут и кнопка у светофора? На каждый маршрут свой светофор?

к примеру чтобы установить маршрут приема поезда от светофора Ч на 2-ой путь (2П)

надо нажать кнопку светофора Ч (начало маршрута) и кнопку светофора Н2 (конец маршрута)

короче эти кнопки ограждают маршрут. Находятся на пульте или виртуальные на мониторе.
Цитата Сообщение от Mr.X Посмотреть сообщение
Т.е. маршрут задает оператор нажатием двух кнопок, а размыкает поезд?
да. светофоры перекрываются на красный тоже от поезда.
Цитата Сообщение от Mr.X Посмотреть сообщение
А оператору кто дает команду?
график движения поездов.
Цитата Сообщение от Mr.X Посмотреть сообщение
Маршрутом владеет тот, кто отдает ему команды
команду на его открытие наверное дает маршрут.

тоесть все стрелки по маршруту переведены и замкнуты. участки маршрута свободны. только тогда на светофоре может появится зеленый.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 14:17
Цитата Сообщение от RAFA91 Посмотреть сообщение
Находятся на пульте или виртуальные на мониторе.
Значит класс маршрута не нужен вообще. Нужны классы: поезд, кнопка, светофор, стрелка...
Отдельно нужен класс "система событий", управляющий логикой (в терминологии Qt - система слотов и сигналов).
Объект "кнопка у светофора Ч" получает сигнал - нажатие. После этого кнопка сама возбуждает сигнал "кнопка нажата", который в системе событий связан, например с событием определенной стрелки "перевсти стрелку на", которая возбуждает сигнал "стрелка переведена", который в системе событий связан с событием какого-то светофора и т.д.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:22  [ТС]
а зачем заводить класс поезд , если секция способна сама сообщить я свободна/занята замкнута/разомкнута.

повторюсь. секция это элементарная часть маршрута.

кнопки это просто индикаторы выбора маршрута из таблицы маршрутов.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 14:26
Цитата Сообщение от RAFA91 Посмотреть сообщение
а зачем заводить класс поезд
Затем, что он участвует в процессе. Если кнопка маршрута нажата, а поезда нет - поведение системы должно быть идентичным?
Цитата Сообщение от RAFA91 Посмотреть сообщение
секция способна сама сообщить я свободна/занята
Как секция узнает, что она занята, если нет поезда?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:32  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
Как секция узнает, что она занята, если нет поезда?
давайте в качестве поезда тоже будут кнопки. что-бы не углубляться в подробности.

к каждой секции присобачим свою кнопку которая будет изменять состояние секции занята/свободна
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 14:34
Цитата Сообщение от RAFA91 Посмотреть сообщение
к каждой секции присобачим свою кнопку
Кто их будет нажимать?

Добавлено через 55 секунд
RAFA91, Самое главное. Если нет поездов - нахрена вся эта система нужна?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:37  [ТС]
до поездов еще дожить надо. давайте для начала с элементарными вещами разберемся.

предположим это система макет. имитатор поезда кнопки. так и в жизни делают.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 14:39
RAFA91, Ну, сделайте так. Только учтите, что это - костыль, который вы закладываете еще на этапе дизайна.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:40  [ТС]
я обратился за помощью что-бы выработать идею на элементарном примере. я выложил самую простую станцию.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 14:42
Цитата Сообщение от RAFA91 Посмотреть сообщение
я обратился за помощью что-бы выработать идею на элементарном примере. я выложил самую простую станцию.
Это у вас учебная или прикладная задача? Можете точно процитировать как она вам поставлена?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:48  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
Можете точно процитировать как она вам поставлена?
Разработать модель работы конкретной станции. Проект реальный. Решили релейную систему перевести в МП.

Но логика работы должна соответствовать именно работе релейной системы.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 14:51
RAFA91, Что осталось непонятным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2016, 14:51

Преобразовать в ООП
Преобразуйте, пожалуйста, программу, чтоб там использовалось ООП (object). Желательно преобразовать, чтоб получилось 3 программы : 1)...

На вкладке Мой мир, на портале mail.ru идет постоянная загрузка страницы - Мой Мир, в чем дело?
На вкладке Мой мир, на портале mail.ru идет постоянная загрузка страницы - Мой Мир, в чем проблема? Сама страница открывается быстро, но...

(C) Дана строка предложение. Записать все слова в строке в обратном порядке. Пример: весь мир → мир весь
Дана строка предложение. Записать все слова в строке в обратном порядке. Пример: весь мир → мир весь Добавлено через 15 минут ...

Построить экивалентную более простую контактно-релейную схемы
Заранее спасибо за помощь!

Не могу подобрать верную схему ООП
Приветствую! Помогите, не могу подобрать схему ООП. Я в ООП новичок, все как то без этого обходился и вот решил заняться. Задача...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru