Задача 11 Урок 9

Задача 11 Урок 9
Есть программа:

var z,s:integer;
f:boolean;
begin
s:=1;
if (z=s) and (f=false) then
begin
writeln();// делаем перенос строки
z:=0;
s:=s+1;//но увеличиваем кол-во строк
end;

if (z=s) and (f=true) then
begin
writeln(); // делаем перенос строки
z:=0;
s:=s-1;//но уменьшаем кол-во строк
end;
end.
-- в двух условных операторах действия частично совпадают, а значит наблюдается дублирование кода. Перепишите код так, чтобы дублирования не было.

решение задачи:

var z,s:integer;
  f:boolean;
begin
    s := 1;
    if (z = s) then
    begin
         writeln();
         z:= 0;
         if (f = true) then
            s := s - 1
         else
            s := s + 1;
    end;
end.