Урок 9 Задача 13
Primary tabs
Есть программа:
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.-- в двух условных операторах действия частично совпадают, а значит наблюдается дублирование кода. Перепишите код так, чтобы дублирования не было.
var z,s:integer;
f:boolean;
begin
readln(z);
f := z > 5;
s:=1;
if (z=s) then //прописываем общее условие для двух случаев
begin
writeln(); // делаем перенос строки - действие, общее для двух случаев
z:=0; // тоже действие, общее для двух случаев
if (f=false) then // в этом же операторе и в этой же ветке прописываем еще одно условие
s:=s+1 // увеличиваем кол-во строк
else
s:=s-1; //уменьшаем кол-во строк
end;
end.- Log in to post comments
- 637 reads