Табулирование функции — это вычисление значений функции при изменении аргумента от некоторого начального значения до некоторого конечного значения с определённым шагом.
Задача табулирования функции предполагает вычисление значений функции y = f(x) для значений аргумента х, изменяющегося от начального x0 до конечного xn с постоянным шагом hx
Здесь многократно повторяемые действия (тело цикла) - это вычисление значения функции f(x) для очередного значения аргумента и вывод полученного результата на печать. Переменной цикла является x. Цикл выполняется для значений x, равных x0 , x0 + hx , x0 + 2hx , . . . , xn.
Алгоритмы табулирования функции предусловием и постусловием дают одинаковый результат.
Тело цикла с предусловием в определенной ситуации может не выполниться ни разу, а тело цикла с постусловием обязательно выполняется хотя бы один раз.
Блок-схема Алгоритма
Программная реализация Алгоритма
program upagge;
var
y, x0, xk, hx: real;
begin
write('Vvedite x0: ');
readln(x0);
write('Vvedite xn: ');
readln(xn);
write('Vvedite hx: ');
readln(hx);
while (x0 <= xn) do
begin
y := {сюда записываете свое уравнение}
write('f(', x0, '): ', y);
x0 := x0 + hx;
end;
end.
Строки 6, 8 и 10 отвечают за ввод интервала и шага:
- x0 - Начальное значение аргумента х;
- xn - Конечное значение аргумента;
- hx - Шаг изменения аргумента.
После этого проверяется условие цикла while (строка 11) и если x0 меньше, чем xn, то выполняется цикл.
Сначала высчитывается значение переменной y с текущим значением аргумента x0, потом выводится строка со значением x0 и соответствующем ему значением y, далее к x0 прибавляется значение шага hx (строка 17) и снова проверяется условие while.
Программа выходит из цикла тогда, когда переменная x0 становится больше xn.
Подведем итог
Табулирование функции - это один из самых элементарных алгоритмов на Паскале, в следующих статьях мы будем рассматривать более сложные методы.
Как обычно скидываю документ с заданиями, на которых вы сможете попробовать сами протабулировать функцию!
И советую набирать код вручную, а не копипастить ;)