МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Государственный университет информатики и искусственного интеллекта Д50 103.1.01.10/080.ЛР
Кафедра программного обеспечения интеллектуальных систем Лабораторная работа № 1
по дисциплине «Основы программирования»
на тему: «Вычисление суммы бесконечного ряда»
Вариант № 14
Проверил:
ст. преп. Р. А. Сорокин асс. Е. В. Курило Выполнила:
ст. гр. ПО-10а Ю. Ю. Красавина Донецк-2010
Задание: Написать программу на языке программирования С++
Вычисление суммы бесконечного ряда с точностью эпсилон.
Вид уравнения:
Постановка задачи:
Входные данные: e — вещественное число.
Выходные данные: S — вещественное число.
Промежуточные данные: k — вещественное, a — вещественное, iцелое.
Ограничение на входные данные:0<�е<1
Метод решения задачи:
На первом шаге присвоим значение i:=1, а S:=0. значение a рассчитаем по общей формуле приведенной выше.
Рассчитаем k.
k = =>
Следующие, а будем вычислятьa:= a *k, а значение i будем увеличивать на каждом шагеi:=i+1;
Алгоритм решения задачи:
Контрольный просчет для первых 5 итераций:
Общая формула
|
Значение переменной i | Число в результате просчета по формуле «в лоб», а | |
| | |
| | |
| | |
| | |
| | |
|
Расчет с коэффициентом:
|
Значение i | Значение k | a начальное | результат | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
|
Примечания:
Под, а начальным имеется ввиду значение переменной, с которой начинается просчет по ниже приведенным формулам:
(а1 берется с просчета по начальной формуле, расчет k приведен ниже.)
а2=а1*k1;
a3=a2*k2;
a4=a3*k3;
a5=a4*k4.
Расчет k:
Подставляем в формулу значение i
|
Значение i | Переменная k (номер коэффициента.) | |
| (k1) | |
| (k2) | |
| (k3) | |
| (k4) | |
|
Листинг программы:
#include
#include
#include
void main (void)
{
int i;
float a, s, e;
clrscr ();
do
{
printf («Write e»);
scanf («%f», &e);
}
while (e<=0||e>=1);
s=0;
i=1;
a=0.7;
while (fabs (a)>=e)
{
s=s+a;
a=a*(-sqrt (float (i)/(float (i)+2.0)));
i++;
}
printf («Sum of infinite series =%f», s);
getch ();
}
Контрольный пример:
Write e 0.0003 Write e 0.0025
Sum of infinite series =0.458 940 Sum of infinite series =0.460 040