Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
207,09 KB
Nội dung
NGƠN NGỮ LẬP TRÌNH 45 tiết = đơn vị học trình ✿ Giảng viên: Nguyễn Văn Linh ✿ E-mail: nvlinh@ctu.edu.vn ✿ Tel: (84) (71) 831301 ✿ Nguyễn Văn Linh Programing Language Chapter 1 • CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC Định nghĩa kiểu liệu có cấu trúc • Sự đặc tả kiểu liệu có cấu trúc • Sự cài đặt cấu trúc liệu • Vectơ (mảng chiều) • Mảng nhiều chiều • Mẩu tin mẩu tin có cấu trúc thay đổi • Chuỗi ký tự • Cấu trúc liệu có kích thước thay đổi (Danh sách, Con trỏ, Tập hợp, Tập tin) Nguyễn Văn Linh Programming Languages Chapter 4 ĐỊNH NGHĨA • • Kiểu liệu có cấu trúc hay gọi CTDL kiểu liệu mà ÐTDL có cấu trúc Như CTDL tập ÐTDL có cấu trúc tập phép tốn ÐTDL Các CTDL thơng dụng: Mảng, chuỗi ký tự, mẩu tin, ngăn xếp, trỏ, tập tin Nguyễn Văn Linh Programming Languages Chapter 4 SỰ ĐẶC TẢ • • Thuộc tính: • Số lượng phần tử • Kiểu phần tử • Tên phần tử • Kích thước tối đa • Tổ chức phần tử Phép tốn: • Lựa chọn phần tử • Phép tốn tồn cấu trúc • Nguytử, ễn Văn Linh Programming Thêm/bớt phần tạo/hủy cấu trúc Languages Chapter 4 ĐẶC TẢ THUỘC TÍNH • • • • • Số lượng phần tử: Kích thước cố định, kích thước thay đổi Kiểu phần tử: Đồng không đồng Tên phần tử: Chỉ số, tên trường Kích thước tối đa: Số lượng lớn phần tử Tổ chức phần tử: Một dãy phần tử Nguyễn Văn Linh Programming Languages Chapter 4 ĐẶC TẢ PHÉP TỐN • • • • Phép toán lựa chọn phần tử: Chọn trực tiếp chọn Phép tốn tồn cấu trúc: Gán Thêm / Bớt phần tử: Làm thay đổi kích thước Tạo / Hủy cấu trúc Nguyễn Văn Linh Programming Languages Chapter 4 SỰ CÀI ĐẶT • • Biểu diễn nhớ: • Biểu diễn • Biểu diễn liên kết Cài đặp phép tốn chọn phần tử: • Chọn trực tiếp biểu diễn • Chọn biểu diễn • Chọn trực tiếp biểu diễn liên kết • Chọn biểu diễn liên kết Nguyễn Văn Linh Programming Languages Chapter 4 BIỂU DIỄN BỘ NHỚ • Biểu diễn Bộ mơ tả • Biểu diễn liên kết Bộ mô tả Phần tử Phần tử Phần tử Nguyễn Văn Linh Programming Languages Chapter 4 CÀI ĐẶT PHÉP TỐN • • • Chọn trực tiếp biểu diễn tuần tự: Vị trí phần tử = địa sở + độ dời Chọn biểu diễn tuần tự: Xác định vị trí phần tử Vị trí phần tử = Vị trí phần tử hành + Kích thước phần tử hành Lựa chọn biểu diễn liên kết: Duyệt từ đầu danh sách Nguyễn Văn Linh Programming Languages Chapter 4 VÉCTƠ (MẢNG MỘT CHIỀU) • • Định nghĩa: Là CTDL có kích thước cố định đồng Đặc tả: – Số lượng phần tử: Tập số – Kiểu tất phần tử – Tên phần tử: Chỉ số phần tử – Phép tóan lựa chọn phần tử: Chọn trực tiếp cách số phần tử Chỉ số giá trị biểu thức – Phép toán gán – Nguyễn Văn Linh Programming Ví dụ: V : ARRAY[1 10] OF REAL Languages Chapter 4 10 C ấ p CON TRỎ (Cấp phát ) Cấp phát tĩnh: p h t đ ộ n g : • • T r Trong dịch Nhờ khai báo biến, dịch dành sẵn ô nhớ đủ để lưu trữ • Tự động giải phóng • Sử dụng nhờ tên biến • Khơng tối ưu Nguyễn Văn Linh Programming Languages Chapter 4 31 ĐẶC TẢ CON TRỎ • • • • • Con trỏ tham chiếu đến ĐTDL có kiểu cụ thể Con trỏ tham chiếu đến ĐTDL có kiểu Phép tốn cấp phát nhớ động trả địa cho trỏ Phép toán truy xuất tới ĐTDL cấp phát động Phép tốn giải phóng ô nhớ Nguyễn Văn Linh Programming Languages Chapter 4 32 VÍ DỤ VỀ CON TRỎ (1) Con trỏ tham chiếu đến ĐTDL có kiểu cụ thể Type Sinh_vien = Record Ho_ten : String[25]; Tuoi : Byte; End; Var p : ^Sinh_vien; q : ^Integer; Nguyễn Văn Linh Programming Languages Chapter 4 33 VÍ DỤ VỀ CON TRỎ (2) Begin New(p); p^.Ho_ten:= ‘Nguyen Van A’; p^.tuoi := 20; Writeln(p^.Ho_ten, ‘ ‘, p^.tuoi); Dispose(p); New(q); q^ := 3547; End Nguyễn Văn Linh Programming Languages Chapter 4 34 VÍ DỤ VỀ CON TRỎ (3) Con trỏ tham chiếu đến ĐTDL có kiểu Type Sinh_vien = Record Ho_ten : String[25]; Tuoi : Byte; End; Var p : pointer ; Nguyễn Văn Linh Programming Languages Chapter 4 35 VÍ DỤ VỀ CON TRỎ (4) Begin GetMem(p, SizeOf(Sinh_vien)); { } FreeMem(p, SizeOf(Sinh_Vien)); GetMem(p, SizeOf(Integer)); { } FreeMem(p, SizeOf(Integer)); End Nguyễn Văn Linh Programming Languages Chapter 4 36 CÀI ĐẶT CON TRỎ • • Địa tuyệt đối: Giá trị trỏ địa thực khối ô nhớ cấp phát động Phương pháp thường dùng cho trỏ tham chiếu đến ĐTDL có kiểu cụ thể Địa tương đối: Giá trị trỏ độ dời khối ô nhớ cấp phát động Địa khối ô nhớ = địa sở + giá trị trỏ (độ dời) Nguyễn Văn Linh Programming Languages Chapter 4 37 TẬP HỢP • Đặc tả • Cài đặt tập hợp véctơ bit • Cài đặt tập hợp bảng băm Nguyễn Văn Linh Programming Languages Chapter 4 38 ĐẶC TẢ TẬP HỢP • • CTDL đồng có kích thước thay đổi; Khơng quan tâm đến thứ tự phần tử; Giá trị phần tử khác Phép tốn kiểm tra giá trị có thuộc tập hợp? • Thêm, Bớt phần tử • Hợp, giao hiệu hai tập hợp Nguyễn Văn Linh Programming Languages Chapter 4 39 CÀI ĐẶT TẬP HỢP BẰNG VECTO BIT • Một tập hợp biểu diễn véctơ bit • Phép kiểm tra • Phép Thêm Bớt • Phép Hợp, Giao Hiệu • Ưu điểm: dễ dàng cài đặt • Nhược điểm: Khơng gian nhỏ Nguyễn Văn Linh Programming Languages Chapter 4 40 CÀI ĐẶT TẬP HỢP BẰNG BẢNG BĂM • Tập hợp bảng băm mở • Phép kiểm tra • Phép Thêm Bớt • Phép Hợp, Giao Hiệu • • Ưu điểm: cài đặt cho tập hợp bất kỳ, phép kiểm tra, thêm, bớt dễ thực Nhược điểm: khó thực phép ễn Văn Linh Programming 41 hợp, giao,Nguy hiệu Languages Chapter 4 TẬP TIN • Tập tin • Tập tin văn • Tập tin truy xuất trực tiếp Nguyễn Văn Linh Programming Languages Chapter 4 42 TẬP TIN TUẦN TỰ • Đặc tả: dãy tuyến tính phần tử có kiểu Ðộ dài tập tin khơng giới hạn Kiểu phần tử kiểu sơ cấp kiểu cấu trúc có kích thước cố định mảng mẩu tin • Mode read, mode write, trỏ tập tin • Phép tốn: open, read, write, EOF, close Nguyễn Văn Linh Programming Languages Chapter 4 43 CÀI ĐẶT TẬP TIN TUẦN TỰ • • Hệ điều hành Giao tiếp nhớ nhớ ngồi thơng qua buffer Nguyễn Văn Linh Programming Languages Chapter 4 44 CÁC LOẠI TẬP TIN KHÁC • • Tập tin văn bản: Tập tin đặc biệt, phần tử kí tự Tập tin truy xuất trực tiếp: Có thể nhẩy đến truy xuất phần tử Nguyễn Văn Linh Programming Languages Chapter 4 45 ... CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC Định nghĩa kiểu liệu có cấu trúc • Sự đặc tả kiểu liệu có cấu trúc • Sự cài đặt cấu trúc liệu • Vectơ (mảng chiều) • Mảng nhiều chiều • Mẩu tin mẩu tin có cấu. .. Nguyễn Văn Linh Programming Languages Chapter? ?4 I 28 N CẤU TRÚC DỮ LIỆU CĨ KÍCH THƯỚC THAY ĐỔI • • Định nghĩa: Là CTDL có số phần tử thay đổi cách động trình thực chương trình Một số cấu trúc điển hình: – Danh sách... cấu trúc thay đổi • Chuỗi ký tự • Cấu trúc liệu có kích thước thay đổi (Danh sách, Con trỏ, Tập hợp, Tập tin) Nguyễn Văn Linh Programming Languages Chapter? ?4 ĐỊNH NGHĨA • • Kiểu liệu có cấu