Найти значения функции - C (СИ) (71864)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. void main()
  5. {
  6. double a, b, x, h, y, r, raz, s, pi = 3.1415926;;
  7. int n, k;
  8. puts("Vvedi a,b,h,n");
  9. scanf("%lf%lf%lf%d", &a, &b, &h, &n);
  10. for(x = a; x<=b; x+=h) {
  11. r = s = 1;
  12. for(k = 1; k<=n; k++) {
  13. r=cos(k*pi/4)*x/k;
  14. y=exp(x*cos(pi/4))*cos(x*sin(pi/4));
  15. raz=y-s;
  16. s+=r;
  17. }
  18. printf("\n x= %8.2lf summa X= %8.5lf funkciya Y= %8.5lf Raznost'|Y-X|= %8.5lf", x,s,y,raz);
  19. }
  20. puts("\nPress any key ... ");
  21. getch();
  22. }
Немогли бы взглянуть что не так?

Решение задачи: «Найти значения функции»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. void main() {
  5.     double a, b, x, h, y, raz, s, pi = 3.1415926;;
  6.     int n, k;
  7.     double fact=1.;
  8.     puts("Vvedi a,b,h,n");
  9.     scanf("%lf%lf%lf%d", &a, &b, &h, &n);
  10.     for(x = a; x<=b; x+=h) {
  11.         s = 1;
  12.         fact=1;
  13.         for(k = 1; k<=n; k++) {
  14.             fact*=k;
  15.             s+=cos(k*pi/4)*pow(x, k)/fact;;
  16.         }
  17.         y=exp(x*cos(pi/4))*cos(x*sin(pi/4));
  18.         raz=y-s;
  19.         printf("\n x= %8.2lf summa X= %18.15lf funkciya Y= %18.15lf Raznost'|Y-X|= %18.15lf", x,s,y,raz);
  20.     }
  21.     puts("\nPress any key ... ");
  22.     getch();
  23. }

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

  1. Подключение необходимых библиотек для работы с числами с плавающей точкой, вводом/выводом и математическими функциями.
  2. Объявление переменных: a, b, x, h, y, raz, s и константы pi.
  3. Ввод значений переменных a, b, h и n с клавиатуры.
  4. Инициализация переменной fact единицей.
  5. Организация цикла, который будет выполнять вычисления для каждого значения x от a до b с шагом h.
  6. Инициализация переменной s и fact единицей в начале каждого цикла.
  7. Организация вложенного цикла, который будет выполнять вычисления для каждого значения k от 1 до n.
  8. Вычисление значения fact путем перемножения всех чисел от 1 до k.
  9. Вычисление значения s путем сложения всех вычисленных значений cos(kpi/4)pow(x, k)/fact.
  10. Вычисление значения y как экспоненты от xcos(pi/4))cos(x*sin(pi/4)).
  11. Вычисление значения raz как разности между y и s.
  12. Вывод на экран значений x, s, y и raz.
  13. Повторение шагов 5-12 для всех значений x от a до b.
  14. Завершение программы и ожидание нажатия любой клавиши.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 3.714 из 5

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

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

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