В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
2) Сортирую не методом выбора, а пузырьковым методом, т.к. мне неизвестна формулировка "метод выбора" program z1; var mas:array[1..10] of Integer; m,n,temp:integer; begin randomize; for i:=1 to 10 do begin mas[i]:=random(100); end; for i:=1 to 4 do if mas[i]>mas[i+1] then begin temp:=mas[i+1]; mas[i+1]:=mas[i]; mas[i]:=temp; end; for i:=6 to 9 do if mas[i]<mas[i+1] then begin temp:=mas[i+1]; mas[i+1]:=mas[i]; mas[i]:=temp; end; end.
Если нужен еще и вывод на экран - то дописываете перед end. следующее: for i:=1 to 10 do writeln(mas[i])
Насчет первого. Мне непонятна формулировка "отсортировать по последней цифре"