Помогите с паскалем,поправить.Сил больше нет begin var f:real-amp;gt;real:=x-amp;gt;
Помогите с паскалем,поправить.Сил больше нет
begin
var f:real-gt;real:=x-gt; 0.1*(sin(x)/cos(x))(0.1*x+0,0025*x*x); ;
var (a,b):=ReadReal2('Введите границы интервала:');
var (fa,fb):=(f(a),f(b));
var eps:=ReadReal('Введите требуемую точность:');
var n:=1;
Writeln(' n',12*' ','x',14*' ','y');
while True do begin
var x:=(a+b)/2;
var y:=f(x);
if (Абс(y) Writeln(n:3,x:15:6,y:15:6);
if Sign(fa)=Sign(y) then a:=x else b:=x;
n+=1
end
end.
Оплошности (в программке на картинке):
1) (sin(x)/cos(x))(0.1*x+0,0025*x*x) - меж скобками отсутствует знак операции
2) (0.1*x+0,0025*x*x) - заместо 0,0025 необходимо писать 0.0025
3) (0.1 * (sin(x) / cos(x)) * (0.1 * x + (0.0025 * x * x)); - в конце лямбда-выражения перед ; не хватает )
Исправленная программка:
begin
var f: real-gt; real := x -gt; (0.1 * (sin(x) / cos(x)) * (0.1 * x + (0.0025 * x * x)));
var (a, b) := ReadReal2('Введите границы промежутка:');
var (fa, fb) := (f(a), f(b));
var eps := ReadReal('Введите требуемую точность:');
var n := 1;
Writeln(' n', 12 * ' ', 'x', 14 * ' ', 'y');
while True do
begin
var x := (a + b) / 2;
var y := f(x);
if (Абс(y) lt; eps) and (Абс(b - a) lt; eps) then break;
Writeln(n:3, x:15:6, y:15:6);
if Sign(fa) = Sign(y) then a := x else b := x;
n += 1
end
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.