Предмет: Информатика
ГДЗ Учебник по Информатике 9 класс Босова

Напишите функцию, вычисляющую площадь треугольника по координатам его вершин

ЧАТ-БОТ: ГДЗ с нейронкой

§ 1.2 Запись вспомогательных алгоритмов на языке Паскаль
Задание 10. Напишите функцию, вычисляющую площадь треугольника по координатам его вершин. Напишите программу вычисления площади четырёхугольника по координатам его вершин с помощью этой функции.


Программа на ЯП Паскаль:

program Zadacha10;
var 
  x1, x2, x3, y1, y2, y3, x4, y4, S1, S2, S: real;

// Функция вычисления площади треугольника по координатам
function plosad(x1, y1, x2, y2, x3, y3: real): real;
begin
  plosad := abs(((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)) / 2);
end;

BEGIN
  writeln('Приветствую, введите координаты вершин четырехугольника.');
  write('x1 = '); read(x1);
  write('y1 = '); read(y1);
  write('x2 = '); read(x2);
  write('y2 = '); read(y2);
  write('x3 = '); read(x3);
  write('y3 = '); read(y3);
  write('x4 = '); read(x4);
  write('y4 = '); read(y4);
  
  Writeln('Координаты: A[', x1, ';', y1, ']; B[', x2, ';', y2, ']; C[', x3, ';', y3, ']; D[', x4, ';', y4, '];');
  
  S1 := plosad(x1, y1, x2, y2, x3, y3);
  S2 := plosad(x1, y1, x3, y3, x4, y4);
  S := S1 + S2;
  
  Writeln('Площадь четырехугольника равна ', S:0:2);
END.

Пример программы на языке Python:

def area(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float) -> float:
    return abs(((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)) / 2)
# Основная часть программы
print('Приветствую, введите координаты вершин четырехугольника.')
x1 = float(input('x1 = '))
y1 = float(input('y1 = '))
x2 = float(input('x2 = '))
y2 = float(input('y2 = '))
x3 = float(input('x3 = '))
y3 = float(input('y3 = '))
x4 = float(input('x4 = '))
y4 = float(input('y4 = '))
print(f'Координаты: A[{x1}; {y1}]; B[{x2}; {y2}]; C[{x3}; {y3}]; D[{x4}; {y4}];')
S1 = area(x1, y1, x2, y2, x3, y3)  # Площадь треугольника ABC
S2 = area(x1, y1, x3, y3, x4, y4)  # Площадь треугольника ACD
S = S1 + S2  # Общая площадь четырехугольника
print(f'Площадь четырехугольника равна {S:.2f}')