Определить, является ли число палиндромом - 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
Листинг программы
  1. var n,i,m,r:integer;
  2. begin
  3. repeat
  4. write('Введите натуральное четырехзначное число ');
  5. readln(n);
  6. until(n>999)and(n<10000);
  7. m:=n;
  8. r:=0;
  9. for i:=1 to 4 do
  10.  begin
  11.   r:=10*r+m mod 10;
  12.   m:=m div 10;
  13.  end;
  14. if r=n then write('палиндром')
  15. else write('не палиндром');
  16. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы