Sách Giải

https://sachgiai.com

Đơn vị (unit) của Turbo Pascal

Như đã nói sơ lược ở trên, trong Turbo Pascal, Unit là một tập hợp gồm các hằng, kiểu dữ liệu, biến, thủ tục và hàm. Nó giống như một thư viện gồm các khai báo mà ta có thể đưa vào sử dụng trong chương trình của mình.
1. GIỚI THIỆU
Như đã nói sơ lược ở trên, trong Turbo Pascal, Unit là một tập hợp gồm các hằng, kiểu dữ liệu, biến, thủ tục và hàm. Nó giống như một thư viện gồm các khai báo mà ta có thể đưa vào sử dụng trong chương trình của mình. Thông thường một đơn vị chứa các khai báo có liên quan nhau và mỗi đơn vị có thể được dịch riêng rẽ, kết quả sau khi dịch là một File có tên là tên của đơn vị và có phần mở rộng là TPU. Và khi chương trình chính của chúng ta có khai báo sử dụng đơn vị có tên đó thì ta có thể dùng tất cả các khai báo trong Unit ấy, điều này tránh cho chúng ta khỏi phải xây dựng từ đầu tất cả các chỉ thị cần thiết và khiến cho chương trình này có thể sử dụng các khai báo của chương trình khác.

2. HỆ THỐNG UNIT TRÊN TURBO PASCAL 5.5
Trên Turbo Pascal 5.5, công ty Borland đã thiết kế sẵn các unit sau đây:
• Unit System: Gồm các hàm, thủ tục, hằng, biến và từ khóa trong Pascal chuẩn. Unit System coi như được sử dụng một cách tự động cho mọi chương trình hay đơn vị. Nghĩa là không cần khai báo uses system.
• Unit Graph: Gồm các hàm, thủ tục, hằng, biến liên quan đến chế độ đồ thị của các loại màn hình khác nhau.
• Unit Crt: Cung cấp những khả năng làm việc với chế độ test (bàn phím, con trỏ, màn hình).
• Unit Dos: Cung cấp những chức năng làm việc với hệ điều hành Dos.
• Unit Printer: Cung cấp các khả năng về in ấn.
Các Unit System, Crt, Dos, Printer được lưu trong TURBO.TPL. Khi nạp TURBO các Unit trong TURBO.TPL được tự động nạp vào nếu ta muôn dùng một lệnh trong CRT thì sau từ khóa Program...; ta phái có câu lệnh USES CRT;
Ta có thể dùng nhiều hơn một UNIT.
■ Ví dụ: USES CRT, GRAPH.

3. UNIT TỰ TẠO
a) Cấu trúc của một UNIT
Một Unit thông thường gồm:
• Phần tên của đan vị gồm có: Từ khóa Unit, tên đơn vị và dấu;
■ Ví dụ: UNIT MYFUNC;
• Phần giao tiếp với bên ngoài gồm có:
Từ khóa INTERFACE, sau đó là (không bắt buộc) các khai báo USES, CONST, TYPE, VAR và các Hàm, Thủ tục (chỉ khai báo tên, các tham biến, kiểu kết quả). Các hằng, kiểu biến chương trình con khai báo trong phần giao tiếp của một đơn vị sẽ dùng được cho nơi sử dụng đơn vị đó.
■ Ví dụ: INTERFACE
FUNCTION Giai_thừa (n: interger): longint;
• Phần cài đặt bên trong UNIT gồm có:
Từ khóa IMPLEMENTATION, sau đó là (không bắt buộc) các khai báo USES, LABEL, CONST, TYPE, VAR, chương trình con. Các chương trình con khai báo trong phần hiện thực gồm có các chương trình con đã khai báo ở phần giao tiếp và các chương trình con riêng của phần cài đặt bên trong UNIT (Do đó không dùng được cho nơi sử dụng đơn vị đó, nơi sử dụng không biết gì về chúng).
■ Ví dụ:
IMPLEMENTATION
FUNCTION Giaithua;
VAR Tam thoi: Longint;
K: 1..30;
BEGIN
Tamthoi := 1;
FOR K := 1 To i Do
Tamthoi:= Tamthoi *K;
Giaithua:= Tamthoi;
END;
• Phần kết thúc UNIT với từ khóa END.
Sau đây là toàn bộ một UNIT đơn giản gồm bốn phần trên ráp lại:
UNIT MYFUNC;
INTERFACE
     Function Giai thua (n: integer): longint;
IMPLEMENTATION
     Function Giaithua;
     VAR Tamthoi: Longint;
          K: 1..30;
     BEGIN
     Tam thoi:= 1;
      FOR K:= 1 To n Do
           Tamthoi := Tamthoi *K;
            Giaithua := Tamthoi;
       END;
END.
b) Cách tạo ra một UNIT
Ta có thể tạo ra một Unit theo trình tự sau:
• BƯỚC 1: Tạo ra một File.PAS có cấu trúc như đã nói ở trên.
■ Ví dụ:
MYFUNC.PAS
(Chú ý: Tên File phải trùng với tên đơn vị).
■ Ví dụ:
Tên File đã là MYFUNC.PAS thì tên đơn vị phải là: UNIT MYFUNC.
• BƯỚC 2: Dịch sẵn File này lên đĩa theo trình tự sau:
- Chọn Alt-C vào menu Compile.
- Đổi menu con Destination từ Memory sang Disk bằng cách gõ Enter.
- Trên đĩa ta đã có File MYFUNC.TPU
• BƯỚC 3: UNIT MYFUNC ta chỉ cần khai báo USES MYFUNC thì các hàm và thủ tục đó sẽ được coi như các hàm và thủ tục chuẩn.

4. VÍ DỤ VỀ UNIT
UNIT HTRON;
INTERFACE
    CONST PI = 3,14159;
    FUNCTION Dientich (R: Real): Real;
IMPLEMENTATION
    FUNCTION Dientich;
    BEGIN
         Dientich:= Pi * sqr(R);
    END;
END. {UNIT}
Bây giờ ta viết một chương trình làm nhiều lần công việc in ra diện tích hình tròn với bán kính nhập từ bàn phím cho đến khi bán kính nhập vào là -1 thì kết thúc.
PROGRAM Dien_tich_tron;
USES HTRON;
VAR
      Bankinh: Real;
BEGIN
      Writeln ('Sử dụng số Pi có giá trị là : ‘, Pi);
      {Hàm số Pi đã khai báo trong UNIT HTRON}
       REPEAT
           Write ('Xin cho biết bán kính :')
           Readln (Bankinh);
           IF bankinh >= 0 then
           Writeln (('Diện tích ='), Dientich (Ban kinh));
       UNTIL Bankinh = -1
END.
Bản quyền bài viết thuộc về Sachgiai.com. Ghi nguồn Sách giải.com khi đăng lại bài viết này.
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây