Var
s:string;
k,i:integer; {k-количество символов 'o',i-счетчик цикла}
begin
readln(s);
k:=0;
for i:=1 to length(s) do {цикл от 1 до длины строки}
if s[i]='o'
then k:=k+1;
writeln(k);
<span>end.</span>
Пушкин. Учёный Кот
Золотая рыбка
В условии задания не сказано, запрещено ли роботу ходить по закрашенным клеткам или нет,поэтому будем считать что разрешено.
a) начало
пока справа свободно (если закрашено (вниз,закрасить,вверх; ) вправо)
если закрашено (вниз,закрасить ;)
конец.
В данном алгоритме робот идет направо,пока не достигнет конца. При каждом смещении вправо он проверяет,на какой клетке стоит : если клетка,на которой стоит робот закрашена, то он закрашивает клетку под ней. После цикла делается ещё одна проверка,так как робот, находясь на последней клетке справа не будет заходить внутрь цикла, так как условие "пока справа свободно" не выполнится, поэтому добавим ещё одну проверку после цикла для последней клетки.
б) Здесь алгоритм аналогичный, только добавляется ещё заход в верхнюю клетку для закраски.
начало
пока справа свободно (если клетка закрашена (вверх, закрасить, вниз, вниз, закрасить, вверх; ) вправо)
если клетка закрашена (вверх,закрасить,вниз,вниз,закрасить)
конец.
.........................