Конструирование программ. Лабораторная работа №1. Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата Студентка гр. 9373
Скачать 71.25 Kb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра Информационные системы отчет по лабораторной работе №1 по дисциплине «Конструирование программ» Тема: Определение абсолютной и относительной погрешностей приближенных чисел. Оценка погрешностей результата
Санкт-Петербург 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; } |