program z1; var i,j,m,k,z,x,l:integer; begin readln(m); for i:=0 to m do begin z:=1; if i=0 then z:=1 else begin x:=i; while x<>0 do begin z:=z*4; x:=x-1; end; end; if ((z<m) and (z*4>m)) then writeln(i); if z=m then writeln(i-1); end; end.
program z2; var i,j,n,k,z,x,l:integer; begin readln(n); for i:=0 to n do begin z:=1; if i=0 then z:=1 else begin x:=i; while x<>0 do begin z:=z*2; x:=x-1; end; end; if ((z>n) and (z/2<n)) then writeln(i); if z=n then writeln(i+1); end; end.
program z3; var i,j,n,k,z,x,s:integer; begin readln(n); s:=0; for i:=1 to n do begin z:=1; for j:=i to 2*i do z:=z*j; s:=s+z; end; writeln(s); end.
В задании не сказано, откуда берутся исходные данные, поэтому будем вводить их с клавиатуры. Сначала ведем общее количество данных (не факт, что данные за месяц снимались строго ежедневно), а затем сами данные. Это позволит заодно осуществить контроль ввода.
var n,s,t,i:integer; begin Write('Укажите количество данных: '); Read(n); Writeln('Теперь вводите данные'); s:=0; for i:=1 to n do begin Read(t); s:=s+t end; Writeln('Средняя температура за месяц составила ',s/n:0:1) end.
Пример решения
Укажите количество данных: 11 Теперь вводите данные 27 29 26 31 24 23 27 30 31 28 25 Средняя температура за месяц составила 27.4
program z1;
var
i,j,m,k,z,x,l:integer;
begin
readln(m);
for i:=0 to m do begin z:=1;
if i=0 then z:=1 else begin
x:=i;
while x<>0 do begin
z:=z*4;
x:=x-1;
end; end;
if ((z<m) and (z*4>m)) then writeln(i);
if z=m then writeln(i-1);
end;
end.
program z2;
var
i,j,n,k,z,x,l:integer;
begin
readln(n);
for i:=0 to n do begin z:=1;
if i=0 then z:=1 else begin
x:=i;
while x<>0 do begin
z:=z*2;
x:=x-1;
end; end;
if ((z>n) and (z/2<n)) then writeln(i);
if z=n then writeln(i+1);
end;
end.
program z3;
var
i,j,n,k,z,x,s:integer;
begin
readln(n); s:=0;
for i:=1 to n do begin z:=1;
for j:=i to 2*i do
z:=z*j;
s:=s+z; end;
writeln(s);
end.
время 2 ночи
...думаю пора спать )