lab3_Skorikov
.docx
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ВЕЩЕСТВЕННЫЕ ЧИСЛА. ОШИБКИ ПРИ РАБОТЕ С ВЕЩЕСТВЕННЫМИ ЧИСЛАМИ
Отчет по лабораторной работе №3
по дисциплине «Языки программирования»
Выполнил:
Студент гр. 724
_______ _____ Скориков И.И.
19.10.2015
Принял:
Кандидат технических наук
кафедры КИБЭВС
_______ _____ Романов А.С.
19.10.2015
2015
1 Цель работы
Знакомство с основными ошибками, возникающими при обработке вещественных чисел.
2 Ход работы
Нахождение ошибок «вручную»:
x = 1472010724,31081996;
y = x * = 0,147201072431081996;
c = x + y = 1472010724,458021032431081996;
c’ = 1472010724,458021032 (округление c до 9 знака после запятой);
Абсолютная ошибка A = |c – c’| = 0,000000000431081996;
Относительная ошибка O = A/c = 0,0000000000;
z = x +- = 1472010724,31081996;
Предполагаем, что в младшем разряде числа x произошла ошибка.
z = x-0,001 = 1472010724,30981996;
Повторим умножение без ошибки:
m = x * x = 2166815572486064804,8031111275344;
C ошибкой:
n = x * z = 2166815572484592794,0788003075744;
Абсолютная ошибка A = |m - n| = 1472010,72431081996;
Относительная ошибка O = A/m = 6,7934287670;
k = 1472010724 (округл. до целого x);
Абсолютная ошибка A = |x - k| = 0,31081996;
Относительная ошибка O = A/x = 0,0000000021
Приведем примеры программы на языке программирования Ecmascript (Javascript), демонстрирующие ошибки вещественных чисел. Для выполнения кода был использован интерпретатор ConEmu.
2.1 Исчезновение операнда
Код программы:
Рисунок 1 – Код программы «исчезновение операнда»
Результат:
Рисунок 2 – Результат «исчезновение операнда»
Как видите, операнд a1 утерян.
2.2 Умножение ошибки
Код программы:
Рисунок 3 – Код программы «умножение ошибки»
Результат:
Рисунок 4 – Результат «умножение ошибки»
Переменная должна была содержать 10000,но на практике мы видим, небольшие отличия. Происходит накопление ошибки из-за округления.
2.3 Потеря значимости
Код программы:
Рисунок 5 – Код программы «потеря значимости»
Результат:
Рисунок 6 – Результат «потеря значимости»
При вычитании близких вещественных чисел, мы так же получаем неточности.
3 Заключение
В процессе выполнения лабораторной работы были получены знания об основных ошибках, возникающих при обработке вещественных чисел.