Паскаль: область дії, модулі, структури, Детальна інформація

Паскаль: область дії, модулі, структури
Тип документу: Реферат
Сторінок: 10
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 22.1
Скачувань: 952
Написати функцію перевірки рівності двох елементів відповідного типу.

4. Приклади створення та використання модулів

Приклад 7.4. Ще раз повернемося до задачі 3.21 і напишемо варіант її розв'язання, реалізувавши поняття "точка площини" і "пряма площини" у новому модулі Geoplan. Його інтерфейсний розділ має починатися з означень імен типів для множин точок і прямих:

type Point : record x, y : real end;

Line : record a, b, c : real end;

Далі запишемо заголовки підпрограм normcoef і oneside, указавши замість пар і трійок дійсних параметрів параметри типу Point і Line:

procedure normcoef(p1, p2 : Point; var lin : Line);

function oneside(p1, p2 : Point; lin : Line) : boolean;

Далі додамо заголовок підпрограми "читання точки", яку природно викликати в програмах, що мають справу з точками:

procedure RdPoint(var p : Point);

Далі нам будуть потрібні інші типи та підпрограми – додаватимемо їх до модуля за необхідності. А поки інтерфейсний розділ на цьому закінчується.

У розділі реалізації запишемо блоки підпрограм із скороченими заголовками, описавши обробку параметрів через обробку їх компонентів:

procedure normcoef;

begin

if p1.x=p2.x then

begin lin.b:=0; lin.a:=1; lin.c:=-p1. x end

else

begin

lin.b := 1; lin.a := (p1.y - p2.y)/(p2.x - p1.x);

lin.c := -p1.y - lin.a * p1.x

end

end;

function oneside;

begin

oneside:=(lin.a*p1.x+lin.b*p1.y+lin.c)*(lin.a*p2.x+lin.b*p2.y+lin.c)>0

end;

Читання точки задається через читання її координат:

procedure RdPoint;

begin readln(p.x, p.y) end;

От, власне, і весь модуль Geoplan – його остаточне оформлення залишаємо як вправу (див. підрозділи 7.1, 7.2).

The online video editor trusted by teams to make professional video in minutes