Код не правильно считает функцию ? Что изменить? - C (СИ)
Формулировка задачи:
Код не правильно считает пример?Что изменить?
http://pixs.ru/showimage/wFpMc3XPGg_7286880_19609299.jpg
http://pixs.ru/showimage/wFpMc3XPGg_9259884_19609307.jpg
#include <stdio.h> #include <stdlib.h> #include <math.h> main(int argc, char * argv[]) { double h,x,t,ep,eps,fun,Pi; int n; puts("Программа составления таблицы функции,"); puts("заданной на интервале [0.1;0.8] с шагом 0.1"); puts(" _______________________________________________________________ "); puts("| | | |"); puts("| x | (1/2) - (Pi/4)*|sinx| | (cos2nx)/(4n^2 - 1) |"); puts("|_________|____________________________|________________________|"); x=0; h=0.1; eps=0.00001; ep=eps-0.00001; Pi=3.14; goto gohere; while(x<=0.8) { t=x; n=0; while(fabs((1/2)-(Pi/4)*abs(sin(x)))>=ep) { t=(1/2)-(Pi/4)*abs(sin(x)); fun=cos(2*n*x)/(4*pow(n,2)-1); if(t!=1) { if(t<eps) { printf("|%lf | %lf | %lf |\n", x, t, fun); goto gohere; } else printf("|%lf | %lf | %lf |\n", x, t, fun); } n=n+1; } gohere: x=x+h; } puts(" _______________________________"); }
Решение задачи: «Код не правильно считает функцию ? Что изменить?»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> double fabs(double); int main() { system("chcp 1251>NUL"); double h, x, t, ep, eps, Pi, y1, y2, chlen; int n; puts("Программа составления таблицы функции,"); puts("заданной на интервале [0.1;0.8] с шагом 0.1"); puts(" <br> "); puts("| | | |"); puts("| x | (1/2) - (Pi/4)*|sinx| | (cos2nx)/(4n^2 - 1) |"); puts("|<br>|<br>|<br>|"); x = 0; h = 0.1; eps = 0.00001; //ep = eps - 0.00001; Pi = 3.14; while (x <= 0.8) { n = 1; y2 = 0; y1 = 1.0 / 2 - (Pi / 4)*fabs(sin(x)); do { chlen = cos(2 * n*x) / (4.0 * n*n - 1); y2 += chlen; n++; } while (chlen >= eps); printf(" %.1lf\t\t\t%lf\t\t%lf\n", x, y1, y2); x += h; } puts(" <br> \n"); }
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки: stdio.h, stdlib.h и math.h.
- Определяется функция fabs, которая используется в коде.
- В функции main() задается задача программы и выводится приветствие.
- В цикле while происходит расчет значений функции на интервале [0.1;0.8] с шагом 0.1.
- Внутри цикла определены переменные n, y1, y2, chlen, которые используются в вычислениях.
- Переменная x инициализируется значением 0, а переменная h — значением 0.1.
- Переменная eps инициализируется значением 0.00001, которое используется в качестве точности вычислений.
- Переменная Pi инициализируется значением 3.14.
- В цикле while происходит расчет значений функции на интервале [0.1;0.8] с шагом 0.1.
- Внутри цикла определены переменные n, y1, y2, chlen, которые используются в вычислениях.
- Переменная x инициализируется значением 0, а переменная h — значением 0.1.
- Переменная eps инициализируется значением 0.00001, которое используется в качестве точности вычислений.
- Переменная Pi инициализируется значением 3.14.
- В цикле while происходит расчет значений функции на интервале [0.1;0.8] с шагом 0.1.
- Внутри цикла определены переменные n, y1, y2, chlen, которые используются в вычислениях.
- Значение переменной x увеличивается на 0.1 после каждой итерации цикла.
- Значение переменной y1 вычисляется как (1/2) - (Pi/4)*|sin(x)|.
- Значение переменной y2 вычисляется как сумма членов ряда cos(2nx)/(4nn-1) для n от 1 до 100.
- Значения переменных x, y1 и y2 выводятся на экран.
- Значение переменной x увеличивается на 0.1 после каждой итерации цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д