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.
в двух условных операторах действия частично совпадают, а значит наблюдается дублирование кода. Перепишите код так, чтобы дублирования не было.

Подсказка: используйте вложенные блоки if().

решение

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.