Страница 1 из 1

Задача на рекурсию. Delphi. Соответствие последовательности понятию.

Добавлено: 15 ноя 2009, 13:56
thexqn
halp!

Проверьте, соответствует ли вводимая последовательность понятию скобки:

<скобки> ::= <круглые>|<квадратные>
<круглые> ::= (<квадратные><квадратные>) | +
<квадратные> ::= [<круглые><круглые>] | -

Для записи, как я поняла, использована БНФ.
Решается созданием рекурсивной подпрограммы.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Мой вопрос в реализации.

1) Я организовываю ввод строки элементов, допустим, типа char, затем читаю их в переменную одно за другим. Как написать процедуру для проверки каждого элемента на это правило?

2) Читаю текст в стринговую переменную и запускаю процедуру() для неё.

И да, что значат плюсик и минусик? /в этот вопрос включено также моё непонимание отношения между этими символами и словом "скобки"/

Очевидно, что значение этих символов скрыто от глаз разумного человека неведомым лютым переопределнием.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
И на всякий случай,

| - это 'или'
() - для группировки символов
[] - то что в квадратных - может присутствовать, а может и отсутствовать в этом тексте