//PascalABC.NET 3.3,сборка 1611 от 06.01.2018
//Внимание! Если программа не работает, обновите версию!
begin
var mas:=ArrRandom(14,-99,99); mas.Println;
var a:=mas[1]**3; var b:=mas.Where(t-> t> a).Count;
if b=0 then Writeln('поиск неудачен') else
Writeln('Таких элементов ->',b);
end.
Просто выполняем алгоритм для каждой из клеток.
Например, 4 клетка в пятом ряду: у неё сверху стенка, поэтому она двигается вправо, оттуда опять вправо, оттуда еще раз вправо и врезается в стенку после 6-й клетки.
4 клетка в третьем ряду: у ней сверху нет стенки, снизу есть, поэтому робот движется влево. Затем снизу нет стенки, а сверху есть, поэтому робот возвращается обратно, и всё повторяется.
6 клетка во втором ряду: у неё ни сверху, ни снизу нет стенок, поэтому она стоит на месте.
Клетки, начав с которых, робот разбивается помечены персиковым цветом, в них указано, о какую стенку он разбивается. Клетки, начав с которых, робот делает конечное число шагов, отмечены бледно-оранжевым цветом, в них указано, в какой клетке остановится робот. Зелёные клетки удовлетворяют условию, их на рисунке 6.