Электронный калькулятор
Автор: Adishinsky • Ноябрь 2, 2021 • Курсовая работа • 13,092 Слов (53 Страниц) • 494 Просмотры
Министерство науки и высшего образования РФ
ФГБОУ ВО «Чувашский государственный университет им. И. Н. Ульянова»
Факультет: информатики и вычислительной техники
Кафедра: вычислительной техники
Курсовая работа
по дисциплине «Объектно-ориентированное программирование»
по теме «Электронный калькулятор»
Выполнил: студент гр. ИВТ-41-19
Адиев Камил Рестямович
Проверил: доцент
Обломов Игорь Александрович
Чебоксары 2021 г.
Оглавление
ВВЕДЕНИЕ 3
Основная информация 3
Цель работы 3
ЗАДАНИЕ 4
РАЗРАБОТКА МЕТОДА РЕШЕНИЯ ЗАДАЧИ 5
ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ 6
Описание данных 9
ВЫВОДЫ ПО РАБОТЕ 11
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 12
ПРИЛОЖЕНИЕ 13
ВВЕДЕНИЕ
Основная информация
Калькулятор (лат. calculātor «счётчик) – электронное вычислительное устройство для выполнения операций над числами и алгебраическими формулами. На сегодняшний день практически на любом устройстве есть электронный калькулятор, реализованная специальным программным кодом.
Объектно-ориентированное программирование (ООП) - подход к программированию, при котором программа представляется в виде совокупности объектов - экземпляров классов, а классы образуют иерархию наследования. Существует пять основных компонент объектно-ориентированной парадигмы: объект, сообщение, класс, наследование, метод. Объектно-ориентированный язык программирования должен обладать свойствами абстракции, инкапсуляции, наследования и полиморфизма. Кроме этих обязательных свойств объектно-ориентированному языку желательно иметь возможности расширения за счет введения новых классов, повторного использования программных компонент, параметризации, а также некоторые формы коллекций.
Основные свойства ООП это – Инкапсуляция, Наследование и Полиморфизм.
Инкапсуляция – сокрытие информации или определение пользователем новых типов данных. Каждый такой тип содержит определение набора значений и операций, которые могут быть выполнены над этими значениями, и образует так называемый абстрактный тип данных.
Наследование – это механизм, позволяющий строить иерархию типов. Механизм наследования предполагает определение базового типа, а затем использование его для построения производных типов. Причем каждый из производных типов наследует все свойства базового типа, включая характеристики (данные) и набор операций (методов, функций).
Полиморфизм – свойство объекта отвечать на направленный к нему запрос сообразно своему типу.
В процессе данной работы был реализован программный продукт, разработанный в соответствии с техническим заданием: разработана структура программного продукта, выбраны структуры данных и способы их обработки, логическая структура алгоритма записана на языке высокого уровня Visual C++.
Цель работы
Целью курсовой работы является углубление и закрепление теоретических знаний, навыков практического применения основных принципов объектно-ориентированного программирования: наследования, инкапсуляции, полиморфизма, а также формирование новых взглядов на процессы программирования с учётом абстракции данных.
ЗАДАНИЕ
Необходимо реализовать электронный калькулятор на языке программирования C++, обрабатывает входное выражение и выводит полученный результат на экран.
Правила ввода выражения вводят следующие ограничения:
- Вводимое выражение должно быть написано без ошибок, которые может совершить пользователь при вводе (лишняя скобка, два рядом расположенных оператора и т. п.)
- Вводить выражение следует без пробелов между операторами, операндами или скобками
Данные ограничения следует учесть при разработке программы.
Для взаимодействия программа должна обладать дружественным интерфейсом.
РАЗРАБОТКА МЕТОДА РЕШЕНИЯ ЗАДАЧИ
Для решения основной задачи – получения результата от исходного выражения, у меня был выбор двух алгоритмов:
- Вычисление выражения математически – метод, при котором проводятся подсчёты по действиям. Сложность работы со строкой напрямую заключается в том, что на каждом шаге придётся искать действие, приоритет которого выше остальных – при работе с длинными выражениями будет занимать ощутимо больше времени. Также придётся учитывать каждый оператор и каждую скобку.
- Вычисление выражения в обратной польской записи – метод, при котором выражение переводится из инфиксной записи в постфиксную, а затем производятся расчёты, перебором каждого элемента постфиксного выражения, расположенных слева направо. Сложность алгоритма заключается в переводе в обратную польскую нотацию и получения из этого выражения результата. Также придётся учитывать каждый оператор. Однако сами подсчёты данным алгоритмом будут проводиться гораздо быстрее.
Мной был выбран алгоритм вычисления выражения в обратной польской записи. Преимущество над алгоритмом вычисление выражения математически очевидно:
...