Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Phạm Đào Minh Vũ
Số trang: 38
Loại file: pdf
Dung lượng: 675.25 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 4 - Các kiểu dữ liệu. Chương này gồm có những nội dung chính sau: Kiểu dữ liệu, các loại kiểu dữ liệu, mảng 1 chiều, khai báo mảng, các thao tác với mảng, chuỗi ký tự, các hàm thư viện, kiểu dữ liệu có cấu trúc,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Phạm Đào Minh Vũ CHƢƠNG 4CÁC KIỂU DỮ LIỆUKiểu dữ liệu Kiểu dữ liệu T được xác định bởi một bộ , với : V : tập các giá trị hợp lệ mà một đối tượng kiểu T có thể lưu trữ O : tập các thao tác xử lý có thể thi hành trên đối tượng kiểu T Ví du 1: Giả sử có kiểu dữ liệu mẫu tự = với Vc = { a-z, A-Z} Oc = {lấy mã ASCII của ký tự, biến đổi ký tự thường thành ký tự hoa…} Ví dụ 2: Giả sử có kiểu dữ liệu số nguyên = với Vi = { -32768..32767} Oi = { +, -, *, /, %} Như vậy, muốn sử dụng một kiểu dữ liệu cần nắm vững cả nội dung dữ liệu được phép lưu trữ và các xử lý tác động trên đó2Kiểu dữ liệu Các thuộc tính của 1 KDL bao gồm: Tên KDL. Miền giá trị. Kích thước lưu trữ. Tập các toán tử tác động lên KDL.3 Các loại kiểu dữ liệu Kiểu dữ liệu cơ bản Là những kiểu dữ liệu đơn giản, không có cấu trúc thường được các ngôn ngữ lập trình cấp cao xây dựng sẵn như một thành phần của ngôn ngữ để giảm nhẹ công việc cho người lập trình. Kiểu có thứ tự rời rạc: số nguyên, ký tự Kiểu có thứ tự không rời rạc: số thực. Các kiểu cơ sở rất đơn giản và không thể hiện rõ sự tổ chức dữ liệu trong một cấu trúc, thường chỉ được sử̉ dụng làm nền để xây dựng các kiểu dữ̃ liệu phức tạp khác.4Kiểu dữ liệu Kiểu dữ liệu có cấu trúc cơ bản Mảng Chuỗi ký tự Cấu trúc Kiểu dữ liệu hướng giải quyết vấn đề Những kiểu dữ liệu có cấu trúc hướng tới vấn đề cần giải quyết được xây dựng bằng cách kết nối các cấu trúc dữ liệu cơ bản Danh sách Hàng đợi Ngăn xếp Cấu trúc cây Nếu dữ liệu được xữ lý theo thứ tự nhập thì hàng đợi được sử dụng. Tương tự nếu dữ liệu cần xữ lý theo thứ tự ngược với thứ tự nhập (tức nhập sau cùng xữ lý trước) có thể dùng ngăn xếp, … Vì thế cấu trúc dữ liệu hướng vấn đề được xác định bởi thuật5 toán tương ứng. Mảng 1 chiều Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần. Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục.6 Khai báo mảng Cách 1: Con trỏ hằng Cú pháp: [] ; Ví dụ: int a[100]; //Khai bao mang so nguyen a gom 100 phan tu float b[50]; //Khai bao mang so thuc b gom 50 phan tu Khởi gán giá trị ban đầu cho mảng: [] = {Giá trị}; Ví dụ: int a[5] = {0};7Khai báo mảng Cách 2: Con trỏ Ý nghĩa: Khi ta khai báo một mảng với kiểu dữ liệu bất kì (int, float, char,…) thì tên của mảng thực chất là một hằng địa chỉ của phần tử đầu tiên. Cú pháp: < Kiểu dữ liệu > *< Tên mảng >; Ví dụ : int *p; // khai bao con tro p int b[100]; p = new int [100]; p = b; // p tro vao phan tu 0 cua mang b Với cách viết như trên thì ta có thể hiểu các cách viết sau là tương đương p[i] *(p + i) b[i] *(b+i) Cấp phát: new Giải phóng delete8 Các thao tác Nhập / xuất Tìm kiếm Sắp xếp Tăng dần, giảm dần Số lẻ tăng (giảm) dần Kiểm tra Đếm Phần tử x, Số nguyên tố, Mảng con tăng (giảm) Thêm / xóa Tính tổng, giá trị trung bình, …9 Bài tập thực hành 18. Viết hàm sắp xếp các phần tử lẻ tăng dần. 19. Viết hàm sắp xếp các phần tử tại vị trí lẻ tăng dần. 20. Viết hàm xoá phần tử tại vị trí lẻ trong mảng. 21. Viết hàm xoá phần tử có giá trị lớn nhất trong mảng. 22. Nhập vào giá trị X. Viết hàm xoá tất cả các phần tử có giá trị nhỏ hơn X. 23. Nhập vào giá trị X. Viết hàm xoá phần tử có giá trị gần X nhất. 24. Viết hàm loại bỏ tất cả các phần tử có giá trị trùng nhau (chỉ giữ lại một phần tử trong số các phần tử trùng) 25. Viết hàm chèn phần tử có giá trị X vào vị trí đầu tiên của mảng. 26. Viết hàm chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng. 27. Viết hàm chèn phần tử có giá trị X vào trước phần tử có giá trị là số nguyên tố đầu tiên trong mảng.10 Chuỗi ký tự Chuỗi ký tự là một dãy các phần tử, mỗi phần tử có kiểu ký tự Khai báo: Cách 1: Con trỏ hằng char < Tên chuỗi > [ < Số ký tự tối đa của chuỗi > ] ; Ví dụ: char chuoi[25]; Ý nghĩa khai báo 1 mảng kiểu ký tự tên là chuoi có 25 phần tử (như vậy tối đa ta có thể nhập 24 ký tự vì phần tử thứ 25 đã chứa ký tự kết thúc chuỗi ‘ ’ ) Lưu ý: Chuỗi ký tự được kết thúc bằng ký tự ‘ ’. D ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Phạm Đào Minh Vũ CHƢƠNG 4CÁC KIỂU DỮ LIỆUKiểu dữ liệu Kiểu dữ liệu T được xác định bởi một bộ , với : V : tập các giá trị hợp lệ mà một đối tượng kiểu T có thể lưu trữ O : tập các thao tác xử lý có thể thi hành trên đối tượng kiểu T Ví du 1: Giả sử có kiểu dữ liệu mẫu tự = với Vc = { a-z, A-Z} Oc = {lấy mã ASCII của ký tự, biến đổi ký tự thường thành ký tự hoa…} Ví dụ 2: Giả sử có kiểu dữ liệu số nguyên = với Vi = { -32768..32767} Oi = { +, -, *, /, %} Như vậy, muốn sử dụng một kiểu dữ liệu cần nắm vững cả nội dung dữ liệu được phép lưu trữ và các xử lý tác động trên đó2Kiểu dữ liệu Các thuộc tính của 1 KDL bao gồm: Tên KDL. Miền giá trị. Kích thước lưu trữ. Tập các toán tử tác động lên KDL.3 Các loại kiểu dữ liệu Kiểu dữ liệu cơ bản Là những kiểu dữ liệu đơn giản, không có cấu trúc thường được các ngôn ngữ lập trình cấp cao xây dựng sẵn như một thành phần của ngôn ngữ để giảm nhẹ công việc cho người lập trình. Kiểu có thứ tự rời rạc: số nguyên, ký tự Kiểu có thứ tự không rời rạc: số thực. Các kiểu cơ sở rất đơn giản và không thể hiện rõ sự tổ chức dữ liệu trong một cấu trúc, thường chỉ được sử̉ dụng làm nền để xây dựng các kiểu dữ̃ liệu phức tạp khác.4Kiểu dữ liệu Kiểu dữ liệu có cấu trúc cơ bản Mảng Chuỗi ký tự Cấu trúc Kiểu dữ liệu hướng giải quyết vấn đề Những kiểu dữ liệu có cấu trúc hướng tới vấn đề cần giải quyết được xây dựng bằng cách kết nối các cấu trúc dữ liệu cơ bản Danh sách Hàng đợi Ngăn xếp Cấu trúc cây Nếu dữ liệu được xữ lý theo thứ tự nhập thì hàng đợi được sử dụng. Tương tự nếu dữ liệu cần xữ lý theo thứ tự ngược với thứ tự nhập (tức nhập sau cùng xữ lý trước) có thể dùng ngăn xếp, … Vì thế cấu trúc dữ liệu hướng vấn đề được xác định bởi thuật5 toán tương ứng. Mảng 1 chiều Mảng thực chất là một biến được cấp phát bộ nhớ liên tục và bao gồm nhiều biến thành phần. Các thành phần của mảng là tập hợp các biến có cùng kiểu dữ liệu và cùng tên. Do đó để truy xuất các biến thành phần, ta dùng cơ chế chỉ mục.6 Khai báo mảng Cách 1: Con trỏ hằng Cú pháp: [] ; Ví dụ: int a[100]; //Khai bao mang so nguyen a gom 100 phan tu float b[50]; //Khai bao mang so thuc b gom 50 phan tu Khởi gán giá trị ban đầu cho mảng: [] = {Giá trị}; Ví dụ: int a[5] = {0};7Khai báo mảng Cách 2: Con trỏ Ý nghĩa: Khi ta khai báo một mảng với kiểu dữ liệu bất kì (int, float, char,…) thì tên của mảng thực chất là một hằng địa chỉ của phần tử đầu tiên. Cú pháp: < Kiểu dữ liệu > *< Tên mảng >; Ví dụ : int *p; // khai bao con tro p int b[100]; p = new int [100]; p = b; // p tro vao phan tu 0 cua mang b Với cách viết như trên thì ta có thể hiểu các cách viết sau là tương đương p[i] *(p + i) b[i] *(b+i) Cấp phát: new Giải phóng delete8 Các thao tác Nhập / xuất Tìm kiếm Sắp xếp Tăng dần, giảm dần Số lẻ tăng (giảm) dần Kiểm tra Đếm Phần tử x, Số nguyên tố, Mảng con tăng (giảm) Thêm / xóa Tính tổng, giá trị trung bình, …9 Bài tập thực hành 18. Viết hàm sắp xếp các phần tử lẻ tăng dần. 19. Viết hàm sắp xếp các phần tử tại vị trí lẻ tăng dần. 20. Viết hàm xoá phần tử tại vị trí lẻ trong mảng. 21. Viết hàm xoá phần tử có giá trị lớn nhất trong mảng. 22. Nhập vào giá trị X. Viết hàm xoá tất cả các phần tử có giá trị nhỏ hơn X. 23. Nhập vào giá trị X. Viết hàm xoá phần tử có giá trị gần X nhất. 24. Viết hàm loại bỏ tất cả các phần tử có giá trị trùng nhau (chỉ giữ lại một phần tử trong số các phần tử trùng) 25. Viết hàm chèn phần tử có giá trị X vào vị trí đầu tiên của mảng. 26. Viết hàm chèn phần tử có giá trị X vào phía sau phần tử có giá trị lớn nhất trong mảng. 27. Viết hàm chèn phần tử có giá trị X vào trước phần tử có giá trị là số nguyên tố đầu tiên trong mảng.10 Chuỗi ký tự Chuỗi ký tự là một dãy các phần tử, mỗi phần tử có kiểu ký tự Khai báo: Cách 1: Con trỏ hằng char < Tên chuỗi > [ < Số ký tự tối đa của chuỗi > ] ; Ví dụ: char chuoi[25]; Ý nghĩa khai báo 1 mảng kiểu ký tự tên là chuoi có 25 phần tử (như vậy tối đa ta có thể nhập 24 ký tự vì phần tử thứ 25 đã chứa ký tự kết thúc chuỗi ‘ ’ ) Lưu ý: Chuỗi ký tự được kết thúc bằng ký tự ‘ ’. D ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình nâng cao Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình nâng cao Kiểu dữ liệu Mảng 1 chiều Khai báo mảngTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 270 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 233 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 212 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 198 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 170 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 154 0 0 -
Bài giảng Lập trình Windows Form với C#: Chương 3 - Lê Thị Ngọc Hạnh
11 trang 152 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 127 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 120 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - Trần Hạnh Nhi
98 trang 117 0 0