Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по Visual Studio C++ (Волков) - ОТЧЁТЫ с подробным кодом / Лабораторная работа №2 (Сложный калькулятор).docx
Скачиваний:
0
Добавлен:
04.09.2024
Размер:
1.2 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

Дисциплина «Технологии программирования»

Отчёт по лабораторной работе №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» и «=»