Написать программу в паскале, которая вычисляет среднее арифметическое ненулевых элементов массива м[1..100], элементы которого вычисляются по формуле: м[i]=sin(i)*cos(i) нужно, .

TheVadCom TheVadCom    2   19.07.2019 19:40    2

Ответы
Maximus20161 Maximus20161  22.09.2020 16:10
1. Вот так сейчас решают подобные задачи:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
  Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.

Тестовое решение:
-0.00136006072493969

2. А вот так учат писать это же школьные учителя:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
  m:array[1..100] of real;
  i,k:integer;
  s:real;

begin
  s:=0;
  k:=0;
  for i:=1 to 100 do begin
    m[i]:=sin(i)*cos(i);
    if m[i]<>0 then begin
      s:=s+m[i];
      k:=k+1
      end
    end;
  Writeln(s/k)
end.

Тестовое решение:
-0.00136006072493969
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика