Вопрос задан 04.07.2023 в 14:22. Предмет Информатика. Спрашивает Скоробогатов Виталий.

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

2 * 2). 5 4 3 2 1 - - - - 3). 5 6 7 8 9 + - + - 4). 12 6 + 7 3 - 1 - * 12 +
1 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Kachan Diana.

Сначала переведём в инфиксную, а затем вычислим

1)

(((12-10) *  (5+7))-7)*2=((2*12)-7)*2=17*2=34

2)

5-(4-(3-(2-1)))=5-(4-2)=3

3)

5-(6+(7-(8+9)))=5-(6+(-10))=9

4)

((12+6)*((7-3)-1)) +12=(18*3)+12=66

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

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

Давайте применим этот метод к вашим выражениям:

  1. Выражение: 12 10 – 5 7 + * 7 – 2 *

    • Кладем числа в стек: [12, 10]
    • Встречаем оператор '-', достаем из стека 10 и 12, выполняем операцию 12 - 10 = 2, кладем результат обратно в стек: [2]
    • Встречаем числа 5 и 7, кладем их в стек: [2, 5, 7]
    • Встречаем оператор '+', достаем из стека 7 и 5, выполняем операцию 5 + 7 = 12, кладем результат обратно в стек: [2, 12]
    • Встречаем оператор '*', достаем из стека 12 и 2, выполняем операцию 2 * 12 = 24, кладем результат обратно в стек: [24]
    • Встречаем число 7, кладем его в стек: [24, 7]
    • Встречаем оператор '-', достаем из стека 7 и 24, выполняем операцию 24 - 7 = 17, кладем результат обратно в стек: [17]
    • Встречаем число 2, кладем его в стек: [17, 2]
    • Встречаем оператор '*', достаем из стека 2 и 17, выполняем операцию 2 * 17 = 34, кладем результат обратно в стек: [34]

    Результат вычисления: 34

  2. Выражение: 5 4 3 2 1 - - - -

    • Кладем числа в стек: [5, 4, 3, 2, 1]
    • Встречаем оператор '-', достаем из стека 2 и 1, выполняем операцию 2 - 1 = 1, кладем результат обратно в стек: [5, 4, 3, 1]
    • Встречаем оператор '-', достаем из стека 3 и 1, выполняем операцию 3 - 1 = 2, кладем результат обратно в стек: [5, 4, 2]
    • Встречаем оператор '-', достаем из стека 4 и 2, выполняем операцию 4 - 2 = 2, кладем результат обратно в стек: [5, 2]
    • Встречаем оператор '-', достаем из стека 5 и 2, выполняем операцию 5 - 2 = 3, кладем результат обратно в стек: [3]
    • Встречаем оператор '-', достаем из стека 3, выполняем операцию -3 (унарный минус), кладем результат обратно в стек: [-3]

    Результат вычисления: -3

  3. Выражение: 5 6 7 8 9 + - + -

    • Кладем числа в стек: [5, 6, 7, 8, 9]
    • Встречаем оператор '+', достаем из стека 9 и 8, выполняем операцию 9 + 8 = 17, кладем результат обратно в стек: [5, 6, 7, 17]
    • Встречаем оператор '-', достаем из стека 7 и 17, выполняем операцию 7 - 17 = -10, кладем результат обратно в стек: [5, 6, -10]
    • Встречаем оператор '+', достаем из стека -10 и 6, выполняем операцию -10 + 6 = -4, кладем результат обратно в стек: [5, -4]
    • Встречаем оператор '-', достаем из стека -4 и 5, выполняем операцию -4 - 5 = -9, кладем результат обратно в стек: [-9]

    Результат вычисления: -9

  4. Выражение: 12 6 + 7 3 - 1 - * 12 +

    • Кладем числа в стек: [12, 6]
    • Встречаем оператор '+', достаем из стека 6 и 12, выполняем операцию 12 + 6 = 18, кладем результат обратно в стек: [18]
    • Кладем числа в стек: [18, 7, 3]
    • Встречаем оператор '-', достаем из стека 3 и 7, выполняем операцию 7 - 3 = 4, кладем результат обратно в стек: [18, 4]
    • Кладем числа в стек: [18, 4, 1]
    • Встречаем оператор '-', достаем из стека 1 и 4, выполняем операцию 4 - 1 = 3, кладем результат обратно в стек: [18, 3]
    • Встречаем оператор '*', достаем из стека 3 и 18, выполняем операцию 3 * 18 = 54, кладем результат обратно в стек: [54]
    • Кладем число в стек: [54, 12]
    • Встречаем оператор '+', достаем из стека 12 и 54, выполняем операцию 54 + 12 = 66, кладем результат обратно
0 0

Похожие вопросы

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

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

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