Вычисления значений функции Y для значения переменной x - Pascal ABC
Формулировка задачи:
Задание: Составить программу для вычисления значений
функции Y для значений переменной х, изменяющейся в интервале от a до b
с заданным шагом h. A = -2, B = 2, H = 0.1
Не могу понять, из-за чего эта ошибка, почему в первом цикле работает, а во втором ошибка(именно в этой строке)
Решение задачи: «Вычисления значений функции Y для значения переменной x»
textual
Листинг программы
function f(x:real):real;
begin
f:=x*x*cos(x)/ln(x*x-1)
end;
const a=-2;
b=2;
h=0.1;
var x:real;
begin
writeln('Программа для вычисления значений функции Y для значения переменной x -->');
writeln;
writeln('Дана функция: Y = x^2*Cos(x)/Ln(x^2-1)');
writeln;
writeln('-----------------');
writeln('| x | y |');
writeln('-----------------');
x:=a;
while x<=b do
begin
if x*x<=1 then writeln('|',x:5:1,'| не опр. |')
else writeln('|',x:5:1,'|',f(x):9:3,'|');
x:=x+h;
end;
writeln('-----------------');
end.
Объяснение кода листинга программы
- Создаётся функция f, которая принимает аргумент x типа real и возвращает значение типа real.
- В функции f используется формула Y = x^2 * Cos(x) / Ln(x^2 - 1).
- Задаются три константы: a = -2, b = 2 и h = 0.1.
- Создается переменная x типа real.
- Выводится сообщение «Программа для вычисления значений функции Y для значения переменной x -->».
- Выводится сообщение «Дана функция: Y = x^2*Cos(x)/Ln(x^2-1)».
- Выводится сообщение «-----------------».
- Выводится таблица с значениями x и y для каждого значения переменной x от a до b с шагом h.
- Если x*x <= 1, то выводится сообщение «|», затем значение x и «| не опр. |».
- Если x*x > 1, то выводится сообщение «|», затем значение x, значение f(x) и «|».
- Переменная x увеличивается на h.
- Выводится сообщение «-----------------».
- Программа заканчивается.