В онлайне сделать попробуй
<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
SeqGen(ReadInteger('n='),i->1/(2*i),1).Println.Sum.Println
end.
<u>Пример</u>
n= 6
0.5 0.25 0.166666666666667 0.125 0.1 0.0833333333333333
1.225
<em>// PascalABC.NET 3.2, сборка 1427 от 24.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=SeqRandom(ReadInteger('n='),-50,50).Select(n->double(n/10)).ToArray;
a.ForEach(x->Write(x:0:1,' ')); Writeln;
Writeln('Сумма отрицательных: ',a.Where(x->x<0).Sum);
var p:=a.IndexMin;
var q:=a.IndexMax;
if p>q then Swap(p,q);
Writeln('Произведение на интервале: ',
a[p+1:q].Aggregate(1.0,(x,y)->x*y));
Writeln('Сортировка:');
a.Sort; a.ForEach(x->Write(x:0:1,' ')); Writeln;
end.
<u>Пример</u>
n= 13
1.7 -0.8 -1.3 -1.4 5.0 -3.1 -0.7 -2.7 2.6 -4.9 4.0 -2.0 -2.0
Сумма отрицательных: -18.9
Произведение на интервале: -15.2334
Сортировка:
-4.9 -3.1 -2.7 -2.0 -2.0 -1.4 -1.3 -0.8 -0.7 1.7 2.6 4.0 5.0
Const
n = 40;
var
x: array[1..n] of integer;
i, k, s: integer;
begin
Randomize;
Writeln('Элементы массива');
k := 0; s := 0;
for i := 1 to n do
begin
x[i] := Random(50);
Write(x[i]:3);
end;
Writeln;
Writeln('Элементы со значением в интервале [7;10]');
for i := 1 to n do
if (x[i] >= 7) and (x[i] <= 10) then
begin
k := k + 1; s := s + x[i];
Write(x[i]:3)
end;
if k = 0 then Writeln('не найдены')
else Writeln(#13#10, ' Элементов:', k, ', среднее арифметическое=', s / k:5:3)
end.
Тестовое решение:
Элементы массива
24 33 36 29 12 7 5 36 3 48 40 40 46 6 10 23 33 3 38 48 29 37 11 40 44 16 17 18 34 38 33 39 9 0 41 37 42 2 40 31
Элементы со значением в интервале [7;10]
7 10 9
Элементов:3, среднее арифметическое=8.667