В задании "Разбиение на слоги", предложенном на КИО-2017, не было знака окончания слова. Из-за этого нельзя было построить автомат, разбивающий любое слово на слоги правильно. В этой версии задачи добавлен символ "точка" - окончание слова, который можно использовать при анализе входных символов (во входной и выходной строке точка вставляется в конец слова автоматически). Ниже повторяется текст условия задания "Разбиение на слоги".
Недавно в русском языке были введены новые правила деления слов на слоги, с которыми можно познакомиться на сайте http://slogi.su/
Правила не всегда очевидны, например, КОТЛЫ разбивается на слоги как КО-ТЛЫ, а КОРМА как КОР-МА. Вам нужно прочитать внимательно правила разбиения на слоги и поэкспериментировать с программой на указанном сайте.
После этого нужно сконструировать автомат, который будет правильно разбивать на слоги слова любой длины, состоящие из букв Р, О, К. При этом в словах не должно идти более 2 гласных или согласных подряд. Например, слово ОКОРОК программа должна преобразовать в строку О-КО-РОК, "слово" КОРРО - в строку КО-РРО, а "слова" КОПРКО или КОООП рассматриваться не будут.
В качестве примера приведен автомат, который правильно разбивает на слоги слова КОРР и КОРО, который нельзя было сделать в версии задачи без символа окончания слова.
Для конструирования автомата на рабочее поле мышкой вытягиваются состояния - кружки.
Для соединения состояний переходами щёлкните мышкой на одно из них и перетяните точку, которая появится на "орбите" этого состояния, в другое. Над стрелкой перехода появятся два символа по умолчанию: первый из них - входной, второй - соответствующий выходной. Чтобы изменить входной или выходной символ, нужно щёлкнуть на него мышкой и выбрать другой. Заметьте, что из одного состояния можно перейти в разные состояния, но символы, по которым делается переход, должны быть разными.
В множестве символов автомата есть #, который называется пустым символом. Если использовать его в качестве входного, то автомат перейдет в новое состояние без ввода очередного символа. Если его использовать как выходной, то в выходную строку ничего не добавится. Если из некоторого состояния сделан переход по пустому символу, то переходы по другим символам из него будут невозможны.
Автомат всегда начинает работу из состояния S0.
Для управления автоматом используйте стандартные кнопки проигрывания, находящиеся внизу рабочей области по центру. После проигрывания не забывайте нажимать первую из кнопок (чёрный квадрат) для возвращения автомата в исходное состояние.
Для проверки работы автомата можно задать любую строку символов, нажав символ карандаша около входной строки. Ввод можно осуществлять только когда автомат возвращён в начальное состояние. В поле выходной строки появится результат
Для удаления построенного перехода подведите к нему мышку и, когда появится крестик, сделайте щелчок. Для удаления вершины перетяните её через нижнюю границу рабочего поля.