Завдання № 31. Сформувати реверсну запис заданого числа » Pascal - основи програмування

Основи програмування на мові Pascal

 

Спонсори

Завдання № 31. Сформувати реверсну запис заданого числа

Завдання № 31. Сформувати реверсну запис заданого числа
Формулювання. Дано натуральне число n заздалегідь невідомої розрядності. Сформувати і вивести на екран число, що представляє собою реверсну запис n.
Рішення. Це більш загальний випадок задачі 4, в якій при нагоді тризначного n чітко видно повторювані фрагменти коду. Спробуємо отримати загальний алгоритм вирішення через цикл.
    Нехай дано число 25893. Візьмемо його останню цифру як залишок від ділення на 10 - це 3. Очевидно, вона повинна бути першою. Відкинемо її у числа n і візьмемо останню цифру 9 - вона повинна бути другою. Щоб сформувати дві цифри реверсного числа, помножимо 3 на 10 і додамо 9, потім додамо третю цифру і т. Д.
Так як розрядність числа невідома, ми будемо використовувати цикл з передумовою. Його ті-ло буде виглядати так:

r: = r * 10;
r: = r + n mod 10;
n: = n div 10;

    Спочатку результат r повинен бути рівний 0, і тоді множення нуля на 10 в першому кроці не руйнує формування реверсної записи, яке тепер може бути укладена в один цикл.
    Яким же буде умова продовження? Неважко зрозуміти, що коли ми будемо додавати по-останню що залишилася цифру вихідного числа n до реверсної записи r, ми помножимо r на 10, при-бавім до неї як n mod 10 (в даному випадку цей залишок дорівнює n) і розділимо n на 10 . Тоді n ста-ні одно 0 і цикл повинен закінчитися, так що умова його продовження - n <> 0.

 

Код:


  1. program ReverseOfN;
  2. var
  3. r, n: word;
  4. begin
  5. readln(n);
  6. r := 0;
  7. while n <> 0 do begin
  8. r := r * 10;
  9. r := r + n mod 10;
  10. n := n div 10
  11. end;
  12. writeln(r)
  13. end.

0031.-ReverseOfN.rar [566 b] (cкачувань: 1)

скачать dle 10.4фильмы бесплатно Наступна сторінка » Завдання № 32. Перевірити монотонність... Попередня сторінка » Завдання № 30. Вивести таблицю квадрат...