390 likes | 570 Views
KỸ THUẬT LẬP TRÌNH. GV: Phạm Thị Xuân Diệu Email: phamdieucse@gmail.com Blog: http://xuandieu.wordpress.com. Chương 7:. MỘT SỐ THUẬT TOÁN CƠ BẢN. 1. Một số lỗi thường gặp. 2. Một số thuật toán cơ bản. 1. Quy ước và một số lỗi thường gặp. Quy ước định dạng mã nguồn
E N D
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu Email: phamdieucse@gmail.com Blog: http://xuandieu.wordpress.com
Chương 7: MỘT SỐ THUẬT TOÁN CƠ BẢN
1. Một số lỗi thường gặp 2. Một số thuật toán cơ bản
1. Quy ước và một số lỗi thường gặp • Quy ước định dạng mã nguồn • Đặt tên định danh: nên đặt tên thể hiện ý nghĩa của nó • int tong; • float diem_trung_binh; • Tên hằng viết hoa toàn bộ, các từ cách nhau bởi dấu _ • const float PI=3.14; • Tên biến viết chữ nhỏ, các từ cách nhau dấu _ • int ket_qua; • Tên hàm phải là động từ • void tim_so_lon_nhat(int a[],int n)
1. Quy ước và một số lỗi thường gặp • Mỗi câu lệnh được viết trên một dòng.
1. Quy ước và một số lỗi thường gặp • Các dấu {} nên được viết trên một dòng và nên canh thẳng theo một cột.
1. Quy ước và một số lỗi thường gặp • Các câu lệnh if, switch, while, for, do…while nên được viết riêng trên một đoạn và cách nhau một dòng.
1. Quy ước và một số lỗi thường gặp • Các câu lệnh thực hiện chung một nhiệm vụ thì nên được viết riêng trên một đoạn, cách nhau một hàng.
1. Quy ước và một số lỗi thường gặp • Quy tắc thụt hàng:
1. Quy ước và một số lỗi thường gặp • Một số lỗi thường gặp: • Lỗi do quên ép kiểu dữ liệu
1. Quy ước và một số lỗi thường gặp • Lỗi đặt dấu chấm phẩy( ; ) sai vị trí khi sử dụng vòng lặp hoặc dùng dư.
1. Quy ước và một số lỗi thường gặp • Lỗi do không nhóm đúng tập lệnh vào một đơn vị ( thiếu {})
1. Quy ước và một số lỗi thường gặp • Lỗi do không nhóm đúng tập lệnh vào một đơn vị ( thiếu {})
1. Quy ước và một số lỗi thường gặp • Lỗi do không nhóm đúng tập lệnh vào một đơn vị ( thiếu {})
1. Quy ước và một số lỗi thường gặp • Lỗi đưa kết quả của vòng lặp vào trong vòng lặp.
1. Quy ước và một số lỗi thường gặp • Lỗi do không khởi tạo giá trị biến.
1. Quy ước và một số lỗi thường gặp • Lỗi do không khởi tạo giá trị biến.
1. Quy ước và một số lỗi thường gặp • Nhầm lẫn khi khai báo tham số cho hàm ở dạng tham trị, tham chiếu hay con trỏ.
1. Quy ước và một số lỗi thường gặp Sửa lại:
1. Quy ước và một số lỗi thường gặp • Không thay đổi giá trị để thoát vòng lặp.
1. Quy ước và một số lỗi thường gặp • Gán biến cho giá trị chưa khởi tạo.
1. Quy ước và một số lỗi thường gặp • Không sử dụng giá trị trả về của hàm.
1. Quy ước và một số lỗi thường gặp • Sử dụng sai phép toán so sánh thành phép gán.
1. Quy ước và một số lỗi thường gặp • Sử dụng sai phép toán so sánh thành phép gán.
1. Quy ước và một số lỗi thường gặp • Sử dụng sai phép toán so sánh thành phép gán.
1. Quy ước và một số lỗi thường gặp • Sử dụng quá phạm vi của mảng.
1. Quy ước và một số lỗi thường gặp • Nhầm lẫn giữa toán tử && và ||
1. Quy ước và một số lỗi thường gặp • Không khai báo prototype cho hàm
1. Quy ước và một số lỗi thường gặp • Quên dùng lệnh “break;” trong phát biểu switch
1. Thuật toán và kỹ thuật cơ bản • Hoán đổi giá trị hai biến • Truyền theo con trỏ • Truyền tham biến
1. Thuật toán và kỹ thuật cơ bản • Vét cạn: Kỹ thuật duyệt toàn bộ không gian tìm kiếm • Cộng dồn: • Tính tổng các phần tử trong mảng a[5]?
1. Thuật toán và kỹ thuật cơ bản • Vét cạn: Kỹ thuật duyệt toàn bộ không gian tìm kiếm • Nhân dồn: • Tính tích các phần tử chẵn trong mảng a[5]?
1. Thuật toán và kỹ thuật cơ bản • Vét cạn: Kỹ thuật duyệt toàn bộ không gian tìm kiếm • Tìm giá trị nhỏ nhất – lớn nhất • Tìm giá trị lớn nhất trong mảng a[10]?
1. Thuật toán và kỹ thuật cơ bản • Vét cạn: Kỹ thuật duyệt toàn bộ không gian tìm kiếm • Tìm giá trị bằng x • Tìm vị trí có giá trị 5 trong mảng a[10]?
1. Thuật toán và kỹ thuật cơ bản • Vét cạn: Kỹ thuật duyệt toàn bộ không gian tìm kiếm • Tìm và xuất số chẵn trong mảng a[10]?
1. Thuật toán và kỹ thuật cơ bản • Sắp xếp • Mẫu phương thức sắp thứ tự tăng: • void SapTang(int a[], int n) • { • for (int i = 0; i < n-1; i ++) • for(int j = i+1; j < n; j ++) • if (a[i] > a[j]) • HoanVi(a[i], a[j]); • } • void HoanVi(int &a, int &b) • { • int tam = a; • a = b; • b = tam; • }