Калькулятор. Реализация метода "RPN"
Автор: Inkwizzz • Май 17, 2023 • Курсовая работа • 723 Слов (3 Страниц) • 142 Просмотры
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ
Университет «Дубна»
ИНСТИТУТ СИСТЕМНОГО АНАЛИЗА И УПРАВЛЕНИЯ
Кафедра распределенных информационно-вычислительных систем
КУРСОВАЯ РАБОТА
по дисциплине
«Объектно-ориентированное программирование»
[pic 1]
ТЕМА: _________________________________________________________________[pic 2]
_________________________________________________________________
(наименование темы)
[pic 3]
Выполнил: студент группы _________ [pic 4]
__________________________________
(Ф.И.О.)
__________________________________
(подпись студента)
Руководители:
___________________________________[pic 5]
(ученая степень, ученое звание, занимаемая должность, ФИО)
Дата: ______________________________
Оценка: ____________________________
___________________________________
(подпись руководителя)
[pic 6]
Дубна, 2022
Содержание
Введение 3
Цель и задачи работы 4
«Reverse Polish Notation» 5
Описание работы программы 6
Заключение 7
Список литературы 8
Приложение 9
Введение
В данной курсовой работе представлена реализация метода «RPN» (англ. Reverse Polish natation) – Обратная польская запись.
«RPN» - форма записи математических и логических выражений, в которой операнды расположены перед знаками операций. Также именуется как обратная бесскобочная запись, постфиксная нотация, бесскобочная символика Лукасевича, польская инверсная запись, ПОЛИЗ.
Обратная польская нотация (ОПН) была разработана австралийским философом и специалистом в области теории вычислительных машин Чарльзом Хэмблином в середине 1950-х на основе польской нотации, которая была предложена в 1920 году польским математиком Яном Лукасевичем. Работа Хэмблина была представлена на конференции в июне 1957, и издана в 1957 и 1962. [1]
Цель и задачи работы
Цель: разработать приложение, производящее математические вычисления, используя «RPN».
Требования к программе: данная программа должна выполнять математические операции, при помощи встроенного класса «math» и разработанного «calculator». При вводе пользователь может ввести желаемое выражение, используя интерфейс или введя вручную с устройства ввода. Программа должна содержать: поле для ввода выражения, кнопки для ввода чисел и операций.
Исходные данные: знания языка программирования C#, полученные на лекциях, семинарах и в интернете.
Результат: программа, решающая выражение вышеуказанными методами, написанная на языке C#.
«Reverse Polish Notation»
Чтобы дать индуктивное определение постфиксной нотации, обозначим выражения в инфиксной нотации Е, , , эквивалентные им выражения в постфиксной нотации Ė, соответственно α произвольный оператор, тогда:[pic 7][pic 8][pic 9]
- Если Е — переменная или константа, то Ė есть Е.
- Если Е — выражение вида α , то Ė есть .[pic 10][pic 11][pic 12]
- Если Е — выражение вида (, то Ė есть [pic 13][pic 14]
Общий порядок:
Вычисления выражений в ОПН основана на использовании стека. Алгоритм вычисления для стековой машины элементарен:
- Обрабатывается входной символ.
- Если на вход подается операнд, то он перемещается на вершину стека.
- Если на вход подается оператор, то соответствующая операция выполняется над требуемым.
- Если входной набор символов полностью не обработан, то возвращаемся к шагу 1.
- После полной обработки входного набора символов результат вычисления лежит на вершине стека.
Программная и аппаратная реализация стековой машины чрезвычайно проста и очень эффективна. ОПН совершенно унифицирована — она одинаково записывает унарные, бинарные, тернарные и любые другие операции, а также обращения к функциям; именно это позволяет не усложнять конструкцию вычислительных устройств при расширении набора поддерживаемых операций. Именно это и послужило причиной использования ОПН в некоторых научных и программируемых микрокалькуляторах.
...