Dữ liệu (data) là tất cả những gì mà máy tính phải xử lý.
Theo Niklaus Wirth:
CHƯƠNG TRÌNH = THUẬT TOÁN + CẤU TRÚC DỮ LIỆU
Một
kiểu dữ liệu (data type) là một quy định về hình dạng, cấu trúc và giá trị của
dữ liệu cũng như cách biểu diễn và cách xử lý dữ liệu.
Trong
Pascal các kiểu dữ liệu gồm các loại sau:
-
Kiểu đơn giản (Simple type): bao gồm kiểu số nguyên (Integer), kiểu số thực
(Real), kiểu logic (Boolean), kiểu ký tự (Char).
-
Kiểu có cấu trúc (Structure type): bao gồm mảng (Array), chuỗi (String), bản
ghi (Record), tập hợp (Set), tập tin (File).
- Kiểu chỉ điểm (pointer):
Trong chương này, chúng ta chỉ xét các kiểu dữ liệu đơn giản.
|
a. Kiểu số nguyên thuộc Z chứa trong Turbo Pascal
Ðược định nghĩa với các từ khóa sau:
TỪ
KHÓA
|
SỐ
BYTE
|
PHẠM
VI
|
BYTE
|
1
|
0
.. 255
|
SHORTINT
|
1
|
-
128 .. 127
|
INTEGER
|
2
|
-
32768 .. + 32767
|
WORD
|
2
|
0
.. 65535
|
LONGINT
|
4
|
-
2147483648 .. 2147483647
|
b.
Các phép toán số học đối với số nguyên
KÝ
HIỆU
|
Ý
NGHĨA
|
+
|
Cộng
|
-
|
Trừ
|
*
|
Nhân
|
/
|
Chia
cho kết quả là số thực
|
DIV
|
Chia
lấy phần nguyên
|
MOD
|
Chia
lấy phần dư
|
SUCC
(n)
|
n +
1
|
PRED
(n)
|
n -
1
|
ODD
(n)
|
TRUE
nếu n lẻ
và
FALSE nếu n chẵn
|
3. Kiểu số thực ( real type )
|
Ở Turbo Pascal, kiểu số thực thuộc tập hợp R chứa trong 6 bytes,
được định nghĩa với từ khóa
REAL: R
=([2.9 x 10-39 , 1.7 x 1038 ]
Hay viết theo dạng số khoa
học: R = ( [2.9E-39,
1.7E38]
Số
thực có thể viết theo kiểu có dấu chấm thập phân bình thường hoặc viết theo
kiểu thập phân có phần mũ và phần định
trị.
Các phép toán số học cơ bản +, -, * , /dĩ nhiên được sử dụng trong
kiểu real.
Bảng dưới đây là các hàm số học cho kiểu số thực:
KÝ
HIỆU
|
Ý
NGHĨA
|
ABS
(x)
|
|x|
: lấy giá trị tuyệt đối của số x
|
SQR
(x)
|
x2
: lấy bình phương trị số x
|
SQRT(x)
|
Lấy căn bậc hai của x |
SIN(x)
|
sin
(x) : lấy sin của x
|
COS
(x)
|
cos
(x) : lấy cos của x
|
ARCTAN
(x)
|
arctang
(x)
|
LN
(x)
|
ln
x : lấy logarit nepe của trị x (e ( 2.71828)
|
EXP
(x)
|
ex
|
TRUNC
(x)
|
lấy
phần nguyên lớn nhất không vượt quá trị số x
|
ROUND
(x)
|
làm
tròn giá trị của x, lấy số nguyên gần x nhất
|
4.
Kiểu logic ( Boolean )
|
Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1
byte ở Turbo Pascal và chỉ có thể nhận được một trong hai gíá trị logic là TRUE
(đúng) và FALSE (sai).
Qui
ước: TRUE > FALSE
Các
phép toán trên kiểu Boolean:
A
|
B
|
NOT
A
|
A
AND B
|
A
OR B
|
A
XOR B
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
Nhận xét:
· Phép AND (và) chỉ cho kết quả là TRUE khi cả 2 toán hạng là
TRUE
· Phép OR (hoặc) chỉ cho kết quả là FALSE khi cả 2 toán hạng
là FALSE
· Phép XOR (hoặc triệt tiêu) luôn cho kết quả là TRUE khi cả
2 toán hạng là khác nhau và ngược lại.
Các
phép toán quan hệ cho kết quả kiểu Boolean:
KÝ
HIỆU
|
Ý
NGHĨA
|
<
>
|
khác nhau
|
=
|
bằng nhau
|
>
|
lớn hơn
|
<
|
nhỏ hơn
|
>
=
|
lớn hơn hoặc bằng
|
<
=
|
nhỏ hơn hoặc bằng
|
5.Kiểu kí tự ( Char
type)
Tất cả các dữ liệu viết ở dạng chữ ký tự được khai báo bởi
từ khóa CHAR.
Một ký tự được viết trong hai dấu nháy đơn ( ). Ðể tiện trao đổi
thông tin cần phải sắp xếp, đánh số các ký tự, mỗi cách sắp xếp như vậy gọi là
bảng mã. Bảng mã thông dụng hiện nay là bảng mã ASCII (xem lại chương 3).
Ðể thực hiện các phép toán số học và so sánh, ta dựa vào giá trị
số thứ tự mã ASCII của từng ký tự, chẳng hạn: 'A' < 'a' vì số thứ tự mã
ASCII tương ứng là 65 và
97.
Trong Turbo Pascal mỗi ký tự được chứa trong 1 byte.
Các
hàm chuẩn liên quan đến kiểu ký tự:
KÝ
HIỆU
|
Ý NGHĨA
|
ORD(x)
|
Cho
số thứ tự của ký tự x trong bảng mã
|
CHR(n)
hay #n
|
Cho
ký tự có số thứ tự là n
|
PRED(x)
|
Cho
ký tự đứng trước x
|
SUCC(x)
|
Cho
ký tự đứng sau x
|
Không có nhận xét nào:
Đăng nhận xét