Процедуры и функции. Число наоборот - Pascal ABC
Формулировка задачи:
Добрый вечер!
Помогите, пожалуйста!
Заменить данные n натуральных чисел на числа, которые получаются из исходных записью его цифр в обратном порядке (например, дано число 156, нужно получить 651). Определить функцию, которая записывает числа в обратном порядке.
Решение задачи: «Процедуры и функции. Число наоборот»
textual
Листинг программы
function revers(n:integer):integer;
var m,s:longint;
i:byte;
begin
if n<10 then s:=n
else
begin
s:=0;
while n>0 do
begin
i:=n mod 10;
s:=s*10+i;
n:=n div 10;
end;
end;
revers:=s;
end;
var n,i,a:integer;
begin
write('Сколько чисел вести n=');
readln(n);
writeln('Введите ',n,' натуральных чисел');
for i:=1 to n do
begin
readln(n);
writeln('Число наоборот=',revers(n));
end;;
end.
Объяснение кода листинга программы
- Создаётся функция
revers(n:integer), которая принимает целочисленный аргументnи возвращает целое число. - В переменной
mиsинициализируется значение0. - В переменной
iинициализируется значение1. - Выполняется цикл
while n>0 do, который будет выполняться до тех пор, покаnбольше нуля. - Внутри цикла выполняется операция
n mod 10, которая возвращает последнюю цифру числаn. - Полученное значение последней цифры добавляется к переменной
sс множителем 10. - Значение
nделится на 10, и результат сохраняется в переменнойn. - После завершения внутреннего цикла, значение переменной
sбудет содержать число, полученное путем обратной записи цифр числаn. - Значение переменной
sприсваивается переменнойrevers. - Конец функции.
- Выводится приглашение для ввода количества чисел
n. - Выводится приглашение для ввода
nнатуральных чисел. - Для каждого числа
nиз диапазона от 1 доnвыполняется циклfor i:=1 to n do. - Внутри цикла выполняется чтение числа
nс помощью функцииreadln(). - Выводится сообщение
Число наоборот=, за которым следует вызов функцииrevers(n). - После завершения внешнего цикла, выводится итоговое сообщение.
- Конец программы.