Впишите в пустые ячейки таблицы, следующие характеристики внешней (жесткого диска) и внутренней памяти компьютера: быстрый доступ, энергозависимая, медленный доступ, средний объем от 4 до 64 Мбайт, энергозависимая, средний объем от 1 до 12 Гбайт.
Если часть программы, в которой выполняется поиск, оформить в виде процедуры, то получится вот так: const n=20; type arr=array[1..n] of integer; var a:arr; i,x:integer;
procedure f(a:arr; x:integer); var i,i1,i2:integer; begin i1:=1; i2:=n; repeat i:=(i1+i2) div 2; if a[i]<x then i1:=(i1+i2) div 2+1; if a[i]>x then i2:=(i1+i2) div 2-1; until (a[i]=x)or(i1>i2); if a[i]=x then begin writeln('Искомый(ые) номер(а) элемента(ов):'); while (i>0)and(a[i]=x) do i:=i-1; i:=i+1; while (i<=n)and(a[i]=x) do begin write(i,' '); i:=i+1; end; end else writeln('Элемент не найден'); writeln; end;
begin Randomize; a[1]:=random(10); write(a[1],' '); for i:=2 to n do begin a[i]:=a[i-1]+random(10); write(a[i],' '); end; writeln; write('x = '); readln(x); f(a,x); end.
n = 10;
var
i, c: integer;
a, w: array[1..n] of integer;
begin
randomize;
writeln('Исходный массив:');
for i := 1 to n do
begin
a[i] := random(201) - 100;
write(a[i], ' ');
end;
writeln;
c := 0;
for i := 1 to n do
if a[i] > 0 then
begin
c := c + 1;
w[c] := a[i];
end;
writeln('Кол-во положительных элементов: ', c);
for i := 1 to n do
begin
if a[i] <= 0 then
begin
c := c + 1;
w[c] := a[i];
end;
end;
writeln('Результат:');
for i := 1 to c do
write(w[i], ' ');
end.