Согласно алгоритму из блок-схемы, пока не получен ноль, число надо делить на 2, если оно четное, и отнимать 1, если нечетное. Проделываем это:
500 (четное) -> 250 (четное) -> 125 (нечетное) -> 124 (четное) -> 62 (четное) -> 31 (нечетное) -> 30 (четное) -> 15 (нечетное) -> 14 (четное) -> 7 (нечетное) -> 6 (четное) -> 3 (нечетное) -> 2 (четное) -> 1 (нечетное) -> 0
Чтобы получить из нуля 500, нужно пойти в обратном порядке: 0 -> 1 -> 2 -> 3 -> 6 -> 7 -> 14 -> 15 -> 30 -> 31 -> 62 -> 124 -> 125 -> 250 -> 500
Для 1024 всё проще:
От 1024 до 0: 1024 -> 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 -> 0 (на всех шагах кроме последнего число уменьшается в 2 раза, на последнем уменьшается на 1)
В обратную сторону 0 -> 1 -> 2 -> 4 -> ... -> 512 -> 1024 (на первом шаге число увеличивается на 1, затем 10 раз увеличивается в 2 раза)
Var x: integer;
Begin
Read (x);
If x mod 5 = 0 and x mod 13 = 0 then
Write(x);
end.
Program n1;
var s: string;
begin
s:='stroka';
if length(s)<10 then s:=s+'КЛМНОПРСТ';
write(s);
end.
№6
var
a,b,c:real;
begin
Read(a,b);
if a>=b then begin
c:=a+b;
while c<=36 do c:=c+8;
c:=c+29
end
else begin
c:=2*b+a;
c:=4*c;
c:=c+30;
c:=c/2
end;
Writeln(c)
end.
№7
var
a,b,c:real;
begin
Read(a,b);
if a>b then begin
while a+1>2*b do b:=b+1;
c:=a+2*b; c:=c+127; c:=c-94
end
else begin
c:=2*a+b;
if c<=14 then begin c:=c+137; c:=2*c-89 end
else begin c:=c+127; c:=c-94 end
end;
Writeln(c)
end.
А) Земля- глобус, карта
б) Карта- мира, созвездий