Модули в ТП
Компиляция модулей
Для того, чтобы стало возможным использование модуля в различных внешних программах его необходимо предварительно откомпилировать (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.
Назад
Далее