В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
Пример на языке с++, дошел только для этого
#include<iostream>
using namespace std;
int min(int a, int b, int c, int d)
{
int min1 = 0;
int min2 = 0;
if (a < b)
{
min1 = a;
}
else
{
min1 = b;
}
if (c < d)
{
min2 = c;
}
else
{
min2 = d;
}
if (min1 < min2)
{
cout << "Наименьшее из чисел: " << min1 << endl;
}
else
{
cout << "Наименьшее из чисел: " << min2 << endl;
}
return 0;
}
int main()
{
setlocale(LC_ALL,"RUSSIAN");
min(10,20,30,40);
return 0;
}