Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Программа для решения
- задания № 15 ЛАБА 7
- */
- #include <math.h> //для pow и cos
- #include <stdio.h> // для printf
- float summ(float x, int n)
- {
- float S=0.0;
- int i;
- for (i=1; i<=n; i++)
- {
- S=S+((x+cos(i*x))/(float)pow(2,i));
- }
- return S;
- }
- double func_table(double a, double b, double c, double dx, double x_n, double x_k)
- {
- double f;
- double x;
- if ((x_n<0) && (b!=0))
- {
- printf("(1) ТАБЛИЦА ЗНАЧЕНИЙ ДЛЯ ФУНКЦИИ f= -a*x*x*x-b\n");
- for (double x = x_n; x <= x_k; x += dx)
- {
- f= -a*x*x*x - b;
- printf("F(%f)= %f\n",x,f);
- }
- } else
- {
- if ((x_n>0) && (b==0))
- {
- printf("(2) ТАБЛИЦА ЗНАЧЕНИЙ ДЛЯ ФУНКЦИИ f= ((x-a)/(x-c))\n");
- for (double x = x_n; x <= x_k; x += dx)
- {
- if ((x-c)==0)
- {
- continue;
- }
- f= ((x-a)/(x-c));
- printf("F(%f)= %f\n",x,f);
- }
- }
- else
- {
- if ((c==0) || (x=0))
- {
- printf("\033[1;31m[Ошибка]\033[0m Знаменатель равен 0\n");
- }
- else
- {
- printf("(3) ТАБЛИЦА ЗНАЧЕНИЙ ДЛЯ ФУНКЦИИ f= f= ((x/c) + (c/x))\n");
- for (double x = x_n; x <= x_k; x += dx)
- {
- if ((c==0) || (x==0))
- {
- continue;
- }
- f= ((x/c) + (c/x));
- printf("F(%f)= %f\n",x,f);
- }
- }
- }
- }
- }
- int main()
- {
- int w;
- float x;
- int n;
- double a, b, c, x_n, x_k, dx;
- printf("~~~~[Программа для вычислений]~~~~\n");
- do
- {
- printf("\n\033[1;33mЧто Вы хотите сделать?\033[0m [(1) таблица функции/(2) сумма ряда] >");
- scanf("%d",&w);
- if((w!=1)&&(w!=2))
- {
- printf("\n\033[1;31m[Ошибка]\033[0m Такого номера нет. \033[1;31mВведите 1 либо 2\033[0m\n");
- }
- } while((w!=1)&&(w!=2));
- if (w == 2)
- {
- printf("~~~~[#1 Программа для вычисления суммы ряда]~~~~\n\n");
- do
- {
- printf("Введите число членов последовательности (N): ");
- scanf("%d",&n);
- if (n<=0)
- {
- printf("\033[1;31m[Ошибка]\033[0m Введите число N большее нуля->\n");
- }
- } while (n<=0);
- printf("Введите число (X): ");
- scanf("%f",&x);
- printf("\n\033[1;33m[Ответ]\033[0m Сумма ряда равна = %f\n", summ(x,n));
- }
- else if(w == 1)
- {
- printf("~~~~[#2 Программа для вычисления и вывода таблицы функции]~~~~\n\n");
- printf("Пожалуйста, введите значение числа A: ");
- scanf("%lf",&a);
- printf("Пожалуйста, введите значение числа B: ");
- scanf("%lf",&b);
- printf("Пожалуйста, введите значение числа C: ");
- scanf("%lf",&c);
- do{
- printf("Пожалуйста, введите значение Xнач: ");
- scanf("%lf",&x_n);
- printf("Пожалуйста, введите значение Xкон: ");
- scanf("%lf",&x_k);
- if(x_n >= x_k){
- printf("\033[1;31m[Ошибка]\033[0m Введите Xнач меньше Xкон ->\n");
- }
- } while(x_n >= x_k);
- do{
- printf("Введите шаг dX: ");
- scanf("%lf",&dx);
- if(dx == 0){
- printf("\033[1;31m[Ошибка]\033[0m Введите шаг dX больше нуля ->\n");
- } else if(dx>(x_k - x_n)){
- printf("\033[1;31m[Ошибка]\033[0m Введите шаг dX не превышающий размер интервала Xнач...Xкон ->\n");
- }
- } while((x_n >= x_k)||(dx>(x_k - x_n)));
- func_table(a,b,c,dx,x_n,x_k);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement