Tải bản đầy đủ (.pdf) (37 trang)

cấu trúc dữ liệu chương 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (401.97 KB, 37 trang )

Chương 2
Các kiểu dữ liệu

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 1


Nội dung
Ðịnh nghĩa kiểu dữ liệu.
™ Các kiểu dữ liệu đơn giản.
™

f Kiểu

nguyên
f Kiểu thực
f Kiểu ký tự
f Kiểu luận lý
f Kiểu byte
f Kiểu word
f Kiểu liệt kê
f Kiểu miền con

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 2




Nội dung
™

Các kiểu dữ liệu có cấu trúc.
f Kiểu

chuỗi
f Kiểu mẩu tin
f Kiểu mảng
f Kiểu tập hợp
f Kiểu tập tin
™

Kiểu con trỏ.

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 3


Kiể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
y

giá trị của kiểu dữ liệu.

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.
y

Ví dụ: kiểu integer có các phép toán +, −, *, div.

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 4



Các dữ liệu đơn giản
Kiểu nguyên
™ Kiểu thực
™ Kiểu ký tự
™ Kiểu luận lý
™ Kiểu byte
™ Kiểu word
™ Kiểu liệt kê
™ Kiểu miền con
™

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 5


Kiểu nguyên
Kiểu nguyên (integer) bao gồm các số
nguyên từ –32768 đến 32767, chiếm 2 byte.
™ Các phép toán
™

+ cộng
− trừ
* nhân
div chia
™


5+2→7
5−2→3
5 * 2 → 10
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
var i: integer;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 6


Kiểu nguyên
™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán số 5 cho biến i
i := 5;

™

Các hàm
f odd(n):


trả về true nếu n là số lẻ; ngược lại là

false.
y

Ví dụ: odd(11) → true

Chương 2. Các kiểu dữ liệu

odd(10) → false

2006

Nguyễn Trung Trực - Khoa CNTT 7


Kiểu thực
Kiểu thực (real) bao gồm các số thực,
chiếm 6 byte.
™ Các phép toán
™

+

*
/
™

cộng

trừ
nhân
chia

5.1 + 2.3 → 7.4
5.4 − 2.2 → 3.2
5.2 * 2.0 → 10.4
5.0 / 2.0 → 2.5

Khai báo biến
var tênbiến: real;
f Ví dụ: khai báo biến x thuộc kiểu real
var x: real;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 8


Kiểu thực
™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán số 5.2 cho biến x
x := 5.2;

™


Các hàm
f int(x):
y

lấy phần nguyên của x.

Ví dụ: int(2.3) → 2

f frac(x):
y

y

lấy phần lẻ của x.

Ví dụ: frac(2.3) → 0.3

f sqr(x):

frac(-2.3) → -0.3

trả về x2.

Ví dụ: sqr(2.0) → 4.0

f sqrt(x):
y

int(-2.3) → -2


trả về căn bậc hai của x.

Ví dụ: sqrt(4.0) → 2.0

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 9


Kiểu ký tự
™

Kiểu ký tự (char) bao gồm các ký tự ghi
trong 2 dấu nháy đơn, chiếm 1 byte.
f Ví

™

Các ký tự có thể so sánh với nhau theo
thứ tự của bộ mã ASCII.
f Ví

™

dụ: ‘A’, ‘a’, …, ‘0’, ‘1’, …

dụ: ‘A’ < ‘B’


Các phép toán
= bằng
< nhỏ hơn
> lớn hơn

Chương 2. Các kiểu dữ liệu

<> khác, không bằng
<= nhỏ hơn hoặc bằng
>= lớn hơn hoặc bằng

2006

Nguyễn Trung Trực - Khoa CNTT 10


Kiể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
var c: char;

™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán ký tự ‘A’ cho biến c

c := ‘A’;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 11


Kiểu ký tự
™

Các hàm
f ord(c):

trả về số thứ tự ASCII của giá trị của

c.
y

Ví dụ: ord(‘A’) → 65

f chr(i):

trả về ký tự có số thứ tự ASCII là giá trị

của i.
y

Ví dụ: chr(65) → ‘A’


f upcase(c):
y

đổi chữ thường ra chữ hoa.

Ví dụ: upcase(‘a’) → ‘A’

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 12


Kiể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
™ Các phép toán
™

not (phủ định)
A
f
t

not A
t
f


and (và)

or (hoặc)

B A and B
A
f
f
f
t
f
f
f
f
t
t
t
t
Ghi chú: t là true, f là false
Chương 2. Các kiểu dữ liệu

A
f
f
t
t

2006


B
f
t
f
t

A or B
f
t
t
t

Nguyễn Trung Trực - Khoa CNTT 13


Kiể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
var b: boolean;

™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán true cho biến b
b := true;


Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 14


Kiểu byte
Kiểu byte bao gồm các giá trị từ 0 đến 255,
chiếm 1 byte.
™ Là miền con của kiểu integer.
™ Các phép toán
™

+ cộng
* nhân
™

− trừ
div chia

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;

Chương 2. Các kiểu dữ liệu

2006


Nguyễn Trung Trực - Khoa CNTT 15


Kiểu byte
™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán số 5 cho biến k
k := 5;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 16


Kiểu word
Kiểu word bao gồm các giá trị từ 0 đến
65535, chiếm 2 byte.
™ Các phép toán
™

+ cộng
* nhân
™

− trừ
div chia


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;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 17


Kiểu word
™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán số 5 cho biến w
w := 5;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 18


Kiể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

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 19


Kiể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
var x: màu;

™

Gán giá trị cho biến
tênbiến := giátrị;

f Ví dụ: x := xanh;

™

Các hàm
f pred(x):
y

Ví dụ: pred(đỏ) → xanh

f succ(x):
y

trả về giá trị ngay trước của x.
trả về giá trị ngay sau của x.

Ví dụ: succ(đỏ) → vàng

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 20


Kiể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;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 21


Kiể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;

Chương 2. Các kiểu dữ liệu

2006


Nguyễn Trung Trực - Khoa CNTT 22


Các kiểu dữ liệu có cấu trúc
Kiểu chuỗi
™ Kiểu mẩu tin
™ Kiểu mảng
™ Kiểu tập hợp
™ Kiểu tập tin
™

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 23


Kiể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.
™

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 24


Kiể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
đa 255 ký tự
var s: string;
f Ví dụ: khai báo biến s thuộc kiểu string có tối
đa 10 ký tự
var s: string[10];

™

Gán giá trị cho biến
tênbiến := giátrị;
f Ví dụ: gán chuỗi ‘abc’ cho biến s

s := ‘abc’;

Chương 2. Các kiểu dữ liệu

2006

Nguyễn Trung Trực - Khoa CNTT 25


×