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

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

Есть программа:

var z,s:integer;
  f:boolean;
begin
  readln(z);
  f := z > 5;
  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
  readln(z);
  f:= z > 5;
  s:= 1;
  if (z = s) then
  begin
    writeln();
    z:= 0;
    if (f) then
      s:= s - 1
    else
      s:= s + 1;
  end;
  readln();
end. 

Вывод консоли:

1


vedro-compota's picture

засчитано

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