Составить программу нахождения функции y для различных значений аргумента x - C (СИ)
Формулировка задачи:
Составить программу нахождения функции y для различных значений аргумента x. аргументы вводить с клавиатуры. Вывести на печать значения аргумента, функции и промежуточных переменных.
Предусмотреть в программе обход алгебраических операций, которые могут при определенных значениях аргумента x и других переменных иметь неопределенный результат
Решение задачи: «Составить программу нахождения функции y для различных значений аргумента x»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <locale.h> int main() { double K = 0.01; double L = 3.0; double x, y; setlocale(LC_ALL, ""); setlocale(LC_NUMERIC, "C"); printf("x = "); scanf("%lf", &x); double base = 7.002*sqrt(K) - 1 + 0.1*(exp(x)+exp(-x)); if (base < 0) { puts("Извелечние корня из отрицательного числа"); return 1; } double a = pow(base, 1./5); double b = log10(L*cos((M_PI*x)/5) + cos((3*x)/5)*L); printf("a=%lf, b=%lf\n", a, b); if ( (a*a + b*b) > 0.1 ) y = atan(5*a*a + 7*b*b); else y = asin(5*a*a + 7*b*b); printf("y = %lf\n", y); system("pause"); return 0; }
Объяснение кода листинга программы
- Установка начальных значений переменных:
- K = 0.01;
- L = 3.0;
- x, y;
- Установка локали для чисел:
- setlocale(LC_ALL, ``);
- setlocale(LC_NUMERIC,
C
);
- Ввод значения переменной x с клавиатуры:
- printf(
x =
); - scanf(
%lf
, &x);
- printf(
- Вычисление значения переменной base:
- base = 7.002sqrt(K) - 1 + 0.1(exp(x)+exp(-x));
- Проверка на некорректное значение base:
- if (base < 0) {
- puts(
Извелечние корня из отрицательного числа
); - return 1; }
- puts(
- if (base < 0) {
- Вычисление значения переменной a:
- a = pow(base, 1./5);
- Вычисление значения переменной b:
- b = log10(Lcos((M_PIx)/5) + cos((3x)/5)L);
- Вывод значений переменных a и b:
- printf(
a=%lf, b=%lf\n
, a, b);
- printf(
- Проверка значения a и b:
- if ( (aa + bb) > 0.1 )
- y = atan(5aa + 7bb);
- else
- y = asin(5aa + 7bb);
- if ( (aa + bb) > 0.1 )
- Вывод значения переменной y:
- printf(
y = %lf\n
, y);
- printf(
- Ожидание нажатия клавиши:
- system(
pause
);
- system(
- Завершение программы:
- return 0;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д