Задача 1 Урок 23

Задача 1 Урок 23

У вас есть функция:

program my_program;
type b = array[1..10] of integer; // объявление типа

function filling_array( min, max : integer ) : b;
var count, i, j, l, k, number : integer;
arr : b;
begin
count := 0;
k := 1;
randomize; // вызов процедуры
while( count begin
number := random( max - (min + 1) + min ) ; // случайные числa
write( number, ' ' );
j := 0;
for i := low( arr ) to k do
begin
if( arr[i] number ) then
begin
j += 1;
if( j = k ) then
begin
count += 1;
k += 1;
arr[count] := number;
end;
end
else
break;
end;
end;
filling_array := arr; // возвращаем значение функции
end;

Что делает эта функция? (добавьте текстовое описание)
В данной функции есть лишние переменные, перепишите код так, чтобы они не использовались.

Функция заполняет массив из 10 элементов случайными несовпадающими числами.
При этом печатает каждое число, претендующее на место в массиве.
Лишние переменные:j,l,k,min}

type b = array[1..10] of integer; // объявление типа
var a:b; i:integer;
function filling_array( max : integer ) : b;
  var  count, i, number : integer;
      arr : b;
begin
  count:=1;
  randomize; // вызов процедуры
  while( count <= 10 ) do
  begin
    number := random( max - 1 ) ; // получится, если раскрыть скобки в random( max - (min + 1) + min )
    write( number, ' ' );
    for i:=low(arr) to count do
      if arr[i]=number then
        break
      else if count=i then
      begin
        arr[count]:=number;
        count+=1;
      end;
  end;
  result:=arr;
end;
begin
  filling_array(5,15);
  readln();
end.