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

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

Дата: 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
Похожие заказы

UX-UI дизайн

дистанционно
договорная
Дизайн сайта. Продукт: Добрый вечер! Необходимо провести комплексную проработку пользовательского опыта (UX) и визуальное оформление (UI) сайта (ссылка дам в личной переписке). Подготовить ТЗ, в случае необходимости, для внесения изменений на сайте. Объём работ: Сайт из 7-ми страниц. Технического задания нет.
Москва Фрилансеры

Обучение программированию

возможна работа на дому
договорная
Язык программирования: JavaScript, TypeScript, React, CSS, HTML Для работы
Москва Репетиторы

Обучение программированию

дистанционно
договорная
Язык программирования: C# Для себя
Москва Репетиторы

Обучение Java

на дому
договорная
Для работы
Санкт-Петербург Репетиторы

Обучение Lua

дистанционно
от 1000.00 руб.
Для себя Ищу наставника для индивидуального обучения разработке в Roblox Studio. Формат — обучение на реальном проекте с необходимой теоретической базой, а не набор лекций. Цель: научиться самостоятельно создавать полноценные плейсы в Roblox — от идеи и скриптинга на Lua/Luau до публикации готового проекта. Идеальный результат: умею с нуля собрать плейс любого жанра и понимаю, почему делаю именно так. Формат обучения: — строим обучение вокруг реального проекта: к концу занятий у меня создан и опубликован рабочий плейс; — основной метод — практика на конкретных задачах, теория — в объёме, достаточном, чтобы освоить сам язык и архитектуру и дальше работать без наставника; — разбираем не только «как сделать», но и «почему так». Что нужно освоить по итогам: — язык Luau: синтаксис, типы, функции, события, сервисы; — архитектуру плейса: клиент/сервер, RemoteEvents, сохранение прогресса (DataStore), переиспользуемый код (ModuleScript); — сборку и оформление мира в Studio, базовый UI/UX; — публикацию плейса и основы монетизации (Game Passes, Robux, DevEx). Обязательный блок — нейросети: использование ИИ-инструментов внутри реального процесса разработки — встроенный Assistant (Planning Mode, генерация кода, мешей и материалов) и подключение внешних ИИ через MCP-сервер Studio. Важно, чтобы вы сами применяли эти инструменты на практике, а не знали о них в общих чертах. Дополнительно (можно отдельной веткой обучения): работа с 3D-графикой для собственных объектов — подготовка ассетов (например, в Blender) и корректный импорт в Studio как MeshPart с учётом лимитов по полигонам и текстурам. Требования к специалисту: — реальный опыт создания собственных успешных плейсов (визиты, удержание игроков, доход) — желательно со ссылками или кейсами; — опыт наставничества: умение вести ученика и объяснять, а не делать за него.
Москва Репетиторы

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

на дому или дистанционно
договорная
Для себя Добрый день. Я начинающий QA специалист, я обучаюсь на курсах от Яндекс практикум. Закончил 7 спринтов из 9. Мне действительно нравится данное направление, я хочу и готов развиваться в этом направлениии, но в нынешних реалиях нет понимания как пробиться на первую работу чтобы получить этот бесценный опыт. Нет никакого коммерческого опыта, 6 лет работал в продажах, но сейчас необходим человек, который знает, как попасть в эту сферу в данный период времени, который поможет с резюме, обучит всему необходимому и доведёт до первой работы. Без понятия сколько это стоит, % с оффера или какие есть варианты, предлагайте, обсудим. Готов много учится и работать.
Санкт-Петербург Репетиторы

Обучение UX-UI дизайну

дистанционно
договорная
Для себя Ищу опытного практикующего UX/UI дизайнера для индивидуального обучения и передачи опыта. Моя цель — освоить необходимые навыки для успешного старта карьеры в студии или компании на позиции Junior. У меня есть неоконченное высшее образование по специальности «Монументальная живопись», а также опыт изучения графического дизайна. В своей практике я в основном работал с мелкоформатной полиграфией ( визитки, карточки, буклеты ), занимался разработкой логотипов и созданием одностраничных лендингов на платформе Tilda.
Москва Репетиторы