Базовая часть (выполняется всеми самостоятельно!):
Написать калькулятор для строковых выражений вида '<число> <операция> <число>', где <число> - не отрицательное целое число меньшее 100, записанное словами, например "тридцать четыре", <арифмитическая операция> - одна из операций "плюс", "минус", "умножить". Результат выполнения операции вернуть в виде текстового представления числа. Пример calc("двадцать пять плюс тринадцать") -> "тридцать восемь" Оформить калькулятор в виде функции, которая принимает на вход строку и возвращает строку.
Дополнительные задания:
Реализовать поддержку операции деления и остатка от деления и работу с дробными числами (десятичными дробями). Пример: calc ("сорок один и тридцать одна сотая разделить на семнадцать") -> "два и сорок три сотых". Обрабатывать дробную часть до тысячных включительно, если при делении получаются числа с меньшей дробной частью выполнять округление до тысячных.
Сложность 2
Расширение задания 1. Реализовать поддержку десятичной дробной части до миллионных долей включительно. Реализовать корректный вывод информации о периодической десятичной дроби (период дроби вплоть до 4х десятичных знаков). Пример: calc("девятнадцать и восемьдесят две сотых разделить на девяносто девять") -> "ноль и двадцать сотых и ноль два в периоде ".
Сложность 3
Реализовать текстовый калькулятор для выражения из произвольного количества операций с учетом приоритета операций. Пример: calc("пять плюс два умножить на три минус один") -> "десять". (Для реализации рекомендуется использовать алгоритмы основанные на польской инверсной записи см. например,
Узнай стоимость помощи по твоей работе
На нашем сервисе более 1000 профессиональных исполнителей, которые готовы выполнить ваше задание. Опишите его и получите их предложения с ценой.
Предложения (0)
Служба поддержки
Возникли вопросы? Появились проблемы с автором? Не стесняйтесь, мы поможем!
Заполните форму и узнайте цену
Обратная связь
Загрузка...
Предупреждение
Не сообщайте контакты без крайней необходимости. Ни в коем случае не совершайте прямые переводы денежных средств вне биржи "Пишем24". Общение и заказы за пределами "Пишем24" несут высокий риск мошенничества. А внутри "Пишем24" - проходят гладко и безопасно. В случае первого обмена контактами от администрации выдается предупреждение. В случае второго обмена контактами аккаунт пользователя блокируется.