Необходимо вывести на экран таблицу значений функции - C (СИ)
Формулировка задачи:
Необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x изменяющихся от xn до xk (xn, xk - вводятся с клавиатуры) с шагом h=(xk-xn)/10 в следующем виде:
При x=0.1;
Y(x)=0.099833;
S(x) =0.099833;
При x=0.2;
Y(x)=0.198669;
S(x) =0.198669;
При x=0.3;
Y(x)=0.29552;
S(x) =0.29552;
Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(x) и Y(x).
Число элементов ряда N – также вводится с клавиатуры.
У меня есть программа но я не знаю как вставить (-1)^n.
#include<stdio.h> #include<math.h> #include<iostream> using namespace std; void main ( ) { int N,f,r,c,j; float h,Yx,Sx,xn,xk,i; Yx=0;Sx=0; setlocale(LC_ALL, "Russian"); printf("введите xn"); scanf("%f",&xn); printf("введите xk"); scanf("%f",&xk); printf("введите N"); scanf("%d",&N); h=(xk-xn)/10; for (i=xn; i<=xk; i+=h) { Yx=sinh(i); for ( j=0; j<=N; j++){ r=2*j+1;f=1; for (c=1; c<=r; c++) { f=f*c; } Sx=Sx+(pow(i,(2*j+1)))/f;} printf("xn=%f, Yx=%f, Sx=%f\n", i, Yx, Sx); Yx=0; Sx=0;} system("pause"); }
Решение задачи: «Необходимо вывести на экран таблицу значений функции»
textual
Листинг программы
#include <stdio.h> #include <math.h> int main ( void ) { int N,f,r,c,j; float h, Yx, Sx, xn, xk, i; Yx = 0; Sx = 0; printf("введите xn"); scanf("%f",&xn); printf("введите xk"); scanf("%f",&xk); printf("введите N"); scanf("%d",&N); h = ( xk - xn ) / 10; for (i = xn; i <= xk; i += h) { Yx = sinh(i); for ( j = 0; j <= N; j++){ r = 2 * j + 1; f = 1; for ( c = 1; c <= r; c++ ) { f = f * c; } Sx = Sx + (pow(i,( 2 * j + 1 ))) / f; } Sx *= pow( -1.0, j); printf("xn=%f, Yx=%f, Sx=%f\n", i, Yx, Sx); Yx = 0; Sx = 0; } // getchar(); return 0; }
Объяснение кода листинга программы
В этом коде на языке C с использованием библиотеки math.h реализуется вычисление значений функции для ряда аргументов. Вот список действий, которые выполняются в коде:
- Сначала объявляются переменные:
- N, f, r, c, j — целочисленные переменные для управления циклом;
- h — переменная для хранения шага изменения аргумента;
- Yx, Sx — переменные для хранения результатов вычислений функции и ее суммы;
- xn, xk — переменные для ввода начальных и конечных значений аргумента функции;
- i — переменная для хранения текущего значения аргумента;
- x — переменная для хранения значения аргумента функции.
- Значения переменных Yx и Sx устанавливаются равными нулю.
- Пользователю предлагается ввести начальное и конечное значения аргумента функции.
- Переменная h инициализируется как (xk - xn) / 10.
- В цикле от xn до xk с шагом h выполняется следующее:
- Переменная Yx обновляется значением sinh(i).
- В цикле от 0 до N выполняется следующее:
- Переменная r устанавливается равной 2 * j + 1.
- Переменная f устанавливается равной 1.
- В цикле от 1 до r выполняется следующее:
- Переменная f обновляется как f * c.
- Переменная Sx обновляется как Sx + (pow(i,(2 * j + 1))) / f.
- Переменная Sx обновляется как Sx * pow(-1.0, j).
- Выводится сообщение с текущими значениями i, Yx и Sx.
- Переменные Yx и Sx сбрасываются в ноль.
- Программа завершается возвратом 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д