Правило "ЖИ-ШИ и ЧА-ЩА"

an imageВсе вы знаете простое правило русского языка: "После шипящих ж, ш, ч, щ не пишутся гласные ы, я, ю, а пишутся и, а, у.  Исключения: брошюра, жюри, парашют, а также некоторые иноязычные имена собственные".

Из букв М, Ч, Ш, Щ, Ж, Ы, И, А, Я будем составлять четырёхбуквенные слова, чередуя согласные и гласные. При этом могут появиться известные правильно написанные слова, например, МЫШИ, ЧАЩА, ЧАША, ЖИЖА, ИМАМ. Могут появиться слова бессмысленные, но правильно написанные ЧИМИ, АЧАШ. Могут появиться осмысленные или бессмысленные слова с ошибками (из чередующихся согласных и гласных) , как например МЫШЫ, ЧЯЩА, ЖЫЖА, ЧЫМИ. Наконец могут появиться слова, в которых гласные и согласные не чередуются например, ЯШМА, ШМАЧ, АИША.

Нужно сделать автомат, который будет определять наличие ошибок в осмысленных и бессмысленных четырёхбуквенных словах, в которых гласные и согласные чередуются. Это значит, что после ввода любого четырёхбуквенного слова с чередующимися гласными и согласными  (осмысленного или бессмысленного) автомат перейдёт в зелёное состояние, если оно написано без ошибок, а в ином случае — в красное. Если в слове идут подряд две или более гласных или согласных букв, автомат должен остановиться в жёлтом состоянии. Цвет промежуточных состояний не принимается во внимание.

Чем больше слов автомат распознает правильно, тем лучше. Обратите внимание, что построенный автомат обязательно должен распознавать хотя бы по одному четырёхбуквенному слову без ошибок, с ошибками и слову, в котором гласные и согласные не чередуются. До этого момента процент правильно распознаваемых слов считается нулевым.  Если все слова автомат распознает правильно, то лучшим считается тот, у которого меньше число состояний.

Пример. В качестве примера распознающего автомата показан автомат, анализирующий двухбуквенные слова из букв Ш, Ы, И

Слова без ошибок: ШИ, ИШ, ЫШ (автомат переходит в зелёное состояние).

Слова с ошибками: ШЫ (автомат переходит в красное состояние).

Недопустимые слова: ШШ, ЫЫ, ЫИ, ИЫ, ИИ (автомат переходит в жёлтое состояние).

Для конструирования автомата на рабочее поле мышкой вытягиваются состояния - разноцветные кружки.

Для соединения состояний переходами щёлкните мышкой на одно из них и потяните за точку, которая появится на "орбите" этого состояния в другое. Над стрелкой перехода появится символ по умолчанию. Чтобы его изменить, нужно щёлкнуть на него мышкой и выбрать другой. Заметьте, что из одного состояния можно перейти в разные состояния, но символы, по которым делается переход, должны быть разными.

Автомат всегда начинает работу из состояния S0.

Для управления автоматом используйте стандартные кнопки проигрывания, находящиеся внизу рабочей области по центру. После проигрывания не забывайте нажимать первую из кнопок (чёрный квадрат) для возвращения автомата в исходное состояние.

Для проверки работы автомата можно задать любое слово, нажав символ карандаша около входной строки, и ввести его. Ввод можно осуществлять только когда автомат возвращён в начальное состояние.

Для удаления построенного перехода подведите к нему мышку и, когда появится крестик, сделайте щелчок. Для удаления вершины перетяните её через нижнюю границу рабочего поля.