Разбор выражений
Во всех заданиях данного пункта предполагается, что исходные строки,
определяющие выражения, не содержат пробелов. При выполнении заданий
не следует использовать оператор цикла.
Recur14
◦
. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <цифра> | <выражение> + <цифра> |
<выражение> − <цифра>
Recur15
◦
. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <терм> | <выражение> + <терм> |
<выражение> − <терм>
<терм>
::= <цифра> | <терм> * <цифра>
Recur16
◦
. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <терм> | <выражение> + <терм> |
<выражение> − <терм>
<терм>
::= <элемент> | <терм> * <элемент>
<элемент>
::= <цифра> | (<выражение>)
Recur17
◦
. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <цифра> |
(<выражение><знак><выражение>)
<знак>
::= + | − | *
Recur18
◦
. Проверить правильность выражения, заданного в виде непустой
строки S (выражение определяется по тем же правилам, что и в задании
114
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
Recur17). Если выражение составлено правильно, то вывести
TRUE
, иначе
вывести
FALSE
.
Recur19. Проверить правильность выражения, заданного в виде непустой
строки S (выражение определяется по тем же правилам, что и в зада-
нии Recur17). Если выражение составлено правильно, то вывести 0, в
противном случае вывести номер первого ошибочного, лишнего или недо-
стающего символа в строке S.
Recur20. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом (функция M воз-
вращает максимальный из своих параметров, а функция m — минималь-
ный):
<выражение> ::= <цифра> | M(<выражение> , <выражение>) |
m(<выражение> , <выражение>)
Recur21
◦
. Вывести значение логического выражения, заданного в виде стро-
ки S. Выражение определяется следующим образом («T» —
TRUE
, «F» —
FALSE
):
<выражение> ::= T | F | And(<выражение> , <выражение>) |
Or(<выражение> , <выражение>)
Recur22. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом (функция M воз-
вращает максимальный из своих параметров, а функция m — минималь-
ный):
<выражение> ::= <цифра> | M(<параметры>) | m(<параметры>)
<параметры> ::= <выражение> | <выражение> , <параметры>
Recur23. Вывести значение логического выражения, заданного в виде стро-
ки S. Выражение определяется следующим образом («T» —
TRUE
, «F» —
FALSE
):
<выражение> ::= T | F | And(<параметры>) | Or(<параметры>)
<параметры> ::= <выражение> | <выражение> , <параметры>
Recur24. Вывести значение логического выражения, заданного в виде стро-
ки S. Выражение определяется следующим образом («T» —
TRUE
, «F» —
FALSE
):
<выражение> ::= T | F | And(<параметры>) |
Or(<параметры>) | Not(<выражение>)
<параметры> ::= <выражение> | <выражение> , <параметры>
Рекурсия
115
Do'stlaringiz bilan baham: |