PASCAL/Khai báo/Khai báo Địa chỉ

From Wikiversity

Bản ghi là kiểu có dạng liệt kê, ví dụ bạn cần những thông tin của một người nào đó thì bạn sẽ cần một danh sach có nội dung như sau: Tên, Tuổi, Giới tính,...

Khai báo Địa chỉ[edit]

Cú pháp[edit]

type
    <tên bn ghi> = RECORD
        <tên trường 1> : <kiu d liu>;
        <tên trường 2> : <kiu d liu>;
		...
    end;
var <tên biến> : <tên bn ghi>;

Ví dụ[edit]

type
    Danhsach = record
        ten : string[25];
        tuoi : byte;
        gioi_tinh : boolean;
    end;
    vidu = record {có thể có nhiều bản ghi}
        a : char;
        b : string[1];
    end;
var nguoia, nguoib, nguoic : Danhsach;
    lul : vidu;

Truy xuất[edit]

Cú pháp: <tên biến>.<tên trường>
Ví dụ: nguoib.tuoi

Ứng dụng[edit]

Thay vì các bạn sẽ tạo các biến như tennguoia, tennguoib, tennguoic, tuoinguoia,... thì bây giờ ta có thể áp dụng kiểu bản ghi, đỡ tốn thời gian và sức lực.

Khai báo khác[edit]

Việc sử dụng type để tạo biến hằng là chuyện có thể làm được, chỉ việc thay const thành type (khai báo hằng gián tiếp). Qua đó và kiểu dữ liệu mới ta có thể tạo ra biến hoặc giá trị của kiểu dữ liệu được xác định.

Cú pháp[edit]

type
	<tên biến> = <kiu d liu>; {khai báo biến gián tiếp}
	<tên hng> = <giá tr>; {khái báo hằng gián tiếp}
	<biến có giá tr ca kiu d liu được xác định>

Ví dụ[edit]

type
	heeloooo = integer; {khai báo biến gián tiếp}
	Max = 35; {khai báo hằng gián tiếp}
	DiemTBlop9A10 : array[1..Max] of real;

Trong đó "Max" chính là kiểu dữ liệu có giá trị được xác định.

Biến con trỏ[edit]

Biến con trỏ là biến chuyên dùng để chứa địa chỉ giúp ta truy cập đến địa chỉ có thể thay đổi được kích thước và địa chỉ vùng nhớ được cấp phát trong quá trình chạy chương trình.

Cú pháp[edit]

type
    <biến con tr> = ^<kiu d liu>;
var <tên biến> : <biến con tr>

Ví dụ:

type
    hello = ^byte;
var int : hello; {khai báo gián tiếp}

Ngoài ra nếu không quan tâm đến kiểu dữ liệu nào, có thể khai báo với cú pháp như sau:

var <tên biến> : pointer;

Truy xuất[edit]

<tên biến đã có địa chỉ>^
Ví dụ: hello^

Ứng dụng[edit]

Khi làm việc chung với số lượng dữ liệu lớn, ta thường làm với mảng nhưng nếu có số lượng phần tử lớn thì sẽ tốn dữ liệu, vả lại còn phải biết trước số lượng giới hạn. Qua đó mà Pascal đã có thêm biến con trỏ để giải quyết được vấn đề này.

Kiểu dữ liệu mới[edit]

Ví dụ bạn chỉ cần một kiểu dữ liệu chỉ gồm những số âm trong đó có số từ -100 đến 0 thì phải làm sao sẽ đỡ tốn dữ liệu ? Tự tạo kiểu dữ liệu đó chính là cách hay nhất.

Cú pháp
type
    <tên kiu d liu mi> = <giá tr đầu>..<giá tr cui>;
Ví dụ
type
    am = -100..0;


Ứng dụng[edit]

Kiểu dữ liệu có giá trị được xác định: giúp thay đổi số liệu dễ dàng và thường ứng dụng cho mảng.
Hằng: ta có thể tạo hằng thẳng trên đây mà không dùng lệnh const.
Biến: có thể sử dụng được biến có kiểu dữ liệu mới hay được xác định.