Bài giảng Tin học đại cương - Bài 3: Chương trình con (Hàm) - Đinh Phú Hùng
Bạn đang xem tài liệu "Bài giảng Tin học đại cương - Bài 3: Chương trình con (Hàm) - Đinh Phú Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_tin_hoc_dai_cuong_bai_3_chuong_trinh_con_ham_dinh.pdf
Nội dung text: Bài giảng Tin học đại cương - Bài 3: Chương trình con (Hàm) - Đinh Phú Hùng
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học TIN HỌC ĐẠI CƯƠNG BÀI 3: CHƯƠNG TRÌNH CON (HÀM) Giảng Viên: ThS. Đinh Phú Hùng Bộ môn: Khoa Học Máy Tính Email: hungdp@tlu.edu.vn 1 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Nội Dung 1 Đặt vấn đề 2 Giới thiệu về chương trình con 3 Cách viết và gọi chương trình con 4 Tóm tắt nội dung bài học 2 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Đặt vấn đề Xét ví dụ sau: Tính tổng diện tích của 3 tam giác với các cạnh của 3 tam giác được nhập từ bàn phím. Nhận xét: Chương trình dài dòng. Đoạn mã để tính diện tích bị giống nhau cho từng tam giác. Câu hỏi đặt ra: Vậy có cách nào tránh trùng các đoạn mã giống nhau trong chương trình mà vẫn đảm bảo yêu cầu đầu bài hay không? ->Sử dụng chương trình con (hàm). 3 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Giới thiệu về chương trình con Định nghĩa: Là một phần mã nằm trong chương trình, phần mã này thực hiện một nhiệm vụ cụ thể và tương đối độc lập với phần mã còn lại. Vị trí: - Khi khai báo: Nằm ngay dưới câu lệnh khai báo thư viện. - Khi sử dụng: Nằm trong chương trình chính hoặc nằm trong chương trình con khác. Mục đích: - Tránh việc lặp lại các đoạn mã giống nhau nằm trong chương trình. - Giúp chương trình trở lên ngắn gọn, dễ hiểu. - 4 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Phân loại chương trình con Chương trình con (hàm) gồm có 2 loại: Hàm có trả về. Hàm không trả về. 5 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm trả về Khai báo hàm (Danh sách các tham số) { //Các câu lệnh trong hàm; return Giá trị của hàm; } Trong đó: Kiểu dữ liệu: Là các kiểu quy định trong c++, ví dụ như int, float, double Tên hàm: Là một dãy kí tự liền nhau và không có dấu cách, không chứa các kí tự đặc biệt. Danh sách tham số: Khai báo các tham số cùng với kiểu tương ứng, mỗi tham số cách nhau bởi một dấu phẩy. 6 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm trả về Ví dụ 1: Viết hàm tính tổng hai số nguyên a và b Hàm tính tổng hai số nguyên int Tong(int a, int b) { return (a+b); } Chú ý: Hàm trả về luôn luôn phải có câu lệnh return trả về giá trị của hàm. 7 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm trả về Ví dụ 2: Viết hàm tính diện tích tam giác khi biết 3 cạnh. Hàm tính diện tích tam giác double Dientich(int a, int b, int c) { double p, s; p = (a+b+c)/2; s = sqrt(p*(p-a)*(p-b)*(p-c)); return s; } 8 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách gọi hàm trả về Cách gọi: Gọi hàm thông qua tên và danh sách các tham số có cùng kiểu tương ứng với các tham số khi khai báo hàm. Gọi hàm tính tổng hai số nguyên main() { int x, y, z; cout«"Nhap vao hai so nguyen"; cin»x»y; z = Tong(x,y); cout«"Tong cua hai so la: "« z; } Chú ý: Có thể gán giá trị của hàm cho một biến 9 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách gọi hàm trả về Cách gọi: Gọi hàm thông qua tên và danh sách các tham số có cùng kiểu tương ứng với các tham số khi khai báo hàm. Gọi hàm tính diện tích tam giác main() { int x, y, z; double S; cout«"Nhap vao 3 canh cua tam giac"; cin»x»y»z; S = Dientich(x,y,z); cout«"Dien tich cua tam giac: "« S; } Chú ý: Có thể gán giá trị của hàm cho một biến 10 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Nhận xét về các tham số của hàm Các tham số dùng khi khai báo hàm chỉ có phạm vi hoạt động trong hàm đó, người ta gọi đó là các tham số hình thức. Các tham số dùng khi gọi hàm được gọi là các tham số thực tế. 11 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Bài tập áp dụng Viết hàm đổi từ (mm) sang (m). Viết hàm tính căn bậc k của một số nguyên x. Viết hàm nhận hai số nguyên P và Q. Trả về phẩn dư của phép chia P cho Q. Viết hàm nhận hai số thực X và Y. Trả về phần thập phân của tổng hai số đó. Viết hàm nhận hai số nguyên X và Y. Trả về trung bình nhân của hai số đó. 12 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm không trả về Khai báo hàm (Danh sách các tham số) { //Các câu lệnh trong hàm; } Trong đó: Kiểu dữ liệu: Chỉ có duy nhất 1 kiểu là void Tên hàm: Là một dãy kí tự liền nhau và không có dấu cách, không chứa các kí tự đặc biệt. Danh sách tham số: Khai báo các tham số cùng với kiểu tương ứng, mỗi tham số cách nhau bởi một dấu phẩy. 13 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm không trả về Ví dụ 3: Viết hàm in tổng hai số nguyên a và b. Hàm in tổng hai số nguyên void Intong(int a, int b) { cout«"Tong cua hai so la: "«(a+b); } Chú ý: Hàm không trả về không bao giờ có câu lệnh return, thường dùng trong việc nhập dữ liệu và in kết quả. 14 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách viết hàm không trả về Ví dụ 4: Viết hàm in diện tích tam giac khi biết 3 cạnh. Hàm in diện tích tam giác void Dientich(int a, int b, int c) { double p, s; p = (a+b+c)/2; s = sqrt(p*(p-a)*(p-b)*(p-c)); cout« s; } Chú ý: Hàm không trả về không bao giờ có câu lệnh return, thường dùng trong việc nhập dữ liệu và in kết quả. 15 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách gọi hàm không trả về Cách gọi: Gọi hàm thông qua tên và danh sách các tham số có cùng kiểu tương ứng với các tham số khi khai báo hàm. Gọi hàm in tổng hai số. main() { int x, y; cout«"Nhap vao hai so nguyen"; cin»x»y; Intong(x,y); } Chú ý: Không thể thực hiện một phép gán biến cho hàm 16 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Cách gọi hàm không trả về Cách gọi: Gọi hàm thông qua tên và danh sách các tham số có cùng kiểu tương ứng với các tham số khi khai báo hàm. Gọi hàm in diện tích tam giác. main() { int x, y, z; cout«"Nhap vao 3 canh cua tam giac"; cin»x»y»z; Dientich(x,y,z); } Chú ý: Không thể thực hiện một phép gán biến cho hàm 17 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Tóm tắt nội dung bài học Những ưu điểm của việc viết hàm: Tránh việc viết các đoạn code giống nhau trong chương trình. Giúp chương trình ngắn gọn, dễ hiểu Giúp người viết chương trình dễ dàng gỡ rối Cách viết và gọi hàm: Cách viết hàm có trả về Cách gọi hàm có trả về Cách viết hàm không trả về Cách gọi hàm không trả về 18 / 19
- Đặt vấn đề Giới thiệu về chương trình con Cách viết và gọi chương trình con Tóm tắt nội dung bài học Bài tập áp dụng Viết hàm in căn bậc k của một số nguyên x. Viết hàm nhận hai số nguyên P và Q. In phần dư của phép chia P cho Q. Viết hàm nhận hai số thực X và Y. In phần thập phân của tổng hai số đó. Viết hàm nhận hai số nguyên X và Y. In trung bình nhân của hai số đó. Viết hàm nhận hai số nguyên dương a, b. In giá trị logab. 19 / 19