Задача на рекурсию. Delphi. Соответствие последовательности понятию.
Добавлено: 15 ноя 2009, 13:56
halp!
Проверьте, соответствует ли вводимая последовательность понятию скобки:
<скобки> ::= <круглые>|<квадратные>
<круглые> ::= (<квадратные><квадратные>) | +
<квадратные> ::= [<круглые><круглые>] | -
Для записи, как я поняла, использована БНФ.
Решается созданием рекурсивной подпрограммы.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Мой вопрос в реализации.
1) Я организовываю ввод строки элементов, допустим, типа char, затем читаю их в переменную одно за другим. Как написать процедуру для проверки каждого элемента на это правило?
2) Читаю текст в стринговую переменную и запускаю процедуру() для неё.
И да, что значат плюсик и минусик? /в этот вопрос включено также моё непонимание отношения между этими символами и словом "скобки"/
Очевидно, что значение этих символов скрыто от глаз разумного человека неведомым лютым переопределнием.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
И на всякий случай,
| - это 'или'
() - для группировки символов
[] - то что в квадратных - может присутствовать, а может и отсутствовать в этом тексте
Проверьте, соответствует ли вводимая последовательность понятию скобки:
<скобки> ::= <круглые>|<квадратные>
<круглые> ::= (<квадратные><квадратные>) | +
<квадратные> ::= [<круглые><круглые>] | -
Для записи, как я поняла, использована БНФ.
Решается созданием рекурсивной подпрограммы.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Мой вопрос в реализации.
1) Я организовываю ввод строки элементов, допустим, типа char, затем читаю их в переменную одно за другим. Как написать процедуру для проверки каждого элемента на это правило?
2) Читаю текст в стринговую переменную и запускаю процедуру() для неё.
И да, что значат плюсик и минусик? /в этот вопрос включено также моё непонимание отношения между этими символами и словом "скобки"/
Очевидно, что значение этих символов скрыто от глаз разумного человека неведомым лютым переопределнием.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
И на всякий случай,
| - это 'или'
() - для группировки символов
[] - то что в квадратных - может присутствовать, а может и отсутствовать в этом тексте