Составить алгоритм табулирования функции

Табулирование функции – классическая задача математики и программирования. Заключается она в последовательном нахождении величины f(x) при изменяющихся значениях x. Результаты вычислений чаще всего выводят в виде таблицы из двух строк. Первая соответствует x, вторая – f(x).

Теория

Алгоритм определения значений функции состоит из шести шагов.

  1. Выбор начального и конечного значения аргумента, количества точек.
  2. Вычисление шага – величины, на которую будет изменяться аргумент.
  3. Аргумент принимается равным начальному значению.
  4. Расчёт функции.
  5. Увеличение аргумента на значение шага.
  6. Повторение действий 4–5 до тех пор, пока не будет подсчитано требуемое количество точек.

Величины, установленные на первом шаге, не всегда выбираются, они могут быть указаны заданием. На практике встречается ситуация, когда задаётся диапазон значений и шаг вычислений. Табулирование функции в этом случае не требует нахождения количества точек, так как условием прекращения расчёта (пункт 6 алгоритма) будет равенство аргумента заданному конечному значению.

Практический пример

Понять, как пользоваться теорией, поможет пример. Пусть дана квадратичная функция g(x) = x 2 + 9. Составим таблицу её значений в диапазоне [–2; 2], приняв количество точек равным пяти. Из исходных данных несложно прикинуть, что шаг вычислений должен быть равен 1.

В соответствии с алгоритмом, следующим действием будет вычисление g(–2), «–2» – это начальное значение функции. Последовательно увеличивая x на единицу (в программировании эта операция называется инкрементированием) и определяя функцию g, выполняется табулирование функции.

Табулирование функции – это вычисление ее значений по изменяющимся значениям аргумента функции.

Табулируют функцию, например, для построения ее графика, для поиска ее максимальных значений. Табулирование функции y = f(x) ведется на некотором интервале значений аргумента x € [хн; хк], с изменением значений аргумента на одинаковую величину ∆х, которую называют шагом изменения х.

Читайте также:  Титан квест рагнарок карта

Пример. Разработать алгоритм табулирования функции y, приведенной на стр. 44, на интервале значений х € [хн; хк], с шагом ∆х изменения аргумента. Блок-схема алгоритма решения этой задачи приведена на рис. 10.

Рис. 11. Блок-схема алгоритма табулирования функции

“Блок 1” обеспечивает печать заголовка таблицы, а блок 9 – строк таблицы, чтобы получить таблицу следующего вида:

x y
хн yн
х + ∆х yн+1
x + 2∆х yн+2
хк – ∆х yк-1
xк yк

“Блок 2”, “Блок 3” и “Блок 10” обеспечивают цикличность вычисления y в соответствии с изменением значения аргумента х от начального значения хн до конечного значения хк с шагом ∆х.

Алгоритм поиска экстремальных значений (max, min)

Перед началом подсчета необходимо предусмотреть переменные (например, max и min), куда будут помещаться значения функции, подходящие в качестве соответственно максимального и минимального значения. Начальными значениями этим переменным могут быть присвоены такие, которые с высокой вероятностью не соответствуют истинным, например:

max = -1Е+38 min =1Е+38

Суть алгоритма поиска экстремальных значений в том, что в процессе табулирования, после вычисления очередного значения функции его сравнивают со значением max и min. Если это значение больше max, то оно принимается в качестве max, а если рассматриваемое значение меньше min, то его принимают в качестве min. В итоге, после вычисления последнего значения функции в переменных max и min окажутся соответственно самое большое и самое маленькое из всех вычисленных значений функции.

На рис. 12 приведен пример алгоритма нахождения максимальных и минимальных значений функции при ее табулировании в соответствии с алгоритмом, представленным на рис. 11.

В заключение отметим некоторые правила построения блок-схем алгоритмов:

Читайте также:  Сокет 939 и am2 совместимость

– должно рационально использоваться имеющееся на листе место;

– размещение блоков схемы должно, по возможности, отражать последовательность выполнения операций, полагая их следование сверху вниз;

– исходящая линия “Да” должна быть направлена вниз;

– исходящая линия “Нет”, как правило, должна идти вправо;

– входящие в блоки линии входа должны быть направлены сверху;

– исходящие линии тока должны быть направлены вниз.

Рис. 12. Нахождение минимума и максимума

| следующая лекция ==>
Алгоритмы накопления суммы и произведения | Язык программирования Microsoft Qbasic

Дата добавления: 2014-01-06 ; Просмотров: 3776 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Итак, основное назначение циклов — обработка большого объема данных. Математически эта обработка зачастую сводится к поиску, выбору и статистической обработке нужных величин. Практически в любой реальной задаче мы ищем максимальные и минимальные значения в наборе данных, суммируем или перемножаем требуемые данные, определяем арифметическое среднее или количество элементов, отвечающих условию. Для решения всех этих распространенных задач существуют типовые алгоритмы, задающие правила выполнения соответствующих расчетов. Изучением этих алгоритмов мы займемся в гл. 11 и 12.

Разумеется, настоящие задачи, встающие перед программистами, значительно сложнее, чем приведенные далее примеры, но из типовых алгоритмов, как из кирпичиков, строится здание любой сложной программы.

11.1. Алгоритм табулирования

Применяется для составления всевозможных таблиц, которыми могут быть как абстрактная таблица значений математической функции, так и конкретная таблица стоимости товара или платежей, совершенных абонентом сотового оператора.

В общем виде алгоритм можно описать так:

1. до цикла задается начальное значение управляющей переменной, условием выхода из цикла служит достижение управляющей переменной конечного значения;

2. в теле цикла на каждом шаге вычисляется очередное значение функции, зависящее от управляющей переменной, затем формируется строка таблицы;

Читайте также:  Сосед не дает разрешение на строительство

3. в конце шага цикла значение управляющей переменной (обозначим ее x) изменяется оператором вида x:=x+d;, где d — заданный шаг по управляющей переменной.

В качестве примера составим таблицу синусов в пределах от 0 до π с шагом по аргументу 0.25. Обозначим аргумент как x, значение синуса от x обозначим как y. В простейшем случае программа табулирования может выглядеть так:

Оцените статью
Добавить комментарий

Adblock detector