Задача 4 Урок 13.2
Primary tabs
Предварительная справка: настоящие счеты выглядят как-то так (кости, с помощью которых отсчитывают число разрядов, нанизаны на спицы):
В некоем виртуальном пространстве есть виртуальные, опять же, ASCII-счеты, с 7-ю спицами по 10 костяшек на каждой, в сброшенном состоянии (условный ноль) они выглядят так:---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++Задание: визуализируйте на счетах введенное пользователем число.
Примеры:
1. Пользователь вводит: 7
Получаем:---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ +++++++---+++2. Пользователь вводит: 28
Получаем:---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ++---++++++++ ++++++++---++3. Пользователь вводит: 1984
Получаем:---++++++++++ ---++++++++++ ---++++++++++ +---+++++++++ +++++++++---+ ++++++++---++ ++++---++++++4. Пользователь вводит: 2021
А наша программа отвечает:---++++++++++ ---++++++++++ ---++++++++++ ++---++++++++ ---++++++++++ ++---++++++++ +---+++++++++ПРИМЕЧАНИЕ: задача была предложена участником @math2 для соревнований IFF 2020.
var i, j, n, l, k: integer; begin writeln('Введите целое число от 1 до 9999999:'); readln(k); n := k mod 10; while k > 9 do begin k := k div 10; n := n * 10 + k mod 10; l += 1; end; for i := 1 to 7 do begin if i < 7 - l then writeln('---++++++++++') else begin for j := 1 to 11 do if j = n mod 10 + 1 then write('---') else write('+'); writeln(); n := n div 10; end; end; readln(); end.
- Log in to post comments
- 896 reads