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

В некоем виртуальном пространстве есть виртуальные, опять же, ASCII-счеты, с 7-ю спицами по 10 костяшек на каждой, в сброшенном состоянии (условный ноль). Задание: визуализируйте на счетах введенное пользователем число.

var n,m,a,i,j,l:integer;
begin
  m:=1;
  writeln('Vvedite chislo');
  readln(a);
  l:=a;
  m:=10000000;
  for j:=1 to 7 do
  begin
    if(m<>0) then begin
      n:=l mod m;
      l:=l div m;
    end;
    if(l=0) then write('---++++++++++')
    else
    if (l<10) then
    repeat
      for i:=1 to 11 do
        begin
          if(l<>0) then write('+');
          if(l=0) then write ('---');
          l:=l-1;
        end;

      writeln();
      m:=m div 10;
      if (n<>0) then
      begin
        l:=n div m;
        n:=n mod m;
      end;
      until (l<0);
    writeln();
    m:=m div 10;
    n:=l;
    l:=a;
  end;
end.    
Консоль:
Vvedite chislo
872

---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
++++++++---++
+++++++---+++
++---++++++++
vedro-compota's picture

1)

if(l0) then write('+');
if(l=0) then write ('---');

-- использовать else

2)

if (l

3) Вложенность циклов не должна быть больше 2

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

var n,m,b,a,i,j,l,k:integer;
begin
  m:=1;
  writeln('Vvedite chislo');
  readln(a);
  l:=a;
  k:=1;
  m:=1;
  // определим, сколько цифр в числе
  for i:=1 to 7 do
  begin
    l:=l div 10;
    n:=l mod 10;
    if(l<>0) then k:=k+1;
  end;
  //напечатаем "нулевые" значения
  for i:=0 to (7-k) do
  writeln('---++++++++++');
  //определим число, на которое надо делить
  for j:=1 to (k-1) do
    m:=m*10;
  l:=a;
  //напечатаем ненулевые значения
  for j:=1 to k do
  begin
    if(m<>0) then n:=l div m;
    b:= l mod m;
    for i:=1 to 11 do
        begin
          if(n<>0) then write('+')
          else write ('---');
          n:=n-1;
        end;
    m:=m div 10;
    l:=b;
    writeln();
  end;
end.   

Vvedite chislo
541

---++++++++++
---++++++++++
---++++++++++
---++++++++++
---++++++++++
+++++---+++++
++++---++++++
+---+++++++++