Традиционное решение: var n,d1,d2,d3,d4:integer; begin Write('Введите четырехзначное натуральное число: '); Readln(n); d1:=n div 1000; d4:=n mod 10; d3:=(n mod 100) div 10; d2:=(n mod 1000) div 100; n:=1000*d1+100*d3+10*d2+d4; Writeln('Результат: ',n) end.
Решение с использованием символьного представления числа: var s:string; begin Write('Введите четырехзначное натуральное число: '); Readln(s); Writeln('Результат: ',s[1]+s[3]+s[2]+s[4]) end.
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку: procedure G(n: integer);forward; Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы. После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение * n = 12 * n = 12 Вызов процедуры G и выполнение * n = 11 * n = 11 Вызов процедуры F и выполнение * n = 9 * n = 9 Вызов процедуры G и выполнение * n = 8 * n = 8 Вызов процедуры Fи выполнение * n = 6 * n = 6 Вызов процедуры G и выполнение * n = 5 * n = 5 Вызов процедуры F и выполнение * n = 3 * n = 3 Вызов процедуры G и выполнение * n = 2 * n = 2 Вызов процедуры F и выполнение * n = 0
var
n,d1,d2,d3,d4:integer;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(n);
d1:=n div 1000; d4:=n mod 10;
d3:=(n mod 100) div 10;
d2:=(n mod 1000) div 100;
n:=1000*d1+100*d3+10*d2+d4;
Writeln('Результат: ',n)
end.
Тестовое решение:
Введите четырехзначное натуральное число: 4567
Результат: 4657
Решение с использованием символьного представления числа:
var
s:string;
begin
Write('Введите четырехзначное натуральное число: ');
Readln(s);
Writeln('Результат: ',s[1]+s[3]+s[2]+s[4])
end.
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0