Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Kỹ thuật lập trình Bài giảng môn kỷ thuật lập trình võ nhật vinh ( www.sites.google.com/site/thuv...

Tài liệu Bài giảng môn kỷ thuật lập trình võ nhật vinh ( www.sites.google.com/site/thuvientailieuvip )

.PDF
73
93
55

Mô tả:

ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin KỸ THUẬT LẬP TRÌNH MẢNG NHIỀU CHIỀU (Chương 1) ThS VÕ NHẬT VINH 1 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 TỔNG QUAN • • • • • • • • • Giới thiệu môn học “Kỹ thuật lập trình”, Quy ñịnh của giảng viên, ðặt vấn ñề về giới hạn của mảng 1 chiều, Giới thiệu mảng 2 chiều, Khai báo mảng 2 chiều, Truy xuất mảng 2 chiều, Khái quát mảng nhiều chiều, Hạn chế của mảng, Tóm tắt. 2 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 GIỚI THIỆU MÔN HỌC • Giảng viên: • Liên hệ: • Thời lượng: • Kiểm tra: • Tài liệu: • Website: ThS Võ Nhật Vinh phòng 202, số 97 Võ Văn Tần Tel: 39301168 35 tiết lý thuyết, 35 tiết thực hành Giữa kỳ (30%) Cuối kỳ trên máy (70%) Principles of Programming (Code Warrior – 1995) http://vonhatvinh.net/lecture/ 3 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 GIỚI THIỆU MÔN HỌC (tt) • Mục ñích môn học: – Nâng cao các kiến thức về lập trình ñã học trong môn Cơ sở lập trình, – Làm quen với các thao tác can thiệp sâu hơn vào bộ nhớ máy tính khi lập trình, – Làm quen với lập trình hướng ñối tượng, – Có khả năng hiện thực việc lập trình trên Visual C++, – Vận dụng cấu trúc dữ liệu và kỹ thuật lập trình ñể giải quyết các bài toán. 4 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 GIỚI THIỆU MÔN HỌC (tt) • • • • • • Chương 1: Chương 2: Chương 3: Chương 4: Chương 5: Chương 6: Mảng nhiều chiều Con trỏ Chuỗi ký tự Tập tin và luồng ðệ quy Lớp 5 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 QUY ðỊNH CỦA GIẢNG VIÊN 6 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 ðẶT VẤN ðỀ VỀ MẢNG • Xét vấn ñề lưu trữ một dãy số: a0, a1, a2, …, an • Mảng n+1 phần tử a[0], a[1], …, a[n] sẽ làm việc ñó, • Xét vấn ñề lưu trữ một dãy số: b0, b1, b2, …, bm • Mảng m+1 phần tử b[0], b[1],.., b[m] sẽ làm việc ñó, Xét vấn ñề lưu trữ kết quả: cij = ai x bj với 0 ≤ i ≤ n và 0 ≤ j ≤ m 7 CHƯƠNG 1 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin ðẶT VẤN ðỀ VỀ MẢNG (tt) a0 a1 a2 … an b0 a0 x b0 a1 x b0 a2 x b0 x b0 an x b0 b1 a0 x b1 a1 x b1 a2 x b1 x b1 an x b1 b2 a0 x b2 a1 x b2 a2 x b2 x b2 an x b2 … a0 x … a1 x … a2 x … …x… an x … bm a0 x bm a1 x bm a2 x bm x bm an x bm 8 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 GIỚI THIỆU MẢNG 2 CHIỀU • ðể lưu trữ dữ liệu theo 1 hàng dọc hoặc hàng ngang, ta dùng mảng (xem Cơ sở lập trình), • ðể lưu trữ kết quả ñược sắp xếp theo cả chiều ngang và chiều dọc, ta sẽ dùng mảng 2 chiều. Tóm li: • Mảng là tập hợp các phần tử ñặt liên tiếp nhau trong bộ nhớ, có cùng tên và cùng kiểu dữ liệu. • Mảng 2 chiều là mảng chứa các giá trị bố trí theo hàng ngang và hàng dọc. 9 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 KHAI BÁO MẢNG 2 CHIỀU • Khai báo mảng cần 3 thông tin: – Tên mảng, – Kiểu dữ liệu của mảng, – Kích thước của mảng: số phần tử trong mảng • Khai báo mảng 2 chiều cũng cần 3 thông tin: – Tên mảng, – Kiểu dữ liệu của mảng, – Kích thước của mảng: kích thước dọc & kích thước ngang 10 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 KHAI BÁO MẢNG 2 CHIỀU (tt) • Cú pháp: kiểu_dữ_liệu Tên_mảng [kích_thước_1][kích_thước_2] • Ví dụ: int Mang_A [50] [70] • Lưu ý: trong ví dụ trên, chỉ số hàng dọc của mảng sẽ từ 0 ñến 49 và hàng ngang sẽ từ 0 ñến 69. 11 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 TRUY XUẤT MẢNG 2 CHIỀU • Không thể tác ñộng lên toàn bộ mảng cùng 1 lúc, • Chỉ có thể tác ñộng lên duy nhất 1 phần tử của mảng tại 1 thời ñiểm, • Truy xuất 1 phần tử của mảng: – Tên của mảng, – Chỉ số của mảng: chỉ số hàng dọc, chỉ số hàng ngang, – Lưu ý kiểu dữ liệu của mảng khi truy xuất, • Ví dụ: xét mảng ñược khai báo int A[50][60] truy xuất phần tử hàng 39, cột 58: A[39][58] 12 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 TRUY XUẤT MẢNG 2 CHIỀU (tt) • Khởi tạo mảng: giống như việc khởi tạo giá trị cho biến sau khi ñược khai báo, • Có thể gán từng giá trị cho từng phần tử của mảng, • Có thể khởi tạo giá trị của mảng ngay từ lúc khai báo mảng bằng cách liệt kê các giá trị của các phần tử: int A[2][3] = {{1, 2, 3}, {2, 3, 4}} Nếu liệt kê không ñầy ñủ thì giá trị các phần tử còn lại mặc ñịnh là 0. 13 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 KHÁI QUÁT MẢNG NHIỀU CHIỀU • • • • • ðể biểu diễn dãy các giá trị, ta dùng mảng 1 chiều, ðể biểu diễn bảng các giá trị, ta dùng mảng 2 chiều, ðể biểu diễn khối các giá trị, ta dùng mảng 3 chiều, … Ta sẽ có thể mảng nhiều chiều (2 chiều, 3 chiều…) ñể biểu diễn các phần tử liên tiếp nhau trong bộ nhớ, có cùng kiểu dữ liệu, cùng tên theo một cách sắp xếp không gian nào ñó, • Cách khai báo, truy xuất mảng cũng giống như mảng 2 chiều. 14 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 HẠN CHẾ CỦA MẢNG • Phải xác ñịnh kích thước của mảng ngay từ lúc khai báo, Kích thước bộ nhớ dành cho mảng không thay ñổi suốt chương trình, Kích thước của mảng khi khai báo phải lớn hơn bằng nhu cầu sử dụng trong chương trình, Có thể không sử dụng hết vùng nhớ ñã khai báo cho mảng, • Khi truyền mảng cho hàm, cần truyền cả nội dung của mảng và kích thước của mảng. 15 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin CHƯƠNG 1 TÓM TẮT • Mảng dùng ñể một loạt các phần tử liên tiếp, cùng kiểu dữ liệu và cùng tên, • Tùy theo cách sắp xếp không gian của các phần tử liên tiếp mà ta có mảng 1 chiều, 2 chiều, 3 chiều,… • Khi khai báo ta cần các thông tin: kiểu dữ liệu, tên mảng và kích thước mảng (số lượng kích thước tùy theo số chiều của mảng), • Khi truy xuất, cần gọi ñúng tên mảng, vị trí của phần tử và bảo ñảm tương thích kiểu dữ liệu. 16 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin KỸ THUẬT LẬP TRÌNH CON TRỎ (Chương 2) ThS VÕ NHẬT VINH 1 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin KỸ THUẬT LẬP TRÌNH TỔNG QUAN • Hạn chế của bộ nhớ tĩnh, • Giới thiệu con trỏ: – – – – Khái quát về con trỏ, Khai báo con trỏ, Khởi tạo và hủy bỏ con trỏ, Truy xuất vùng nhớ và giá trị lưu trong vùng nhớ, • Ứng dụng con trỏ cho mảng một chiều, • Tóm tắt. 2 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin KỸ THUẬT LẬP TRÌNH HẠN CHẾ CỦA BỘ NHỚ TĨNH • Dữ liệu phải lưu vào vùng nhớ ñã ñược khai báo trước trong chương trình, • Chương trình khi nhận ñược sự khai báo sẽ dành hẳn 1 vùng nhớ tương ứng ñể chờ ñợi dữ liệu, • Trong quá trình tính toán, dữ liệu ít hơn dự kiến thì không thể yêu cầu chương trình cắt bớt vùng nhớ, • Nếu dữ liệu nhiều hơn dự kiến thì cũng không thể yêu cầu chương trình tăng thêm vùng nhớ, • Ví dụ: khai báo mảng 10 phần tử nhưng có lúc chỉ cần dùng 7 phần tử hoặc cần dùng 15 phần tử? 3 ðại học Mở TP.Hồ Chí Minh Khoa Công Nghệ Thông Tin KỸ THUẬT LẬP TRÌNH KHÁI QUÁT VỀ CON TRỎ • ðể khắc phục hạn chế của bộ nhớ tĩnh: ta dùng bộ nhớ ñộng, • Bộ nhớ ñộng: có thể yêu cầu máy tính cấp 1 vùng nhớ khi cần và yêu cầu nó xóa ñi khi không cần nữa, • Con trỏ (biến con trỏ): là một loại biến dùng ñể truy xuất bộ nhớ ñộng. 4
- Xem thêm -

Tài liệu liên quan