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

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

Дата: 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++

без разницы
от 1000.00 руб.
Для себя C++ и низкоуровневая архитектура: 1. Управление памятью и временем жизни объектов в C++ Что входит в тему: стек, куча, mmap, new/delete, placement new, allocators, std::pmr, RAII, move semantics, lifetime, layout, alignment, padding, noexcept, std::span, std::string_view, huge pages, NUMA basics. 2. Обобщённое программирование и compile-time архитектура Что входит в тему: шаблоны, specialization, variadic templates, SFINAE, type traits, concepts, CRTP, policy-based design, constexpr, consteval, if constexpr, fold expressions, type erasure, compile-time dispatch. 3. Архитектура процессора, кэшей и памяти Что входит в тему: pipeline, superscalar execution, branch prediction, cache hierarchy, cache lines, TLB, prefetch, false sharing, AoS vs SoA, SIMD, NUMA, pinned memory, invariant TSC. 4. Измерение производительности и профилирование Что входит в тему: std::chrono, rdtsc, Google Benchmark, perf, flamegraphs, HdrHistogram, p50/p99/p999, tail latency, coordinated omission, warm-up vs steady state, compiler flags, Godbolt. 5. Проектирование производительного C++-кода Что входит в тему: лишние копии, RVO, sink-параметры, inlining, branchless coding, std::function overhead, virtual dispatch cost, loop unrolling, zero-copy API, bounded allocations, UB и оптимизация. 6. Потоки, синхронизация и параллельное выполнение Что входит в тему: std::thread, std::jthread, mutex, condition variable, latch, barrier, semaphores, thread pools, producer-consumer patterns, backpressure, affinity, realtime scheduling, deadlocks, sanitizers. 7. Атомики и модель памяти C++ Что входит в тему: std::atomic, memory ordering, acquire/release, relaxed, seq_cst, fences, compare_exchange, atomic wait/notify, MESI, publication patterns, single-writer principle, spinlocks. 8. Lock-free и wait-free структуры данных Что входит в тему: lock-free vs wait-free, SPSC/MPSC/MPMC queues, ring buffers, ABA problem, hazard pointers, epoch reclamation, RCU, linearizability, progress guarantees, stress testing, model checking. 9. Асинхронные модели выполнения в C++ Что входит в тему: futures, promises, std::async, coroutines, co_await, co_yield, Asio, Cobalt, cancellation, timeout composition, executors, io_uring, coroutine allocation behavior.
Санкт-Петербург Репетиторы

Обучение Python

дистанционно
договорная
Для себя Необходимо с нуля овладеть Python в сжатые сроки, максимум 2-3 месяца. Направление: SOC/Pentest. Готов заниматься 3-4 раза в неделю по 1 часу/занятие. Из минусов: знание математики, плохая концентрация, не внимательность, ленивость, недостаток свободного времени. Нужен грамотный подход и четкий план действий с максимальной практикой, доведения азов до автоматизма. Студентов и школьников без коммерческого опыта работы, прошу не беспокоить.
Москва Репетиторы

Обучение созданию нейросетей

дистанционно
договорная
Для работы ИИ. Где использовать в девелопменте: 1. Ценообразование (работа с таблицами и базами). Автоматизация подготовки сметы: загружаем форму эксельную с наименованием работ и объемами, и она заполняется из определенной базы (внутренней пока нет, на первом этапе возьмем какую-то уже утвержденную, типа ТЕРы). 2. Помощник в контроле задач. Формирование протоколов и контроль выполнения задач из этих протоколов, напоминание исполнителям. 3. Цифровой документооборот: договора (подготовка, проверка, создание ДС), письма (в том числе или претензионные), классификатор писем ( распределение)… что-то возможно еще… 4. «Цифровой строитель» - генерация ответов на вопросы сотрудников, с привязкой к базе информации из строительной отрасли (нормы и правила, ГОСТы, опыт других компаний и прочее). 5. РД (рабочая документация): проверка (чертежей на ошибки(соответствие нормам и правилам)), подсчет объемов по чертежам и подготовка «формы с наименованием работ и объемов» для первого пункта. 6. Автоматизация бухгалтерия… сказали на презентации. Интересно, но нужно показать на примере, что возможно применить. 7. График производства работ. Построение не знаю насколько возможно, но возможно можно с аналитикой поработать: отслеживании и проверка, выявление отставаний и рисков. 8. Архитектура - создание концепций новый проектов (построение графических моделей и их корректировка).
Москва Репетиторы

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

возможна работа на дому
договорная
Язык программирования: PHP, SQL, Системный администратор, C++, C# Для себя Ищем преподавателей в компьютерной академии IT TOP колледж Колледж приглашает на работу квалифицированных преподавателей по следующим дисциплинам: * математика; * химия; * биология; * физика; * программирование (в любых сферах) Требования к кандидатам: * высшее или среднее-профессиональное образование; * опыт преподавательской деятельности приветствуется; * знание программы и умение интересно и доступно излагать материал студентам. Обязанности: * проведение занятий в соответствии с утверждённым расписанием; * проверка контрольных и самостоятельных работ студентов. Если вы готовы присоединиться к нашей команде, пожалуйста, отправьте своё резюме на адрес [Email скрыт] или свяжитесь с нами по телефону [Телефон скрыт]. Будем рады видеть вас в нашем колледже!
Тамбов Репетиторы

UX-UI дизайн

дистанционно
договорная
Обучение ui/ux дизайну (ср. ур. Продукт: Привет! Я обучаюсь на ui/ux дизайну, на данный момент могу целиком сконструировать сайт и обосновать логические решения, знаю autolayout, фигму, работаю с нейросетями; НО не хватает базы: работы с компонентами, понимания как подготавливать проект для верстки, работа с анимацией, правила работы в команде (если захочу идти в найм, по типу сбора элементов для верстальщика в отдельные папки и тд) в общем, нет пока четкого понимания от и до как вести проект: кто то говорит одно, кто-то сразу начинает ч десктопной версии, кто-то с мобильной и тд мне комфортно заниматься по цене 2500-3000/час. Объём работ: будет круто если вы работали в найме и на прифлансе в данном направлении. Технического задания нет.
Санкт-Петербург Фрилансеры

UX-UI дизайн

дистанционно
договорная
Дизайн мобильного приложения, Работа с Вебапами в ТГ. Платформа: iOS. Продукт: Онлайн магазин, разное. Объём работ: 12. Техническое задание есть. Пожелания и особенности: Ищу молодого специалиста в команду, для работы на постоянной основе. У нас несколько продуктов разной направленности и есть потребность в разный доработках, новых экранах и тд. Загрузка средняя, есть возможность совмещать с другими проектами.
Москва Фрилансеры

Веб-дизайн

дистанционно
договорная
UX-UI дизайн. Дизайн сайта, Нужно сделать шапку и hero im. Продукт: Продукта нет. Нужно сделать шапку и hero image. Цвета золотые и белые (или их оттенки). Объём работ: 1 сделать. Может с приятной анимацией. Важно, чтобы выглядело серьезно, но при этом современно и не скучно. Технического задания нет.
Москва Фрилансеры