Учебники

Паскаль — Единицы

Программа на Паскале может состоять из модулей, называемых модулями. Модуль может состоять из нескольких блоков кода, которые, в свою очередь, состоят из переменных и объявлений типов, операторов, процедур и т. Д. В Pascal есть много встроенных модулей, и Pascal позволяет программистам определять и записывать свои собственные используемые модули. позже в различных программах.

Использование встроенных модулей

Как встроенные, так и определяемые пользователем модули включаются в программу с помощью использования. Мы уже использовали модуль вариантов в учебнике по Паскалю — Варианты . В этом руководстве объясняется создание и включение пользовательских единиц. Тем не менее, давайте сначала посмотрим, как включить встроенный модуль CRT в вашу программу —

program myprog;
uses crt;

Следующий пример иллюстрирует использование модуля crt

Program Calculate_Area (input, output);
uses crt;
var 
   a, b, c, s, area: real;

begin
   textbackground(white); (* gives a white background *)
   clrscr; (*clears the screen *)
   
   textcolor(green); (* text color is green *)
   gotoxy(30, 4); (* takes the pointer to the 4th line and 30th column) 
   
   writeln('This program calculates area of a triangle:');
   writeln('Area = area = sqrt(s(s-a)(s-b)(s-c))');
   writeln('S stands for semi-perimeter');
   writeln('a, b, c are sides of the triangle');
   writeln('Press any key when you are ready');
   
   readkey;
   clrscr;
   gotoxy(20,3);
   
   write('Enter a: ');
   readln(a);
   gotoxy(20,5);
   
   write('Enter b:');
   readln(b);
   gotoxy(20, 7);
   
   write('Enter c: ');
   readln(c);

   s := (a + b + c)/2.0;
   area := sqrt(s * (s - a)*(s-b)*(s-c));
   gotoxy(20, 9);
   
   writeln('Area: ',area:10:3);
   readkey;
end.

Это та же самая программа, которую мы использовали в самом начале урока по Паскалю, скомпилируйте и запустите ее, чтобы найти результаты изменений.

Создание и использование модуля Pascal

Чтобы создать модуль, вам нужно написать модули или подпрограммы, которые вы хотите сохранить в нем, и сохранить его в файле с расширением .pas . Первая строка этого файла должна начинаться с ключевого слова unit, за которым следует имя модуля. Например —

unit calculateArea;

Ниже приведены три важных шага в создании модуля Pascal —

  • Название файла и название устройства должны быть точно такими же. Таким образом, наш модуль CalculayArea будет сохранен в файле с именем calcArea.pas.

  • Следующая строка должна состоять из единственного ключевого интерфейса . После этой строки вы напишите декларации для всех функций и процедур, которые появятся в этом модуле.

  • Сразу после объявления функции напишите слово реализация , которое снова является ключевым словом. После строки, содержащей ключевое слово реализации, укажите все подпрограммы.

Название файла и название устройства должны быть точно такими же. Таким образом, наш модуль CalculayArea будет сохранен в файле с именем calcArea.pas.

Следующая строка должна состоять из единственного ключевого интерфейса . После этой строки вы напишите декларации для всех функций и процедур, которые появятся в этом модуле.

Сразу после объявления функции напишите слово реализация , которое снова является ключевым словом. После строки, содержащей ключевое слово реализации, укажите все подпрограммы.

Следующая программа создает модуль с именем calcArea —

unit CalculateArea;
interface

function RectangleArea( length, width: real): real;
function CircleArea(radius: real) : real;
function TriangleArea( side1, side2, side3: real): real;

implementation

function RectangleArea( length, width: real): real;
begin
   RectangleArea := length * width;
end;

function CircleArea(radius: real) : real;
const
   PI = 3.14159;
begin
   CircleArea := PI * radius * radius;
end;

function TriangleArea( side1, side2, side3: real): real;
var
   s, area: real;

begin
   s := (side1 + side2 + side3)/2.0;
   area := sqrt(s * (s - side1)*(s-side2)*(s-side3));
   TriangleArea := area;
end;

end.

Далее, давайте напишем простую программу, которая будет использовать модуль, который мы определили выше —

program AreaCalculation;
uses CalculateArea,crt;

var
   l, w, r, a, b, c, area: real;

begin
   clrscr;
   l := 5.4;
   w := 4.7;
   area := RectangleArea(l, w);
   writeln('Area of Rectangle 5.4 x 4.7 is: ', area:7:3);

   r:= 7.0;
   area:= CircleArea(r);
   writeln('Area of Circle with radius 7.0 is: ', area:7:3);

   a := 3.0;
   b:= 4.0;
   c:= 5.0;
  
   area:= TriangleArea(a, b, c);
   writeln('Area of Triangle 3.0 by 4.0 by 5.0 is: ', area:7:3);
end.

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —