Значение переменной y в команде x:=x+y не меняется, т.е y=25
x(новое) = x(старое)+y ⇒ x(старое) = x(новое)-y = 7-25 = -18
Ответ: x=-18; y=25
Паскаль.
Сменой знака считается переход от отрицательного к нулю, от нуля к положительному, от отрицательного к положительному и наоборот. По крайней мере в условии не сказано обратное.
program progr1;
var count,i,n,x,znak,znak_old:integer;
begin
write('n-> '); readln(n);
count:=0;
for i:=1 to n do
begin
write(i,'-> '); readln(x);
if x < 0 then znak:=-1;
if x>0 then znak:=1;
if x=0 then znak:=0;
if i < > 1 then
if znak < > znak_old then count:=count+1;
znak_old:=znak;
end;
write('count=',count);
readln;
end.
82014 - 2614 + 45 = 79445
79445(10) = 10011011001010101(2)
Кол-во единиц: 9.
1) закрашиваем бульдог, доберман, уход
2) все закрашиваем
3) закрашиваем доберман, бульдог
4) закрашиваем бульдог, доберман, и пересечени ухода с бульдогом и доберманом