Написать программу, которая вычисляет сумму значения функции в пяти различных точках - C (СИ)
Формулировка задачи:
подскажите алгоритм создания кода, а то я не совсем понимаю условия
написать программу, которая вычисляет сумму значения функции в пяти различных точках
Решение задачи: «Написать программу, которая вычисляет сумму значения функции в пяти различных точках»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <locale.h>
double f(double t,double a,double w)
{double znach;
if(t < 0)
znach=0;
else (t>=0);
znach=(exp(-1*a*t))*cos(w*t);
return znach;
}
int main()
{setlocale(LC_ALL,"Russian");
double a,b,c;
double z;
int input;
printf("Выберите пункт со значением a, b, c:\n");
printf("1. a=0, b=1, c=0\n");
printf("2. a=-0.2, b=-0.4, c=-0.6\n");
printf("3. a=0.3, b=0.4, c=0.26\n");
printf("4. a=-1, b=-1, c=-1\n");
printf("Ваш выбор:\n");
scanf("%d", &input);
switch (input)
{
case 1: {a=0, b=1, c=0; break;}
case 2:{a=-0.2, b=-0.4, c=-0.6; break;}
case 3:{a=0.3, b=0.4, c=0.26; break;}
case 4:{a=-1, b=-1, c=-1; break;}
default: printf("\nНеправильный ввод.\n");
}
z=f(a, b, c)+f(a-b, a-c, c)+f((a*a), (b*b), (c*c))+f(((a-8)*(a-8)), ((b+2)*(b+2)), (c-2))+f((a-2*c), (b+a), (c-a));
printf("z=%.2lf\n",z);
getchar();
return 0;
}
Объяснение кода листинга программы
- В функции
fопределена функция с тремя аргументамиt,aиw. - Если
tменьше нуля, тоznachустанавливается равным нулю. - В противном случае,
znachвычисляется как произведениеexp(-1*a*t)иcos(w*t). - В функции
mainопределены переменныеa,b,c,zиinput. - Пользователю предлагается выбрать один из четырех вариантов для
a,bиc. - Пользователь вводит число, которое затем используется в операторе
switchдля определения соответствующего значенияa,bиc. - Значение
zвычисляется как сумма пяти различных вызовов функцииfс различными аргументами. - Значение
zвыводится на экран.