Const n=10; var k,l,m,i,j: integer; var a: array[1..n] of integer; begin k:=0; m:=0; j:=0; l:=0; for i:=1 to n do begin a[i]:=random(10); write (a[i]:3); if (i>1) and (a[i]>=a[i-1]) then begin k:=k+1; j:=i; end else if (k>0) and (k>l) then begin l:=k; m:=j; k:=0 end else k:=0; end; if (k>0) and (k>l) then begin l:=k; m:=n end; writeln; writeln; for i:=m-l to m do write (a[i]:3); l:=l+1; writeln; writeln ('Длина = ',l) end. результат: 9 2 5 0 8 5 7 7 3 7
5 7 7 Длина = 3
* рандомный ввод массива можно заменить обычным с клавиатуры
Проще всего для решения использовать круги Эйлера (см. фото)
Запрос А) (Париж & Москва) | Прага занимает сектора B,E,D,F,G Запрос Б) Париж | Москва | Прага занимает все сектора A,B,C,D,E,F,G Запрос В) (Париж | Москва) & Прага занимает сектора D,E,F Запрос Г) Париж & Москва & Прага занимает только сектор E
Отсюда видно, что запрос Г) самый маленький. Его превосходит запрос В). Его в свою очередь превосходит запрос А). И самый большой - запрос Б) Осталось расположить их в порядке убывания
var
k,l,m,i,j: integer;
var a: array[1..n] of integer;
begin
k:=0; m:=0; j:=0; l:=0;
for i:=1 to n do begin
a[i]:=random(10);
write (a[i]:3);
if (i>1) and (a[i]>=a[i-1])
then begin k:=k+1; j:=i; end
else
if (k>0) and (k>l)
then begin l:=k; m:=j; k:=0 end
else k:=0;
end;
if (k>0) and (k>l)
then begin l:=k; m:=n end;
writeln;
writeln;
for i:=m-l to m do
write (a[i]:3);
l:=l+1;
writeln;
writeln ('Длина = ',l)
end.
результат:
9 2 5 0 8 5 7 7 3 7
5 7 7
Длина = 3
* рандомный ввод массива можно заменить обычным с клавиатуры
Запрос А) (Париж & Москва) | Прага занимает сектора B,E,D,F,G
Запрос Б) Париж | Москва | Прага занимает все сектора A,B,C,D,E,F,G
Запрос В) (Париж | Москва) & Прага занимает сектора D,E,F
Запрос Г) Париж & Москва & Прага занимает только сектор E
Отсюда видно, что запрос Г) самый маленький. Его превосходит запрос В). Его в свою очередь превосходит запрос А). И самый большой - запрос Б)
Осталось расположить их в порядке убывания
ответ: Б А В Г