Как протабулировать функцию без оператора цикла - Pascal ABC
Формулировка задачи:
Как это сделать без использования оператора цикла
Решение задачи: «Как протабулировать функцию без оператора цикла»
textual
Листинг программы
program WOCycle;
const
a = 3.5;
b = 4.0;
h = 0.08;
procedure Cycle(x: real);
var
f: real;
begin
if x > b then
exit;
f := (a * x - exp(ln(b) / 3)) / (sqr(sin(x) / cos(x)));
writeln(' x= ', x: 5: 3, '; f( ', x: 5: 3, ')= ', f: 7: 3, ';');
Cycle(x + h);
end;
begin
Cycle(a);
end.
Объяснение кода листинга программы
- В программе объявлены три переменные: a, b и h.
- Константа
WOCycleне имеет значения. - В процедуре Cycle объявлена одна переменная f типа real.
- В условии if проверяется, что значение переменной x больше значения переменной b. Если это условие истинно, то процедура завершается с помощью оператора exit.
- Если условие не выполняется, то вычисляется значение переменной f по формуле (a * x - exp(ln(b) / 3)) / (sqr(sin(x) / cos(x))).
- Значение переменной f выводится на экран с помощью функции writeln.
- Далее вызывается процедура Cycle с аргументом x + h.
- Программа заканчивается вызовом процедуры Cycle с начальным значением переменной x равным 3.5.