BÀI 4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
- Có 4 kiểu dữ liệu chuẩn trong pascal: kiểu nguyên, kiểu thực, kiểu kí tự và kiểu logic
a. Kiểu nguyên
Kiểu
Bộ nhớ lưu trữ 1 giá trị
Phạm vi giá trị
Byte [dương]
1 byte
Từ 0 đến 255
Integer [âm, dương]
2 byte
Từ -215 đến 215-1
Word [dương]
2 byte
Từ 0 đến 216-1
Longint [âm, dương]
4 byte
Từ -231 đến 231-1
b. Kiểu thực
- Có nhiều kiểu cho giá trị là số thực nhưng hay dùng một số kiểu sau:
Kiểu
Bộ nhớ lưu trữ 1 giá trị
Phạm vi giá trị
Single
4 byte
Từ 1.5×10-45 đến 3.4×1038
Real
6 byte
Từ 2.9×10-39 đến 1.7×1038
Double
8 byte
Từ 5.0×10-324 đến 1.7×10308
Extended
10 byte
Từ 3.4×10-4932 đến 1.1×104932
c. Kiểu kí tự
Kiểu
Bộ nhớ lưu trữ 1 giá trị
Phạm vi giá trị
Char
1 byte
256 kí tự trong bộ mã ASCII
* Lưu ý:
- Mỗi kí tự có 1 mã tương ứng trong phạm vi từ 0 đến 255
- Các kí tự có quan hệ so sánh, việc so sánh dựa trên mã của từng kí tự.
d. Kiểu Logic
Kiểu
Bộ nhớ lưu trữ 1 giá trị
Phạm vi giá trị
boolean
1 byte
True hoặc False
Câu 2: Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x?
A. Longint
B. Integer
C. Word
D. Real
Trả lời:
X thuộc kiểu nguyên [byte, integer, word, longint] nằm trong đoạn [-300 ; 300], kiểu dữ liệu phù hợp nhất để khai báo biến x là kiểu integer vì kiểu này nằm trong đoạn [-32768; 32767].
Đáp án: B
Câu 3: Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào?
A. Longint
B. integer
C. word
D. real
Trả lời:
X:=a/b; thì x phải khai báo kiểu số thực Real vì a có thể chia hết hoặc không chia hết cho b. Còn các kiểu Longint, word, integer là kiểu số nguyên nên không được.
Đáp án: D
Câu 4: Bộ nhớ sẽ cấp phát cho các biến dưới đây tổng cộng bao nhiêu byte?
Var x,y: integer; c: char; ok: boolean; z: real;
A. 12
B. 14
C. 11
D. 13
Trả lời:
Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 2 biến x, y cần 2 x 2= 4 byte
Kiểu Real bộ nhớ lưu trữ một giá tri là 6 byte → 1 biến z cần 1 x 6 = 6 byte
Kiểu char bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến C cần 1 x 1 = 1 byte
Kiểu boolean bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến ok cần 1 x 1 = 1 byte
Đáp án: A
Câu 5: Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy chọn kiểu dữ liệu phù hợp với biến x?
A. Char
B. LongInt
C. Integer
D. Word
Trả lời:
Các số -5, 100, 15, 20 là các số nguyên → kiểu dữ liệu của x là kiểu nguyên. Trong x có giá trị -5 → chỉ có thể là kiểu integer, longint [vì chứa giá trị âm]. Vì các giá trị này có giá trị nhỏ nên kiểu dữ liệu phù hợp với biến x là integer [longint sẽ chiếm bộ nhớ lớn].
Đáp án: C
Câu 6: Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0.2; 0.3; 10.99. Khai báo nào trong các khai báo sau là đúng nhất?
A. Var X,,Y: byte;
B. Var X, Y: real;
C. Var X: real; Y: byte;
D. Var X: byte; Y: real;
Trả lời:
Các giá trị 1; 100; 150; 200 là các số nguyên→ kiểu dữ liệu của X là byte,
Các giá trị 1; 0.2; 0.3; 10.99 là các số thực → kiểu dữ liệu của Y là real.
Đáp án: D
Câu 7: Biến X nhận giá trị là 0.7. Khai báo nào sau đây là đúng?
A. var X: Boolean;
B. var X: real;
C. var X: char;
D. A và B đúng
Trả lời: Biến X nhận giá trị là 0.7 [là số thực]→ X nhận kiểu thực [real].
Đáp án: B
Câu 8: Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất?
A. Byte
B. Longint
C. Word
D. Integer
Trả lời:
+ Byte có miền giá trị từ 0 đến 255.
+ Integer có miền giá trị từ -32768 đến 32767
+ Word có miền giá trị từ 0 đến 65535
+ Longint có miền giá trị từ -2147483648 đến 2147483647
Đáp án: B
Câu 9: Phạm vi giá trị của kiểu integer thuộc:
A. Từ 0 đến 255
B. Từ -215 đến 215 -1
C. Từ 0 đến 216 -1
D. Từ -231 đến 231 -1
Trả lời:
Phạm vi giá trị của kiểu integer Từ -215 [= -32768] đến 215 -1 [=32767].
Đáp án: B
Câu 10: Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40⇒ Biến M kiểu nguyên và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0 ⇒ Biến N kiểu thực.