Задача 5 Урок 13.2
Primary tabs
В некоем виртуальном пространстве есть виртуальные, опять же, 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 ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ---++++++++++ ++++++++---++ +++++++---+++ ++---++++++++
- Log in to post comments
- 1293 reads
vedro-compota
Sun, 01/16/2022 - 13:17
Permalink
1) if(l0) then write('+');
1)
-- использовать else
2)
3) Вложенность циклов не должна быть больше 2
_____________
матфак вгу и остальная классика =)
Lena
Wed, 01/19/2022 - 12:45
Permalink
var n,m,b,a,i,j,l,k:integer;
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.Lena
Wed, 01/19/2022 - 12:46
Permalink
Vvedite chislo