Написать программу, которая вычисляет сумму первых N членов ряда 1+1/4+1/9+1/16+ - C (СИ)
Формулировка задачи:
2. Написать программу, которая вычисляет сумму первых N членов ряда 1+1/4+1/9+1/16+... Исходные данные (N – количество суммируемых членов ряда) вводятся из файла Input.txt. Результаты работы программы записываются в файл Out.txt.
Прошу помочь. Все программы в С(Си), программа: C++ Builder 2009
Решение задачи: «Написать программу, которая вычисляет сумму первых N членов ряда 1+1/4+1/9+1/16+»
textual
Листинг программы
#include <stdio.h>
main()
{
float pi,c=1,i=0,sum=0;
int a=1,N;
FILE * fi;
fi = fopen("in.txt","rt");
fscanf( fi, "%d", &N );
printf("%d\n",N);
fclose(fi);
while (i<N){
pi=a*(4/c);
sum=sum+pi;
a=-a; c=c+2; i++;
}
FILE *fo;
fo = fopen("out.txt","wt");
fprintf( fo, "%1.10f",sum );
fclose(fo);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
pi- используется для хранения значения числа π.c- используется для хранения значения константы, которая увеличивается на 2 на каждой итерации цикла.i- используется для отслеживания количества итераций цикла.sum- используется для хранения суммы первых N членов ряда.a- используется для хранения значений, которые используются в формуле для вычисления значения каждого члена ряда.N- используется для хранения количества членов ряда, которые нужно вычислить.fi- используется для открытия файлаin.txtдля чтения.fo- используется для открытия файлаout.txtдля записи.
- Открывается файл
in.txtдля чтения и считывается значение N. - Цикл выполняется N раз. На каждой итерации:
- Вычисляется значение каждого члена ряда, используя формулу
a*(4/c). - Значение этого члена ряда добавляется к
sum. - Значение
aменяется на противоположное, аcувеличивается на 2.
- Вычисляется значение каждого члена ряда, используя формулу
- После завершения цикла открывается файл
out.txtдля записи и записывается значениеsum. - Файл
out.txtзакрывается.