Помогите найти ошибку))

0 голосов
22 просмотров

Помогите найти ошибку))


image

Информатика (32 баллов) | 22 просмотров
0

попробуй закомментить эту строку

0

ты понимаешь?

0

S1=area(a, f, e);

0

если ты хочешь, чтобы area, что то возвращала и можно было это значение прировнять переменной, то ты должна ее объявлять как функцию

0

она ничего не возвращает

0

дк у тебя area, это процедура

0

стой

0

и посмотри, будут ли еще ошибки после нее

0

закомментить

0

что?

Дано ответов: 2
0 голосов

Точки с запятой проверь, везде поставила.

(106 баллов)
0

да, там же написано не правильный идентификатор

0

Пример того, что четырехугольник однозначно не определяется длинами сторон - это квадрат и ромб с равными длинами сторон, площади разные у ромба и квадрата.

0

Четырехугольник разбивается на 2 треугольника, а не на 4 треугольника. Если заданы только длины четырех сторон, то можно построить несколько четырехугольников с такими длинами сторон, и площади у них будут разными. Если Вам заданы координаты (x,y) всех 4 вершин, то тогда единственное решение. Если это в пространстве, то есть координаты (x,y,z), то нужно проверять, лежат ли все 4 точки в одной плоскости.

0

нужно найти площадь четырехугольника суммой площадей ,заключенных в нем, треугольников

0

Даже если Вы оформите area как функцию, которая возвращает площадь треугольника, заданного длинами сторон x y z , то значения S1, S2, S3, S4 - будут равны нулю, т.к. значения переменных a,b,c,d,e,f,m,n равны нулю.

0

Поэтому и пишет идентификатор, так как area - это не функция, а процедура. И вообще, не понятна сама логика программы. Что Вы хотите посчитать? Какое назначение переменных a,b,c,d,e,f,m,n ? Они у Вас нигде в программе не задаются, соответственно, равны нулю. Считываете значения переменных S1, S2,S3,S4 а потом пытаетесь изменить значения этих переменных S1:=area( ); В общем, мне не понятно, что должна делать программа.

0

В Вашей задаче, скорее всего, должны вводиться координаты четырех вершин (x,y) четырехугольника, Вы должны посчитать площадь четырехугольника, разбив его на два треугольника.

0

спасибо конечно, но я уже и сама справилась))

0 голосов

Function sq(var x1,y1,x2,y2,x3,y3: real):real;
begin
// вычисляем площадь с помощью
// векторного произведения
 
  sq:=abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))/2;
end;
// основная программа
var x1,y1,x2,y2,x3,y3,x4,y4,s:real;
begin
  write('координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  ');
  readln(x1,y1,x2,y2,x3,y3,x4,y4);
  s:=sq(x1,y1,x2,y2,x3,y3)+sq(x1,y1,x4,y4,x3,y3);
  writeln('площадь четырехугольника S = ',s);
end.

координаты 4 вершин x1 y1 x2 y2 x3 y3 x4 y4 через пробел:  2 2 4 4 7 4 6 2
площадь четырехугольника S = 7

(9.7k баллов)