Динамические структуры данных. Алексеев А.Ю - 42 стр.

UptoLike

<ЛВ>::= true | false | (¬< ЛВ > ) | ( < ЛВ >
< ЛВ > ) | ( < ЛВ >
< ЛВ > )
где знаки ¬ ,
и обозначают соответственно отрицание, конъюнкцию и
дизъюнкцию. Вычислить (как Boolean) значение этого выражения.
В заданиях 9 – 11 следует использовать очередь и/или стек и операции над
ними.
9. В заданном текстовом файле F записан текст, сбалансированный по
круглым скобкам:
< текст > ::= < пусто > | < элемент > < текст >
< элемент > ::= < символ > | ( < текст > )
где < символ > – любой символ, кроме (, ). Для каждой пары соответствующих
открывающей и закрывающей скобок вывести номера их позиций в тексте,
упорядочив пары в порядке возрастания номеров позиций:
а) закрывающих скобок;
б) открывающих скобок.
Например, для текста A + ( 45 - F ( X ) * ( B - C ) ) надо напечатать:
а) 8 10; 12 16; 3 17;
б) 3 17; 8 10; 12 16.
10. Определить, имеет ли заданная в файле F символьная строка следую-
щую структуру:
a D b D c D d ...,
где каждая строка a,b,c,d,..., в свою очередь, имеет вид x1 C x2, где x1 есть
строка, состоящая из символов A и B, а x2 - строка, обратная строке x1 (т.е. ес-
ли x1 = ABABB, то x2 = BBABA). Таким образом, исходная строка состоит
только из символов A,B,C и D. Исходная строка может читаться только после-
довательно (посимвольно) слева направо.
11. Рассматривается выражение следующего вида:
< выражение >::= < терм > | < терм > + < выражение > |
< терм > - < выражение >
< терм > ::= < множитель > | < множитель > * < терм >
< множитель > ::= < число > | < переменная > | ( < выражение > ) |
< множитель > ^ < число >
< число > ::= < цифра >
< переменная > ::= < буква >
Такая форма записи выражения называется инфиксной.
Постфиксной (префиксной) формой записи выражения aDb называется
запись, в которой знак операции размещен за (перед) операндами: abD ( Dab ).
Примеры
Инфиксная Постфиксная Префиксная
a-b ab- -ab
a*b+c ab*c+ +*abc
a*(b+c) abc+* *a+bc
a+b^c^d*e abc^d^e*+ +a*^b^cde.
Отметим, что постфиксная и префиксная формы записи выражений не содер-
жат скобок.
42
 <ЛВ>::= true | false | (¬< ЛВ > ) | ( < ЛВ > ∧ < ЛВ > ) | ( < ЛВ > ∨ < ЛВ > )
где знаки ¬ , ∧ и ∨ обозначают соответственно отрицание, конъюнкцию и
дизъюнкцию. Вычислить (как Boolean) значение этого выражения.
   В заданиях 9 – 11 следует использовать очередь и/или стек и операции над
ними.
   9. В заданном текстовом файле F записан текст, сбалансированный по
круглым скобкам:
          < текст > ::= < пусто > | < элемент > < текст >
          < элемент > ::= < символ > | ( < текст > )
где < символ > – любой символ, кроме (, ). Для каждой пары соответствующих
открывающей и закрывающей скобок вывести номера их позиций в тексте,
упорядочив пары в порядке возрастания номеров позиций:
   а) закрывающих скобок;
   б) открывающих скобок.
Например, для текста A + ( 45 - F ( X ) * ( B - C ) ) надо напечатать:
   а) 8 10; 12 16; 3 17;
   б) 3 17; 8 10; 12 16.
   10. Определить, имеет ли заданная в файле F символьная строка следую-
щую структуру:
          a D b D c D d ...,
где каждая строка a,b,c,d,..., в свою очередь, имеет вид x1 C x2, где x1 есть
строка, состоящая из символов A и B, а x2 - строка, обратная строке x1 (т.е. ес-
ли x1 = ABABB, то x2 = BBABA). Таким образом, исходная строка состоит
только из символов A,B,C и D. Исходная строка может читаться только после-
довательно (посимвольно) слева направо.
   11. Рассматривается выражение следующего вида:
       < выражение >::= < терм > | < терм > + < выражение > |
                                       < терм > - < выражение >
       < терм > ::= < множитель > | < множитель > * < терм >
       < множитель > ::= < число > | < переменная > | ( < выражение > ) |
                             < множитель > ^ < число >
       < число > ::= < цифра >
       < переменная > ::= < буква >
Такая форма записи выражения называется инфиксной.
   Постфиксной (префиксной) формой записи выражения aDb называется
запись, в которой знак операции размещен за (перед) операндами: abD ( Dab ).
   Примеры
          Инфиксная          Постфиксная Префиксная
          a-b                ab-                -ab
          a*b+c              ab*c+             +*abc
          a*(b+c)            abc+*              *a+bc
          a+b^c^d*e          abc^d^e*+          +a*^b^cde.
Отметим, что постфиксная и префиксная формы записи выражений не содер-
жат скобок.

                                      42