координат:
procedure RdPoint;
begin readln(p.x, p.y) end;
От, власне, і весь модуль Geoplan – його остаточне оформлення залишаємо як вправу (див. підрозділи 7.1, 7.2).
З використанням цього модуля програма Intriang набуває вигляду:
program intriang(input, output);
uses Geoplan;
var p, {точка}
pt1, pt2, pt3 : Point; {вершини}
lin1, lin2, lin3: Line; {прямі}
begin
writeln('задайте координати точки площини:'); RdPoint(p);
writeln('задайте координати трьох точок площини:');
RdPoint(pt1); RdPoint(pt2); RdPoint(pt3);
normcoef(pt3, pt2, lin1);
normcoef(pt3, pt1, lin2);
normcoef(pt1, pt2, lin3);
if oneside(p, pt1, lin1) and
oneside(p, pt2, lin2) and
oneside(p, pt3, lin3)
then writeln('Так, точка всередині трикутника ')
else writeln('Ні, точка зовні трикутника ')
end.
Задачі
7. Розв'язати задачі 3.20–3.22 з використанням модуля Geoplan, за необхідності додавши в нього нові означення.
8. Написати програму перевірки:
а) чи лежать три точки площини на одній прямій;
б) чи проходить пряма через дану точку площини;
в)*чи належить точка площини заданому многокутнику (про його завдання див. приклад 7.5).
9. Раціональне число подається нескоротним дробом A/B, де B>0. Написати модуль, що містить означення типу раціональних чисел, підпрограми їх читання й запису, підпрограми застосування алгебраїчних операцій та порівняння (приклад 7.2). Додати в розділ реалізації модуля допоміжні підпрограми обчислення найбільшого спільного дільника двох цілих і скорочення дробу. З використанням модуля написати "найпростіший калькулятор" раціональних чисел (див. приклад 5.3).