Вопрос задан 12.10.2018 в 10:27. Предмет Информатика. Спрашивает Шабельникова Валерия.

Постройте дерево, соответствующее арифметическому выражению. Запишите это выражения в префиксной и

постфиксной формах: (a+b)*(c+2*d) (2*a-3*d)*c+2*b 3*a-(2*b+c)*d
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зархумар Рустам.
Деревья строятся просто: добавляем узел – операцию, которая выполняется последней, и к ней два потомка – аргументы этой операции. Например, для выражения a + b операцией будет "+", а аргументами – a и b. Затем в таком же виде представляем аргументы этой операции, пока все аргументы не будут содержать выражений. Построенные деревья во вложении.

Префиксная форма записи заключается в том, что сначала записывается операция, потом префиксная запись её первого аргумента, потом второго аргумента. Это соответствует обходу дерева сверху вниз и слева направо, записываем, что сверху, потом идем вниз. Вот что получится в итоге:
а) * + a b + c * 2 d
б) + * - * 2 a * 3 d c * 2 b
в) - * 3 a * + * 2 b c d

В постфиксной записи, наоборот, записываются сначала аргументы, потом операция. Это соответствует обходу дерева снизу-вверх.
а) a b + c 2 d * + *
б) 2 a * 3 d * - c * 2 b * +
в) 3 a * 2 b * c + d * -



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для построения дерева и записи выражения в префиксной и постфиксной формах, давайте сначала построим дерево разбора для данного арифметического выражения.

Выражение: \( (a+b)*(c+2*d)+(2*a-3*d)*c+2*b+3*a-(2*b+c)*d \)

Дерево разбора: ``` + / \ * - / \ \ + * * / \ / \ / \ a b c * d / \ 2 + / \ a * / \ 3 d / \ 2 + / \ b c ```

Теперь давайте записывать выражение в префиксной и постфиксной формах.

Префиксная форма (польская запись): \[ + * + a b + c * 2 d * + * 2 a - 3 d c + * 2 b 3 a - * + b c d \]

Постфиксная форма (обратная польская запись): \[ a b + c 2 d * + * 2 a * 3 d - c * + 2 b * 3 a + - b c + d * \]

В префиксной форме оператор записывается перед своими операндами, а в постфиксной форме - после. Дерево разбора помогает визуализировать порядок выполнения операций.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос