Microsoft PowerPoint IP 06 Function and Organizing of C Program HàmHàm vàvà cáchcách tổtổ chứcchức chươngchương trìnhtrình CC GV GV NguyễnNguyễn Minh Minh HuyHuy chươngchương trìnhtrình CC 1Nhập môn l[.]
Hàm cách tổ chức chương trình C GV Nguyễn Minh Huy Nhập mơn lập trình - GV Nguyễn Minh Huy Nội dung Khái niệm hàm hàm Truyền tham số tầm vực vực Tổ chức chương trình C Nhập mơn lập trình - GV Nguyễn Minh Huy Nội dung Khái niệm hàm hàm Truyền tham số tầm vực vực Tổ chức chương trình C Nhập mơn lập trình - GV Nguyễn Minh Huy Khái niệm hàm Xét chương trình sau: sau: Nhập vào số nguyên a, b, c >= Tính xuất S = a! + b! + c! Hãy phần trùng lắp chương trình trình Điểm yếu chương trình trùng lắp: lắp: Tốn thời gian, gian, cơng sức sức Khi có thay đổi sửa nhiều chỗ chỗ Viết lần, lần, tái sử dụng lại nhiều lần lần Nhập mơn lập trình - GV Nguyễn Minh Huy Khái niệm hàm Phương pháp đặt hàm hàm:: - B1: S1 = - B2: Nếu a > S1 = S1 * a a = a – Quay lại B2 - B3: S2 = - B4: Nếu b > S2 = S2 * b b = b – Quay lại B4 - B5: S3 = - B6: Nếu c > S3 = S3 * c c = c – Quay lại B6 - B7: S = S1 + S2 + S3 S3 Nhập môn lập trình - GV Nguyễn Minh Huy - B0: Đặt F(x) sau sau:: - B0.1: Đặt T = - B0.2: Nếu x > T = T * x x = x – Quay lại B0.2 - B1: S1 = F(a) F(a) - B2: S2 = F(b) F(b) - B3: S3 = F(c) F(c) - B4: S = S1 + S2 + S3 Khái niệm hàm Phương pháp đặt hàm hàm:: Đặt F(x) a>0 sai S1 = F(a) S1 = S1 * a a=a-1 x>0 b>0 sai S2 = S2 * b b=b-1 sai T=T*x x=x-1 S2 = F(b) S3 = F(c) S = S1 + S2 + S3 c>0 sai S3 = S3 * c c=c-1 S = S1 + S2 + S3 Nhập mơn lập trình - GV Nguyễn Minh Huy Khái niệm hàm Hàm ngôn ngữ C: Một khối lệnh đặt tên tên Có thể gọi từ đâu chương trình trình Có thể gọi nhiều lần với tham số khác nhau Cấu trúc hàm hàm:: Phần khai báo báo:: Tên hàm hàm Tham số đầu vào vào Kết đầu ra Định danh hàm hàm Đầu vào Tên hàm Đầu Thân hàm Phần cài đặt đặt:: thân hàm hàm Nhập mơn lập trình - GV Nguyễn Minh Huy Khái niệm hàm Các bước sử dụng hàm C: Khai báo hàm (prototype): về> ( hàm>( số> ); : về>: int, int, float, char, j, void (không trả về) về) float tinhDTB tinhDTB(( float van, float toan ); Cài đặt hàm hàm:: về> ( hàm>( số> ) { [Các câu lệnh lệnh]] [return về>;] } Gọi thực hàm hàm:: ( hàm>( số> ); float dtb = tinhDTB tinhDTB(7, (7, 8.5); Nhập mơn lập trình - GV Nguyễn Minh Huy Khái niệm hàm Các bước sử dụng hàm C: #include // Khai báo hàm hàm long tinhGT tinhGT((int n); void main() { /* Viết khai báo biến biến Viết lệnh nhập a, b, c */ // Cài đặt hàm hàm long tinhGT tinhGT((int n) { long s = 1; for ( ; n > 0; n-n )) s = s * n; return s; } // Gọi thực hàm hàm S1 = tinhGT tinhGT(a); (a); S2 = tinhGT tinhGT(b); (b); S3 = tinhGT tinhGT(c); (c); S = S1 + S2 + S3; } Nhập mơn lập trình - GV Nguyễn Minh Huy Nội dung Khái niệm hàm hàm Truyền tham số tầm vực vực Tổ chức chương trình C Nhập mơn lập trình - GV Nguyễn Minh Huy 10 Nội dung Khái niệm hàm hàm Truyền tham số tầm vực vực Tổ chức chương trình C Nhập mơn lập trình - GV Nguyễn Minh Huy 16 Tổ chức chương trình C Một sách tổ chức nào? ? Không thể viết tất trang giấy giấy!! !! Chia làm nhiều chương chương Có mục lục đầu đầu Nội dung chương sau sau Nhập mơn lập trình - GV Nguyễn Minh Huy 17 Tổ chức chương trình C Cách tổ chức chương trình C: Tổ chức giống sách sách Các chương ~ file mã nguồn nguồn Mục lục ~ hàm main Làm kết nối file mã nguồn nguồn? ? // File main.cpp void main() { nhap(); tinhToan1(); tinhToan2(); xuat(); } Nhập mơn lập trình - GV Nguyễn Minh Huy // File nhapxuat.cpp void nhap() { } // File xuly.cpp int tinhToan1() { } void xuat() { } int tinhToan2() { } 18 Tổ chức chương trình C Header file: Kết nối file mã nguồn chương trình trình Làm mã nguồn file hiểu lẫn nhau Có file h h Cách sử dụng dụng:: Tạo file h cho file mã nguồn cpp cpp File h chứa khai báo hàm biến biến File cpp chứa cài đặt hàm hàm Để A.cpp hiểu mã nguồn B.cpp Trong A.cpp dùng #include “ >” Nhập mơn lập trình - GV Nguyễn Minh Huy 19 Tổ chức chương trình C Header file: // File main.cpp #include “nhapxuat.h” #include “xuly.h” // File nhapxuat.h // Khai báo hàm void nhap(); void xuat(); // File xuly.h // Khai báo hàm int tinhToan1(); int tinhToan2(); void main() { nhap(); tinhToan1(); tinhToan2(); xuat(); } // File nhapxuat.cpp void nhap() { } // File xuly.cpp int tinhToan1() { } void xuat() { } int tinhToan2() { } Nhập môn lập trình - GV Nguyễn Minh Huy 20