Học Pascal/Khai báo

Tủ sách mở Wikibooks
Bước tới điều hướng Bước tới tìm kiếm

Khai báo Unit mới[sửa]

Học Pascal/Thư viện

Khai báo tên chương trình[sửa]

Khi mở đầu chương trình, ta có thể đặt tên cho chương trình đó qua lệnh program.

Cú pháp[sửa]

program <tên chương trình>;

Ví dụ:

program hello;

Lúc này tên chương trình là "hello"

Ứng dụng[sửa]

Việc đặt tên cho chương trình nên ngắn gọn nhưng vẫn có ý nghĩa.

Ví dụ: program Test_Program;

Khai báo thư viện[sửa]

Học Pascal/Thư viện

Khai báo hằng[sửa]

Hằng số là những số có giá trị không đổi được mà chỉ cố định ở một giá trị đã định trước, nếu cố gắng thay đổi giá trị của biến hằng thì chương trình sẽ báo lỗi.

Cú pháp[sửa]

const <tên hng> = <giá tr>;

Chú ý: Không dùng dấu := mà phải dùng dấu = khi khai báo hằng

Ví dụ:

const pi = 3.141; {khai báo trực tiếp}

Lúc này hằng "pi" có giá trị là "3.141", pascal sẽ hiểu ngay hằng "pi" sẽ là số thực, do đó không cần khai báo biến hằng.

Ứng dụng[sửa]

Ví dụ bạn có rất nhiều số cần chia cho số "2511.2004". Vậy không lẽ bạn sẽ phải ghi số đó ra, hằng sẽ giúp bạn làm chuyện này (mặc dù biến vẫn làm được). Hằng không thể bị thay đổi giá trị chính là thứ làm khác biệt với biến, bạn có thể ứng dụng chúng.

Khai báo địa chỉ[sửa]

Bản ghi[sửa]

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 list có nội dung như sau: Tên, Tuổi, Giới tính,...

Cú pháp[sửa]

Khai báo gián tiếp[sửa]
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ụ:

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;
Khai báo trực tiếp[sửa]
var <tên biến> : RECORD
        <tên trường 1> : <kiu d liu>;
        <tên trường 2> : <kiu d liu>;
        ...
    end;

Ví dụ:

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

Truy xuất[sửa]

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

Ứng dụng[sửa]

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.

Biến con trỏ[sửa]

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[sửa]

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[sửa]

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

Ứng dụng[sửa]

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[sửa]

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[sửa]

type
    <tên kiu d liu mi> = <giá tr đầu>..<giá tr cui>;

Ví dụ:

type
    am = -100..0;

Ứng dụng[sửa]

Việc tạo ra các kiểu dữ liệu mới làm cho việc lấy số liệu cần thiết và đỡ tiêu hao tài nguyên máy.

Khai báo khác[sửa]

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[sửa]

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ụ:

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.

Ứng dụng[sửa]

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.

Khai báo biến[sửa]

Biến số dùng để ám chỉ một số có giá trị biến đổi. Có 2 loại biến : biến thường và biến con trỏ.

Biến thường[sửa]

Cú pháp[sửa]

var <tên biến> : <kiu d liu>; {biến động}

Vd:

var loops : real;

Ứng dụng[sửa]

Dùng để lưu trữ thông tin hay dữ liệu trong một dạng hỗn hợp kí tự để dễ nhớ và dễ code hơn.

Biến dùng đếm giúp làm việc với tệp hoặc một số lượng số cần.

Biến con trỏ[sửa]

Cú pháp[sửa]

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

Ví dụ:

var tuoi : ^byte; {khai báo trực tiếp}

Ứng dụng và Truy xuất[sửa]

Giống với Biến thường.

Khai báo chương trình con[sửa]

Học Pascal/Hàm và Thủ tục

Học Pascal/Thư viện-->