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

lab3_Skorikov

.docx
Скачиваний:
32
Добавлен:
02.12.2015
Размер:
64.05 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

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

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

ВЕЩЕСТВЕННЫЕ ЧИСЛА. ОШИБКИ ПРИ РАБОТЕ С ВЕЩЕСТВЕННЫМИ ЧИСЛАМИ

Отчет по лабораторной работе №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 Заключение

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

Соседние файлы в предмете Языки программирования