Вам дана программа, решающая задачу Сортировка. Требуется найти в ней ошибку, и объяснить (устно), почему так происходит и как Вы нашли эту ошибку.
Текст программы приведен ниже, его можно также скачать по этой сслыке или взять на диске J:\ (файл называется deb-1.pas)
const nmax=100; var a:array[1..nmax] of integer; n:integer; i,j,g:integer; begin {Чтение входных данных} read(n); for i:=1 to n do read(a[i]); {Сортировка массива} 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-ом местах } {Если a[i]=x, a[g]=y, то после выполнения команды: } a[i]:=a[i]+a[g]; {a[i]=x+y, a[g]=y} a[g]:=a[i]-a[g]; {a[i]=x+y, a[g]=(x+y)-y=x} a[i]:=a[i]-a[g]; {a[i]=(x+y)-x=y} {То есть после этого a[i]=y, a[g]=x обмен значений произошел} end; {Выводим результат} for i:=1 to n do write(a[i],' '); end.