パスカル-単位

Pascalプログラムは、ユニットと呼ばれるモジュールで構成できます。ユニットは、変数と型宣言、ステートメント、プロシージャなどで構成されるいくつかのコードブロックで構成されている場合があります。Pascalには多くの組み込みユニットがあり、Pascalではプログラマが使用する独自のユニットを定義および記述できます。後でさまざまなプログラムで。

内蔵ユニットの使用

組み込みユニットとユーザー定義ユニットの両方が、uses句によってプログラムに含まれています。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ユニットを作成する際の3つの重要なステップは次のとおりです-

  • ファイルの名前とユニットの名前は完全に同じである必要があります。したがって、ユニットcalculateAreacalculateArea.pasという名前のファイルに保存されます

  • 次の行は単一のキーワードで構成する必要があります interface。この行の後に、このユニットに含まれるすべての関数とプロシージャの宣言を記述します。

  • 関数宣言の直後に、次の単語を記述します implementation、これもキーワードです。キーワード実装を含む行の後に、すべてのサブプログラムの定義を指定します。

次のプログラムは、calculateAreaという名前のユニットを作成します。

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.

上記のコードをコンパイルして実行すると、次の結果が得られます。

Area of Rectangle 5.4 x 4.7 is: 25.380
Area of Circle with radius 7.0 is: 153.938
Area of Triangle 3.0 by 4.0 by 5.0 is: 6.000