Ничего не вижу , кроме 17
17.ЕГАДВЖБ
В таком виде программа, хотя бы запустится:
program i_2;
const c=2; f=4; g=6;
var r,p: real;
begin
writeln('определение площади треугольника по теореми Герона');
write('нахождение площади');
readln(r);
p:=(c+f+g)/2;
r:=sqrt(p*(p-c)*(p-f)*(p-g))
end.
Но есть куча вопросов:
1) Если c, f, g - стороны треугольника, то что такое - r ?
2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать?
3) Где вывод полученной информации (writeln(r))?
4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя:
program i_2;
var a,b,c,p,s: real;
begin
writeln('Определение площади треугольника по теореме Герона');
write('Введите стороны треугольника: ');
readln(a,b,c);
if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с
такими сторонами не существует')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s:0:3)
end
end.
//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
uses graphABC;
const
kegl = 40;
var
space, line: integer;
procedure M(cx, cy: integer);
begin
MoveTo(cx, cy);
LineTo(cx, cy - kegl );
LineTo(cx + kegl div 2, cy);
LineTo(cx + kegl, cy - kegl);
LineTo(cx + kegl, cy);
end;
procedure I(cx, cy: integer);
begin
MoveTo(cx, cy - kegl);
LineTo(cx, cy );
LineTo(cx + kegl, cy - kegl);
LineTo(cx + kegl, cy);
end;
procedure R(cx, cy: integer);
begin
MoveTo(cx, cy);
LineTo(cx, cy - kegl);
LineTo(cx + kegl, cy - kegl);
LineTo(cx + kegl, cy - kegl div 2);
LineTo(cx, cy - kegl div 2);
end;
begin
space := kegl div 2;
SetWindowSize(4 * space + 3 * kegl, 4 * space + 3 * kegl );
line := space + kegl;
M(space, line );
I(2 * space + kegl, line );
R(3 * space + 2 * kegl, line );
line := 2 * space + 2 * kegl;
R(space, line );
I(2 * space + kegl, line );
M(3 * space + 2 * kegl, line );
line := 3 * space + 3 * kegl;
M(space, line );
I(2 * space + kegl, line );
M(3 * space + 2 * kegl, line );
end.
Количество вершин:
1) 4
2) 6
3) 8
4) 5
Количество ребер:
1) 2
2) 4
3) 2
4) 2
Количество циклов:
-
-
-
-