Модули в ТП

Компиляция модулей


Для того, чтобы стало возможным использование модуля в различных внешних программах его необходимо предварительно откомпилировать (Compile – Destination Memory сменить на Disk – компиляция на диск). В результате компиляции создается файл с одноименным названием и расширением tpu

Например: при использовании в основной программе модуля snow на диске уже должен находиться файл snow.tpu.

Пример 4.

a) Создадим модуль для вычисления натуральной степени целого числа.

Unit stepen ;
Interface
function deg(x,n:integer):longint;
implementation
function deg;
var I,p:integer;
begin
p:=1;
for i:=1 to n do
p:=x*p;
deg:=p;
end;
end.

Текст этого модуля необходимо помесить в файл stepen.pas и откомпилировать его, создав файл stepen.tpu, после чего внешним программам будет доступна функция deg.

b) Напишем программу для вычисления y=an+bm, с использованием модуля stepen.

Program raschet;
Uses crt,stepen;
Var a,n,b,m,y:integer;
Begin
Clrscr;
Writeln(‘введите a, n, b, m’);
Readln(a,n,b,m);
Y:=deg(a,n)+deg(b,m);
Witeln(‘y=’,y);
Readkey;
End.

Пример 5.

a) Напишем процедуру, рисующую снежинку, произвольного размера и цвета. Поместим эту процедуру в модуль snow.tpu

unit snow;
interface
uses graph;
var gd,gm:integer;
procedure show_sneg(x,y,color,razmer:integer);
implementation
procedure show_sneg(x,y,color,razmer:integer);
begin
setcolor(color);
line(x-razmer,y,x+razmer,y);
line(x,y-razmer,x,y+razmer);
line(x-round(razmer/2),y-round(razmer/2),x+round(razmer/2),y+round(razmer/2));
line(x+round(razmer/2),y-round(razmer/2),x-round(razmer/2),y+round(razmer/2));
end;
begin
gd:=detect; initgraph(gd,gm,' ');
end.

b) Напишем программу «снегопад»- появление снежинок случайного цвета и размера в случайном месте экрана.

program snows;
uses graph,crt,snow;
var x,y,cvet,r:integer;
begin
randomize;
repeat
cvet:=random(14)+1; r:=random(20)+5;
x:=random(600); y:=random(400);
show_sneg(x,y,cvet,r); delay(2000);
{ show_sneg(x,y,0,r); - «стирать» снежинки с экрана}
until keypressed;
closegraph;
end.










Назад

Далее