Báo cáo thực hành Kỹ thuật lập trình – IT3040 _Bài 15

119 10 0
Báo cáo thực hành Kỹ thuật lập trình – IT3040 _Bài 15

Đ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

Danh mục hình ảnh 3 Bài thực hành số 1: Con trỏ và cấp phát 5 Phần 1. Thực hành về con trỏ 5 1. Bài tập 1: 5 2. Bài tập 2: 6 3. Bài tập 3: 7 4. Bài tập 4: 8 5. Bài tập 5: 10 6. Bài tập 6: 11 7. Bài tập 7: 13 8. Bài tập 8 15 Phần 2. Bài tập về nhà 18 Bài tập 9 18 Bài tập 10 20 Bài thực hành số 2: Hàm và tối ưu mã nguồn 24 Phần 1. Thực hành về hàm 24 1.1 Truyền tham trị, tham chiếu và tham số ngầm định 24 1.2 Đa năng hóa hàm 28 1.3 Con trỏ hàm và tham số hóa hàm 32 1.4 Biểu thức lamda và hàm nặc danh 35 Phần 2. Thực hành về tối ưu mã nguồn 36 Bài tập 9 :Tính hàm sigmoid 36 Bài tập 10 (bonus): Tính tích hai ma trận vuông 40 Phần 3. Bài tập về nhà 45 Bài tập 11: Tính tích hai đa thức 45 Bài thực hành số 3: Đệ quy và khử đệ quy để giải quyết một số bài toán 48 Phần 1. Thực hành về đệ quy 48 1.1 Đệ quy quay lui 48 1.2 Kỹ thuật nhánh cận 51 1. Đệ quy có nhớ 54 Phần 2. Khử đệ quy 56 Bài tập 5: Tính tổ hợp 56 Bài tập 6: Tìm ước chung lớn nhất 58 Bài tập 7: Liệt kê xâu nhị phân 60 Bài tập 8: Cân đĩa 62 Phần 3. Bài tập về nhà 64 Bài tập 9 : Lập lịch cho y tá 64 Bài tập 10 Khoảng cách Hamming 67 Bài tập 11: Lịch trình chụp ảnh 70 Bài tập 12 : Đếm đường đi 74 Bài thực hành số 4: Thực hành sử dụng các cấu trúc dữ liệu cơ bản để giải quyết các bài toán cụ thể 76 Phần 1. Bài tập thực hành 76 Bài tập 1: Đảo ngược một danh sách liên kết đơn 76 Bài tập 2: Tính diện tích tam giác 78 Bài tập 3: Tính tích có hướng của 2 vector 79 Bài tập 4: Thao tác với vector 81 Bài tập 5: Thực hiện thuật toán DFS không sử dụng đệ quy trên đồ thị biểu diễn bằng danh sách kề. 83 Bài tập 6: Thực hiện thuật toán BFS trên đồ thị biểu diễn bằng danh sách kề. 86 Bài tập 7: Thực hiện các phép giao và hợp của hai tập hợp được biểu diễn bằng set 88 Bài tập 8: Thực hiện các phép giao và hợp của hai tập hợp mờ được biểu diễn bằng map. 90 Bài tập 9 : Cài đặt thuật toán Dijkstra trên đồ thị vô hướng được biểu diễn bằng danh sách kề sử dụng priority_queue 93 Phần 2. Bài tập về nhà 96 Bài tập 10: Search Engine 96 Bài thực hành số 5: Thực hành gỡ rối, kiểm thử và tinh chỉnh mã nguồn 101 Phần 1. Thực hành gỡ rối 101 1.1 Hướng dẫn tìm một số lỗi cú pháp (Syntax Error) thường gặp 101 1.2 Thực hành sửa lỗi cú pháp 101 Bài tập 1: Tìm và sửa các lỗi cú pháp 101 Bài tập 2: Tìm và sửa các lỗi cú pháp 102 1.3 Hướng dẫn tìm một số lỗi thực thi (Runtime Error) 104 1.4 Hướng dẫn tìm một số lỗi logic 104 1.5 Tìm vị trí lỗi bằng trình debug 104 1.6 Tìm vị trí lỗi bằng cách in ra màn hình file log 104 1.7 Thực hành sửa lỗi thực thi và lỗi logic 104 Bài tập 3 : Dãy Ngoặc Đúng 104 Phần 2. Kiểm thử 107 2.1 Hướng dẫn 107 2.2 Thực hành 107 Bài tập 4: Bài toán người du lịch 107 Phần 3. Tinh chỉnh mã nguồn 113 Bài tập 5: Năm nhuận 113 Bài tập 6: Tổng kết 114 Bài tập 7: Chia tiền 116

