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

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

 

Спонсори

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

Завдання № 4. Отримати реверсну запис тризначного числа
Формулювання. Сформувати число, що представляє собою реверсну (зворотну в порядку проходження розрядів) запис заданого тризначного числа. Наприклад, для числа 341 таким буде 143.
Давайте розберемося з умовою. У нашому випадку з клавіатури вводиться деякий тризначне число (тризначними називаються числа, в записі яких три розряди (тобто три цифри), наприклад: 115, 263, 749 і т. Д.). Нам необхідно отримати в деякої змінної число, яке буде являти собою реверсну запис введеного числа. Іншими словами, нам потрібно перевернути введене число «задом наперед», представити результат у деякої змінної і вивести його на екран.
Рішення. Визначимося з вибором змінних і їх кількістю. Ясно, що одна змінна потрібна для запису введеного числа з клавіатури, ми позначимо її як n. Так як нам потрібно переставити розряди числа n в деякому порядку, слід для кожного з них також передбачити окремі змінні. Позначимо їх як a (для розряду одиниць), b (для розряду десятків) і c (для розряду сотень).
    Тепер можна почати запис самого алгоритму. Будемо розбирати його поетапно:
1)  Вводимо число n;
2) Працюємо з розрядами числа n. Як відомо, останній розряд будь-якого числа в десятковій системі числення - це залишок від ділення цього числа на 10. У термінах мови Pascal це означає, що для отримання розряду одиниць нам необхідно привласнити змінній a залишок від ділення числа n на 10. Цьому кроку відповідає наступний оператор:

a: = n mod 10;

    Отримавши розряд одиниць, ми повинні відкинути його, щоб мати можливість продовжити роботу з розрядом десятків. Для цього розділимо число n на 10. У термінах Pascal, знову ж таки, це означає: присвоїти змінної n результат від ділення без залишку числа n на 10. Це ми зробимо за допомогою оператора

n: = n div 10;


3) Очевидно, що після виконання п. 2 у змінній n буде зберігатися двухзначное число, що складається з розряду сотень і розряду десятків початкового. Тепер, виконавши ті ж самі дії ще раз, ми отримаємо розряд десятків вихідного числа, але його вже потрібно присвоювати змінної b.
4) У результаті у змінній n буде зберігатися однозначне число - розряд сотень вихідного числа. Ми можемо без додаткових дій привласнити його змінної c.
5) Всі отримані в змінних числа - однозначні. Тепер змінна n нам більше не потрібна, і в ній потрібно сформувати число-результат, в якому a буде знаходитися в розряді сотень, b - десятків, c - одиниць. Легко зрозуміти, що для цього нам слід помножити a на 100, додати до отриманого числа b, помножене на 10 і c без зміни, і весь цей результат привласнити змінній c. Це можна записати так:

n: = 100 * a + 10 * b + c;


6) Далі залишається лише вивести отримане число на екран.

    Код:


  1. program ReverseNum;
  2. var
  3. n, a, b, c: word;
  4. begin
  5. readln(n);
  6. a := n mod 10;
  7. n := n div 10;
  8. b := n mod 10;
  9. n := n div 10;
  10. c := n;
  11. n := 100 * a + 10 * b + c;
  12. writeln(n)
  13. end.
 

     Перевіримо роботу програми на довільному варіанті введених даних. Для цього виконаємо її «ручну прокрутку», проробивши з введенням числом ті ж дії, які повинен виконати алгоритм.
     Нехай користувачем введено число 514. Покажемо в таблиці, які значення будуть приймати змінні після виконання відповідних рядків. При цьому прочерк означає, що значення змінних на даному етапі не визначене, а червоним кольором виділені змінні, які змінюються:

Рядка

n

a

b

c

7

514

8

514

4

9

51

4

10

51

4

1

11

5

4

1

12

5

4

1

5

13

415

4

1

5

    Неважко зрозуміти, що написана програма буде виводити правильну відповідь для будь-якого заданого тризначного числа, так як відповідно до алгоритму заповнення даної таблиці можливо лише єдиним чином. Це означає, що ми можемо уявити число у вигляді абстрактного тризначного числа xyz, (у ньому кожна буква має бути замінена на будь-яке число від 0 до 9, звичайно, за винятком тих випадків, коли воно перестає бути тризначним), і працюючи з розрядами цього числа, показати, що в результаті роботи відповіддю буде число zyx.

Zadacha-4-BorlandPascalABC.zip [671 b] (cкачувань: 17)

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