intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Thị Kim Chi

Chia sẻ: Hấp Hấp | Ngày: | Loại File: PDF | Số trang:74

57
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Kỹ thuật lập trình - Chương 6: Hàm" cung cấp cho người học các khái niệm và cú pháp hàm, tầm vực, tham số và lời gọi hàm, đệ quy. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Thị Kim Chi

  1. & VC BB Nội dung 1 Khái niệm và cú pháp 2 Tầm vực 3 Tham số và lời gọi hàm 4 Đệ quy NMLT - Hàm (Function) 1
  2. & VC BB Đặt vấn đề Viết chương trình tính S = a! + b! + c! với a, b, c là 3 số nguyên dương nhập từ bàn phím. Chương trình chính Nhập Tính Xuất a, b, c > 0 S = a! + b! + c! kết quả S Nhập Nhập Nhập Tính Tính Tính a>0 b>0 c>0 s1=a! s2=b! s3=c! NMLT - Hàm (Function) 2
  3. & VC BB Đặt vấn đề 3 đoạn lệnh nhập a, b, c > 0 do { couta; } while (a
  4. & VC BB Đặt vấn đề 3 đoạn lệnh tính s1 = a!, s2 = b!, s3 = c! { Tính s1 = a! = 1 * 2 * … * a } s1 = 1; for (i = 2; i
  5. & VC BB Đặt vấn đề Giải pháp => Viết 1 lần và sử dụng nhiều lần  Đoạn lệnh nhập tổng quát, với n = a, b, c do { coutn; } while (n
  6. & VC BB Hàm Khái niệm  Một đoạn chương trình có tên, đầu vào và đầu ra.  Có chức năng giải quyết một số vấn đề chuyên biệt cho chương trình chính.  Được gọi nhiều lần với các tham số khác nhau.  Được sử dụng khi có nhu cầu: • Tái sử dụng. • Sửa lỗi và cải tiến. NMLT - Hàm (Function) 6
  7. & VC BB Hàm Các đặc trưng của Hàm  Nằm trong hoặc ngoài văn bản có chương trình gọi đến hàm. Một văn bản có thể chứa nhiều hàm.  Được gọi từ chương trình chính (main), từ hàm khác hoặc từ chính nó (đệ quy).  Không lồng nhau.  Có 3 cách truyền giá trị: Truyền theo tham trị, tham biến và tham trỏ.  Các biến cục bộ trong hàm được tạo ra khi hàm được gọi và biến mất khi hàm thực thi xong. NMLT - Hàm (Function) 7
  8. & VC BB Hàm NMLT - Hàm (Function) 8
  9. & VC BB Hàm Có 2 loại hàm trong NNLT “C/C++”:  Hàm thư viện (library functions):  Do chương trình dịch “C/C++” cung cấp.  Để sử dụng các hàm này trong chương trình, đầu chương trình phải chứa các khai báo và định nghĩa hằng, biến, hàm nguyên mẫu, . . . bằng các chỉ thị tiền xử lý #include .  Ví dụ: #include #include  Hàm tự tạo:  Do người sử dụng định nghĩa thêm các hàm khác phục vụ cho nhu cầu lập trình của mình. NMLT - Hàm (Function) 9
  10. & VC BB Hàm Cú pháp ([danh sách tham số]) { [return ;] } Trong đó • : kiểu bất kỳ của C (char, int, long, float,…). Nếu không trả về thì là void. • : theo quy tắc đặt tên định danh. • : tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu , • : trả về cho hàm qua lệnh return. NMLT - Hàm (Function) 10
  11. & VC BB Các bước viết hàm Cần xác định các thông tin sau đây:  Tên hàm.  Hàm sẽ thực hiện công việc gì.  Các đầu vào (nếu có).  Đầu ra (nếu có). Đầu vào 1 Tên hàm Đầu vào 2 Đầu ra (nếu có) Các công việc Đầu vào n sẽ thực hiện NMLT - Hàm (Function) 11
  12. & VC BB Hàm Ví dụ 1  Tên hàm: XuatTong  Công việc: tính và xuất tổng 2 số nguyên  Đầu vào: hai số nguyên x và y  Đầu ra: không có void XuatTong(int x, int y) { int s; s = x + y; cout
  13. & VC BB Hàm Ví dụ 2  Tên hàm: TinhTong  Công việc: tính và trả về tổng 2 số nguyên  Đầu vào: hai số nguyên x và y  Đầu ra: một số nguyên có giá trị x + y int TinhTong(int x, int y) { int s; s = x + y; return s; } NMLT - Hàm (Function) 13
  14. & VC BB Chương trình con - Function Ví dụ 3  Tên hàm: NhapXuatTong  Công việc: nhập và xuất tổng 2 số nguyên  Đầu vào: không có  Đầu ra: không có void NhapXuatTong() { int x, y; coutx>>y; cout
  15. & VC BB Tầm vực Khái niệm  Là phạm vi hoạt động của biến và hàm.  Biến: • Toàn cục: khai báo ngoài tất cả các hàm (kể cả hàm main) và có tác dụng lên toàn bộ chương trình. • Cục bộ: khai báo trong hàm hoặc khối { } và chỉ có tác dụng trong bản thân hàm hoặc khối đó (kể cả khối con nó). Biến cục bộ sẽ bị xóa khỏi bộ nhớ khi kết thúc khối khai báo nó. NMLT - Hàm (Function) 15
  16. & VC BB Tầm vực int a; int Ham1() { int a1; } int Ham2() { int a2; { int a21; } } void main() { int a3; } NMLT - Hàm (Function) 16
  17. & VC BB Hàm nguyên mẫu (function prototype)  Hàm nguyên mẫu:  Được dùng để cung cấp thông tin cho chương trình dịch về tên hàm, kiểu giá trị trả về, số lượng, thứ tự và kiểu của các tham số của hàm.  Chương trình dịch căn cứ vào các thông tin này để kiểm tra các lời gọi hàm trong chương trình.  Hàm nguyên mẫu được đặt sau phần khai báo toàn cục và ngay trước hàm main() hoặc có thể đặt trong tập tin khác.  Khai báo: [] ([]) ;  Ví dụ: Khai báo hàm nguyên mẫu có chức năng xác định trị min giữa 2 số nguyên. int Min(int, int) ; int Min(int a, int b) ; // nên dùng cách khai báo này 17
  18. & VC BB Tổ chức một chương trình “C/C++”  Cách 1: chương trình gồm 3 phần PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO VÀ ĐỊNH NGHĨA HÀM HÀM main()  Cách 2: chương trình gồm 4 phần (nên dùng cách này) PHẦN KHAI BÁO TOÀN CỤC PHẦN KHAI BÁO HÀM NGUYÊN MẪU HÀM main() PHẦN ĐỊNH NGHĨA HÀM 18
  19. & VC BB Tổ chức một chương trình “C/C++”  Ví dụ: cách 1  Ví dụ: Cách 2 #include #include int min(int a, int b) int min(int a, int b); { if (a
  20. & VC BB Các phương pháp truyền tham số Có hai loại tham số:  Tham số thực (actual parameter):là tham số trong lời gọi hàm.  Tham số hình thức (formal parameter): là tham số trong phần khai báo và định nghĩa. Tham số hình thức chỉ là tên đại diện cho tham số thực tương ứng. Kiểu của tham số hình thức sẽ qui định kiểu của tham số thực. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2