24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 Contents Danh mục hình ảnh .3 Bài thực hành số 1: Con trỏ cấp phát Phần Thực hành trỏ Bài tập 1: Bài tập 2: Bài tập 3: Bài tập 4: Bài tập 5: 10 Bài tập 6: 11 Bài tập 7: 13 Bài tập 15 Phần Bài tập nhà 18 Bài tập 18 Bài tập 10 20 Bài thực hành số 2: Hàm tối ưu mã nguồn 24 Phần Thực hành hàm 24 1.1 Truyền tham trị, tham chiếu tham số ngầm định 24 1.2 Đa hóa hàm .28 1.3 Con trỏ hàm tham số hóa hàm 32 1.4 Biểu thức lamda hàm nặc danh .35 Phần Thực hành tối ưu mã nguồn .36 Bài tập :Tính hàm sigmoid 36 Bài tập 10 (bonus): Tính tích hai ma trận vng 40 Phần Bài tập nhà 45 Bài tập 11: Tính tích hai đa thức 45 Bài thực hành số 3: Đệ quy khử đệ quy để giải số toán .48 Phần Thực hành đệ quy 48 1.1 Đệ quy - quay lui 48 1.2 Kỹ thuật nhánh cận 51 Đệ quy có nhớ 54 Phần Khử đệ quy .56 Báo cáo thực hành Kỹ thuật lập trình – IT3040 - 20193 24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 Bài tập 5: Tính tổ hợp 56 Bài tập 6: Tìm ước chung lớn 58 Bài tập 7: Liệt kê xâu nhị phân 60 Bài tập 8: Cân đĩa .62 Phần Bài tập nhà 64 Bài tập : Lập lịch cho y tá 64 Bài tập 10 Khoảng cách Hamming 67 Bài tập 11: Lịch trình chụp ảnh 70 Bài tập 12 : Đếm đường .74 Bài thực hành số 4: Thực hành sử dụng cấu trúc liệu để giải toán cụ thể 76 Phần Bài tập thực hành 76 Bài tập 1: Đảo ngược danh sách liên kết đơn 76 Bài tập 2: Tính diện tích tam giác .78 Bài tập 3: Tính tích có hướng vector 79 Bài tập 4: Thao tác với vector 81 Bài tập 5: Thực thuật tốn DFS khơng sử dụng đệ quy đồ thị biểu diễn danh sách kề .83 Bài tập 6: Thực thuật toán BFS đồ thị biểu diễn danh sách kề 86 Bài tập 7: Thực phép giao hợp hai tập hợp biểu diễn set .88 Bài tập 8: Thực phép giao hợp hai tập hợp mờ biểu diễn map .90 Bài tập : Cài đặt thuật toán Dijkstra đồ thị vô hướng biểu diễn danh sách kề sử dụng priority_queue 93 Phần Bài tập nhà 96 Bài tập 10: Search Engine 96 Bài thực hành số 5: Thực hành gỡ rối, kiểm thử tinh chỉnh mã nguồn .101 Phần Thực hành gỡ rối 101 1.1 Hướng dẫn tìm số lỗi cú pháp (Syntax Error) thường gặp 101 1.2 Thực hành sửa lỗi cú pháp .101 Bài tập 1: Tìm sửa lỗi cú pháp .101 Bài tập 2: Tìm sửa lỗi cú pháp .102 1.3 Hướng dẫn tìm số lỗi thực thi (Runtime Error) 104 1.4 Hướng dẫn tìm số lỗi logic 104 1.5 Tìm vị trí lỗi trình debug 104 1.6 Tìm vị trí lỗi cách in hình / file log .104 Báo cáo thực hành Kỹ thuật lập trình – IT3040 - 20193 24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 1.7 Thực hành sửa lỗi thực thi lỗi logic .104 Bài tập : Dãy Ngoặc Đúng 104 Phần Kiểm thử .107 2.1 Hướng dẫn .107 2.2 Thực hành 107 Bài tập 4: Bài toán người du lịch 107 Phần Tinh chỉnh mã nguồn 113 Bài tập 5: Năm nhuận 113 Bài tập 6: Tổng kết 114 Bài tập 7: Chia tiền 116 Danh mục hình ảnhc hình ảnhnh Hình Bài 1.1 Phép tốn & trả địa biến Hình Bài 1.2 Phép toán & trả địa biến Hình Bài 1.3 Phép toán & trả địa biến Hình Bài 1.4 Con trỏ mảng .9 Hình Bài 1.5 Con trỏ mảng .11 Hình Bài 1.6 Con trỏ mảng .13 Hình Bài 1.7 Cấp phát động 15 Hình Bài 1.8 Cấp phát động 18 Hình Bài 1.9 20 Hình 10 Bài 1.10 .23 Hình Bài 2.1 Truyền tham trị .24 Hình Bài 2.2 Truyền tham chiếu 26 Hình Bài 2.3 Tham số ngầm định 28 Hình Bài 2.4 Đa hóa hàm 29 Hình Bài 2.5 Đa hóa tốn tử 31 Hình Bài 2.6 Con trỏ hàm 33 Hình Bài 2.7 Khái quát hóa hàm 35 Hình Bài 2.8 Sắp xếp 36 Hình Bài 2.9 Tính hàm sigmoid 40 Hình 10 Bài 2.10 Tích hai ma trận vng .44 Hình 11 Bài 2.11 Tích hai đa thức 48 Hình Bài 3.1 Dãy Lucas 49 Hình Bài 3.2 Quân mã tuần .51 Hình Bài 3.3 Bài toán người du lịch .53 Hình Bài 3.4 LIS 56 Báo cáo thực hành Kỹ thuật lập trình – IT3040 - 20193 24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 Hình Bài 3.5 Tính tổ hợp 58 Hình Bài 3.6 Tính ước chung lớn 60 Hình Bài 3.7 Liệt kê xâu nhị phân .62 Hình Bài 2.8 Sắp xếp 64 Hình Bài 3.9 Lập lịch cho y tá 67 Hình 10 Bài 3.10 Khoảng cách Hamming .70 Hình 11 Bài 3.11 Lịch trình chụp ảnh 74 Hình 12 Bài 3.12 Đếm đường .76 Hình Bài 4.1 Danh sách liên kết đơn 78 Hình Bài 4.2 Tính diện tích tam giác 79 Hình Bài 4.3 Tích có hướng vector .81 Hình Bài 4.4 Thao tác với vector 83 Hình Bài 4.5 DFS 86 Hình Bài 4.6 BFS 88 Hình Bài 4.7 Set 90 Hình Bài 4.8 Map 93 Hình Bài 4.9 Dijkstra 96 Hình 10 Bài 4.10 Search engine 100 Hình Bài 5.1 Tìm sửa lỗi cú pháp 102 Hình Bài 5.2 Tìm sửa lỗi cú pháp 103 Hình Bài 5.3 Tìm dãy ngoặc 107 Hình Bài 5.4 Bài toán người du lịch 113 Hình Bài 5.5 Năm nhuận 114 Hình Bài 5.6 Điểm tổng kết 116 Hình Bài 5.7 Chia tiền .117 Báo cáo thực hành Kỹ thuật lập trình – IT3040 - 20193 24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 Bài thực hành số 1: Con trỏ cấp phátc hành số 1: Con trỏ cấp phát 1: Con trỏ cấp phát cấp phátp phát Phần Thực hành trỏn Thực hành số 1: Con trỏ cấp phátc hành trỏ trỏ cấp phát Bài tập 1: p 1: Viết chương trình C nhập vào số nguyên Thiết lập trỏ để trỏ tới số nguyên hiển thị kết giá trị tham chiếu ngược trỏ Lưu ý: Phép toán & trả địa biến Tên file: 20183555-NguyenXuanHuy_Bai 1_1.cpp # include int main(){ printf("Ho va Ten: Nguyen Xuan Huy\n"); printf("MSSV:20183555 \n"); int x, y, z; int* ptr; printf("Enter three integers: "); scanf("%d %d %d", &x, &y, &z); printf("\nThe three integers are:\n"); ptr = &x; printf("x = %d\n", *ptr); ptr = &y; printf("y = %d\n", *ptr); ptr = &z; printf("z = %d\n", *ptr); return 0; } Báo cáo thực hành Kỹ thuật lập trình – IT3040 - 20193 24-20183555-NguyenXuanHuy - IT3040- 697698 – BTH01-05 Hình Bài 1.1 Phép toán & trả địa biến Bài tập 1: p 2: Viết chương trình in địa phần tử mảng định nghĩa sau đây: int a[7]= {13, -355, 235, 47, 67, 943, 1222}; Lưu ý: Để in địa trỏ bạn sử dụng ký tự định dạng %p Tên file: 20183555-NguyenXuanHuy_Bai 1_2.cpp #include int main(){ int i; printf("Ho va Ten: Nguyen Xuan Huy\n"); printf("MSSV:20183555 \n"); int a[7]= {13, -355, 235, 47, 67, 943, 1222}; printf("address of first five elements in memory.\n"); for (i=0; i

Ngày đăng: 14/06/2023, 14:11

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

Tài liệu liên quan