Задание не совсем корректное. Если в массиве хранятся числа и отсутствие осадков принято за "0", то программа выглядит так var i: integer; a: array[1..31] of integer; begin for i:=1 to 31 do read(a[i]); for i:=1 to 31 do if a[i]=0 then write(i, ' ');<span> end. </span>
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.