Вычислите выражение записанное в постфиксной форме. 12 10 – 5 7 + * 7 – 2 *

Тематика Информатика
Уровень 10 - 11 классы
постфиксная форма вычисление выражений обратная польская нотация математика алгоритмы арифметика
0

Вычислите выражение записанное в постфиксной форме.

12 10 – 5 7 + 7 – 2

avatar
задан месяц назад

2 Ответа

0

Чтобы вычислить выражение, записанное в постфиксной (обратной польской) нотации, необходимо использовать стек для хранения промежуточных результатов. Постфиксная нотация отличается тем, что операторы следуют за операндами.

Рассмотрим данное выражение: 12 10 – 5 7 + * 7 – 2 *

  1. 12 10 –:

    • Поместите 12 и 10 в стек.
    • Извлеките две верхние цифры из стека (12 и 10), выполните вычитание: ( 12 - 10 = 2 ).
    • Поместите результат 2 обратно в стек.
  2. 5 7 +:

    • Поместите 5 и 7 в стек.
    • Извлеките две верхние цифры из стека (5 и 7), выполните сложение: ( 5 + 7 = 12 ).
    • Поместите результат 12 обратно в стек.
  3. * (умножение):

    • Извлеките две верхние цифры из стека (2 и 12), выполните умножение: ( 2 \times 12 = 24 ).
    • Поместите результат 24 обратно в стек.
  4. 7 –:

    • Поместите 7 в стек.
    • Извлеките две верхние цифры из стека (24 и 7), выполните вычитание: ( 24 - 7 = 17 ).
    • Поместите результат 17 обратно в стек.
  5. 2 *:

    • Поместите 2 в стек.
    • Извлеките две верхние цифры из стека (17 и 2), выполните умножение: ( 17 \times 2 = 34 ).
    • Поместите результат 34 обратно в стек.

В итоге в стеке остается единственное число 34, которое и будет результатом вычисления выражения.

avatar
ответил месяц назад
0

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

  1. Вычитаем 10 из 12: 12 10 - = 2
  2. Складываем 5 и 7: 5 7 + = 12
  3. Умножаем результаты первых двух операций: 2 12 * = 24
  4. Вычитаем 7 из 24: 24 7 - = 17
  5. Умножаем результат предыдущей операции на 2: 17 2 * = 34

Таким образом, результат выражения, записанного в постфиксной форме "12 10 - 5 7 + 7 - 2 ", равен 34.

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме