Необходимо вывести на экран таблицу значений функции - 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 реализуется вычисление значений функции для ряда аргументов. Вот список действий, которые выполняются в коде:

  1. Сначала объявляются переменные:
    • N, f, r, c, j — целочисленные переменные для управления циклом;
    • h — переменная для хранения шага изменения аргумента;
    • Yx, Sx — переменные для хранения результатов вычислений функции и ее суммы;
    • xn, xk — переменные для ввода начальных и конечных значений аргумента функции;
    • i — переменная для хранения текущего значения аргумента;
    • x — переменная для хранения значения аргумента функции.
  2. Значения переменных Yx и Sx устанавливаются равными нулю.
  3. Пользователю предлагается ввести начальное и конечное значения аргумента функции.
  4. Переменная h инициализируется как (xk - xn) / 10.
  5. В цикле от 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 сбрасываются в ноль.
  6. Программа завершается возвратом 0.

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы