Program Pr_1; {Заголовок программы Pr_1}
var {Раздел описаний}
a, b, c, alf, bet : real; {Переменные a, b, c, alf, bet - вещественные}
Begin {Тело программы}
Write('a='); {Вывод запроса на экран}
Read (a); {Ввод значения а с клавиатуры}
Write('b='); {Вывод запроса на экран}
Read (b); {Ввод значения b с клавиатуры}
c:=sqrt(a*a+b*b); {Вычисление гипотенузы с}
alf:=arctan(a/b); {Вычисление угла alf}
bet:=arctan(b/a); {Вычисление угла bet}
Writeln('c=',c:6:2); {Вывод ответа}
Writeln('Радианы'); {Вывод ответа: углы в радианах}
Writeln('alf=',alf:6:2,'bet=',bet:6:2);
End. {Конец программы}
// 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 Pr_1; {Заголовок программы Pr_1}
var {Раздел описаний}
a, b, c, alf, bet : real; {Переменные a, b, c, alf, bet - вещественные}
Begin {Тело программы}
Write('a='); {Вывод запроса на экран}
Read (a); {Ввод значения а с клавиатуры}
Write('b='); {Вывод запроса на экран}
Read (b); {Ввод значения b с клавиатуры}
c:=sqrt(a*a+b*b); {Вычисление гипотенузы с}
alf:=arctan(a/b); {Вычисление угла alf}
bet:=arctan(b/a); {Вычисление угла bet}
Writeln('c=',c:6:2); {Вывод ответа}
Writeln('Радианы'); {Вывод ответа: углы в радианах}
Writeln('alf=',alf:6:2,'bet=',bet:6:2);
End. {Конец программы}