Лабораторная работа: Вычисление суммы бесконечного ряда с точностью епсилон
Название: Вычисление суммы бесконечного ряда с точностью епсилон Раздел: Рефераты по информатике Тип: лабораторная работа | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Государственный университет информатики и искусственного интеллекта Д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 итераций: Общая формула
Расчет с коэффициентом:
Примечания: Под а начальным имеется ввиду значение переменной, с которой начинается просчет по ниже приведенным формулам: (а1 берется с просчета по начальной формуле, расчет k приведен ниже.) а2=а1*k1; a3=a2*k2; a4=a3*k3; a5=a4*k4. Расчет k: Подставляем в формулу значение i
Листинг программы: #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(); } Контрольный пример: Writee 0.0003 Writee 0.0025 Sum of infinite series =0.458940 Sum of infinite series =0.460040 |