CHỦ ĐỀ II: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
1. Kiểu nguyên
Kiểu | Dung lượng | Phạm vi giá trị | Ghi chú |
Byte | 1 Byte | Từ: 0 → 255 | |
Integer | 2 Byte | Từ: -215→ 215-1 | |
Word | 2 Byte | Từ: 0 → 216-1 | |
Longword | 4 Byte | Từ: 0 → 232-1 | |
Longint | 4 Byte | Từ: -231 → 231-1 | |
In64 | 8 Byte | Từ -263 → 263-1 | Free Pascal (Không dùng cho biến vòng lặp) |
qword | 8 Byte | Từ: 0 → 264-1 |
2. Kiểu thực
Kiểu | Dung lượng | Phạm vi giá trị |
Real | 6 Byte | 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-38 đến 1038. |
Extended | 10 Byte | 0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-4932 đến 104932. |
3. Kiểu kí tự (Gồm các kí tự trong bộ mã Ascii)
Kiểu | Dung lượng | Phạm vi giá trị |
Char | 1 Byte | 256 kí tự trong bộ mã Ascii. |
Ví dụ: Kí tự ’A’ có mã ASCII là 65; kí tự ’B’ có nã ASCII là 66….; Kí tự ’a’ có mã ASCII là 97…
(Giữa kí tự in hoa và kí tự thường cách nhau 32 kí tự; Kí tự trống có mã ASCII là 32)
* Các hàm trên kiểu ký tự
– UPCASE(ch): Trả về ký tự in hoa tương ứng với ký tự ch. Ví dụ: UPCASE(‘a’) = ‘A’.
– ORD(ch): Trả về số thứ tự trong bảng mã ASCII của ký tự ch. Ví dụ ORD(‘A’)=65.
– CHR(n): Trả về ký tự tương ứng trong bảng mã ASCII có số thứ tự là n. Ví dụ: CHR(65)=’A’.
– PRED(ch): cho ký tự đứng trước ký tự ch. Ví dụ: PRED(‘B’)=’A’.
– SUCC(ch): cho ký tự đứng sau ký tự ch. Ví dụ: SUCC(‘A’)=’B’.
4. Kiểu lôgic
Kiểu | Dung lượng | Phạm vi giá trị |
Boolean | 1 Byte | True hoặc False. |
5. Một số ví dụ về khai báo biến
- Khai báo 4 biến 2 biến thực, 2 biến nguyên:
Var x,y:Real;a,b:Integer; → Khai báo trên chiếm trong bộ nhớ là: 6+6+2+2=16 (byte)
- Khai báo 1 biến chỉ nhận các giá trị là các chữ cái: Var kt:Char;
- Khai báo 1 chỉ nhận 2 giá trị là True/False: Var ok:Boolean;
- Trong khai báo biến sau, khai báo nào là sai?
A. Var delta:Read; D. Var i:byte; | B. Var kt:Bolean; E. Var ch:Char; | C. Var x1,2x:real; F. Var n:Integer; |
- Biến n có thể nhận giá trị nguyên trong phạm vi từ (-2000; 3000). Hãy chọn cách khai báo đúng và chọn ra cách khai báo hiệu quả nhất?
A. Var n:Byte; D. Var n:Word; | B. Var n:Boolean; E. Var n:Integer; | C. Var n:Real; F. Var n:-2000..3000; |