Определить, является ли число палиндромом - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число n (n 1999). Определить, является ли оно палиндромом («перевертышем»), с учетом четырех цифр. Например, палиндромами являются числа: 2222, 6116, 0440. Подсказка. Так как число четырехзначное, то переменная оператора For изменяется от 1 до 4. В переменной с именем m хранится «остаток» числа, в первоначальный момент времени он равен введенному числу. В переменной с именем r формируем значение числа – «перевертыша». Основными операциями являются: r:=10*r + m mod 10 (добавление очередной цифры к числу «перевертышу») и m:=m div 10 (изменение проверяемого числа). Изменения переменных i, m и r см. в таблице.
i m r
3994 0
1 399 0*10+3994 mod 10=0+4=4
2 39 4*10+399 mod 10=40+9=49
3 3 49*10+39 mod 10 =490+9=499
4 0 499*10+3 mod 10=4990+3=4993

Решение задачи: «Определить, является ли число палиндромом»

textual
Листинг программы
var n,i,m,r:integer;
begin
repeat
write('Введите натуральное четырехзначное число ');
readln(n);
until(n>999)and(n<10000);
m:=n;
r:=0;
for i:=1 to 4 do
 begin
  r:=10*r+m mod 10;
  m:=m div 10;
 end;
if r=n then write('палиндром')
else write('не палиндром');
end.

Объяснение кода листинга программы

  1. Создается переменная n типа integer, которая будет использоваться для чтения введенного числа.
  2. Создается переменная i типа integer, которая будет использоваться для цикла.
  3. Создается переменная m типа integer, которая будет использоваться для хранения введенного числа.
  4. Создается переменная r типа integer, которая будет использоваться для хранения результата вычисления r = 10 * m / 10.
  5. Создается цикл while, который будет выполняться до тех пор, пока введенное число не будет больше 999 и меньше 10000.
  6. Внутри цикла переменная m присваивается значение введенного числа.
  7. Переменная r присваивается значение 10 * m / 10.
  8. Создается цикл for, который будет выполняться от 1 до 4.
  9. Внутри цикла переменная r присваивается значение 10 * r + m % 10.
  10. Переменная m присваивается значение m / 10.
  11. Если r равно n, то переменной write присваивается значение 'палиндром'.
  12. Если r не равно n, то переменной write присваивается значение 'не палиндром'.
  13. Цикл while завершается.
  14. Код заканчивается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы