Создан заказ №3807666
1 апреля 2019
Разработать интерпретатор математических выражений (калькулятор).
Как заказчик описал требования к работе:
Задание курсовой работы
Разработать интерпретатор математических выражений (калькулятор).
Минимальный набор операторов:
Умножение *
Деление /
Сложение +
Вычитание -
Возведение в степень ^
Унарные операторы +/-
Минимальный набор типов данных:
Число с плавающей запятой (double)
Интерпретатор долж
ен корректно разбирать выражения произвольной вложенности скобок.
Интерпретатор должен корректно разбирать числа, заданные в формате {S}{I}{.F}{e{PS}P}, где
S – необязательный знак, + или -
I – необязательная целая часть
F – необязательная дробная часть, если указана, перед ней всегда ставится символ .
PS – необязательный знак показателя десятичного порядка, + или -
P – необязательный десятичный порядок, если указан, перед ним (или перед знаком), всегда ставится символ e или E.
Как минимум, задана либо целая, либо дробная часть.
Интерпретатор должен поддерживать определение переменных при помощи оператора = и их использование в выражениях. Названия переменных состоят из строчных латинских букв.
Интерпретатор должен быть реализован в форме программы командной строки, принимающей на стандартный ввод одно или несколько выражений, разделенных символом ; или переносом строки. Для каждого выражения, интерпретатор должен вывести соответствующее ему значение (если есть), или ошибку (если произошла ошибка разбора или интерпретации).
Примеры:
Ввод: 42
Вывод: 42.0
Ввод: +42
Вывод: 42.0
Ввод: -42
Вывод: -42.0
Ввод: -42.42
Вывод: -42.42
Ввод: -42e3
Вывод: -42000.0
Ввод: 1e-1
Вывод: 0.1
Ввод: 3*7
Вывод: 21
Ввод: x=5; x*5
Вывод: 25.0
Ввод: x=10/2
x*5
Вывод: 25.0
Ввод: 6*7
42/2
Вывод: 42
21
Ввод: (3*5)+(6-(4/3))^(14-(5+7))
Вывод: 36.7777778
Ввод: e3
Вывод: Ошибка лексического разбора
Ввод: 3e
Вывод: Ошибка лексического разбора
Ввод: 3+
Вывод: Ошибка синтаксического разбора
Ввод: z
Вывод: Неопределенная переменная z
В отчете по курсовой работе обязательно должны присутствовать:
1. Определение единиц лексического анализатора (лексем) в форме регулярных выражений
2. Определение грамматики синтаксического анализатора в (расширенной) форме Бэкуса-Наура
3. Примеры разбора выражений в синтаксические деревья
4. Описание действий интерпретатора на каждом узле синтаксического дерева
5. (При наличии рабочей программы) примеры сессий работы с программой
Достаточно выполнение первых четырёх обязательных пунктов в виде отчёта.
подробнее
Заказчик
заплатил
заплатил
500 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
4 апреля 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Разработать интерпретатор математических выражений (калькулятор)..docx
2019-04-07 12:16
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Отличный автор, написала курсовую ровно в срок, получил за нее 5. Все недочеты и исправления в процессе были исправлены автором точно так, как просил. Очень благодарен.