Var a,d,b,s:real;
begin
write('a = '); readln(a);
write('d = '); readln(d);
b:=sqrt(d*d-a*a);
s:=a*b;
writeln('S = ',s);
end.
Пример:
a = 4
d = 5
S = 12
===== PascalABC.NET =====
type
reals = file of real;
procedure CreateReals(fn: string; var f: reals);
begin
Rewrite(f, fn);
for var i := 1 to 101 do
Write(f, Random(-50.0, 50.0));
f.Close
end;
function GetAverage(f: reals): real;
begin
Result := f.Elements.Average;
end;
function CountElements(f: reals; m: real) :=
f.Elements.Where(p -> p < m).Count;
begin
var f: reals;
var fn := 'Reals.bin';
CreateReals(fn, f);
Reset(f, fn);
var avg := GetAverage(f);
avg.Println;
CountElements(f, avg).Println
end.
Это задача по комбинаторике
всего у нас 10 букв, но главное что они повторятся
У - 2
Т - 1
Р - 1
Ы - 1
И - 2
К - 1
Б - 2
Далее вычисляем кол-во перестановок с повторениями. (Формула в приложении с обьяснением из вики)
N = 10! / (2! * 2! * 2! * 1! * 1! * 1! * 1! ) = 10! / 8 = 453 600