Если часть программы, в которой выполняется поиск, оформить в виде процедуры, то получится вот так: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;begini1:=1; i2:=n;repeati:=(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;beginRandomize;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.Пример:9 9 15 21 30 33 35 35 36 44 45 45 52 54 62 63 70 70 77 78 x = 35Искомый(ые) номер(а) элемента(ов):7 8