В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
type Ex211a=class
public
constructor(fio,phone:string); begin var n:=Max(fio.Length,phone.Length); Writeln((n+2)*'*'); Writeln('*',fio.PadRight(n),'*',NewLine,'*',phone.PadRight(n),'*'); Writeln((n+2)*'*') end; end;
type Ex211b=class
public
constructor; begin var n:=ReadInteger('Введите целое число:'); Writeln('Результат равен ',n+10) end; end;
begin new Ex211a('Иван Иванов','7-841-2666666'); new Ex211b end.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
// Внимание! Если программа не работает, обновите версию!
type
Ex211a=class
public
constructor(fio,phone:string);
begin
var n:=Max(fio.Length,phone.Length);
Writeln((n+2)*'*');
Writeln('*',fio.PadRight(n),'*',NewLine,'*',phone.PadRight(n),'*');
Writeln((n+2)*'*')
end;
end;
type
Ex211b=class
public
constructor;
begin
var n:=ReadInteger('Введите целое число:');
Writeln('Результат равен ',n+10)
end;
end;
begin
new Ex211a('Иван Иванов','7-841-2666666');
new Ex211b
end.
Пример
*Иван Иванов *
*7-841-2666666*
Введите целое число: 18
Результат равен 28