задания.
function isConvex4 (A, B, C, D: point): boolean;
begin
if (isClockWise (A, B, C)) then
isConvex4 := isClockWise (B, C, D) and
isClockWise (C, D, A) and
isClockWise (D, A, B)
else
isConvex4 := (not isClockWise (B, C, D)) and
(not isClockWise (C, D, A)) and
(not isClockWise (D, A, B))
end;
Эта функция работает в неособых случаях. Программа, которая удовлетворяет требованию задания может, например, проверять сначала, не лежат ли какие-то 3 точки на одной прямой, вызывая 4 раза функцию isStraightLine.
Теперь - задания. Первое - G1.5 - на проверку условий, оно похоже на предыдущие примеры. Что касается задания G1.6, то оно несколько иного рода, так что его решение требует какой-то новой идеи. Во всех заданиях считается, что входные данные корректны, т.е. никакие 2 введенные точки не совпадают.
Упражнение #1.
Даны 3 точки A, B и C, лежащие на одной прямой. Определить, какая из них лежит между двумя другими.
Упражнение #2.
Даны 4 точки A,