Если я правильно понял условие: y=3 при x-1>0 и y=4 при x-1<0 (при этом не сказано, что делать при x-1=0), то решение будет выглядеть так (если требуется написать программу на паскале):
Var x,y:integer; Begin write('x=); readln(x); if (x-1)>0 then y:=3; if (x-1)<0 then y:=4; writeln('y=',y); End.
Но я бы посоветовал изменить строку if (x-1)>0 на if (x-1)>=0, иначе при (x-1)=0 программа будет работать некорректно.
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var lvl:=0; var s:= ''; var predE:=false; foreach var c in s do if c='E' then begin if predE then begin predE:=false; lvl+=1 end else predE:=true end else if c='B' then begin predE:=false; lvl+=1 end; Writeln(lvl,' level') end.
Результат выполнения программы 63 level
И второй вариант, "как не учат в школе":
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var s:= ''; Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level') end.
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var lvl:=0; var s:= ''; var predE:=false; foreach var c in s do if c='E' then begin if predE then begin predE:=false; lvl+=1 end else predE:=true end else if c='B' then begin predE:=false; lvl+=1 end; Writeln(lvl,' level') end.
Результат выполнения программы 63 level
И второй вариант, "как не учат в школе":
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var s:= ''; Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level') end.
Var x,y:integer;
Begin
write('x=);
readln(x);
if (x-1)>0 then y:=3;
if (x-1)<0 then y:=4;
writeln('y=',y);
End.
Но я бы посоветовал изменить строку if (x-1)>0 на if (x-1)>=0, иначе при (x-1)=0 программа будет работать некорректно.