Program al;
var a,b,c:integer;
s,p:real;
begin
writeln('vvedite a=');
readln(a);
writeln('b=');
readln(b);
writeln('c=');
readln(c);
p:=(a+b+c)/2;
s:=<span>sqrt(p*(p-a)*(p-b)*(p-c));
writeln('s=',s);
readln;
end.</span>
По черным ящиком (lack box) понимается модуль, алгоритм работы которого неизвестен, соответственно можно только построить алгоритм работы с ним.
Передать исходные данные > получить обработанные данные
Точный наброски измеритель чертежи