<h3>PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var (a, b) := ReadInteger2('Введите границы диапазона a и b:');
var (s, n) := (0, 0);
for var x := a to b do
if x.IsOdd and (x mod 5 <> 0) then (s, n) := (s + x, n + 1);
Println(s / n)
end.
<h2>Пример</h2><h3>Введите границы диапазона a и b: 15 149</h3><h3>82.5185185185185 </h3>
N=30+10=40, 2^i=40, i=6 бит
7*6:8≈6 байт
V=32*6=192 байта
Var i:integer;
begin
for i:=1 to 30 do
if i mod 2=0 then write(i,' ');
writeln;
for i:=10 to 20 do
if i mod 2=1 then write(i,' ');
end.
15(8) = 1111(2)
1E(16) = 30(10) = 11110(2)
1011(2)+1111(2)+11110(2)=111000(2)=56(10)=320(4)
Const N = 5; M = 10; var a: array [1..N, 1..M] of real; s, R: real; kol, i, j: integer; //kol - количество чисел begin writeln('Введите R'); readln(R); for i:= 1 to N do for j:= 1 to M do begin writeln('Введите a[', i, ', ', j, ']'); readln(a[i, j]); if a[i, j] > R then begin kol:= kol + 1; s:= s + a[i, j]; end; end; s:= s / kol; writeln(kol, ' чисел > ', R); writeln('Среднее арифметическое равно ', s);<span>end. </span>