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

ЯП / ЯП / ЯП вещ

.docx
Скачиваний:
46
Добавлен:
11.05.2015
Размер:
63.56 Кб
Скачать

Цель работы

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

Краткая теория

Вещественные числа при обработке в вычислительной системе представляются в двоичном виде.

Существует два подхода:

  1. Число представляется в согласно двоичной арифметике в виде числа с плавающей запятой. Такой подход называется двоично-кодированным десятичным числом.

  2. Цифры числа кодируются как целое число, дополненное информацией о позиции десятичного разделителя. Это формат числа называется форматом с фиксированной точкой.

Существуют три основные ошибки вычислений, возникающие при выполнении операции над вещественными числами:

  1. Исчезновение операнда. Операнд может исчезнуть, если он относительно мал по отношению с другим операндом.

  2. Умножение ошибки – многократное увеличение абсолютной погрешности операнда.

  3. Потеря значимости. Возникает, когда результат вычислений невозможно представить в допустимой форме.

Ход работы

1) В качестве исходного значения принимаем следующие значения:

х = 10520415202.29031993;

у = х*

с = х+у

  1. с’ = округление с до 9 знака после запятой

Абсолютная ошибка

А = | c - с’|

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

О = А/c

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

z = x ±

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

m = x * x

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

n = x * z

Абсолютная ошибка

А = |m - n|

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

О = А/m

  1. Округлим х до целого числа

k = 10520415202

Абсолютная ошибка

А = |x - k|

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

О = А/x

Программа разработана в среде MS Visual Studio 2010, C#.

Использованный тип данных – double.

Скриншот иллюстрирует проделанные вычисления.

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

Листинг программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace YP_3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

this.Close();

}

private void Form1_Load(object sender, EventArgs e)

{

double x = 10520415202.29031993;

double xx = 0.0000000001;

double y = x * xx;

double c = x + y;

double cc = Math.Round(c, 9);

double a1 = c - cc;

double o1 = a1 / c;

double zz = 0.00000001;

double z = x - zz;

double m = x * x;

double n = x * z;

double a2 = Math.Abs(m - n);

double o2 = a2 / m;

double k = Math.Round(x, 0);

double a3 = Math.Abs(x - k);

double o3 = a3 / x;

label1.Text = "x: " + x.ToString();

label2.Text = "y: " + y.ToString();

label3.Text = "c: " + c.ToString();

label4.Text = "c': " + cc.ToString();

label5.Text = "Абсолютная ошибка А: " + a1.ToString();

label6.Text = "Относительная ошибка О: " + o1.ToString();

label7.Text = "Предполагаемая ошибка z: " + z.ToString();

label8.Text = "Умножение без ошибки m: " + m.ToString();

label9.Text = "Умножение с ошибкой n: " + n.ToString();

label10.Text = "Абсолютная ошибка А: " + a2.ToString();

label11.Text = "Относительная ошибка О: " + o2.ToString();

label12.Text = "Округление до целого (х), k: " + k.ToString();

label13.Text = "Абсолютная ошибка А: " + a3.ToString();

label14.Text = "Относительная ошибка О: " + o3.ToString();

}

}

}

Заключение

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

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

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

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

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

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

ОТЧЕТ

по лабораторной работе №3

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

Выполнила:

студентка гр. 520-2

______________ Джурко Е.Д.

« »________2013 г.

Принял:

_____________ Романов А.С.

« »________2013 г.

Томск 2013

Соседние файлы в папке ЯП