Найти значения функции - 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 (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
#include <stdio.h>                      
#include <conio.h>
#include <math.h>
void main()
{
double a, b, x, h, y, r, raz, s, pi = 3.1415926;;
int n, k;
puts("Vvedi a,b,h,n");              
scanf("%lf%lf%lf%d", &a, &b, &h, &n);   
for(x = a; x<=b; x+=h) {
                    r = s = 1;
                for(k = 1; k<=n; k++) {
                            r=cos(k*pi/4)*x/k;
                        y=exp(x*cos(pi/4))*cos(x*sin(pi/4));
                        raz=y-s;
                        s+=r;   
                }           
printf("\n x= %8.2lf summa X= %8.5lf funkciya Y= %8.5lf Raznost'|Y-X|= %8.5lf", x,s,y,raz); 
 
}
puts("\nPress any key ... ");       
getch();
}
Немогли бы взглянуть что не так?

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

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main() {
    double a, b, x, h, y, raz, s, pi = 3.1415926;;
    int n, k;
    double fact=1.;
    puts("Vvedi a,b,h,n");
    scanf("%lf%lf%lf%d", &a, &b, &h, &n);
    for(x = a; x<=b; x+=h) {
        s = 1;
        fact=1;
        for(k = 1; k<=n; k++) {
            fact*=k;
            s+=cos(k*pi/4)*pow(x, k)/fact;;
        }
        y=exp(x*cos(pi/4))*cos(x*sin(pi/4));
        raz=y-s;
        printf("\n x= %8.2lf summa X= %18.15lf funkciya Y= %18.15lf Raznost'|Y-X|= %18.15lf", x,s,y,raz);
    }
    puts("\nPress any key ... ");
    getch();
}

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

  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
Похожие ответы