Вы находитесь на странице: 1из 4

Министерство образования Республики Беларусь

Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет информационных технологий и управления

Кафедра информационных систем и технологий(в игровой индустрии)

ОТЧЕТ
по лабораторной работе

«РЕАЛИЗАЦИЯ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ»

Студент гр. 124402 В.С. Буляк


Проверила О.О. ШАТИЛОВА

Минск 2021
Цель
Изучить циклические операторы while, do-while, for, научиться
реализовывать циклические алгоритмы. Изучив простейшие средства
отладки программ, составить и отладить программу.

Вариант 6

Общая постановка задачи


1. Составить программу для определения всех значений функции y в
произвольном диапазоне [a, b] изменения аргумента x с произвольным шагом
h. Значения a, b, h вводятся с клавиатуры. Результат должен содержать
следующие столбцы: порядковый номер, значения аргумента x и значения
функции y.

Листинг
#include <iostream>
#include <cmath>

using namespace std;


int main()
{
double x, y, b, a, n, h;
cout << "enter predel [a,b]\n";
cin >> a >> b;
cout << "enter shag\n";
cin >> h;
n = 1;
for (x = a; x <= b; x += h, ++n)
{
y = (x * x / 4. + x / 2 - 3) * exp(x / 2);
cout << "y=" << y << endl << "x=" << x << endl << "№=" << n <<
endl<<"\n";
}

return 0;

}
Общая постановка задачи
2. Для каждого x, изменяющегося от a до b с шагом h, найти
значения функции Y(x), суммы S(x) и |Y(x) – S(x)| и вывести в виде таблицы.
Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является
рядом разложения функции Y(x), при правильном решении значения S и Y для
заданного аргумента x (для тестовых значений исходных данных) должны
совпадать в целой части и в первых двух-четырех позициях после десятичной
точки. 
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение
параметра n выбрать так, чтобы |Y(x) – S(x)| <0.001 (0.0001, 0.00001).

Листинг
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
double x, Y, h, n, k, a, b, rec, sum;
cout << "write [a,b]\n";
cin >> a >> b;
cout << "write shag\n";
cin >> h;
cout << "write n\n";
cin >> n;
for (x=a; x <= b; x+=h)
{
rec = 1;
sum = 1;
Y=(1+2*x*x)*exp(x*x);
for (k=1; k <= n; k++)
{
rec *= (x * x)/k;
sum += (2 * k + 1) * rec;
}
cout << "Y(x)=" << Y << endl << "S(x)=" << sum << endl << "|Y(x)-
S(x)|=" << abs(Y - sum) << endl << "x=" << x << endl<<"\n";
}

}
Вывод
Изучил циклические операторы while, do-while, for, научился
реализовывать циклические алгоритмы. При этом изучил простейшие
средства отладки программ, а также составил и отладил программы.