Уровень: основной
Индекс сложности: 4
Есть последовательность идентификаторов, строящаяся по следующим правилам:
Нужно реализовать модуль, обеспечивающий вычисление идентификатора. Модуль должен реагировать на сообщение GenerateNextIdentifier содержащее параметр PrevIdentifier типа string. Ответный идентификатор или ошибка модулю-клиенту должны сообщаться специальным сообщением.
Для успешного прохождения тестирования кандидат должен предоставить комплект материалов:
Комплект предоставляется в форме zip-архива с именем в формате <ФамилияИО>.zip (например: SukhoiDA.zip).
Задание можно выполнять как с применением Microsoft Visual C++ (под управлением ОС Windows), так и с применением компилятора gcc (под управлением ОС Linux CentOS 7 или ОС Ubuntu Linux).
При реализации следует могут использовать системные сообщения среды исполнения, определенные протоколом обмена Kernel.
Messages ; Сообщения TimeOut : 1 | Сообщение TimeOut. Рассылается машинами состояний в случае превышения допустимого интервала нахождения в определенном состоянии. 1 : 0 ModuleFailedOnEvent : 2 | Модуль не смог обработать сообщение 1 : 3 EventKind : int | - Тип, события, при реакции на которое произошла ошибка ExceptionKind : string | - Тип ошибки (исключения) ExceptionMessage : string | - Сообщение об ошибке Start : 3 | Команда инициализации 1 : 0 Stop : 4 | Команда остановки 1 : 0 ; Поколение 1, число аргументов 0 StateChanged : 5 | Событие, присылаемое в момент изменения состояния конечного автомата 1 : 4 MachineName : string | - Имя конечного автомата, перешедшего в новое состояние OldState : string | - Старое состояние машины NewState : string | - Новое состояние машины Event : int | - Событие, активировавшее переход
Если у кандидата появились какие-то вопросы, на которые не обнаружился ответ в материалах их можно задать через электронную почту n.prosalkova@uniteller.ru.