Табулирование функции - C (СИ) (71869)

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

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

Написать функцию, которая табулирует любую указанную функцию вида float (float) в интервале x1, x2, на N точек.

Решение задачи: «Табулирование функции»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#define EPS 1e-9
#define M_PI 3.1415926
 
typedef float (*function) (float);
 
void tabulator(function f, float x1, float x2, int n) {
    float step = (x2 - x1) / n,x,y;
    for (x = x1; x <= x2 + EPS; x += step) {
        y=f(x);
        printf("\n%.2f\t%.2f", x, y);
    }
}
 
float f1(float x) { return sin(x); }
float f2(float x) { return cos(x); }
 
int main() {
    printf("\nTable 1");
    tabulator(f1, 0, M_PI, 10);
    printf("\nTable 2");
    tabulator(f2, 0, M_PI, 10);
    fflush(stdin); getchar(); return 0;
}

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

  1. Подключение необходимых библиотек для работы с числами с плавающей точкой и определения значения числа Пи.
  2. Объявление типа данных для функции, которая будет вычислять значения функции на заданном интервале.
  3. Создание функции tabulator, которая принимает на вход функцию, границы интервала и количество точек на интервале и выводит значения функции на этом интервале.
  4. Вычисление шага интервала с помощью формулы step = (x2 - x1) / n.
  5. Создание переменной x для хранения текущего значения точки на интервале.
  6. Создание переменной y для хранения значения функции на текущей точке.
  7. Создание цикла for, который будет выполняться от x1 до x2 + EPS с шагом step.
  8. Внутри цикла вычисление значения функции y = f(x) и вывод значений x и y на экран с помощью функции printf.
  9. Объявление двух функций f1 и f2, которые вычисляют значения синуса и косинуса соответственно.
  10. В функции main вызов функции tabulator с заданными аргументами для функции f1 и f2.
  11. Вывод таблицы значений функции f1 с помощью tabulator(f1, 0, M_PI, 10).
  12. Вывод таблицы значений функции f2 с помощью tabulator(f2, 0, M_PI, 10).
  13. Добавление задержки перед выводом таблицы значений функции f2 с помощью fflush(stdin) и getchar().
  14. Возврат значения 0 для завершения работы программы.

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


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

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

9   голосов , оценка 4.222 из 5