Представим себе фирму, руководство которой столкнулось с про-блемой снижения эффективности работы фирмы по её мере роста и решило упорядочить управленческую деятельность. Первое, что будет сделано на этом пути, — системный анализ деятельности фирмы. Допустим вы тот самый системный аналитик, приглашённый в фирму. Подумайте, что именно вы должны изучить для создания информационной модели, которая найти оптимальный вариант управления, при котором будет достигнута высокая эф-фективность работы фирмы.
// 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
program wstawka;
uses crt;
const min=1;
max=20;
type zona=min..max;
massiw=array[zona] of integer;
var mas:massiw;
i,j:zona;
a,N,M:integer;
T:boolean;
BEGIN randomize;
clrscr; N:=random(20);
writeln('4ucJlo N = ',N);
M:=random(20); Writeln('4ucJlo M = ',M);
for i:=min to max-2 do
begin
mas[i+1]:=mas[i]+random(5);
write(mas[i],' ');
end;
for i:=min to max-2 do
if (mas[i]>N) and (t=false) then
begin
t:=true;
a:=mas[i];
mas[i]:=N;
for j:=i+1 to max do
begin
N:=mas[j];
mas[j]:=a;
a:=N;
end;
end;
for i:=min to max-1 do
if (mas[i]>M) and (t=true) then
begin
t:=false;
a:=mas[i];
mas[i]:=M;
for j:=i+1 to max do
begin
M:=mas[j];
mas[j]:=a;
a:=M;
end;
end;
writeln;
for i:=min to max do
write(mas[i],' ');
readkey;
END.