Вычисление суммы бесконечного ряда - C (СИ) (149284)
Формулировка задачи:
Поступил в этом году в вуз, а там с первых дней программирование на уровне, мне недоступном. Первые пару заданий еще сделал, а тут совсем завис. Понимаю, что это очень интересно, но абсолютно не могу сделать вот это. Если кто поможет, буду очень благодарен. Вот собсно задание:
Написать на языке C функцию приближённого вычисления суммы бесконечного
степенного ряда из таблицы 2 согласно номеру варианта. При работе функция должна
суммировать не менее 10 членов ряда, а далее продолжать суммирование до тех пор, пока
очередной член ряда не станет достаточно мал по сравнению с суммой предыдущих членов
ряда. Окончание суммирования должно быть произведено, когда модуль отношения
очередного члена ряда к сумме всех предыдущих членов не станет меньше некоторого
заданного пользователем числа, которое будем называть “точностью”. Функция должна
принимать в качестве аргументов два вещественных значения: первый аргумент – значение
x, при котором надо вычислить значение суммы ряда, второй аргумент – “точность”.
Возвращаемое функцией значение – это значение вычисленной суммы ряда.
Решение задачи: «Вычисление суммы бесконечного ряда»
textual
Листинг программы
#include<stdlib.h> #include<math.h> #include<stdio.h> double dva(float x, float tochnost) { int i; float y, sum; double Si = 1; double S = 1; for(i=1; i<10 || (Si/S)>tochnost; i++) { Si=-Si*x*sqrt((2.))/i; S=S+Si*cos(3.1415*i/4); //printf("tytytyt"); } //printf("%lf", S); return S; } int main () { float tochnost, x; printf("vvedite tochnost i x"); scanf("%f", &tochnost); scanf("%f", &x); printf("%lf" ,dva(x, tochnost)); // system(pause); return 0; }
Объяснение кода листинга программы
В этом коде выполняется вычисление суммы бесконечного ряда. Функция dva
принимает два аргумента: x
и tochnost
. Переменная tochnost
используется как показатель точности вычислений. В основной функции main
пользователю предлагается ввести значения x
и tochnost
, после чего вызывается функция dva
и выводится результат.
Вот список элементов кода с их номерами:
- 1. Объявление переменных в функции
dva
:i
(1) - счетчик циклаy
(1) - временная переменнаяsum
(1) - переменная для хранения суммы рядаSi
(1) - текущее значение синусаS
(1) - текущее значение суммы рядаtochnost
(1) - показатель точности вычисленийx
(1) - значение аргументаx
- 2. Условие цикла
for
в функцииdva
:- Цикл выполняется, пока
i
меньше 10 или значениеSi
превышаетtochnost
- Цикл выполняется, пока
- 3. Вычисление значения
Si
внутри циклаfor
в функцииdva
:- Значение
Si
вычисляется как отрицательное произведениеx
на синус квадратного корня из 2, деленное наi
- Значение
- 4. Вычисление значения
S
внутри циклаfor
в функцииdva
:- Значение
S
увеличивается на текущее значениеSi
, умноженное на косинус3.1415*i/4
- Значение
- 5. Комментарий
//printf(
%lf, S);
в функцииdva
:- В этом месте можно было бы выводить значение
S
для проверки результатов
- В этом месте можно было бы выводить значение
- 6. Вывод значения
S
в функцииmain
:- Значение
S
передается в функциюprintf
для вывода на экран
- Значение
- 7. Вызов функции
dva
в функцииmain
:- Функция
dva
вызывается с аргументамиx
иtochnost
, и результат выводится на экран
- Функция
- 8. Комментарий
// system(pause);
в функцииmain
:- В этой строке можно было бы добавить паузу, чтобы программа не закрывалась сразу после вывода результата
- 9. Возврат значения 0 в функции
main
:- Это означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д