Необходимо вывести на экран таблицу значений функции - 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.
Листинг программы
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<iostream>
  4. using namespace std;
  5. void main ( ) {
  6. int N,f,r,c,j;
  7. float h,Yx,Sx,xn,xk,i;
  8. Yx=0;Sx=0;
  9. setlocale(LC_ALL, "Russian");
  10. printf("введите xn"); scanf("%f",&xn);
  11. printf("введите xk"); scanf("%f",&xk);
  12. printf("введите N"); scanf("%d",&N);
  13. h=(xk-xn)/10;
  14. for (i=xn; i<=xk; i+=h) {
  15. Yx=sinh(i);
  16. for ( j=0; j<=N; j++){
  17. r=2*j+1;f=1;
  18. for (c=1; c<=r; c++) { f=f*c; }
  19. Sx=Sx+(pow(i,(2*j+1)))/f;}
  20. printf("xn=%f, Yx=%f, Sx=%f\n", i, Yx, Sx);
  21. Yx=0; Sx=0;}
  22. system("pause");
  23. }

Решение задачи: «Необходимо вывести на экран таблицу значений функции»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4.  
  5. int main ( void )
  6. {
  7.  
  8. int N,f,r,c,j;
  9. float h, Yx, Sx, xn, xk, i;
  10.  
  11. Yx = 0;
  12. Sx = 0;
  13.  
  14.  
  15. printf("введите xn"); scanf("%f",&xn);
  16. printf("введите xk"); scanf("%f",&xk);
  17. printf("введите N"); scanf("%d",&N);
  18.  
  19. h = ( xk - xn ) / 10;
  20.  
  21. for (i = xn; i <= xk; i += h) {
  22.     Yx = sinh(i);
  23.     for ( j = 0; j <= N; j++){
  24.         r = 2 * j + 1;
  25.         f = 1;
  26.        
  27.         for ( c = 1; c <= r; c++ ) {
  28.             f = f * c;
  29.             }
  30.         Sx = Sx + (pow(i,( 2 * j + 1 ))) / f;
  31.         }
  32.  
  33.     Sx *= pow( -1.0, j);
  34. printf("xn=%f, Yx=%f, Sx=%f\n", i, Yx, Sx);
  35. Yx = 0;
  36. Sx = 0;
  37. }
  38. // getchar();
  39. return 0;
  40. }

Объяснение кода листинга программы

В этом коде на языке 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы