Объяснение:
Двоичный поиск эффективно определяет положение искомого элемента (или его отсутствие) в упорядоченном наборе.
Это один из базовых и важных алгоритмов.
Если склады от №1 до №15 заполнены, то:
- когда плотник открывает склад №16, он оказывается пуст (1-ая открытая дверь);
- тогда плотник решает искать между №1 и №15, открывает склад №8, он оказывается заполнен (2-ая открытая дверь);
- теперь он ищет между №9 и №15, открывает склад №12 — он заполнен (3-ья открытая дверь);
- далее он ищет между №13 и №15, открывает склад №14 - он заполнен (4-ая открытая дверь);
- наконец он открывает последний склад № 15 (5-ая дверь).
Правильный ответ: 5
1.
program z1;
const n=5;
var a:array [1..n,1..n] of integer;
i,j,s:integer;
begin
writeln ('Квадратная матрица:');
for i:= 1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(10);
write(a[i,j]:3);
if i=j then s:=s+a[i,j]
end;
writeln;
end;
writeln('Среднее арифметическое элементов расположенных на главной диагонали: ',s/n)
end.
2.
program z2;
const n=5;
var a:array [1..n,1..n] of integer;
i,j,s,sp:integer;
begin
writeln ('Квадратная матрица:');
for i:= 1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(21)-10;
write(a[i,j]:5);
if i=j then s:=s+a[i,j]
end;
writeln;
end;
for i:= 1 to n do
for j:=1 to n do
if (a[i,j]>0) and (a[i,j]>s/n)then sp:=sp+a[i,j];
writeln('Сумма положительных элементов, превышаюших по величине среднее арифметическое всех элементов расположенных на главной диагонали: ',sp)
end.
3.
program z3;
const n=5;
var a:array [1..n,1..n] of integer;
i,j,m,k:integer;
begin
writeln ('Двумерный массив:');
for i:= 1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(21)-10;
write(a[i,j]:5)
end;
writeln;
end;
m:=a[1,1];
for i:= 1 to n do
for j:=1 to n do
if a[i,j]<m then m:=a[i,j];
writeln ('Минимальный элемент ',m);
k:=0;
for i:= 1 to n do
for j:=1 to n do
if a[i,j]=m then
begin
writeln('Индексы [',i,',',j,']');
k:=k+1;
end;
writeln ('Количество минимальных элементов ',k)
end.