Задача 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
   f:=false;
   z:=1;
   s:=1;
   if (z=s) then
   begin
     writeln();
     z:=0;
     if (f=true) then
       s:=s-1
       else
         if (f=false) then
           s:=s+1;
     end;
writeln('znachenie z,s ravno: ', z,' ',s);
readln();
end.   
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)