Pascal - Unità
Un programma Pascal può essere costituito da moduli chiamati unità. Un'unità può consistere di alcuni blocchi di codice, che a loro volta sono costituiti da variabili e dichiarazioni di tipo, istruzioni, procedure, ecc. Ci sono molte unità integrate in Pascal e Pascal consente ai programmatori di definire e scrivere le proprie unità da utilizzare in seguito in vari programmi.
Utilizzo di unità integrate
Sia le unità integrate che quelle definite dall'utente sono incluse in un programma dalla clausola uses. Abbiamo già utilizzato l'unità varianti nel tutorial Pascal - Variants . Questo tutorial spiega la creazione e l'inclusione di unità definite dall'utente. Tuttavia, vediamo prima come includere un'unità incorporatacrt nel tuo programma -
program myprog;
uses crt;
L'esempio seguente illustra l'utilizzo di crt unità -
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.
È lo stesso programma che abbiamo usato all'inizio del tutorial Pascal, compilarlo ed eseguirlo per trovare gli effetti del cambiamento.
Creazione e utilizzo di un'unità Pascal
Per creare un'unità, è necessario scrivere i moduli o sottoprogrammi che si desidera memorizzare in essa e salvarli in un file con .pasestensione. La prima riga di questo file dovrebbe iniziare con la parola chiave unit seguita dal nome dell'unità. Ad esempio:
unit calculateArea;
Di seguito sono riportati tre passaggi importanti nella creazione di un'unità Pascal:
Il nome del file e il nome dell'unità dovrebbero essere esattamente gli stessi. Quindi, la nostra unità CalcolaArea verrà salvata in un file denominato CalcolaArea.pas.
La riga successiva dovrebbe essere costituita da una singola parola chiave interface. Dopo questa riga, scriverete le dichiarazioni per tutte le funzioni e procedure che verranno in questa unità.
Subito dopo le dichiarazioni di funzione, scrivi la parola implementation, che è ancora una parola chiave. Dopo la riga contenente l'implementazione della parola chiave, fornire la definizione di tutti i sottoprogrammi.
Il seguente programma crea l'unità denominata calcolareArea -
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.
Quindi, scriviamo un semplice programma che utilizzi l'unità che abbiamo definito sopra -
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.
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
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