Цитата:
Сообщение от ummasha
Насчет второй задачи: туда ведь можно добавить проверку положительности сторон треугольника:
VAR
a,b,c,p,S:REAL;
BEGIN
Write('a = '); Readln(a);
Write('b = '); Readln(b);
Write('c = '); Readln(c);
If (a>0)and(b>0)and(c>0) then
begin
p:=(a+b+c)/2;
S:=p*(p-a)*(p-b)*(p-c);
IF S<0 THEN WriteLn('Initial values are incorrect!')
ELSE Writeln('S = ', S:10:5);
READLN;
end
else WriteLn('Initial values are incorrect!')
END.
|
Да... и впрямь - проверку положительности я как-то пропустил... видимо интуитивно полагая, что ввести отрицательное значение стороны треугольника можно только с очень тяжелого бодуна. Но раз требуют... Спасибо, Маша, что поправили.
P.S. Ой, сейчас заметил. Маша, Вы неверно набили строку
ELSE Writeln('S = ', S:10:5);
Надо как у меня:
ELSE Writeln('S = ', SQRT(S):10:5);
В формуле Герона произведение четырех биномов сидит под корнем.