Паскаль: область дії, модулі, структури, Детальна інформація
Паскаль: область дії, модулі, структури
Написати функцію перевірки рівності двох елементів відповідного типу.
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).
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
© Referats, Inc · All rights reserved 2021