Danh mục tài liệu

Bài giảng Tin học đại cương - Bài 5: Hàm

Số trang: 46      Loại file: ppt      Dung lượng: 1.61 MB      Lượt xem: 24      Lượt tải: 0    
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng trình bày khái niệm hàm; khai báo và sử dụng hàm; phạm vi biến; nguyên mẫu hàm; hệ đệ qui. Mời các bạn cùng tham khảo bài giảng "Tin học đại cương - Bài 5: Hàm" để nắm chi tiết nội dung kiến thức.
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học đại cương - Bài 5: Hàm VIỆNCÔNGNGHỆTHÔNGTIN S CHOOLOF INFORMATIONCOMMUNICATIONTECHNOLOGY TIN HỌC ĐẠI CƯƠNGPHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 5: HÀM Ts. Nguyễn Thanh Hùng 1 BÀI 5: HÀM5.1. Khái niệm hàm5.2. Khai báo và sử dụng hàm5.3. Phạm vi biến5.4. Nguyên mẫu hàm5.5. Hàm đệ qui 2 5.1. Khái niệm hàmCòn được gọi là chương trình conNhững đoạn chương trình lặp đi lặp lạinhiều lần ở những chỗ khác nhau:  Viết thành hàm để khi cần chỉ cần gọi ra chứ không phải viết lại toàn bộ. Ví dụ: Các hàm toán học: sin(x), pow(x,y), sqrt(x),... Các hàm do người dùng viết ra. 3 5.1. Khái niệm hàmGiải quyết một bài toán lớn thì chương trình củata có thể rất lớn và dài  Chia thành các côngviệc nhỏ hơn được viết thành các hàm  Dễviết, kiểm tra và sửa lỗi.Việc chia nhỏ một chương trình thành cácchương trình con đảm nhận những công việcnhỏ khác nhau chính là tư tưởng chính chophương pháp lập trình cấu trúc (structuredprogramming). 4 BÀI 5: HÀM5.1. Khái niệm hàm5.2. Khai báo và sử dụng hàm5.3. Phạm vi biến5.4. Nguyên mẫu hàm5.5. Hàm đệ qui 5 5.2.1. Khai báo hàm Cú pháp:[kieu_gia_tri_tra_ve] ([danh_sach_tham_so,…]){ //Than ham` bao gom: //Cac khai bao ... //Cac cau lenh} 6 5.2.1. Khai báo hàm (tiếp)Ví dụ:long giai_thua(int a) Dong dau ham{ long ket_qua; Cac khai bao int i; ket_qua = 1; for(i = 1;i 5.2.1. Khai báo hàm (tiếp)Kiểu dữ liệu trả về của hàm: Kiểu dữ liệu của giá trị tính toán mà hàm trả về sau khi thực hiện. Hàm có thể có giá trị trả về hoặc không có giá trị trả về. Nếu có giá trị trả về, trong thân hàm có ít nhất một lệnh return. Nếu không có giá trị trả về cần khai báo cho hàm đó có kiểu trả về là void. 8 5.2.1. Khai báo hàm (tiếp)Tên hàm Cóthểlàbấtkìmộtđịnhdanhhợplệnào. Thườngmangnghĩagợiýchứcnăngcông việcmàhàmthựchiện. Vídụ:Mộthàmcóchứcnăngtínhvàtrảvềbình phươngcủamộtsốthựcxthìnêncótênlà binh_phuong. Các hàm không được đặt tên trùng nhau. 9 5.2.1. Khai báo hàm (tiếp)Tham số của hàm: Các thông tin cần cho hoạt động của hàm và các thông tin, kết quả tính toán được hàm trả lại. Thamsốchứadữliệuvàocungcấpchohàm Thamsốchứadữliệuramàhàmtínhtoánđược. Thamsốtronglờikhaibáohàmđượcgọilàthamsố hìnhthức,thamsốgiảđịnhcủahàm. Cầnchỉratêncủathamsốvàkiểudữliệucủathamsố. Một hàm có thể không có tham số, hoặc có nhiều tham số. 10 5.2.1. Khai báo hàm (tiếp)Lệnh return Cú pháp: return bieu_thuc; Khigặplệnhnày,chươngtrìnhsẽtínhtoán giátrịcủabieu_thuc,lấykếtquảtínhtoán đượclàmgiátrịtrảvềcholờigọihàmrồikết thúcviệcthựchiệnhàm,trởvềchươngtrình đãgọinó. Nếuthiếubieu_thuc Kếtthúcviệcthực hiệnhàmmàkhôngtrảvềgiátrịnàocả. 11Ví dụ về các hàm trong thư viện Math.h 12 5.2.2. Sử dụng hàmSử dụng hàm hay gọi hàm  Cú pháp: Ten_ham([danh_sach_doi_so])Tham số được cung cấp cho hàm trongquá trình thực hiện được gọi là tham sốthực.Kiểu dữ liệu của tham số hình thức vàtham số thực phải giống nhau. 13 Ví dụ#include #include int max(int x, int y, int z){ int max; max = x>y?x:y; max = max>z?max:z; return max;}void main(){ int a,b,c; clrscr(); printf( Nhap gia tri cho 3 so nguyen a, b, c: ); scanf(%d %d %d,&a,&b,&c); printf( Gia tri cac so vua nhap: ); printf( a = %-5d b = %-5d c = %-5d“, a, b, c); printf( Gia tri lon nhat trong 3 so la %d,max(a,b,c)); getch();} 14 Lưu ýTrong chương trình, khi gặp một lời gọi hàm thìhàm bắt đầu thực hiện bằng cách chuyển cáclệnh thi hành đến hàm được gọi. Quá trình diễnra như sau: Nếu hàm có tham số, trước tiên các tham số sẽ được gán giá trị thực tương ứng. Chương trình sẽ thực hiện tiếp các câu lệnh trong thân hàm bắt đầu từ lệnh đầu tiên đến câu lệnh cuối cùng. Khi gặp lệnh return hoặc dấu } cuối cùng trong ...