В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
n = 10;
var
a: array[0..10] of integer;
i, s: integer;
begin
//Заполнение массива сл. числами
for i := 1 to n do
begin
a[i] := random(201) - 100;
write(a[i]:4);
end;
writeln;
//1) Все элементы не превышающие число 100
writeln('Не больше 100 ');
for i := 1 to n do
if a[i] <= 100 then
write( a[i]:4);
writeln;
// 2) Все четные элементы
writeln('Кратные двум ');
for i := 1 to n do
if a[i] mod 2 = 0 then
write( a[i]:4);
writeln;
// 3) Все элементы, являющиеся трехзначными числами
writeln('Трехзначные ');
for i := 1 to n do
if (a[i] < -99) or (a[i] > 99) then
write(a[i]:4);
writeln;
// 4) Третий, шестой и т.д элементы.
i := 3;
writeln(' номера 3, 6, 9 и т.д.');
while i < n do
begin
write(a[i]:4);
i := i + 3;
end;
end.