У исполнителя Вычислитель две команды, которым присвоены номера: 1. умножь на b
2. прибавь 1
( b - неизвестное натуральное число )
Первая из них утвеличивает число на экране в b раз, вторая увеличивает его на 1.
Известно, что программа 21212 переводит число 1 в число 79.
Определите значение b.
1) Код программы;
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int *mas, x;
cout << "Введите последний элемент массива(X): ";
cin >> x;
mas = new int[x];
for (int i = x-1; i >= 0; --i)
mas[i] = i+1;
cout << "Массив:" << endl;
for (int i = 0; i < x; ++i)
cout << mas[i] << ' ';
}
2) Код программы;
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int *mas, n;
cout << "Введите N: ";
cin >> n;
mas = new int[n];
for (int i = 0; i < n; ++i)
mas[i] = pow(2, i+1);
cout << "Массив:" << endl;
for (int i = 0; i < n; ++i)
cout << mas[i] << ' ';
}
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным