Использовать Робот
алг
нач цел 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>
Порядок действий и таблица на картинке.
<em>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50); a.Println;
var s:=a.Where(t->t.IsEven); s.Println; Writeln('Кол-во = ',s.Count);
s:=a.Where(t->t.IsOdd).Reverse; s.Println; Writeln('Кол-во = ',s.Count);
var imax:=a.IndexMax;
Writeln('Номер максимального элемента- ',imax+1,
', его значение- ',a[imax])
end.
<u>Пример</u>
n= 15
-39 29 23 4 -26 41 23 -9 10 49 -24 39 -28 19 15
4 -26 10 -24 -28
Кол-во = 5
15 19 39 49 -9 23 41 23 29 -39
Кол-во = 10
Номер максимального элемента- 10, его значение- 49
Program zd;
const
t=0,5;
var
a,b,c:byte;
r,s:real;
begin
writeln('Введите сторону А');
readln(a);
writeln('Введите сторону В');
readln(b);
writeln('Введите угол С (в градусах)');
readln(c);
r:=c*pi/180; {Перевод из градусов в радианы}
s:=t*a*b*sin(r); {Формула для вычисления}
writeln('Результат = ',s);
readln; {Сразу выводит результат на монитор без нажатия Ctrl+F9 (вроде бы)}
end.
Вроде бы так, попробуй запустить проверить