Найти среднее арифметическое таких значений функции, которые имеют дробную часть, меньшую 0.5. - C (СИ)
Формулировка задачи:
Написал программу построения таблицы значений функции. Нужно дописать: Среднее арифметическое таких значений функции, которые имеют дробную часть, меньшую 0.5.
помогите пожалуйста..
#include <stdio.h> #include <math.h> #include <conio.h> #define L -5.0 #define R 5.0 #define H 0.1 double F(double x) { return 15.2*sin(0.98*x)+8.3*cos(0.37*x); } int main() { double x,y; for (x = L; x <= R; x += H) { y=F(x); printf("%10.4f %10.4f\n",x,y); } getch(); return 0; }
Решение задачи: «Найти среднее арифметическое таких значений функции, которые имеют дробную часть, меньшую 0.5.»
textual
Листинг программы
int main() { double x,y; double sum = 0; int k = 0; double drob = 0; double temp=0; for (x = L; x <= R; x += H) { y=F(x); printf("%10.4f %10.4f\n",x,y); drob = abs(modf(y, &temp)); if (drob<0.5){ k=k+1; sum=sum+y; } } printf("Needed average: %10.4f\n", sum/k); getch(); return 0; }
Объяснение кода листинга программы
- Объявлены переменные: x, y, sum, k, drob, temp
- Задаются начальные значения переменных: x = L, y = F(x), drob = abs(modf(y, &temp)), k = 0, sum = 0
- Выполняется цикл for, который начинается с x = L, x <= R, x += H. Значения x и y меняются на F(x) и x соответственно.
- Вычисляется значение drob. Если оно меньше 0.5, то к переменной k прибавляется 1, а к переменной sum прибавляется значение y.
- После выполнения цикла for выводится сообщение
Needed average: sum/k
- Получается, что программа находит среднее арифметическое значений функции, которые имеют дробную часть, меньшую 0.5.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д