
Язык Си. Лабораторные работы / Lab12
.docЛабораторная работа №12
Работа с указателями на функцию
Постановка задачи
В настоящей лабораторной работе указатели на функцию используются для повышения универсальности функции пользователя. С этой целью у разрабатываемой функции вводится дополнительный параметр, через который передается указатель на функцию. Для получения дополнительной практики по работе с модулями решение задачи должно быть оформлено в виде двух модулей. В основном модуле должна находиться функция main(), а во вторичном (дополнительном) – разрабатываемая функция пользователя, решающая задачу и несколько функций (2 - 3), которые подлежат табулированию.
Варианты заданий
Задание 1
Написать функцию пользователя, позволяющую выполнять решение задачи табулирования для произвольной функции одного переменного. Табулируемая функция передается через параметр табулирующей функции. Результаты табулирования выводятся на экран монитора.
Задание 2
Написать функцию пользователя, позволяющую выполнять решение задачи табулирования для произвольной функции одного переменного. Табулируемая функция передается через параметр табулирующей функции. Результаты табулирования передаются в точку вызова через параметр табулирующей функции.
Задание 3
Написать функцию пользователя, позволяющую находить максимальное значение произвольной функции одного переменного. Метод решения – табулирование исследуемой функции.
Задание 4
Написать функцию пользователя, позволяющую находить максимум произвольной функции одного переменного. Необходимо найти не только максимальное значение функции, но и соответствующее ему значение аргумента. Метод решения – табулирование исследуемой функции.
Задание5
Написать функцию пользователя, позволяющую находить минимальное значение произвольной функции одного переменного. Метод решения – табулирование исследуемой функции.
Задание 6
Написать функцию пользователя, позволяющую находить минимум произвольной функции одного переменного. Необходимо найти не только минимальное значение функции, но и соответствующее ему значение аргумента. Метод решения – табулирование исследуемой функции.
Задание 7
Написать функцию пользователя, позволяющую находить среднее значение произвольной функции одного переменного. Метод решения – табулирование исследуемой функции. Среднее значение находится путем вычисления суммы отдельных отсчетов табулируемой функции с последующим ее деление на количество отсчетов функции.
Задание 7
Написать функцию пользователя, позволяющую находить разность между максимальным и минимальным значением произвольной функции одного переменного. Метод решения – табулирование исследуемой функции.
Задание 8
Написать функцию пользователя, позволяющую находить значение определенного интеграла произвольной функции методом правых прямоугольников.
Задание 9
Написать функцию пользователя, позволяющую находить значение определенного интеграла произвольной функции методом левых прямоугольников.
Задание 10
Написать функцию пользователя, позволяющую находить значение определенного интеграла произвольной функции методом средних прямоугольников.
Задание 11
Написать функцию пользователя, позволяющую найти сумму отсчетов произвольной функции одного переменного, аргумент которой задан массивом из n элементов вещественного типа.
Задание 12
Написать функцию пользователя, позволяющую найти среднее значение произвольной функции одного переменного, аргумент которой задан массивом из «n» элементов вещественного типа.
Задание 13
Написать функцию пользователя, позволяющую найти максимальное значение произвольной функции одного переменного, аргумент которой задан массивом из «n» элементов вещественного типа.
Задание 14
Написать функцию пользователя, позволяющую найти минимальное значение произвольной функции одного переменного, аргумент которой задан массивом из «n» элементов вещественного типа.
Задание 15
Написать функцию пользователя, позволяющую найти максимум произвольной функции одного переменного, аргумент которой задан массивом из «n» элементов вещественного типа. Кроме максимального значения анализируемой функции необходимо возвращать и значение аргумента, которое ему соответствует.
Задание 16
Написать функцию пользователя, позволяющую найти минимум произвольной функции одного переменного, аргумент которой задан массивом из «n» элементов вещественного типа. Кроме минимального значения анализируемой функции необходимо возвращать и значение аргумента, которое ему соответствует.
Методические указания
Рассмотрим вопрос о численном вычислении определенного интеграла методами прямоугольников. Существуют три разновидности методов прямоугольников:
-
левых прямоугольников,
-
правых прямоугольников,
-
центральных прямоугольников.
Пусть необходимо вычислить интеграл следующего вида
В упрощенном варианте для вычисления интеграла методом прямоугольников выполняется вычисление подъинтегральной функции в «n» равноотстоящих точках с шагом delta_x = (b - a) / n. Вычисление искомого интеграла заменяется вычислением суммы площадей «n» прямоугольников. Основание каждого прямоугольника равно delta_x. Высотой прямоугольника служит очередной отсчет функции f(x). Заметим, что предполагается условно, что высота может быть отрицательной. Различие между методами состоит в том, как выбирается высота первого прямоугольника. В методе левых прямоугольников она выбирается равной f(a), в методе центральных прямоугольников – f(а + delta_x / 2), в методе правых прямоугольников – f(a + delta_x).