var
S: real;
i, k, l: integer;
begin
S := 1;
for i := 1 to 12 do
begin
k := 1; l := 1;
while (k <= i) do
begin
l := l * 3;
k := k + 1;
end;
S := S + 1 / l;
end;
writeln(S);
end.
-------------
function len(s: integer): byte;
var
i, l: byte;
begin
l := s;
while (l > 0) do
begin
l := l div 10;
inc(i);
end;
len := i;
end;
var
i: integer;
begin
i := 3;
repeat
i := i * 3;
until (len(i) = 6);
writeln(i);
end.
---------------
var
D, x: real;
y: integer;
begin
readln(x);
if (x > 0) then
for y := 1 to 5 do
D := D + (y + cos(x))
else
begin
D := 1;
while (y <= 10) do
begin
D := D * (y - x);
inc(y);
end;
end;
writeln('D = ', D);
end.
<em>1. Современное, короткое и быстрое решение</em>
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(16,-20,80); a.Println;
Writeln('S=',a.Where((x,i)->i.IsOdd).Sum)
end.
<u>Пример</u>
61 64 70 22 76 22 18 44 36 53 29 -9 42 -19 66 34
S=211
<em>2. А вот так все еще учат в большинстве школ (стиль образца 70-80х годов прошлого века)</em>
const
n=16;
var
i,s:integer;
a:array[1..n] of integer;
begin
Randomize;
s:=0;
for i:=1 to n do begin
a[i]:=Random(101)-20;
Write(a[i],' ');
if i mod 2=0 then s:=s+a[i]
end;
Writeln;
Writeln('S=',s)
end.
Я пойду по второму пути. Пусть некто измерял среднее число крыс в своём подвале и количество испорченных продуктов (в граммах). Результаты приведены в таблице.
По графику похоже, что корреляция есть, T-критерий Пирсона это подтверждает.