В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
sum:=0; k:=0; writeln('Введите непустую последовательность целых чисел, которая оканчивается нулем:'); read(a); while a <> 0 do begin if a>x then sum:=sum+a; if a mod 2 = 0 then k:=k+1; read(a); end;
writeln('Сумма всех чисел последовательности, больших числа X: ',sum); writeln('Количество всех четных чисел последовательности: ',k); end.
program n2; var a,b,k:integer;
begin writeln('Введите последовательность ненулевых целых чисел, которая оканчивается нулем:'); read(a); while a<>0 do begin read(b); if a*b<0 then k:=k+1; a:=b; end;
writeln(k,' раз(а) в введенной последовательности меняется знак'); end.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
var a,k,sum,x:integer;
begin
write('Введите число X: ');
readln(x);
sum:=0; k:=0;
writeln('Введите непустую последовательность целых чисел, которая оканчивается нулем:');
read(a);
while a <> 0 do
begin
if a>x then sum:=sum+a;
if a mod 2 = 0 then k:=k+1;
read(a);
end;
writeln('Сумма всех чисел последовательности, больших числа X: ',sum);
writeln('Количество всех четных чисел последовательности: ',k);
end.
program n2;
var a,b,k:integer;
begin
writeln('Введите последовательность ненулевых целых чисел, которая оканчивается нулем:');
read(a);
while a<>0 do
begin
read(b);
if a*b<0 then k:=k+1;
a:=b;
end;
writeln(k,' раз(а) в введенной последовательности меняется знак');
end.