
Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
ордена Трудового Красного Знамени Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
(МТУСИ)
Кафедра: «Информатика»
Дисциплина «Технологии программирования»
Отчёт по лабораторной работе №5
на тему
«Расчёт значения exp(x)»
Проверил: доц. Волков А. И.
Москва, 2023
Оглавление
Заключение 28
1 Постановка задачи
Разработать программу «Расчет значения ехр(х)» в среде разработки Visual Studio. Программа способна считать сумму ряда по формуле (Рис. 1).
Рисунок 1 – Формула для расчёта ряда exp(x)
В диапазон чисел будут входить переменные от -13 до 20 включая границы. Объясняется такое ограничение тем, что числа меньше -13 не будут гарантированно точными. Числа больше 20 не будут помещаться в переменную типа double. Это позволяет хранить в памяти 15 цифр, а остальные ячейки будут заполнены нулями. Для того, чтобы избежать этого, в программе при расчете через рекуррентную формулу будет использован тип Decimal, однако считать exp(x) через функцию библиотеки Math можно лишь с переменной типа double, поэтому диапазон доступных пользователю значений расширен не будет.
Для расчета последующих членов ряда будем использовать рекуррентную формулу, которая выводится из основного ряда по формуле (Рис. 2).
Рисунок 2 – Рекуррентная формула
В программе будут присутствовать кнопки: «Закрыть», «Расчёт exp(x)».
Программа должна корректно реагировать в следующих ситуациях:
Пользователь ввел число не из диапазона допустимых значений;
Пользователь вводит буквы и недопустимые знаки;
Программа должна автоматически менять точность для корректного отображения результата.
В таблице 1 приведено описание всех элементов, размещенных на форме.
Таблица 1 – Таблица элементов формы
Свойства |
Описание |
Значения |
|
||
Элементы Button |
Элементы Label |
Элемент TextBox |
Элементы RadioButton |
||
(Name) |
Имя элемента |
btnExpCalc, btnClose |
label1, label2, label3, label4, label5, label6, label7 |
txtValue |
radB1, radB2, radB3, radB4, radB5, radB6 |
TextAlign |
Способ выравнивания текста |
MiddleCenter |
Right |
MiddleLeft |
|
ReadOnly |
Только для чтения |
(Отсутствует) |
False для txtEnter |
(Отсутствует) |
|
ForeColor |
Цвет текста |
ControlText |
|||
Size.Width |
Ширина |
270, 92 |
0, 0, 0, 0, 0, 0, 0 |
90 |
97 |
Size.Height |
Высота |
25, 23 |
18, 13, 13, 13, 13 , 13, 13 |
20 |
24 |
Location.X |
Расстояние от левого края |
110 |
10,10, 10,10, 10 |
110, 110, 110 |
6, 166, 332 |
Location Y |
Расстояние от верхнего края |
60, 90, 120 |
10, 150, 60, 90, 120 |
60, 90, 120 |
26, 26, 26, 70, 70, 70 |
Text |
Текст элемента |
Расчет exp(x), Закрыть |
Исходное значение, Точность, Число слагаемых, Точное значение exp(x), Сумма ряда exp(x) |
Пустое поле |
0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001 |
Font |
Шрифт |
Шрифт – MS Sans Serif; Начертание – Обычный; Размер – 10 pt |