Bài giảng Lập trình cơ bản: Bài 5 - TS. Ngô Quốc Việt
Số trang: 39
Loại file: pdf
Dung lượng: 1.91 MB
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:
Bài giảng Lập trình cơ bản - Bài 5 cung cấp những kiên thức về thủ tục và hàm. Các nội dung chính trong bài này gồm: Khái niệm thủ tục và hàm, cách khai báo và sử dụng hàm, khái niệm prototype, cách truyền tham số - tham biến, biến cục bộ - toàn cụ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 Lập trình cơ bản: Bài 5 - TS. Ngô Quốc Việt THỦ TỤC VÀ HÀM NGÔ QUỐC VIỆT TP.HCM-2011 NỘI DUNG 1. Khái niệm thủ tục và hàm. 2. Cách khai báo và sử dụng hàm 3. Khái niệm prototype 4. Cách truyền tham số, tham biến. 5. Biến cục bộ, toàn cục Ngô Quốc Việt-Lập trình cơ bản 2 SỰ CẦN THIẾT CỦA TÁCH NHỎ Thực tế: luôn tách vấn đề lớn thành các vấn để nhỏ hơn. Vấn đề “nhỏ hơn” lại có thể tách thành các “nhỏ hơn nữa”. Mỗi “nhỏ không chia nữa” đảm nhiệm một nhiệm vụ/chức năng thuật ngữ task/function Các task/function ghép lại để có được bộ phận lớn hơn. Nnlt gọi là hàm-function. Khái niệm hàm trong nnlt đóng vai trò tương tự. Mỗi “hàm” đảm nhiệm một vai trò. Kết nối các hàm để thành một chương trình. Ngô Quốc Việt-Lập trình cơ bản 3 SỰ CẦN THIẾT CỦA TÁCH NHỎ Nhắc lại hàm main trong ngôn ngữ C. Chứa điểm bắt đầu và lệnh kết thúc của chương trình (lệnh return cuối hàm main). Mọi ngôn ngữ đều có quy ước tương tự như hàm main() nhưng tên có thể khác. Tất cả lệnh đặt trong “main” ? Ưu điểm: ??? Nhựợc điểm: quá dài; không dễ đọc; khó bảo trì ? Không thể hiệu quả nếu tất cả đặt trong main. Cần tách “main” thành những phần nhỏ hàm. Đơn giản nhất: mỗi hàm thực hiện một phần code của main(). Ngô Quốc Việt-Lập trình cơ bản 4 THỦ TỤC VÀ HÀM Thủ tục – procedure. Hàm – function. Phần lớn nnlt sử dụng thuật ngữ ‘hàm’. Hàm là một “đoạn mã” được “đóng gói” thực hiện một khối công việc nhất định của chương trình. “Đóng gói” : mỗi hàm có tên và viết theo quy cách nhất định tuỳ theo nnlt. Ví dụ: hàm main() trong C/C++ là một hàm. Là hàm chính trong kiểu chương trình Console. Ngô Quốc Việt-Lập trình cơ bản 5 CÁCH KHAI BÁO MỘT HÀM (arg1, arg2, ...) Tên hàm: đặt theo quy cách đặt tên của nnlt. Theo cách đặt tên biến/hằng. Kiểu trả về: các kiểu dữ liệu cơ bản của nnlt hoặc các kiểu dữ liệu có cấu trúc (thảo luận sau). Mỗi hàm chỉ trả về một giá trị mỗi lần thực hiện. Một hàm chỉ có một OUTPUT. (arg1, arg2, ...): danh sách các tham số dùng làm INPUT cho hàm. Không có ba dấu chấm. Không có dấu chấm phẩy sau tên hàm, phải có cặp dấu ngoặc ( ) sau tên hàm nếu hàm không có tham số truyền vào. Ngô Quốc Việt-Lập trình cơ bản 6 CÁCH KHAI BÁO MỘT HÀM Chú thích đầu hàm Name: tên hàm Description: hàm làm gì – what Tham số: xác định từng tham số của hàm Giá trị trả về: mô tả output của hàm Tên hàm cùng các tham số Thân hàm: phần nằm giữa cặp dấu { }. Lệnh cuối cùng của hàm là return. Ngô Quốc Việt-Lập trình cơ bản 7 CÁCH KHAI BÁO MỘT HÀM Ngô Quốc Việt-Lập trình cơ bản 8 Hàm không có tham số () Ví dụ khai báo hàm không tham số int get_value() ; hoặc int get_value(void); //chỉ dùng trong nnlt C Hàm không có OUTPUT được gọi là thủ tục. Ví dụ void print_answer(int answer) ; Usage print_answer(45); //gọi hàm print_answer Ngô Quốc Việt-Lập trình cơ bản 9 KHAI BÁO VÀ SỬ DỤNG HÀM Hàm có thể không cần trả về kết quả. Mục tiêu cần thực hiện một tác vụ nhưng hàm gọi không cần lấy kết quả. Sử dụng kiểu trả về void. void myGioPhut(int phut) Không có lệnh { return trước int gio; dấu } ??? gio = phut/60; phut = phut % 60; printf(“Bay gio la %d:%d”, gio, phut); } Cuối hàm kiểu trả về void có thể có hay không lệnh return. Ngô Quốc Việt-Lập trình cơ bản 10 KHAI BÁO VÀ SỬ DỤNG HÀM int myFunction(int arg1) //Hàm myFunction đặt trên main. Có cách //nào để đặt ở bất kỳ chỗ nào? { arg1++ ; return arg1; Hàm main gọi hàm myFunction. Lúc này, } hàm main được gọi là hàm gọi. int main(int argc, char* argv[ ]) { int x, y ; y = 0; x = myFunction(y); //Giá trị y trả về là y++ (=1). return 0; Hàm myFunction chạy } xong, chạy tiếp lệnh kế trong main. Lúc này, myFunction là hàm bị gọi Ngô Quốc Việt-Lập trình cơ bản 11 KHAI BÁO VÀ SỬ DỤNG HÀM #include #include int power(int ix, int in) { int i, ip = 1; for(i = 1; i KHAI BÁO VÀ SỬ DỤNG HÀM void main(void) Truyền tham số { printf(2 mu 2 = %d.\n, power(2, 2)); int power(int ix, int in) Gọi hàm power printf(2 mu 3 = %d.\n, power(2, 3)); { int i, ip = 1; getch(); Kết thúc lần chạy. } for(i = 1; i PROTOTYPE HÀM Prototype: phần khai báo hàm không chứa phần mã nguồn bên trong Thường được đặt trên đầu tập tin mã nguồn. Có dấu ; int myFunction(int arg1); int main(int argc, char* argv[ ]) Hàm main gọi hàm { myFunction nên int y = myFunction(x); ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản: Bài 5 - TS. Ngô Quốc Việt THỦ TỤC VÀ HÀM NGÔ QUỐC VIỆT TP.HCM-2011 NỘI DUNG 1. Khái niệm thủ tục và hàm. 2. Cách khai báo và sử dụng hàm 3. Khái niệm prototype 4. Cách truyền tham số, tham biến. 5. Biến cục bộ, toàn cục Ngô Quốc Việt-Lập trình cơ bản 2 SỰ CẦN THIẾT CỦA TÁCH NHỎ Thực tế: luôn tách vấn đề lớn thành các vấn để nhỏ hơn. Vấn đề “nhỏ hơn” lại có thể tách thành các “nhỏ hơn nữa”. Mỗi “nhỏ không chia nữa” đảm nhiệm một nhiệm vụ/chức năng thuật ngữ task/function Các task/function ghép lại để có được bộ phận lớn hơn. Nnlt gọi là hàm-function. Khái niệm hàm trong nnlt đóng vai trò tương tự. Mỗi “hàm” đảm nhiệm một vai trò. Kết nối các hàm để thành một chương trình. Ngô Quốc Việt-Lập trình cơ bản 3 SỰ CẦN THIẾT CỦA TÁCH NHỎ Nhắc lại hàm main trong ngôn ngữ C. Chứa điểm bắt đầu và lệnh kết thúc của chương trình (lệnh return cuối hàm main). Mọi ngôn ngữ đều có quy ước tương tự như hàm main() nhưng tên có thể khác. Tất cả lệnh đặt trong “main” ? Ưu điểm: ??? Nhựợc điểm: quá dài; không dễ đọc; khó bảo trì ? Không thể hiệu quả nếu tất cả đặt trong main. Cần tách “main” thành những phần nhỏ hàm. Đơn giản nhất: mỗi hàm thực hiện một phần code của main(). Ngô Quốc Việt-Lập trình cơ bản 4 THỦ TỤC VÀ HÀM Thủ tục – procedure. Hàm – function. Phần lớn nnlt sử dụng thuật ngữ ‘hàm’. Hàm là một “đoạn mã” được “đóng gói” thực hiện một khối công việc nhất định của chương trình. “Đóng gói” : mỗi hàm có tên và viết theo quy cách nhất định tuỳ theo nnlt. Ví dụ: hàm main() trong C/C++ là một hàm. Là hàm chính trong kiểu chương trình Console. Ngô Quốc Việt-Lập trình cơ bản 5 CÁCH KHAI BÁO MỘT HÀM (arg1, arg2, ...) Tên hàm: đặt theo quy cách đặt tên của nnlt. Theo cách đặt tên biến/hằng. Kiểu trả về: các kiểu dữ liệu cơ bản của nnlt hoặc các kiểu dữ liệu có cấu trúc (thảo luận sau). Mỗi hàm chỉ trả về một giá trị mỗi lần thực hiện. Một hàm chỉ có một OUTPUT. (arg1, arg2, ...): danh sách các tham số dùng làm INPUT cho hàm. Không có ba dấu chấm. Không có dấu chấm phẩy sau tên hàm, phải có cặp dấu ngoặc ( ) sau tên hàm nếu hàm không có tham số truyền vào. Ngô Quốc Việt-Lập trình cơ bản 6 CÁCH KHAI BÁO MỘT HÀM Chú thích đầu hàm Name: tên hàm Description: hàm làm gì – what Tham số: xác định từng tham số của hàm Giá trị trả về: mô tả output của hàm Tên hàm cùng các tham số Thân hàm: phần nằm giữa cặp dấu { }. Lệnh cuối cùng của hàm là return. Ngô Quốc Việt-Lập trình cơ bản 7 CÁCH KHAI BÁO MỘT HÀM Ngô Quốc Việt-Lập trình cơ bản 8 Hàm không có tham số () Ví dụ khai báo hàm không tham số int get_value() ; hoặc int get_value(void); //chỉ dùng trong nnlt C Hàm không có OUTPUT được gọi là thủ tục. Ví dụ void print_answer(int answer) ; Usage print_answer(45); //gọi hàm print_answer Ngô Quốc Việt-Lập trình cơ bản 9 KHAI BÁO VÀ SỬ DỤNG HÀM Hàm có thể không cần trả về kết quả. Mục tiêu cần thực hiện một tác vụ nhưng hàm gọi không cần lấy kết quả. Sử dụng kiểu trả về void. void myGioPhut(int phut) Không có lệnh { return trước int gio; dấu } ??? gio = phut/60; phut = phut % 60; printf(“Bay gio la %d:%d”, gio, phut); } Cuối hàm kiểu trả về void có thể có hay không lệnh return. Ngô Quốc Việt-Lập trình cơ bản 10 KHAI BÁO VÀ SỬ DỤNG HÀM int myFunction(int arg1) //Hàm myFunction đặt trên main. Có cách //nào để đặt ở bất kỳ chỗ nào? { arg1++ ; return arg1; Hàm main gọi hàm myFunction. Lúc này, } hàm main được gọi là hàm gọi. int main(int argc, char* argv[ ]) { int x, y ; y = 0; x = myFunction(y); //Giá trị y trả về là y++ (=1). return 0; Hàm myFunction chạy } xong, chạy tiếp lệnh kế trong main. Lúc này, myFunction là hàm bị gọi Ngô Quốc Việt-Lập trình cơ bản 11 KHAI BÁO VÀ SỬ DỤNG HÀM #include #include int power(int ix, int in) { int i, ip = 1; for(i = 1; i KHAI BÁO VÀ SỬ DỤNG HÀM void main(void) Truyền tham số { printf(2 mu 2 = %d.\n, power(2, 2)); int power(int ix, int in) Gọi hàm power printf(2 mu 3 = %d.\n, power(2, 3)); { int i, ip = 1; getch(); Kết thúc lần chạy. } for(i = 1; i PROTOTYPE HÀM Prototype: phần khai báo hàm không chứa phần mã nguồn bên trong Thường được đặt trên đầu tập tin mã nguồn. Có dấu ; int myFunction(int arg1); int main(int argc, char* argv[ ]) Hàm main gọi hàm { myFunction nên int y = myFunction(x); ...
Tìm kiếm theo từ khóa liên quan:
Lập trình cơ bản Bài giảng Lập trình cơ bản Ngôn ngữ lập trình Sử dụng hàm Khai báo hàm Truyền tham sốGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 276 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 266 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 265 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 184 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 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 166 0 0