Для любого целого аргумента вернуть значение, полученное изменением порядка следования цифр на обратный - Pascal ABC
Формулировка задачи:
Напишите функцию, которая для любого целого аргумента возвращает целое
значение, полученное изменением порядка следования цифр на обратный.
Решение задачи: «Для любого целого аргумента вернуть значение, полученное изменением порядка следования цифр на обратный»
textual
Листинг программы
function revers(n:integer):integer;
var s,i:integer;
k:boolean;
begin
k:=n<0;
n:=abs(n);
s:=0;
while n>0 do
begin
i:=n mod 10;
s:=s*10+i;
n:=n div 10;
end;
if k then result:=-s
else result:=s;
end;
var n:integer;
begin
write('n=');
readln(n);
write(revers(n));
end.
Объяснение кода листинга программы
- Функция
reversпринимает один аргумент типаintegerи возвращает результат типаinteger. - В начале функции определяется переменная
k, которая будет использоваться для определения знака числаn. Значениеkустанавливается равнымn<0. - Затем число
nприводится к положительному значению с помощью функцииabs(n). - Создается переменная
s, которая будет использоваться для хранения результата. Значениеsустанавливается равным 0. - Затем начинается цикл
while, который выполняется до тех пор, пока числоnне станет равным 0. - Внутри цикла определяется переменная
i, которая будет использоваться для получения последней цифры числаn. - Значение
sобновляется с помощью оператора*=, добавляя к нему результат умноженияsна 10 и остатка от деленияnна 10, сохраненного в переменнойi. - Затем число
nделится на 10 с помощью оператораdiv. - После завершения цикла значение переменной
sбудет содержать обратный порядок цифр числаn. - В конце функции проверяется значение переменной
k. Если оно равноtrue, то результатом функции будет отрицательное значениеs, иначе результатом будет положительное значениеs. - В основной части программы выводится сообщение
n=, за которым считывается значение числаnс помощью функцииreadln(). - Затем вызывается функция
revers(n), передавая ей значение числаn. - Результат функции выводится на экран с помощью функции
write().