Экономико- математические методы и прикладные модели (вариант 10)
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
Государственный
университет информатики и искусственного интеллекта
Д050103.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
|
Число
в результате просчета по формуле «в лоб»,а
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
Расчет с коэффициентом:
Значение i
|
Значение k
|
a
начальное
|
результат
|
1
|
|
|
|
2
|
|
|
|
3
|
|
|
|
4
|
|
|
|
5
|
|
|
Примечания:
Под а начальным имеется
ввиду значение переменной, с которой начинается просчет по ниже приведенным
формулам:
(а1 берется с просчета
по начальной формуле, расчет k
приведен ниже.)
а2=а1*k1;
a3=a2*k2;
a4=a3*k3;
a5=a4*k4.
Расчет k:
Подставляем в формулу
значение i
Значение i
|
Переменная k
(номер коэффициента.)
|
1
|
(k1)
|
2
|
(k2)
|
3
|
(k3)
|
4
|
(k4)
|
Листинг программы:
#include
<stdio.h>
#include
<conio.h>
#include <math.h>
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.458940 Sum of infinite series =0.460040