МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Дисциплина «Технологии программирования»
Отчёт по лабораторной работе №2b
на тему
«Разработка линейной программы
«Сложный калькулятор»»
Выполнил: студент гр. БББ0000
Фамилия И.О.
Проверил: Волков А.И.
Москва 2023г.
Оглавление
1 Постановка задачи 3
2 Схемы алгоритмов 5
3 Текст программы 12
4 Результаты тестирования программы 16
Выводы 22
1 Постановка задачи
Разработать линейную программу «Калькулятор» в среде разработки Visual Studio с использованием Windows Forms. Калькулятор должен представлять собой упрощённый аналог приложения Калькулятор от компании Microsoft с однострочным полем для отображения данных.
Ввод данных должен осуществляться путём нажатия на кнопки ввода чисел и операций.
Вывод данных должен осуществляться при нажатии на кнопку «=» (кнопка результата) и также при промежуточных цепочных вычислениях при нажатии на кнопки математических операций.
Калькулятор должен: обрабатывать ошибки ввода данных (деление на 0, корень из отрицательного числа), выполнять все допустимые операции с различными исходными данными, в том числе и с вещественными числами, включая «цепочки» операций.
Необходимые для реализации программы элементы с установленными итоговыми значениями свойств представлены в таблице (Таблица 1).
Таблица 1 – Элементы пользовательского интерфейса программы
Свойство |
Описание |
Значения |
|
Элементы Button |
Элемент TextBox |
||
(Name) |
Имя элемента |
numBtn0 – numBtn9, dotBtn, BS_Btn, CE_Btn, C_Btn, minusBtn, DivBtn, MulBtn, SubBtn, AddBtn, sqrtBtn, percBtn, divxBtn, resultBtn |
txt |
Text |
Текст элемента |
«0» – «9», «,», «BackSpace», «CE», «C», «/», «*», «-», «+», «sqrt», «%», «1/x», «=» |
(пустое поле) |
TextAlign |
Способ выравнивания текста |
MiddleCenter |
Right |
Location.X |
Расстояние от левого края |
– |
15 |
Location.Y |
Расстояние от верхнего края |
– |
20 |
Size.Width |
Ширина |
45 Для BS_Btn, CE_Btn, C_Btn – 110 |
275 |
Size.Height |
Высота |
40 |
24 |
Font |
Шрифт |
Microsoft Sans Serif; 8pt |
Microsoft Sans Serif; 8pt |
ForeColor |
Цвет |
DarkGreen; Для BS_Btn, CE_Btn, C_Btn – Maroon; Для numBtn0 – numBtn9, dotBtn – ControlText; |
WindowText |
ReadOnly |
Только для чтения |
– |
True |
2 Схемы алгоритмов
Прежде всего, на рисунке 1 представлена схема алгоритма функции Calculate. Эта функция, в зависимости от определенной переменной последней нажатой операции, производит вычисление и возвращает результат этой операции.
Рисунок 1 – Схема алгоритма функции Calculate()
На рисунках 2-4 – схема алгоритма функции, которая обрабатывает отдельные нажатия: сначала на кнопки операций «sqrt», «%», «1/x» и «+/-» (смена знака), причём обрабатывает по-разному для первого действия и последующих, а затем – нажатия на кнопки оставшихся математических операций («/», «*», «-», «+» ).
Рисунок 2 – Схема алгоритма функции обработки нажатий на кнопки операций
Рисунок 3 – Продолжение схемы алгоритма функции обработки нажатий на кнопки операций
Рисунок 4 – Продолжение схемы алгоритма функции обработки нажатий на кнопки операций
Далее, на рисунке 5 представлена схема алгоритма функции, обрабатывающей нажатия на кнопки цифрового блока – цифры 0-9 и разделитель «,». Функция учитывает различные исключения ввода.
Рисунок 5 – Схема алгоритма функции обработки нажатий на кнопки цифрового блока
Затем, на рисунках 6-7 показана схема алгоритма функции обработки нажатий на управляющие кнопки и кнопку результата («=»).
Рисунок 6 – Схема алгоритма функции обработки нажатий на контролирующие кнопки – «BackSpace», «CE», «C» и «=»
Рисунок 7 – Продолжение схемы алгоритма функции обработки нажатий на контролирующие кнопки – «BackSpace», «CE», «C» и «=»