Bài giảng Ngôn ngữ lập trình - Chương 4: Kiểu dữ liệu có cấu trúc
lượt xem 3
download
Bài giảng cung cấp cho người học các kiến thức: Kiểu dữ liệu có cấu trúc, sự đặc tả kiểu dữ liệu có cấu trúc, mảng nhiều chiều, mẩu tin có cấu trúc thay đổi,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung bài giảng.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Ngôn ngữ lập trình - Chương 4: Kiểu dữ liệu có cấu trúc
- NGÔN NGỮ LẬP TRÌNH ✿ 45 tiết = 3 đơ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 1 Language Chapter 1
- CHƯƠNG 4: • KIỂU DỮ LIỆU CÓ CẤU Định nghĩa kiểu dữ liệu có cấu trúc. TRÚC • Sự đặc tả kiểu dữ liệu có cấu trúc. • Sự cài đặt các cấu trúc dữ liệu. • Vectơ (mảng một chiều). • Mảng nhiều chiều. • Mẩu tin và mẩu tin có cấu trúc thay đổi. • Chuỗi ký tự. • Cấu trúc dữ 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 2 Languages Chapter 4
- ĐỊNH NGHĨA • Kiểu dữ liệu có cấu trúc hay còn gọi là CTDL là kiểu dữ liệu mà các ÐTDL có cấu trúc. Như vậy CTDL là một tập các ÐTDL có cấu trúc và tập các phép toán trên các ÐTDL đó. • Các CTDL thông dụng: Mảng, chuỗi ký tự, mẩu tin, ngăn xếp, con trỏ, tập tin... Nguyễn Văn Linh Programming 3 Languages Chapter 4
- SỰ ĐẶC TẢ • Thuộc tính: • Số lượng phần tử. • Kiểu của các phần tử. • Tên của phần tử. • Kích thước tối đa. • Tổ chức phần tử. • Phép toán: • Lựa chọn phần tử. • Phép toán trên toàn cấu trúc. • Thêm/bớt phần Nguytử, tạo/hủy cấu trúc. ễn Văn Linh Programming 4 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 nhất và không đồng nhất. • Tên của phần tử: Chỉ số, tên trường. • Kích thước tối đa: Số lượng lớn nhất các phần tử. • Tổ chức phần tử: Một dãy các phần tử. Nguyễn Văn Linh Programming 5 Languages Chapter 4
- ĐẶC TẢ PHÉP TOÁN • Phép toán lựa chọn một phần tử: Chọn trực tiếp và chọn tuần tự. • Phép toán trên toà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 6 Languages Chapter 4
- SỰ CÀI ĐẶT • Biểu diễn bộ nhớ: • Biểu diễn tuần tự. • Biểu diễn liên kết. • Cài đặp phép toán chọn một phần tử: • Chọn trực tiếp trong biểu diễn tuần tự. • Chọn tuần tự trong biểu diễn tuần tự . • Chọn trực tiếp trong biểu diễn liên kết. • Chọn tuần tự trong biểu diễn liên kết. Nguyễn Văn Linh Programming 7 Languages Chapter 4
- BIỂU DIỄN BỘ NHỚ • Biểu diễn tuần tự • Biểu diễn liên kết Bộ mô tả Bộ mô tả Phần tử Phần tử Phần tử Nguyễn Văn Linh Programming 8 Languages Chapter 4
- CÀI ĐẶT PHÉP TOÁN • Chọn trực tiếp trong biểu diễn tuần tự: Vị trí phần tử = địa chỉ cơ sở + độ dời. • Chọn tuần tự trong biểu diễn tuần tự: Xác định vị trí phần tử đầu tiên. Vị trí phần tử tiếp theo = Vị trí phần tử hiện hành + Kích thước phần tử hiện hành. • Lựa chọn trong biểu diễn liên kết: Duyệt từ đầu danh sách. Nguyễn Văn Linh Programming 9 Languages Chapter 4
- VÉCTƠ (MẢNG MỘT CHIỀU) • Định nghĩa: Là CTDL có kích thước cố định và đồng nhất. • Đặc tả: – Số lượng phần tử: Tập chỉ số. – Kiểu của tất cả các phần tử. – Tên phần tử: Chỉ số của phần tử. – Phép tóan lựa chọn một phần tử: Chọn trực tiếp bằng cách chỉ ra chỉ số của phần tử. Chỉ số là giá trị của biểu thức. – Phép toán gán. – Ví dụ: V : ARRAY[1..10] OF REAL Nguyễn Văn Linh Programming 10 Languages Chapter 4
- CÀI ĐẶT VÉCTƠ (1) • Tổ chức lưu trữ: Biểu diễn tuần tự. Địa chỉ Véc tơ Kiểu dữ cơộ s mô B ở A Cận dliướ ệu i Cận trên tả LB tập chỉ số tập chKích ỉ số UB thước mỗi Các Kiểu PT phần tử phần 11
- CÀI ĐẶT VÉCTƠ (2) • Phép toán lựa chọn 1 phần tử: Vị trí phần tử thứ i = + D + (i – LB)* E – là địa chỉ cơ sở. – D là kích thước bộ mô tả. • Phép toán gán: Copy khối ô nhớ. Nguyễn Văn Linh Programming 12 Languages Chapter 4
- MẢNG NHIỀU CHIỀU • Đặc tả: Mỗi chiều có một tập chỉ số. • Cài đặt: Biểu diễn bộ nhớ tuần tự, các phần tử được lưu trũ kế tiếp nhau, nhưng có 2 cách lưu: – Các phần tử được lưu theo trật tự dòng: Hết dòng này đến dòng khác. – Các phần tử được lưu theo trật tự cột: Hết cột này đến cột khác. Nguyễn Văn Linh Programming 13 Languages Chapter 4
- BIỂU DIỄN MA TRẬN M[1..3,-1..2] OF INTEGER Địa chỉ Ma Kiểu dữ cơộ s mô B ở trận M C ậ n d li ướ ệu i t ậ C ậ p ch n trên ỉ s ố 1 tả LB1 tậC ậ n d p ch ỉ sướ ố i 1 C ậ n trên (=1) tập chỉ số 2 Các tập chỉ số 2 UB1 phần tử (=3) LB2 14
- CHỌN MỘT PHẦN TỬ CỦA MA TRẬN • Vị trí của phần tử M[i,j] được tính theo công thức: Vị trí M[i,j] = + D + (i-LB1)*S + (j-LB2)*E Ø là địa chỉ cơ sở. ØD là kích thước bộ mô tả. ØS là kích thước 1 dòng = (UB2-LB2+1)*E. ØE là kích thước một phần tử. Nguyễn Văn Linh Programming 15 Languages Chapter 4
- V í MẨU TIN d • Định nghĩa: Là CTDL có kích thước cố định và không ụ đồng nhất. : • Đặc tả: N – Số lượng phần tử (trường). h – Tên của mỗi phần tử. a – Kiểu của mỗi phần tử. n – Phép toán chọn phần tử: Sử dụng tên PT. _ – Phép gán. v i Nguyễn Văn Linh Programming 16 Languages Chapter 4
- CÀI ĐẶT MẨU TIN • Bộ nhớ tuần tự: • Ví dụ: Nhan_vien Một khối ô nhớ liên tục để lưu trữ 22901 Ma cả mẩu tin. Mỗi Ho_t trường được lưu Nguyễn Tuoi en trong một khối. Văn A Luon ü VịMỗi khốitửcó= thể trí phần có kích thước các phần + Tổng 20 g tửbộ môđó. trước tả riêng. ü Ví dụ: Vị trí Tuoi = 2.18Ma + Kích + Kích thước thước Ho_ten 17
- MẨU TIN CÓ CẤU TRÚC THAY ĐỔI • Bài toán. • Định nghĩa. • Cài đặt. Nguyễn Văn Linh Programming 18 Languages Chapter 4
- MẨU TIN CÓ CẤU TRÚC THAY ĐỔI (BÀI TOÁN) • Ví dụ: Một xí nghiệp có hai loại công nhân: Biên chế và hợp đồng. • Lương công nhân biên chế = Số ngày công * múc lương tối thiểu * Hệ số /20. • Những ngày nghỉ bảo hiểm xã hội, họ được trả lương bảo hiểm. • Lương công nhân hợp đồng = Số ngày công * đơn giá công nhật. Nguyễn Văn Linh Programming 19 Languages Chapter 4
- ĐỊNH NGHĨA MẨU TIN CÓ CẤU TRÚC THAY ĐỔI • Mỗi mẩu tin bao gồm hai phần: Phần tĩnh và phần động. • Phần tĩnh gồm các trường mà tất cả các thể hiện đều có. • Phần động sẽ có các trường khác nhau tùy theo từng thể hiện. • Trong phần tĩnh phải có một trường dùng để phân biệt các thể hiện. • Phép toán lựa chọn một phần tử tương tự như mẩu tin bình thường. Nguyễn Văn Linh Programming 20 Languages Chapter 4
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 351 | 104
-
Bài giảng Ngôn ngữ lập trình C++: Chương 1 - Trần Minh Châu
17 p | 250 | 54
-
Bài giảng Ngôn ngữ lập trình C# - Nguyễn Hồng Phương
409 p | 214 | 41
-
Bài giảng Ngôn ngữ lập trình ứng dụng: Phần 1 – ĐH CNTT&TT
45 p | 113 | 13
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p | 157 | 13
-
Bài giảng Ngôn ngữ lập trình bậc cao - Th.S Đoàn Thị Thu Huyền
44 p | 150 | 10
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - TS. Nguyễn Thị Hiền
12 p | 62 | 9
-
Bài giảng Ngôn ngữ lập trình - Nguyễn Văn Linh
109 p | 118 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 1: Giới thiệu ngôn ngữ C
4 p | 104 | 8
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 112 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 5: Các lớp nhập/xuất trong C++
19 p | 132 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ C++) - Chương 2: Giới thiệu về ngôn ngữ lập trình C++
49 p | 137 | 7
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - PhD. Nguyễn Thị Huyền
12 p | 55 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 3: Lớp và đối tượng
52 p | 112 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 4 - TS. Đỗ Đăng Khoa
40 p | 95 | 5
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 142 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
27 p | 85 | 4
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 82 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn