Составить программу нахождения функции 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;
}

Объяснение кода листинга программы

  1. Установка начальных значений переменных:
    • K = 0.01;
    • L = 3.0;
    • x, y;
  2. Установка локали для чисел:
    • setlocale(LC_ALL, ``);
    • setlocale(LC_NUMERIC, C);
  3. Ввод значения переменной x с клавиатуры:
    • printf(x =);
    • scanf(%lf, &x);
  4. Вычисление значения переменной base:
    • base = 7.002sqrt(K) - 1 + 0.1(exp(x)+exp(-x));
  5. Проверка на некорректное значение base:
    • if (base < 0) {
      • puts(Извелечние корня из отрицательного числа);
      • return 1; }
  6. Вычисление значения переменной a:
    • a = pow(base, 1./5);
  7. Вычисление значения переменной b:
    • b = log10(Lcos((M_PIx)/5) + cos((3x)/5)L);
  8. Вывод значений переменных a и b:
    • printf(a=%lf, b=%lf\n, a, b);
  9. Проверка значения a и b:
    • if ( (aa + bb) > 0.1 )
      • y = atan(5aa + 7bb);
    • else
      • y = asin(5aa + 7bb);
  10. Вывод значения переменной y:
    • printf(y = %lf\n, y);
  11. Ожидание нажатия клавиши:
    • system(pause);
  12. Завершение программы:
    • return 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы