Рекурсия - 31 стр.

UptoLike

33
Примечание. У операций and и or может быть любое число операндов, у
notтолько один. Например, значения выражений равны:
not(and(true,or(true,false),false)) – true,
and(or(false,not(false)),true,not(true)) – false.
11. Вводится с клавиатуры последовательность символов (текст), за которым
следует точка. Проверить, является ли этот текст правильной записью ло-
гического выражения.
Логическое выражение определяется следующим образом:
<логическое выражение> ::= true | false | <операция> (<операнды
>)
<операция> ::= not | and | or
<операнды> ::= <операнд> | <операнд>, <операнды>
<операнд> ::= <логическое выражение>
Примечание. У операций and и or может быть любое число операндов, у
notтолько один. Например,
not(and(true,or(true,false),false))правильная запись,
not(and(true,or(true,false),false)неправильная запись,
not(and(true,or(true,false)),false)неправильная запись.
12. Вводится с клавиатуры последовательность символов (текст), заканчи-
вающаяся точкой.
Проверить, удовлетворяет ли его структура
следующему определению:
<текст> ::= <элемент> | <элемент> <текст>
<элемент> ::= a | b | (<текст>) | [<текст>] | {<текст>}
Например,
a({a(ba)bb[ab]}(aba))правильная запись,
a({a(ba)bb[ab}](aba))неправильная запись,
a({a(ba)bb[ab]}(aba)неправильная запись.