Главная страница
Навигация по странице:

  • Цель работы. Научиться определять абсолютную и относительную погрешности приближённых чисел, оценивать погрешность результата.Основные теоретические сведения.

  • Экспериментальные данные. 16 вариант

  • Приложение 1

  • Конструирование программ. Лабораторная работа №1. Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата Студентка гр. 9373


    Скачать 71.25 Kb.
    НазваниеОпределение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата Студентка гр. 9373
    АнкорКонструирование программ
    Дата03.04.2022
    Размер71.25 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа №1.docx
    ТипОтчет
    #439029

    МИНОБРНАУКИ РОССИИ

    Санкт-Петербургский государственный

    электротехнический университет

    «ЛЭТИ» им. В.И. Ульянова (Ленина)

    Кафедра Информационные системы


    отчет

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

    по дисциплине «Конструирование программ»

    Тема: Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата





    Студентка гр. 9373




    Лестенькова А.С.

    Преподаватель




    Копыльцов А.В.

    Санкт-Петербург

    2021

    Цель работы.

    Научиться определять абсолютную и относительную погрешности приближённых чисел, оценивать погрешность результата.

    Основные теоретические сведения.

    При проведении расчетов необходимо уметь практически оценивать погрешности результата. Разумная оценка погрешности позволяет удерживать оптимальное число знаков при вычислениях, оптимизируя трудоемкость расчетов. Абсолютная и относительная погрешности вычисляются непосредственно по формулам (1.2.1) и (1.2.2). Число верных знаков определяется в соответствии с теоремами 1-3 параграфа 1.2.

    Относительной погрешностью приближенного значения числа называется

    (1.2.2)

    Эта погрешность не зависит от масштаба величины единицы измерения. Непосредственное вычисление по формулам (1.2.1) и (1.2.2) невозможно, так как неизвестно. Часто задают величины верхние границы погрешностей и полагают

    (1.2.3)

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

    Значащими цифрами числа называются все цифры в его записи, начиная с первой ненулевой слева. Например,

    все значащие цифры подчеркнуты.

    Значащую цифру числа называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой цифре.


    Экспериментальные данные.

    16 вариант


    Обработка результатов.

    Величина подъемной силы крыла самолета оценивается по формуле где - площадь проекции крыла на горизонтальную плоскость, - скорость натекания воздуха на крыло, - плотность атмосферы на заданной высоте, - угол атаки, отсчитываемый от направления нулевой подъемной силы, - коэффициент, зависящий от формы крыла. Требуется вычислить при заданных значениях и заданных абсолютных или относительных значениях этих величин. (В таблице 1 для нечетных вариантов задано , для четных .




    Вывод.

    Программа была выполнена на языке программирования C++.
    Мы научились определять абсолютную и относительную погрешность приближённых чисел, оценивать погрешность результата.

    Приложение 1

    Код программы

    #include
    using namespace std;

    double rnd(double num)

    {

    double rnd = 1;

    if (num >= 10)

    do

    {

    num /= 10;

    rnd /= 10;

    } while (num >= 10);

    else if (num < 1)

    {

    do

    {

    num *= 10;

    rnd *= 10;

    } while (num < 1);

    }

    return rnd;

    }

    int main()

    {

    double c(0.004), dc(0.001), da(0.01), p(0.95), dp(0.01), v(225), _v(0.01), s(20), ds(0.04), f, df, _f, rndf;

    int a(10);

    setlocale(LC_ALL, "RU");

    cout << "c = 0.004" << endl;

    cout << "dc = 0.001" << endl;

    cout << "a = 10" << endl;

    cout << "da = 0.01" << endl;

    cout << "p = 0.95" << endl;

    cout << "dp = 0.01" << endl;

    cout << "v = 225" << endl;

    cout << "_v = 0.01" << endl;

    cout << "s = 20" << endl;

    cout << "ds = 0.04" << endl;

    df = dc + da + dp + 2 * _v / v + ds;

    df = round(df * 10000) / 10000;

    f = c * a * p * v * v * s;

    _f = abs(f) * df;

    rndf = rnd(_f);

    _f = round(_f * rndf) / rndf;

    f = round(f * rndf) / rndf;

    cout << endl << "Подъемная сила крыла самолета F = " << f << endl << "Абсолютная погрешность _F = " << _f << endl << "Относительная погрешность dF = " << df << endl;
    return 0;
    }


    написать администратору сайта