Поделитесь своими знаниями, ответьте на вопрос:
Выдает ошибки не понимаю что неправильно в программе Program P1; var a, b, c, s, p:integer; Begin write('введите координату a='); readln(a); write('введите координату b='); readln(b); write('введите координату c='); readln(c); p:=(a+b+c)/2; writeln('периметр треугольника =', p); s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('площадь треугольника =', s); end.
Так,сначала теория.
В формуле Герона (коя используется в этой программе) используется полупериметр!
Это означает, что надо ввести переменную полупериметра ( pp, к примеру). Тогда программа примет вид:
program P1;
var
a, b, c, p: integer;
pp, s: real;
begin
write('Введите сторону a = ');
readln(a);
write('Введите сторону b = ');
readln(b);
write('Введите сторону c = ');
readln(c);
p := a + b + c;
writeln('Периметр треугольника P = ', p);
pp := p / 2;
s := sqrt(pp * (pp - a) * (pp - b) * (pp - c));
writeln('Площадь треугольника S = ', s);
end.
Также замечу, что полупериметр и площадь относятся не к целочисленному типу данных.
И да, обращайте внимание на оформление.
Табуляции в программе, "сторона" вместо "координата", пробелы до и после равно, чтобы всё не выглядело слипшимся.