Автомат получает на вход два трёхзначных числа. По этим числам строится новое число по следующим правилам. 1. Записывается результат сложения значений младших разрядов заданных чисел.
2. Если полученная сумма меньше десяти, то слева от этой суммы дописывается результат сложения значений средних разрядов заданных чисел, в противном случае - справа.
3. Итоговое число получают приписыванием слева к полученному после второго шага числу суммы значений старших разрядов исходных чисел.
Пример. Исходные трёхзначные числа: 147, 672. Поразрядные суммы: 7, 11, 9. Результат: 7119.
Известно, что одним из чисел, подаваемых на вход автомата, является 824. Укажите второе число, подаваемое на вход автомата, если в результате автомат выдаёт число 15133.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!