Для формулы составить программу построения таблицы значений функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, ребят помогите
пожалуйста
составить программу, а точнее помогите составить код.. Если вам не сложно... Честно признаюсь для лабораторной работы, не могу справиться((.. Условие задачи: Задание повышенной сложности:
Найти минимальное среди значений функций имеющих дробную часть, меньшую 0.5 и количество таких значений.
- Для формулы (формула на картинке) составить программу построения таблицы значений функции при изменении аргумента от А до В с шагом H. - Значения A,B и H объявить как константы в директивах #define. - В каждой строке выводить значение аргумента и соотвествующие ему значение функции в форматном виде с 4 знаками после запятой.

Решение задачи: «Для формулы составить программу построения таблицы значений функции»

textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<float.h>
#define A -3
#define B 3
#define H 0.1
double f(double x)
{
    return 1.7*x - 6.3*x + 2.7;
}
void Print(double x, double b)
{
    if (x <= b)
    {
        printf("%12.4f %12.4f\n", x, f(x));
        Print(x + H, b);
    }
}
int Count(double x, double b)
{
    double w;
    return x <= b ? (modf(fabs(f(x)), &w) < 0.5) + Count(x + H, b) : 0;
}
double Min(double x, double b)
{
    double buf, w;
    return x <= b ? (((buf = Min(x + H, b)) > f(x)) && (modf(fabs(f(x)), &w) < 0.5) ? f(x) : buf) : DBL_MAX;
}
int main( )
{
    Print(A, B);
    printf("min = %.4f\n", Min(A, B));
    printf("count = %d\n", Count(A, B));
    return 0;
}

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

  1. Объединение всех файлов начинается с #include<stdio.h>, что позволяет использовать функции для ввода и вывода данных.
  2. #include<math.h> позволяет использовать математические функции, такие как fabs() и modf().
  3. #include<float.h> используется для доступа к константе DBL_MAX.
  4. double f(double x) - это функция, которая представляет формулу, которую нужно вычислить.
  5. void Print(double x, double b) - это функция, которая выводит значения функции f(x) и ее производные на интервале [a,b] с шагом h.
  6. int Count(double x, double b) - это функция, которая считает количество точек в интервале [a,b], где значение функции f(x) меньше или равно нулю.
  7. double Min(double x, double b) - это функция, которая находит минимум функции f(x) на интервале [a,b].
  8. int main() - это функция, которая запускает программу.
  9. Print(A, B); выводит значения функции f(x) и ее производные на интервале [A,B].
  10. printf(min = %.4f\n, Min(A, B)); выводит минимум функции f(x) на интервале [A,B].
  11. printf(count = %d\n, Count(A, B)); выводит количество точек в интервале [A,B], где значение функции f(x) меньше или равно нулю.
  12. return 0; указывает, что программа успешно завершилась.
  13. В функции Print(double x, double b) используется цикл for, который продолжается, пока x меньше или равно b.
  14. В каждой итерации цикла for функция printf() используется для вывода значений x и f(x).
  15. Функция Count(double x, double b) использует цикл for и условный оператор if, чтобы считать количество точек в интервале [a,b], где значение функции f(x) меньше или равно нулю.
  16. Функция Min(double x, double b) использует цикл for и условный оператор if, чтобы найти минимум функции f(x) на интервале [a,b].
  17. В функции Min(double x, double b) используется функция modf(), чтобы получить мнимую часть числа.
  18. В функции main() используется функция Print(A, B), чтобы вывести значения функции f(x) и ее производные на интервале [A,B].
  19. Затем используется функция Min(A, B), чтобы найти минимум функции f(x) на интервале [A,B].
  20. Наконец, используется функция Count(A, B), чтобы вычислить количество точек в интервале [A,B], где значение функции f(x) меньше или равно нулю.

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


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

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

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