программирование 1-й семестр вариант №1 / отчёты / отчет3
.docxУО «Белорусский Государственный университет информатики и радиоэлектроники»
Отчёт
По контрольной работе №3 по теме:
«Реализация циклических алгоритмов»
Вариант 1
Выполнил:
Студент гр. ____
______________
Проверил:
______________
Минск 2010
Задание.
Для каждого х, изменяющегося от а до b, с шагом h, найти значения функции У(х), суммы S(x) и |Y(x) – S(x)| и вывести в виде таблицы. Значения а, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и У для заданного аргумента х (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0.1; b = 1.0; h = 0.1; значение параметра n выбрать в зависимости от задания.
Преобразуем данную последовательность S к рекуррентному виду:
Листинг 3.1
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
double a, b, h, x, res, s, y;
int n, k, zn=-1;
// Ввод исходных данных
cout << "Vvedite a b h n: " << endl;
cin >> a >> b >> h >> n;
// Вычисление суммы
for (x=a; x<=b; x+=h){
res = s = x;
for (k=1; k<=n; k++){
s *= zn * pow(x,2) / ((2*k+1)*2*k);
res += s;
}
y = sin(x);
cout << res << " \tY(x) = sin(" << x << ") = " << y;
cout << "\t|Y(x) - S(x)| = " << fabs(y-res) << endl;
}
// Вывод результата
cout << "Press any key..." << endl;
getch();
return 0;
}
Результат выполнения программы.
Используемая литература.
Б. Страуструп. Язык программирования С++