Задача с (8 баллов) Хохотунчики.
-------------------------------------
  В языке хохотунчиков все  слова  строятся только из трех сло-
гов: "ха", "хи"  и "хо". Слово может содержать любое количество
слогов, например: "хаха", "хихихо", "хи". В записи любого хохо-
тунского предложения принято разделять  слова  пробелами. Между
словами могут быть запятые, которые пишутся слитно с левым сло-
вом. После запятой обязателен пробел. Предложение должно закан-
чиваться восклицательным  знаком, который пишется слитно с пос-
ледним словом.

Посмотрите, как коротко и точно выглядит рекурсивное определение
хохотунского предложения на языке Бэкуса-Наура:

<предложение>:=<слово>!|<слово>_<предложение>|<слово>,_<предложение>
<слово>:=<слог>|<слог><слово>
<слог>:=х<гласная>
<гласная>:=а|и|о

  Здесь в  угловые  скобки заключены определяемые понятия, знак
:= означает "по определению есть", знак | обозначает "или"

1) Составьте диаграмму рекурсивных переходов будущей програм-
мы (до 4 баллов)

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

В начальный момент окно расположено слева перед записью:

┬─┬─╦═╦─┬─┬─┬─┬─┬─┬─┬─┬
│░│░║░║з│а│п│и│с│ь│░│░│
┴─┴─╩═╩─┴─┴─┴─┴─┴─┴─┴─┴

Если проверяемая запись -- выражение, написать следом за ней "ок":

┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─╦═╦─┬
│░│х│и│,│ │х│а│х│а│!│░║о║к│
┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─╩═╩─┴

Если запись -- не выражение, записать следом за ней сообщение "ош" и
поставить окно на первый неверный символ:

┬─┬─┬─┬─┬─╦═╦─┬─┬─┬─┬─┬─┬─┬
│░│░│░│х│о║-║х│о│!│░│о│ш│░│
┴─┴─┴─┴─┴─╩═╩─┴─┴─┴─┴─┴─┴─┴

Решение команды 3102
----------------------
Авторы решения ученики 7 класса

Оценка 8 баллов из 8.

Отлично оформленное решение без замечаний.

Решение команды 3107
----------------------
Авторы решения Прихожаев Роман, Юткин Вячеслав

Оценка 7 баллов из 8.

И диаграмма, и программа содержат одну и ту же ошибку, допущенную
и куратором: нет проверки на конец выражения (что после !)

Других замечаний нет, наука усвоена, молодцы!


Решение команды 3115
----------------------
Авторы решения вся команда

Оценка 8 баллов из 8.

Все очень грамотно, "по науке" и без ошибок. Замечаний нет.


Решение команды 3116
----------------------
Автор решения Слотин Владимир

Оценка 3 балла из 8.

Диаграмма построена вопреки советам, поэтому никак не помогает
избежать ошибок при программировании (за диаграмму 1 балл из 4).

Трудно, очень трудно написать анализатор без удобной схемы
переходов, учесть все возможные случаи. 
Ещё трудней изобрести новый способ построения анализаторов.
Владимиру это не удалось.

За программу 2 балла из 4.

Опровергающие тесты:

1)ха !ха
2)ха_!
3)хиха,
4)хиха_,! и многие другие. 

