Var
i, k, n1, n2: integer;
begin
n1 := 0;
n2 := 0;
{предполагается, что нумерация домов начинается с 1}
writeln('Вводите количество жителей в порядке возрастания номеров домов');
writeln('Окончание ввода - по отрицательному значению');
i := 1;
repeat
read(k);
if k > 0 then
begin
if i mod 2 = 0 then n2 := n2 + k
else n1 := n1 + k;
i := i + 1
end
until k < 0;
write(#13#10, 'Большее количество людей проживает на ');
if n1 > n2 then writeln('левой стороне улицы.')
else writeln('правой стороне улицы.')
end.
Тестовое решение:
Вводите количество жителей в порядке возрастания номеров домов
Окончание ввода - по отрицательному значению
13 56 25 31 98 35 72 64 -1
Большее количество людей проживает на левой стороне улицы.
Ответ: 7
Цикл выполнится два раза:
1-я итерация: a = 11 (т.к. 15 - 4 = 11)
2-я итерация: a = 7 (т.к. 11 - 4 = 7)
Составил код в Visual Studio, в итоге получилось 27
Var x,y,S:real;
k:integer;
Begin
x:=-4;
k:=0;
While x<7 do
Begin
if (x < -3) then y:=2*x-5*Sin(x)
else if (-3 <= x)and(x <= 5) then y:=1-Sin(x)
else y:=ln(4*x+Sin(x));
if (y > 0) then
Begin
S:=S+y;
k:=k+1
End;
WriteLn('y(',x:0:1,') = ',y:0:3);
x:=x+0.2
End;
WriteLn('Sr = ',S/k);
ReadLn
End.
<body bgcolor="#008000">
<div style="color: #9400d3"><span>Решить уравнения 7^x+3=0</span></div>
</body>