Задача 5 Урок 13.2

Задача 5 Урок 13.2
Предварительная справка: настоящие счеты выглядят как-то так (кости, с помощью которых отсчитывают число разрядов, нанизаны на спицы):
счеты
В некоем виртуальном пространстве есть виртуальные, опять же, ASCII-счеты, с 7-ю спицами по 10 костяшек на каждой, в сброшенном состоянии (условный ноль) они выглядят так:
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
Задание: визуализируйте на счетах введенное пользователем число.
Примеры:
Пользователь вводит: 7
Получаем:
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
+++++++---+++
Пользователь вводит: 28
Получаем:
---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
++---++++++++
++++++++---++
Пользователь вводит: 1984
Получаем:
---++++++++++
---++++++++++
---++++++++++
+---+++++++++
+++++++++---+
++++++++---++
++++---++++++
Пользователь вводит: 2021
А наша программа отвечает:
---++++++++++
---++++++++++
---++++++++++
++---++++++++
---++++++++++
++---++++++++
+---+++++++++

var
   chislo, n, digit, i, j, kf, max_digit, count, number, a: integer;
begin
   chislo:= 1234567;
   n:= chislo;
   digit:= 0;//разрядность текущего числа
   max_digit:= 7;//max разрядность
   kf:= 1;//коэффициент деления
   count:= 1;
   while n > 0 do
      begin
        n:= n div 10;
        digit:= digit + 1;
      end;
   max_digit:= max_digit - digit;
   for i:= 1 to max_digit do
         writeln('- - - + + + + + + + + + +');
   for j:= 1 to (digit - 1) do
         kf:= kf * 10;
   while (count <= digit) do
      begin
        number:= chislo div kf;
        chislo:= chislo mod kf;
        kf:= kf div 10;
        for a:= 0 to 10 do
         begin
           if(a < number) then
              write('+ ')
           else if (a = number) then
              write('- - - ')
           else
              write('+ ');
         end;
        writeln();
        count:= count + 1;
      end;
   readln();
end.    
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)