Войти Создать аккаунт

Инженерный калькулятор · Шаг 3 из 10

Минус и степень

Две вещи ведут себя не так, как сложение и умножение. Минус перед числом — не вычитание: в «−2» вычитать не из чего. А степень считается справа налево: «2^3^2» — это 2 в девятой, а не 8 в квадрате. И между ними свой порядок: «−2^2» на калькуляторе — минус четыре.

Что сделать

Разберите знаки перед числом и степень: минус слабее степени, а степень считается справа налево.

Что приходит

  • tokeny — список токенов

  • i — с какого токена начать

  • osnova — функция ступени ниже: osnova(tokeny, i) возвращает (значение, номер следующего токена)

Что вернуть

Пару (значение, номер первого токена после разобранного); степень — всегда дробным числом.

Допишите функцию unarnyy в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Калькулятор зовёт unarnyy как ступень под умножением: из неё произведение берёт свои куски. Решите шаг — и заработают «−5», «2^10» и «2^-1».

Пример

Основа в проверке — игрушка chislo: один токен-число. ["-", 2, "^", 2] — это минус от 2^2, ответ (-4.0, 4): степень дробная, разобраны все четыре токена.

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.