Использовать Робот
алг
нач цел k
k:=1
| 1-пришел снизу
| 2-пришел справа
| 3-пришел слева
| 4-пришел сверху
нц пока k>0
нц пока справа свободно и k<>2
вправо
счет
k:=3
кц
нц пока сверху свободно и k<>4
вверх
счет
k:=1
кц
нц пока снизу свободно и k<>1
вниз
счет
k:=4
кц
нц пока слева свободно и k<>3
влево
счет
k:=2
кц
кц
кон
алг счет
нач цел i
i:=0
| i-число стенок вокруг
если сверху стена то i:=1 все
если слева стена то i:=i+1 все
если справа стена то i:=i+1 все
если снизу стена то i:=i+1 все
если i=3 то стоп все
если i=1 то закрасить все
кон<span>
</span>
var
a,b,c,d:real;
z,x:integer;
begin
z:=0;
x:=0;
readln(a);
readln(b);
readln(c):
readln(d);
if (b mod a)=0 then writeln('a делитель числа b');
if (с mod a)=0 then writeln('a делитель числа с');
if (в mod a)=0 then writeln('a делитель числа в');
if a>b then z:=z+1;
if b>c then z:=z+1;
if c>d then z:=z+1;
if z=3 then writeln('числа расположены по убыванию');
z:=0;
if a mod 5=0 then x:=x+1;
if a mod 7=0 then x:=x+1;
if x=2 then z:=z+1;
x:=0;
if b mod 5=0 then x:=x+1;
if b mod 7=0 then x:=x+1;
if x=2 then z:=z+1;
x:=0;
if c mod 5=0 then x:=x+1;
if c mod 7=0 then x:=x+1;
if x=2 then z:=z+1;
x:=0;
if d mod 5=0 then x:=x+1;
if d mod 7=0 then x:=x+1;
if x=2 then z:=z+1;
x:=0;
writeln(z,'чисел делятся на 5 и 7 ');
z:=0;
if a<=7 then z:=z+1;
if b<=7 then z:=z+1;
if c<=7 then z:=z+1;
if d<=7 then z:=z+1;
if z>0 then writeln('есть числа больше или равные 7')
end.
предпоследнее не могу прочесть задание, так что сорри.
Const eps=0.001;
var n,st,f:integer; a,s:real;
begin
n:=1; a:=2;
st:=2; f:=1; s:=2;
while a>eps do
begin
st:=st*2;
f:=f*n;
a:=st/f;
s:=s+a;
n:=n+1;
end;
writeln('s = ',s:6:3);
end.
Результат:
<span>s = 14.778</span>