Опишем алгоритм в словесной форме.
- Ввести исходные данные.
- Взять первое значение аргумента.
- Определить, какому из интервалов оно принадлежит.
- Вычислить значение функции по соответствующей формуле.
- Вывести строку таблицы.
- Перейти к следующему значению аргумента.
- Если оно не превышает конечное значение, повторить шаги 3–6, иначе закончить.
Шаги 3–6 повторяются многократно, поэтому для их выполнения надо организовать цикл. Назовем необходимые нам переменные так: начальное значение аргумента — Xn, конечное значение аргумента — Xk, шаг изменения аргумента — dX, параметр — t. Все величины вещественные. Программа выводит таблицу, состоящую из двух столбцов — значений аргумента и соответствующих им значений функции (пример 2.2).
program tabl_fun;
var
Xn, Xk : real; { начальное и конечное значение аргумента }
dX : real; { шаг изменения аргумента }
x, y : real; { текущие значения аргумента и функции }
t : real; { параметр }
begin
writeln('Введите Xn, Xk, dX, t'); { приглашение ко вводу данных }
readln(Xn, Xk, dX, t); { ввод исходных данных – шаг 1 }
writeln(' --------------------------- '); { заголовок таблицы }
writeln('| X | Y |');
writeln(' --------------------------- ');
x := Xn; { первое значение аргумента = Xn – шаг 2 }
while x <= Xk do begin { заголовок цикла – шаг 7 }
if x < 0 then y := t; { вычисление значения функции - шаг 4 }
if (x >= 0) and (x < 10) then y := t * x; { шаг 4 }
if x >= 10 then y := 2 * t; { шаг 4 }
writeln('|', x:9:2,' |', y:9:2,' |');{ вывод строки табл. – шаг 5 }
x := x + dX; { переход к следующему значению аргумента - шаг 6 }
end;
writeln(' --------------------------- ');
end.
Листинг 2.2. Таблица значений функции (оператор while)
program Project1;
{$APPTYPE CONSOLE}