Вход Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Тренеры
Уход за животными
Автоинструкторы

Обучение программированию — работа в Москве

Дата: 2025-05-02
Детали
Регион
Москва
Метро
Чеховская, Театральная, Площадь Революции, Тверская
Занятость
без разницы
Стоимость
договорная
Дата публикации
2025-05-02
Описание
Язык программирования: C++ Для себя Суть задачи - разработка системы работы автобусов (interval, tick) и т.п. (курсовой проект). Есть полное описание задачи, эталонный ввод и вывод. Суть в реализации кода, есть накиданная структура. Полное описание задачи: Срок решения: 1 неделя. Названия предмета нет - типичное задание на C++. (Программирование). Само задание: Введение Постановка задачи Дана система, состоящая из следующих элементов: диспетчерская парка автобусов: круговой маршрут, из заданного количества остановок; на остановке определенное множество пассажиров на посадку; автобусов с характеристиками: максимальное количество пассажиров (вместимость); уникальный номер; пассажиров с множеством состояний: ожидает на остановке; находится в автобусе. Характеристиками: уникальный номер проездного удостоверения; номер остановки ожидания; номер целевой остановки. экрана отображения информации о функционировании системы. Количество остановок n задано. Количество автобусов k, выходящих на маршрут задано. Все автобусы движутся по кругу, в одном направлении, не пропуская ни одной остановки. Система функционирует по тактам. Правила функционирования системы: Количество остановок задается параметром n. Остановки нумеруются от 1 до n согласно порядку движения автобуса по маршруту. Время движения между остановками занимает разное, но заданное количество тактов. Изначально все автобусы пусты и выходят на маршрут по графику из автобусного парка. Выход автобусов на маршрут организует диспетчерская автобусного парка. Автобусы движение начинают с первой остановки. Интервал выхода на маршрут между автобусами больше одного такта. Время движения от парка до первой остановки занимает фиксированное количество тактов. Пассажир может ожидать автобус на любой остановке. Пассажир садится в автобус, если есть место, иначе ожидает очередной. Посадка пассажиров выполняется согласно очереди, последовательности подхода на остановку. При подходе на остановку, пассажир добавляется в состав системы. После выхода из автобуса, пассажир удаляется из системы Высадка и посадка в автобус на остановке занимает одни такт. Маршрут разбит на интервалы. Интервалы перенумерованы от единицы. Автобус при движении за один такт проезжает один интервал. Остановки расположены в начале интервала. Номер интервала, в начале которого расположена остановка, ставиться в соответствии остановке. Перед началом очередного такта может быть выдана команда. Команда отрабатывает до отработки действий такта. Надо моделировать работу системы с соблюдением перечисленных правил. Команды системы: Команда подхода пассажиров на остановках. Команда отображения состояния на остановке. Команда отображения состояния автобуса. Команда отображения состояния на маршруте. Команда отображения иерархии объектов диспетчера. Команда отображения иерархии объектов маршрута. Пустая команда (строка ничего не содержит). Элементы системы выполняют действия согласно такту. Команда завершения работы системы. Построить программу-систему, которая использует объекты: Объект «система». Объект для чтения исходных данных и команд. Считывает данные для первоначальной подготовки и настройки системы. Считывает команды. После чтения очередной порции данных для настройки объект выдает сигнал соответствующим объектам (элементам системы). Данные для первоначальной настройки системы вводятся до начала отсчета тактов. Первая команда выполняется в рамках первого такта. После чтения очередной команды, объект анализирует наименование команды и выдает сигнал с текстом полученных данных (включая номер такта и наименование команды) соответствующим объектам. Все данные настройки и данные команд по структуре корректны. Каждая строка команд соответствует одному такту (отрабатывается в начале такта). Если строка пустая, то система отрабатывает один такт. В каждом такте элементы системы отрабатывают положенные действия или находятся в состоянии ожидания. Объект диспетчерская автобусного парка. Наименование объекта: object_dispatcher. Изначально является головным для множества автобусов и содержит график выхода автобусов на маршрут. Организует выпуск автобусов на маршрут согласно графику по тактам. Объект маршрут. Наименование объекта: object_route. Является головным для множества объектов остановок автобуса и множество объектов автобусов с момента первой остановки автобуса на первой остановке. Объект моделирующий остановку автобуса. Наименование объекта: A_«номер остановки». Содержит номер остановки, очередь ожидающих автобус пассажиров. Данному объекту по иерархии подчинены объекты пассажиров, ожидающих автобус. Объект, моделирующий автобус. Содержит номер автобуса, значение вместимости, список пассажиров в автобусе, номер интервала, в начале которого находится автобус. Данному объекту по иерархии подчинены объекты пассажиров, расположенных в автобусе. Объект, моделирующий пассажира. Наименование объекта: Passenger_«номер проездной карты». Содержит: значение номера проездной карты, номер исходной остановки, номер целевого остановки. Объект имеет состояния: ожидает на остановке; находиться в автобусе. Объект для вывода информации. Текст для вывода объект получает по сигналу от других объектов системы. Каждое присланное сообщение выводиться с новой строки. Архитектура иерархи объектов. Объект системы моделирования работы автобусного маршрута. Объект ввода. Объект диспетчера автобусного парка (этот фрагмент иерархии в начале работы системы). Объект автобус 1. Объект автобус 2. . . . . . Объект автобус k. Объект маршрут Объект остановка 1. Объекты ожидающих пассажиров. Объект остановка 2. Объекты ожидающих пассажиров. . . . . . Объект остановка n. Объекты ожидающих пассажиров. Объект автобус 1. Объекты пассажиров в автобусе. Объект автобус 2. Объекты пассажиров в автобусе. . . . . . Объект автобус k. Объекты пассажиров в автобусе. Объект вывода. Сконструировать программу-систему, реализующую следующий алгоритм: 1. Вызов от объекта «система» метода build_tree_objects ( ), построения иерархии объектов. 1.1. Построение исходного дерева иерархии объектов. 1.2. Установка связей сигналов и обработчиков между объектами. 1.3. Выдача сигнала объекту чтения для ввода первой строки данных (количество автобусов и их характеристик: номер автобуса и значения вместимости). 1.4. Создание объектов автобусов и определение их характеристик. 1.5. Выдача сигнала объекту чтения для ввода второй строки данных (графика выхода автобусов на маршрут). 1.6. Формирование графика выхода автобусов на маршрут в составе объекта диспетчера автобусного парка. 1.7. Выдача сигнала объекту чтения для ввода третей строки данных (количества остановок, количества тактов в пути от парка до первой остановки и количество тактов в пути до следующей остановки маршрута). 1.8. Создание объектов остановок и определение их характеристик. 1.9. Установка связей сигналов и обработчиков между объектами. 1.10 После построения исходного дерева иерархии объектов, все объекты перевести в состояние готовности. 2. Вызов от объекта «система» метода exec_app ( ). 2.1. Цикл по тактам. 2.1.1. Определение номера очередного такта. 2.1.2. Выдача сигнала объекту ввода для чтения очередной команды. 2.1.3. После ввода команды «Turn off the system» выход из цикла. 2.1.4. Выдача сигнала для отработки очередного такта. 2.2. Завершить работу системы. Все приведенные сигналы и соответствующие обработчики должны быть реализованы. Все сообщения на консоль выводятся с новой строки. В набор поддерживаемых команд добавить команду «SHOWTREE» и по этой команде вывести дерево иерархии объектов системы с отметкой о готовности и завершить работу системы (программы). Реализовать два отладочных теста такой командой. Первый после завершения построения дерева иерархии объектов. Второй перед завершением работы системы. Во втором тесте обязательно отработать не менее одной команды посадки пассажиров. При решении задачи необходимо руководствоваться методическим пособием и приложением к методическому пособию Входные данные Первая строка, количество автобусов и их характеристики: номер автобуса и значение вместимости: «целое число, количество автобусов» «строка номера автобуса» «целое число, вместимость» . . . «строка номера автобуса» «целое число, вместимость» Вторая строка, график выхода автобусов на маршрут, номер автобуса и номер такта выхода автобуса на маршрут: «целое число, количества тактов в пути от парка до первой остановки» «строка, номер автобуса» «целое число, номер такта» . . . «строка, номер автобуса» «целое число, номер такта» Третья строка, количества остановок n, количества тактов в пути от парка до первой остановки и количество тактов в пути до следующей остановки маршрута от 1 до n: «целое число, количество остановок» «целое число, количество тактов» . . . «целое число, количество тактов» Последнее значение, это количество тактов от n-ой остановки до первой. Далее построчно вводятся команды. Они могут следовать в произвольном порядке. Команда подхода пассажиров на остановках. Passenger «номер остановки» «номер целевой остановки» «номер проездной карты» . . . «номер остановки» «номер целевой остановки» «номер проездной карты» Подход пассажира на остановку моделируется созданием объект пассажир и на дереве иерархии объектов подчиняется объекту остановка. Команда отображения состояния автобуса: Bus condition «строка, номера автобуса» Команда отображения состояния пассажира: Passenger condition «номер проездной карты» Команда отображения состояния на остановке: Condition on the stop «номер остановки» Команда отображения состояния маршрута: Route status Команда отображения состояния системы: System status Команда отображения иерархии объектов диспетчера парка: Dispatcher objects tree Команда отображения иерархии объектов маршрута: Route objects tree Команда отображения иерархии объектов системы: SHOWTREE Пустая команда (строка ничего не содержит). Элементы системы выполняют действия согласно такту. Последняя команда присутствует всегда Turn off the system Пример ввода: Пришлю ниже. После завершения ввода исходных данных выводиться текст: Ready to work После команды отображения состояния автобуса вывести: «номер такта»: Bus «номера автобуса»: interval «номер интервала»; passengers «количество пассажиров в автобусе». Если автобус с заданным номером на маршруте не найден, то вывести: «номер такта»: There is no bus number «номера автобуса» on the route. После команды отображения состояния пассажира вывести: Если находится на остановке: «номер такта»: Passenger «номер проездной карты» at a bus stop «номер остановки». Если находится в автобусе: «номер такта»: Passenger «номер проездной карты» on the bus «номер автобуса». Если не найден: «номер такта»: Passenger «номер проездной карты» was not found. После команды отображения состояния на остановке вывести: «номер такта»: Bus stop «номер остановки»: passengers «количество пассажиров на остановке». После команды отображения состояния маршрута вывести: «номер такта»: Buses: «номер автобуса» «номер интервала нахождения» «количество пассажиров в автобусе»; «номер автобуса» «номер интервала нахождения» «количество пассажиров в автобусе» . . . . Bus stops: «номер остановки» «количество пассажиров на остановке»; . . . Отображается информация об автобусах, в которых находится хотя бы один пассажир. В конце вывода вместо точки запятой ставится точка. Если нет ни одного автобуса с пассажирами, то вывести Buses.. Отображается информация о тех остановках, на которых есть хотя бы один ожидающий автобус пассажир. В конце вывода вместо точки запятой ставится точка. Если нет ни одной остановки автобуса с пассажирами, то вывести Bus stops.. После команды отображения состояния системы вывести: «номер такта»: Dispatcher: «количество автобусов в парке». Buses: «номер автобуса» «номер интервала нахождения» «количество пассажиров в автобусе»; «номер автобуса» «номер интервала нахождения» «количество пассажиров в автобусе» . . . . Bus stops: «номер остановки» «количество пассажиров на остановке»; . . . Отображается информация об автобусах, в которых находится хотя бы один пассажир. В конце вывода вместо точки запятой поставить точку. Если нет ни одного автобуса с пассажирами, то вывести Buses.. Отображается информация о тех остановках, на которых есть хотя бы один ожидающий автобус пассажир. В конце вывода вместо точки запятой ставится точка. Если нет ни одной остановки автобуса с пассажирами, то вывести Bus stops.. После команды отображения иерархии объектов диспетчера парка вывести ветвь иерархии дерева объектов начиная с объекта object_dispatcher. После команда отображения иерархии объектов маршрута вывести ветвь иерархии дерева объектов начиная с объекта object_route. После команды завершения работы системы вывести. Turn off the system
Похожие заказы
Обучение программированию
дистанционно
договорная
Язык программирования: C++ Для учёбы В вузе нужно сдать 7 задач. Основная тема это параллельное программирование. Пример задачи: Есть n стоек, где могут располагаться булки. Есть булочники и покупатели. Булочники кладут в пустое место хлеб и отдыхают (какое-то время sleep), если пустого места нет, то не знаю что. Покупатели берут хлеб со стоек и если не видят хлеб, то отдыхают какое-то время(sleep). И нужно какое-нибудь условие, чтобы покупатели и булочники уходили.(к примеру покупатель взял столько-то булок, или булочнику негде хлеб поставить.) Также ещё есть 2 задачи на нахождение обратной матрицы и собственных значений. Сдаю преподавателю уже 4 пары подряд. И не могу сдать. Требует очень глубокого понимания кода. Спрашивает типо что такое arg[]? Почему в скобках ничего нет? Это не элементы считываемые с консоля. (Это массив строк и он это у меня вымучивал полчаса). Что такое машинный эпсилон, зачем оно нам надо? Короче моих знаний не хватает и я в панике, и в домике. Нужен человек, который объяснить параллельное программирование и поможет написать код для оставшихся 6 задач. Чтобы я писала под вашим контролем. Как-то так.
Москва
Репетиторы
2025-11-13
Откликнуться
Обучение программированию
дистанционно
от 3000.00 руб.
Язык программирования: Python Для ребёнка Требуется разработчик для проекта по компьютерному зрению, с большим опытом и способностью выступать в роли ментора для студента, работающего над этим же проектом. Это параллельные задачи: Разработка оплачивается отдельно. Преподавание (менторство) оплачивается отдельно.
Москва
Репетиторы
2025-11-13
Откликнуться
Обучение веб-программированию
на дому или дистанционно
от 500.00 руб.
Для себя Нужно помочь разобраться в запуске сайтов и их оптимизации,выводе в топ и техническим настройкам
Рязань
Репетиторы
2025-11-13
Откликнуться
Обучение Python
дистанционно
договорная
Для себя Разобрать непонятные темы в Python, подтянуть знания и нагнать программу в вузе
Москва
Репетиторы
2025-11-13
Откликнуться
Обучение языку C
дистанционно
договорная
Для себя Изучение языка в личных целях
Москва
Репетиторы
2025-11-13
Откликнуться
Обучение программированию
дистанционно
договорная
Язык программирования: Rust Для себя
Москва
Репетиторы
2025-11-13
Откликнуться
Обучение Python
дистанционно
договорная
Для себя Научить
Москва
Репетиторы
2025-11-13
Откликнуться