МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ордена Трудового Красного Знамени
федеральное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «ИНФОРМАТИКА»
ОТЧЁТ
по лабораторной работе №2
по дисциплине «Технологии программирования»
на тему:
“Разработка линейной программы «Дополнительные возможности
простого калькулятора»”
Выполнил:
студент гр. БСТ2104 Ягудин Р.Р.
Проверил:
ст. преподаватель Мацкевич А.Г.
Москва, 2022 г.
СОДЕРЖАНИЕ
№ стр.
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Схемы алгоритмов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Текст программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Результаты тестирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Список использованной литературы . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 34
Постановка задачи
Самостоятельно разработать свой (возможно упрощенный) аналог программы Калькулятор (от компании Microsoft) с однострочным полем для отображения данных. Убедиться, что разработанный калькулятор правильно выполняет все допустимые операции с различными исходными данными, включая «цепочки» операций.
Для реализации данной программы необходимы следующие элементы интерфейса. (Таблица 1)
Таблица 1 – Элементы интерфейса и их значения
Свойства |
Описание |
Значения |
|||
Элементы Button |
Элемент TextBox |
||||
(Name) |
Имя элемента |
btnZero, btnOne, btnTwo, btnThree, btnFour, btnFive, btnSix, btnSeven, btnEight, btnNine, btnPoint, btnPlusMinus |
btnBackspace, btnCE, btnC, |
btnDivide, btnSqrt, btnPercent, btnMultiply, btnMinus, btnPlus, btnInverse, btnEqually |
txtPoleVvoda |
TextAlign |
Способ выравнивания текста |
MiddleCenter |
Right |
||
ForeColor |
Цвет текста |
Black |
Red |
Red |
WindowText |
Size.Width |
Ширина |
55 |
128, 80, 80 |
55 |
297 |
Size.Height |
Высота |
50 |
50, 50, 50 |
50 |
30 |
Location.X |
Расстояние от левого края |
12, 12, 73, 133, 12, 73, 133, 12, 73, 133, 73, 133 |
12, 145, 244 |
195, 256, 256, 195, 195, 195, 256,256 |
12 |
Location.Y |
Расстояние от верхнего края |
272, 217, 217, 217, 160, 160, 160, 103, 103, 103, 272, 272 |
48 |
103, 103, 160, 160, 217, 272, 217,272 |
12 |
Продолжение таблицы 1
Свойства |
Описание |
Значения |
|||
Элементы Button |
Элемент TextBox |
||||
Text |
Текст элемента |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, “,”, +/- |
Backspace, CE, C |
/, sqrt, %, *, -, +, 1/x, = |
(Пустое поле) |
Font |
Шрифт |
Шрифт – MS Sans Serif. Начертание – Обычный. Размер – 12 pt |
|||
Ввод, вывод данных происходит путем нажатия кнопок.
Не стандартные ситуации, которые необходимо рассмотреть:
Деление на 0;
Взятие корня от отрицательного числа;
Неоднократное нажатие кнопок, отвечающих за арифметические
операции;
Расстановка запятых;
Смена знака числа.
2 Схемы алгоритмов
Алгоритм, выполняющийся при нажатии на кнопку «√» представлен на рисунке 1.
Рисунок 1 — Алгоритм работы кнопки «sqrt»
Алгоритм, выполняющийся при нажатии на кнопку «1/x» представлен на рисунке 2.
Рисунок 2 — Алгоритм нажатия на кнопку «1/х»
Алгоритм, выполняющийся при нажатии на кнопку «%» представлен на рисунке 3.
Рисунок 3 — Алгоритм нажатия на кнопку «%»
При нажатии на кнопку «,» выполняется алгоритм, представленный на рисунке 4.
Рисунок 4 — Алгоритм нажатия на кнопку «,»
При нажатии на кнопку «+/-» выполняется алгоритм, представленный на рисунке 5.
Рисунок 5 — Алгоритм нажатия на кнопку «+/-»
При нажатии на кнопку «=» выполняется алгоритм, представленный на рисунке 6.
Рисунок 6 — Алгоритм нажатия на кнопку «=»
При нажатии на кнопку «С» выполняется алгоритм, представленный на рисунке 7.
Рисунок 7 — Алгоритм нажатия на кнопку «С»
При нажатии на кнопку «СЕ» выполняется алгоритм, представленный на рисунке 8.
Рисунок 8 — Алгоритм нажатия на кнопку «СЕ»
При нажатии на кнопку «Backspace» выполняется алгоритм, представленный на рисунке 9.
Рисунок 9 — Алгоритм нажатия на кнопку «Backspace»
