Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчеты / ЯП2

.pdf
Скачиваний:
7
Добавлен:
05.06.2022
Размер:
282.36 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

ВЕЩЕСТВЕННЫЕ ЧИСЛА. ОШИБКИ ПРИ РАБОТЕ С ВЕЩЕСТВЕННЫМИ ЧИСЛАМИ Отчет по лабораторной работе №2

по дисциплине «Языки программирования»

Выполнил:

Студент гр. 710-2

_______ _____Кузьмина А.А.

__.04.2022

Принял:

Младший научный сотрудник

Кафедры КИБЭВС

_______ ________Полюга В.А.

___.04.2022

Томск - 2022

2

1 Введение

Цель работы: знакомство с основными ошибками, возникающими при обработке вещественных чисел.

Для работы использовался язык программирования С# и среда разработки Microsoft Visual Studio 2019.

3

2 Ход работы

Нахождение ошибок «вручную»:

X = 20710327102.23012001;

Y = X ∙ 10−10 = 2.071032710223012001;

C = X + Y = 20710327104.301152720223012001;

C` = 20710327104.301152720;

Z = X ± 10−8 = 20710327102.23012;

Абсолютная ошибка А = |C - C’| = = 0.000000000223012001;

Относительная ошибка O = = 0.00000000000000000001077.

Предполагаем, что в младшем разряде числа x произошла ошибка:

Z = X – 0.001 = 20710327102.23012001 – 0.001 = 20710327102.22912001;

Производим умножение без ошибки:

M = X ∙ X = 428917648681367439763.6839772590024001;

Производим умножение с ошибкой:

N = X ∙ Z = 20710327102.23012001 ∙ 20710327102.23012 = 428917648681367439556.5807062367012;

Абсолютная ошибка A = |M – N| = 207.1032710223012001;

Относительная ошибка О = = 0.0000000000000000004829;

K = 20710327102;

Абсолютная ошибка A = |X - K| = 0,31081996;

Относительная ошибка O = = 0.00000001.

4

Далее для демонстрации ошибок вещественных чисел используем примеры программ на языке С#.

Рассмотрим ошибку «Исчезновение операнда»:

На рисунке 1 представлена ошибка «Исчезновение операнда». На рисунке 2 показан результат работы программы.

Рисунок 1 – Исчезновение операнда.

Рисунок 2 –Результат работы первого фрагмента программы.

Операнд А1 был утерян, поскольку он относительно мал по отношению к другому операнду.

После этого рассмотрим ошибку «Умножение ошибки»:

На рисунке 3 представлена указанная раннее ошибка. Ниже на рисунке

4 показан результат работы программы.

Рисунок 3 – Умножение ошибки.

5

Рисунок 4 – Результат работы второго фрагмента программы.

Увеличение абсолютной погрешности операнда может появиться при использовании арифметики с плавающей точкой. Происходит умножение ошибки.

Далее рассмотрим ошибку «Потеря значимости»:

На рисунке 5 представлена данная ошибка. На рисунке 6 представлен результат работы программы.

Рисунок 5 – Потеря значимости.

Рисунок 6 – Результат работы третьего фрагмента программы.

Происходит полная потеря значимости из-за вычитания почти равных чисел.

6

3Заключение

Впроцессе выполнения лабораторной работы были получены знания об основных ошибках, которые возникают при обработке вещественных чисел.

Соседние файлы в папке Отчеты