Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец промежутка табулирования, при этом (Х0< Хn); n – число шагов разбиения промежутка [Х0, Xn]; F(X) – описание табулируемой функции.
При составлении алгоритма предполагается, что X – текущее значение аргумента; h – шаг изменения аргумента (иногда его называют шагом табуляции функции); i – текущий номер точки, в которой вычисляются функция (i = 0 .. n).
Количество интервалов n, шаг табуляции h и величины Х0, Хn связаны между собой фор-мулой:

Интерпретация переменных (т. е. их обозначение в математической постановке задачи, смысл и тип, обозначения в блок-схеме и программе) приведена в таблице имен.

Пример 17. Табулировать функцию F(X) в N равноотстоящих точках, заданную на промежутке [Х0, Xn], где
PROGRAM PR17;
VAR
I, N: INTEGER;
X, Y: REAL;
H, X0, XN: REAL;
BEGIN
WRITELN('ВВЕДИТЕ X0, XN, N');
READLN(X0, XN, N);
H := (XN - X0)/N;
FOR I:=0 TO N
DO BEGIN
Y:= SIN(X+1)*EXP(2-X*X);
X := X0 + I * H;
WRITELN (X:4:1,",Y:9:6)
END
END.

Теперь запишем решение этой же задачи, но с использованием цикла While...DO.
PROGRAM PR17_while;
VAR
N: INTEGER;
X, Y: REAL;
H, X0, XN: REAL;
BEGIN
WRITELN('ВВЕДИТЕ X0, XN, N');
READLN(X0, XN, N);
H := (XN - X0)/N;
X:=X0;
WHILE X<=XN
DO BEGIN
Y:= SIN(X+1)*EXP(2-X*X);
X := X + H;
WRITELN (X:4:1,",Y:9:6)
END
END.

Предыдущая статья: Примеры использования различных операторов цикла.
Оглавление: Лекции по Pascal.
Следующая статья: Арифметический цикл с рекуррентной зависимостью.
Комментарии
Did you make this site yourself? Please reply back as I'm trying to create
my own site and would like to know where you got this from
or just what the theme is named. Thanks!
Have a look at my blog ... apuestasdeporti vasla.com: https://apuestasdeportivasla.com