Табулирование функции: как написать программу?
Табулирование функции – классическая задача математики и программирования. Заключается она в последовательном нахождении величины f(x) при изменяющихся значениях x. Результаты вычислений чаще всего выводят в виде таблицы из двух строк. Первая соответствует x, вторая – f(x).
Теория
Алгоритм определения значений функции состоит из шести шагов.
- Выбор начального и конечного значения аргумента, количества точек.
- Вычисление шага – величины, на которую будет изменяться аргумент.
- Аргумент принимается равным начальному значению.
- Расчёт функции.
- Увеличение аргумента на значение шага.
- Повторение действий 4–5 до тех пор, пока не будет подсчитано требуемое количество точек.
Величины, установленные на первом шаге, не всегда выбираются, они могут быть указаны заданием. На практике встречается ситуация, когда задаётся диапазон значений и шаг вычислений. Табулирование функции в этом случае не требует нахождения количества точек, так как условием прекращения расчёта (пункт 6 алгоритма) будет равенство аргумента заданному конечному значению.
Практический пример
Понять, как пользоваться теорией, поможет пример. Пусть дана квадратичная функция g(x) = x2 + 9. Составим таблицу её значений в диапазоне [–2; 2], приняв количество точек равным пяти. Из исходных данных несложно прикинуть, что шаг вычислений должен быть равен 1.
В соответствии с алгоритмом, следующим действием будет вычисление g(–2), «–2» – это начальное значение функции. Последовательно увеличивая x на единицу (в программировании эта операция называется инкрементированием) и определяя функцию g, выполняется табулирование функции.
x | –2 | –1 | 0 | 1 | 2 |
g(x) | 13 | 10 | 9 | 10 | 13 |
Проверить правильность вычислений легко – должен получиться график параболы.
Программная реализация
Составление таблицы функции вручную – занятие долгое. Расчёты следует выполнять внимательно, ошибка в вычислении сделает остальные значения также неправильными. Решение – переложить задачу на компьютер.
Ниже представлена программа табулирования функции на так называемом «псевдокоде». Чтобы выполнить её, необходимо задать функцию, начальное и конечное значение аргументов, количество точек. В примере вычисляется f(x) = 18 * x + 5. Результат программы – последовательно выведенные значения x, f(x).
- Аргумент := Н.Значение.
- Шаг_вычислений := (Н. значение – К. значение) / Кол. точек.
- FOR (Счётчик := 0 до Кол. точек).
Начало:
- Функция := 18 * Аргумент + 5.
- Аргумент := Н. значение + Счётчик * Шаг.
- Вывод на экран (Аргумент, Функция).
Конец.
Код адаптируется под любые языки программирования. То есть табулирование функции может быть реализовано в "Паскале", C+, C# и даже на языке офисного программирования VBA, интегрированного в пакет MS Office.