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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ộ

Chương Các kiểu liệu Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung Ðịnh nghĩa kiểu liệu ™ Các kiểu 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 Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Nội dung ™ Các kiểu 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 trỏ Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Kiểu liệu ™ Định nghĩa kiểu liệu f Kiểu liệu (data type) qui định cách biểu diễn giá trị liệu cách xử lý liệu ™ Kiểu liệu bao gồm hai phần: f Các y giá trị kiểu liệu Ví dụ: kiểu integer gồm số nguyên từ –32768 đến 32767, số nguyên chiếm byte f Các phép toán giá trị kiểu liệu y Ví dụ: kiểu integer có phép toán +, −, *, div Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Các 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 ™ Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Kiểu nguyên Kiểu nguyên (integer) bao gồm số nguyên từ –32768 đến 32767, chiếm byte ™ Các phép toán ™ + cộng − trừ * nhân div chia ™ 5+2→7 5−2→3 * → 10 div → 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 Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Kiểu nguyên ™ Gán giá trị cho biến tênbiến := giátrị; f Ví dụ: gán số cho biến i i := 5; ™ Các hàm f odd(n): trả true n số lẻ; ngược lại false y Ví dụ: odd(11) → true Chương Các kiểu liệu odd(10) → false 2006 Nguyễn Trung Trực - Khoa CNTT Kiểu thực Kiểu thực (real) bao gồm số thực, chiếm 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 Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 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 x Ví dụ: int(2.3) → f frac(x): y y lấy phần lẻ x Ví dụ: frac(2.3) → 0.3 f sqr(x): frac(-2.3) → -0.3 trả x2 Ví dụ: sqr(2.0) → 4.0 f sqrt(x): y int(-2.3) → -2 trả bậc hai x Ví dụ: sqrt(4.0) → 2.0 Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT Kiểu ký tự ™ Kiểu ký tự (char) bao gồm ký tự ghi dấu nháy đơn, chiếm byte f Ví ™ Các ký tự so sánh với theo thứ tự mã ASCII f Ví ™ dụ: ‘A’, ‘a’, …, ‘0’, ‘1’, … dụ: ‘A’ < ‘B’ Các phép toán = < nhỏ > lớn Chương Các kiểu liệu khác, không = lớn 2006 Nguyễn Trung Trực - Khoa CNTT 10 Các kiểu 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 Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 23 Kiểu chuỗi ™ Kiểu chuỗi bao gồm chuỗi ký tự ghi dấu nháy đơn f Ví dụ: ‘AbC’, ‘a12B’ Dài tối đa 255 ký tự ™ Chuỗi rỗng (null string) chuỗi khơng có ký tự cả, ký hiệu ‘’ ™ Chuỗi trống (blank string) chuỗi có ký tự trống ™ Chương Các kiểu 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 Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 25 Kiểu chuỗi ™ Truy xuất ký tự thứ i biến dụ: c := s[2]; → biến c có giá trị ‘b’ f Ví dụ: s[2] := ‘1’; → biến s có giá trị ‘a1c’ f Ví ™ Phép kết nối chuỗi: + f Ví dụ: chuỗi s1 ‘abc’ chuỗi s2 ’12’ s1 + s2 → ‘abc12’ Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 26 Kiểu chuỗi ™ Các hàm f length(s): y Ví dụ: length(‘abc’) → f concat(s1, …, sn y trả số ký tự chuỗi s s2, …, sn): kết nối chuỗi s1, s2, Ví dụ: concat(‘abc’,’12’) → ‘abc12’ f copy(s, m, n): lấy chuỗi chuỗi s gồm n ký tự kể từ ký tự thứ m y Ví dụ: copy(‘abcde’,3,2) → ‘cd’ f pos(s1, s2): trả vị trí tìm thấy chuỗi s1 chuỗi s2 y Ví dụ: pos(‘bc’,’abcd’) → Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 27 Kiểu chuỗi ™ Các thủ tục f val(s, x, n): biến đổi chuỗi s thành giá trị số gán cho x; n gán số biến đổi y y Ví dụ: val(‘123.45’, x, n) gán số 123.45 cho x Ví dụ: val(’12a’, x, n) → x không xác định n f str(x, s): biến đổi giá trị số x thành giá trị chuỗi gán cho s y Ví dụ: str(123.45, s) gán chuỗi ‘123.45’ cho s Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 28 Kiểu chuỗi ™ Các thủ tục f delete(s, m, n): xóa n ký tự chuỗi s vị trí m y Ví dụ: chuỗi s ‘abcde’ delete(s,2,3) gán chuỗi ‘ae’ cho s f insert(s1, s2, m): xen chuỗi s1 vào chuỗi s2 vị trí m y Ví dụ: chuỗi s ‘abc’ insert(‘12’,s,2) gán chuỗi ‘a12bc’ cho s Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 29 Kiểu mẩu tin Mẩu tin (record) bao gồm vùng tin thuộc kiểu liệu khác ™ Định nghĩa kiểu ™ type tênkiểu = record tênvùng1: tênkiểu1; tênvùng2: tênkiểu2; … end; f Ví dụ: type sinhviên = record mãsv: integer; họtên: string[30] end; Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 30 Kiể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 vùng tin mãsv biến sv f sv := s_viên - gán vùng tin biến s_viên cho vùng tin biến sv theo thứ tự tương ứng Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 31 Kiểu mảng Mảng (array) bao gồm phần tử thuộc kiểu 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; Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 32 Kiểu mảng a1 a2 a3 anmax Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 33 Kiểu mảng ™ Truy xuất phần tử mảng f a[i] phần tử thứ i f a[i].mãsv vùng tin mãsv phần tử thứ i f a[i] := a[j] - gán vùng tin phần tử thứ j cho vùng tin phần tử thứ i theo thứ tự tương ứng Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 34 Kiểu trỏ Kiểu trỏ tập hợp địa vùng nhớ ™ Một biến thuộc kiểu trỏ chứa địa vùng nhớ ™ Định nghĩa kiểu ™ type 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ỏ; Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 35 Kiểu trỏ ™ Truy xuất biến fp địa vùng nhớ chứa p f p^ vùng nhớ có địa chứa p f p^.mãsv vùng tin mãsv vùng nhớ có địa chứa p ™ Các thủ tục f new(p): cấp phát vùng nhớ mới, địa vùng nhớ gán cho p f dispose(p): giải phóng vùng nhớ có địa chứa p Chương Các kiểu liệu 2006 Nguyễn Trung Trực - Khoa CNTT 36 So sánh kiểu mẩu tin kiểu trỏ nhớ nhớ biến sv địa 10 biến p mãsv Kiểu mẩu tin @sv sv sv.mãsv Chương Các kiểu liệu họtên địa 10 Kiểu trỏ p p^ p^.mãsv mãsv họtên Diễn giải Địa 10 Vùng nhớ có địa 10 Vùng tin mãsv 2006 Nguyễn Trung Trực - Khoa CNTT 37

Ngày đăng: 03/02/2018, 08:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan