Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 9
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный университет им Н.И. Лобачевского»
Экономический факультет
Отчет о выполнении лабораторной работы № 2
По дисциплине
Выполнил: |
|||||
Студент курса |
|||||
Группы |
|||||
отделения |
|||||
Авдеева В.И. |
|||||
дата |
личная подпись |
ФИО студента |
|||
Проверил: |
|||||
должность |
|||||
Отметка о зачете: |
|||||
дата |
личная подпись |
ФИО преподавателя |
Нижний Новгород
2013 г.
[0.1] Тема: Степенные ряды
[1] [2] [3]
[4] [4.0.1] 3.1. Задание к лабораторной работе
[5] [5.1] 3.1. Описание алгоритма решения [6] 4. Контрольный пример |
Составить программу вычисления функции с использованием разложения в ряд. Суммирование прекращать, когда очередное слагаемое станет по модулю меньше заданной точности. Сравнить результаты вычисления функции в различных точках области сходимости ряда со значениями, полученными с помощью стандартных программ. Вывести требуемое количество слагаемых. Оценить погрешности метода и вычислений. Предложить наиболее рациональный алгоритм вычисления функции.
Функция имеет вид:
Так как вычисляемая функция определена на всём множестве вещественных чисел, кроме x=0 то на входные, промежуточные и выходные данные не накладывается никаких ограничений, кроме их принадлежности к вещественному типу данных.
Таблица 2.1. Описание входных данных
№ |
Идентификатор |
Тип данных |
Описание |
1 |
X |
Вещественный |
Текущее значение аргумента функции |
2 |
N |
Вещественный |
Точность |
Q |
Целое |
Количество слагаемых которое требует вывести пользователь. |
Таблица 2.2. Описание выходных данных
№ |
Идентификатор |
Тип данных |
Описание |
1 |
a |
Вещественный |
Значение функции ex |
2 |
c |
Вещественный |
Значение функции ex при использовании разложения в ряд |
Таблица 2.3. Описание промежуточных данных
№ |
Идентификатор |
Тип данных |
Описание |
1 |
b |
Вещественный |
Временная переменная |
2 |
i |
Целое |
Номер слагаемого |
3 |
Pogr |
Вещественный |
Погрешность вычисления |
4 |
fact |
Целое |
факториал |
3. Математическое и программное обеспечение
a=ex , b=pow(x,i)/fact(i)
1.вводим х - текущее значение аргумента и n точность.
2.Цикл для, i=1, d== i и значение i в цикле прибавляется на 1
3.если значение b по модулю больше n, то выполняется условие с=с+b и значение d с каждым шагом прибавляется на 1
Если значение b по модулю меньше n, то цикл for заканчивается.
4. выводим на экран а значение функции y=ex
5.выводим на экран с Значение функции y=ex при использовании разложения в ряд.
6.Выведем на экран количество слагаемых, оно определяется действием i-1
7.Считаем погрешность. Она равна модулю разности значения функции y=ex и значения этой функции разложенной в ряд
8.выводим значение погрешности на экран.
3.2. Блок схема алгоритма решения
да нет
3.3. Исходный текст программы
#include <cmath>
#include <iostream>
#include <clocale>
#include <stdio.h>
#include <conio.h>
using namespace std;
double fact(int);
int main()
{
setlocale (LC_ALL, "Russian");
double a,x,b,c,n,pogr;
int q;
cout<<"x: ";
cin>>x;
cout<<"tochnost`: ";
cin>>n;
cout<<"kolichestvo treb. slag. users: ";
cin>>q;
c=0.0;
b = 1.0;
for (int i = 0; b >= n; i++){
if (i < q)
printf("Слагаемое %d = %lf\n", i, b);
c += b;
b = pow(x, i+1)/fact(i+1);
}
cout<< "znach.func.s rasp. v ryad:";
cout<<c<<endl;
a=exp(x);
cout<< "znach.func:";
cout<<a<<endl;
pogr=abs(c-a);
cout<< "Pogreshnost = " << pogr<< endl ;
getch();
return 0;
}
double fact(int i)
{
double a;
if(i==0||i==1)
return 1.;
else a=fact(i-1)*i;
return a
}
Входные Данные |
Выходные данные |
Эталонные значения |
Программа |
|
x |
n |
с |
7.38905 |
7.38871 |
2 |
0.001 |
а |
7.38904 |
7.38906 |
погрешность |
0.00001 |
0.000343577 |
||
Кол-во слагаемых |
10 |
10 |