Вам дана программа, решающая задачу K-ое по величине число. Требуется найти в ней ошибку, и объяснить (устно), почему так происходит и как Вы нашли эту ошибку.

Текст программы приведен ниже, его можно также скачать по этой сслыке или взять на диске J:\ (файл называется deb-2.pas)

const nmax=100;

var a:array[1..nmax] of integer;
    n:integer;
    i,j,g:integer;
    k:integer;


begin
                                  {Чтение входных данных}
read(n);
for i:=1 to n do read(a[i]);
read(k);
                                  {Сортировка массива}

for i:=1 to n do begin            {Подбираем число на i-ое место}

  g:=i;                           {Считаем, что самое маленькое число,
                                   которое нам встретилось, стоит на месте i}

  for j:=i+1 to n do              {Перебираем все числа с i+1 до конца массива}
    if a[j]<a[g] then g:=j;       {Если нашли число, которое меньше,
                                   чем то, что уже найдено, запоминаем его}

                                  {Меняем местами числа, стоящие на i-ом и
                                   на g-ом местах }
  k:=a[i];
  a[i]:=a[g];
  a[g]:=k;
  end;

                                  {Выводим результат}
writeln(a[k]);
end.