tài liệu uy tín được biên soạn bởi giảng viên đại học Bách Khoa TPHCM, thuận lợi cho qua trình tự học, nghiên cứu bộ tự động hóa, điện tử, cơ điện tử, cơ khí chế tạo máy, lập trình nhúng, Tài liệu được kiểm duyệt bởi giảng viên, phòng đào tạo trường đại học bách khoa, lưu hành nội bộ
Trang 1Chương 2
Các kiểu dữ liệu
Trang 2Nội dung
Ðịnh nghĩa kiểu dữ liệu.
Các kiểu dữ liệu đơn giản.
f Kiểu liệt kê
f Kiểu miền con
Trang 4Kiểu dữ liệu
Định nghĩa kiểu dữ liệu
f Kiểu dữ liệu (data type) là sự qui định cách
biểu diễn giá trị của dữ liệu và cách xử lý dữ liệu.
Kiểu dữ liệu bao gồm hai phần:
f Các giá trị của kiểu dữ liệu.
y Ví dụ: kiểu integer gồm các số nguyên từ –32768
đến 32767, mỗi số nguyên chiếm 2 byte.
f Các phép toán trên các giá trị của kiểu dữ liệu.
Ví dụ: kiểu integer có các phép toán +, −, *, div.
Trang 5Các dữ liệu đơn giản
Kiểu liệt kê
Kiểu miền con
Trang 6div chia 5 div 2 → 2
Khai báo biến
var tênbiến: integer;
f Ví dụ: khai báo biến i thuộc kiểu integer
Trang 8 Khai báo biến
var tênbiến: real;
f Ví dụ: khai báo biến x thuộc kiểu real
Trang 10< nhỏ hơn <= nhỏ hơn hoặc bằng
> lớn hơn >= lớn hơn hoặc bằng
Trang 11Kiểu ký tự
Khai báo biến
var tênbiến: char;
f Ví dụ: khai báo biến c thuộc kiểu char
Trang 13Kiểu luận lý
Kiểu luận lý (boolean) bao gồm 2 giá trị là
true (đúng) và false (sai), chiếm 1 byte.
Qui ước: false < true
Trang 14Kiểu luận lý
Khai báo biến
var tênbiến: boolean;
f Ví dụ: khai báo biến b thuộc kiểu boolean
Trang 15 Khai báo biến
var tênbiến: byte;
f Ví dụ: khai báo biến k thuộc kiểu byte
var k: byte;
Trang 17 Khai báo biến
var tênbiến: word;
f Ví dụ: khai báo biến w thuộc kiểu word
var w: word;
Trang 19Kiểu liệt kê
Kiểu liệt kê bao gồm các giá trị được liệt kê.
Các giá trị tăng dần theo thứ tự liệt kê.
Định nghĩa kiểu
type tênkiểuliệtkê = (giátri1, giátrị2, …, giátrị n);
f Ví dụ: định nghĩa kiểu màu gồm các giá trị
xanh, đỏ, vàng
type màu = (xanh, đỏ, vàng);
thứ tự: xanh < đỏ < vàng
Trang 20Kiểu liệt kê
Khai báo biến
var tênbiến: tênkiểuliệtkê;
f Ví dụ: khai báo biến x thuộc kiểu màu
Trang 21Kiểu miền con
Kiểu miền con bao gồm các giá trị thuộc một miền của một kiểu dữ liệu khác.
Định nghĩa kiểu
type tênkiểumiềncon = giátrịnhỏnhất giátrịlớnnhất;
f Ví dụ: định nghĩa kiểu năm gồm các số
nguyên từ 1990 đến 1999
type năm = 1990 1999;
Khai báo biến
var tênbiến: tênkiểumiềncon;
f Ví dụ: khai báo biến i thuộc kiểu năm
var i: năm;
Trang 22Kiểu miền con
Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán số 1995 cho biến i
i := 1995;
Trang 23Các kiểu dữ liệu có cấu trúc
Trang 24Kiểu chuỗi
Kiểu chuỗi bao gồm các chuỗi ký tự ghi trong 2 dấu nháy đơn.
f Ví dụ: ‘AbC’, ‘a12B’
Dài tối đa 255 ký tự.
Chuỗi rỗng (null string) là chuỗi không có
ký tự nào cả, ký hiệu là ‘’.
Chuỗi trống (blank string) là chuỗi chỉ có
các ký tự trống.
Trang 25Kiểu chuỗi
Khai báo biến
var tênbiến: string;
var tênbiến: string[sốkýtự];
f Ví dụ: khai báo biến s thuộc kiểu string có tối
Trang 28Kiểu chuỗi
Các thủ tục
f val(s, x, n): biến đổi chuỗi s thành giá trị số
và gán cho x; n được gán số 0 nếu biến đổi
Trang 30Kiểu mẩu tin
Mẩu tin (record) bao gồm các vùng tin có
thể thuộc các kiểu dữ liệu khác nhau.
Trang 31Kiểu mẩu tin
Khai báo biến
var tênbiến: tênkiểumẩutin;
f Ví dụ: khai báo biến sv, s_viên thuộc kiểu
sinhviên
var sv, s_viên: sinhviên;
Truy xuất biến
f sv.mãsv là vùng tin mãsv của biến sv
f sv := s_viên - gán các vùng tin của biến
s_viên cho các vùng tin của biến sv theo thứ
tự tương ứng.
Trang 32Kiểu mảng
Mảng (array) bao gồm các phần tử thuộc
cùng một kiểu dữ liệu.
Định nghĩa kiểu
type tênkiểumảng = array [min max] of tênkiểu;
f Ví dụ: type dssv = array [1 100] of sinhviên;
Khai báo biến
var tênbiến: tênkiểumảng;
f Ví dụ: var a: dssv;
Trang 34Kiểu mảng
Truy xuất phần tử của mảng
f a[i] là phần tử thứ i
f a[i].mãsv là vùng tin mãsv của phần tử thứ i.
f a[i] := a[j] - gán các vùng tin của phần tử thứ j cho các vùng tin của phần tử thứ i theo thứ
tự tương ứng.
Trang 35type tênkiểucontrỏ = ^tênkiểu;
f Ví dụ: type contrỏ = ^họcviên;
Khai báo biến
var tênbiến: tênkiểucontrỏ;
f Ví dụ: var p: contrỏ;
Trang 36Kiểu con trỏ
Truy xuất biến
f p là địa chỉ của vùng nhớ được chứa trong p.
f p^ là vùng nhớ có địa chỉ được chứa trong p.
f p^.mãsv là vùng tin mãsv của vùng nhớ có
địa chỉ được chứa trong p.
Các thủ tục
f new(p): cấp phát vùng nhớ mới, địa chỉ của
vùng nhớ này được gán cho p.
f dispose(p): giải phóng vùng nhớ có địa chỉ
được chứa trong p.
Trang 37So sánh kiểu mẩu tin và kiểu con trỏ
mãsv họtên địa chỉ 10
biến sv
bộ nhớ
mãsv họtên địa chỉ 10