Ошибки (в программе на картинке):
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-> real := x -> (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 (Abs(y) < eps) and (Abs(b - a) < 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.
1)
var
ar: array of integer;
n, min, max: integer;
begin
write('Введите размер массива:');
read(n);
setlength(ar, n);
if (n > 0) then
begin
ar[0] := random(-10, 10);
min := ar[0];
max := ar[0];
write(ar[0]:4);
end;
for var i := 1 to n - 1 do
begin
ar[i] := random(-10, 10);
if (ar[i] < min) then min := ar[i]
else if (ar[i] > max) then max := ar[i];
write(ar[i]:4);
end;
writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',
sqrt(abs(max) * abs(min)):5:5);
end.
2)
function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;
var
index: integer;
begin
index := 0;
for var i := 1 to size - 1 do
if (findMin) and (ar[i] < ar[index]) then index := i
else if (not findMin) and (ar[i] > ar[index]) then index := i;
result := index;
end;
3)
function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;
var
index: integer;
begin
index := 0;
for var i := 1 to size - 1 do
if (findMin) and (ar[i] < ar[index]) then index := i
else if (not findMin) and (ar[i] > ar[index]) then index := i;
result := index;
end;
var
ar: array of integer;
n: integer;
begin
write('Введите размер массива:');
read(n);
setlength(ar, n);
if (n > 0) then
begin
ar[0] := random(-10, 10);
write(ar[0]:4);
end;
for var i := 1 to n - 1 do
begin
ar[i] := random(-10, 10);
write(ar[i]:4);
end;
writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',
sqrt(abs(ar[minOrMax(ar, n, true)]) * abs(ar[minOrMax(ar, n, false)])):5:5);
end.
2) 16/2=8 (2)
3)8-1=7 (1)
4)7-1=6 (1)
5)6-1=5 (1)
ответ: 12111