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

Bài giảng Hàm - Lập trình cấu trúc - Hoàng Thân Anh Tuấn

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:59

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

Bài giảng Hàm - Lập trình cấu trúc do Hoàng Thân Anh Tuấn biên soạn sau đây sẽ cung cấp cho các bạn những kiến thức về khái niệm hàm và lập trình cấu trúc; khai báo và định nghĩa một hàm trong C++; lời gọi hàm; tham số của hàm; hàm inline; định nghĩa chồng các hàm; hàm toán tử; định nghĩa chồng các toán tử.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hàm - Lập trình cấu trúc - Hoàng Thân Anh Tuấn

  1. Hàm Lập trình cấu trúc Hoàng Thân Anh Tuấn Khoa Toán – Tin học Đại học Sư phạm TPHCM
  2. Nội dung  Khái niệm hàm và lập trình cấu trúc  Khai báo và Định nghĩa một hàm trong C++  Lời gọi hàm  Tham số của hàm  Hàm inline  Định nghĩa chồng các hàm  Hàm toán tử  Định nghĩa chồng các toán tử
  3. Khái niệm hàm và lập trình cấu trúc  Tư tưởng chính – Chia bài toán lớn thành các bài toán nhỏ, hoặc phân rã quá trình giải bài toán thành một số hữu hạn các bước. – Với mỗi bài toán con hoặc một bước giải bài toán, xây dựng một (hoặc nhiều) hàm (thủ tục) giải quyết.  Mỗi hàm (thủ tục) là một đơn vị hoàn chỉnh, độc lập về đoạn mã và dữ liệu nhằm thi hành một tác vụ nào đó.  Mỗi hàm (thủ tục) nên được thiết kế chỉ để thi hành một và chỉ một tác vụ duy nhất.
  4. Khai báo một hàm – Mục đích:  Chỉ ra prototype của hàm bao gồm: tên hàm, kiểu các tham số và kiểu trả về.  Báo cho trình biên dịch biết rằng có một hàm như vậy – Cú pháp: ( ); – Trong đó:  : là một kiểu do C++ hỗ trợ hoặc do người dùng tạo ra  : tên của hàm  : chỉ ra kiểu của các tham số của hàm
  5. Ví dụ:  void xuatPhanSo(int, int);  void xuatPhanSo(PhanSo); – hàm có tên là xuatPhanSo – có hai tham số; cả hai đều có kiểu là số nguyên (int) – không có giá trị trả về  void nhapPhanSo(int&, int&);  void nhapPhanSo(PhanSo&); – Hàm có tên là nhapPhanSo – Có hai tham số; cả hai đều có kiểu tham chiếu đến số nguyên (int&) – Không có giá trị trả về
  6. Ví dụ:  double tinhLuong(double); – Hàm có tên là: tinhLuong – Có một tham số, có kiểu là số thực (double) – Có giá trị trả về là số thực  void thongbaoLoi(); – Hàm có tên là: thongbaoLoi – Không có tham số – Không có giá trị trở về
  7. Khai báo một hàm (tt)  Có thể đưa vào tên của tham số (không chỉ kiểu của tham số)  Ví dụ: – void xuatPhanSo(int tuso, int mauso); – void nhapPhanSo(int& tuso, int& mauso); – double tinhLuong(double thamnien); – void thongbaoLoi();
  8. Định nghĩa một hàm – Mục đích:  Chỉ rõ cụ thể việc cài đặt của hàm  Các công việc mà hàm sẽ làm  Dữ liệu và đoạn mã của hàm sử dụng – Cú pháp: ( ) { // Thân hàm } – Lưu ý:  Danh sách tham số phải có kiểu trùng với danh sách kiểu tham số đã được khai báo trước đó.  Trong danh sách các tham số phải có tên tham số  Kết thúc hàm và trả về giá trị cho lời gọi hàm: return ;  Hàm là một đơn vị độc lập về dữ liệu và đoạn mã
  9. Khai báo hàm: void xuatPhanSo(PhanSo); Định nghĩa hàm: void xuatPhanSo(PhanSo ps) { cout
  10. Ví dụ // khai báo hàm void xuatPhanSo(int, int); … // định nghĩa hàm void xuatPhanSo(int tuso, int mauso) { Thân hàm cout
  11.  Khai báo hàm: void nhapPhanSo(PhanSo&);  Định nghĩa hàm void nhapPhanSo(PhanSo& ps) { cout
  12. Ví dụ // khai báo hàm void nhapPhanSo(int&, int&); … // định nghĩa hàm void nhapPhanSo(int& tuso, int& mauso) { Thân hàm cout > tuso >> mauso; }
  13. Ví dụ // khai báo hàm double tinhLuong(double); … // định nghĩa hàm double tinhLuong(double thamnien) { Thân hàm const double LCB = 290000; double heso, luong; if (thamnien < 12) heso = 1.92; else if (thamnien < 36) heso = 2.34; else heso = 3.5; luong = heso * LCB; Kết thúc hàm return luong; và trả về giá trị } cho lời gọi hàm
  14. Ví dụ // khai báo hàm void thongbaoLoi(); … // định nghĩa hàm void thongbaoLoi() Thân hàm { cout
  15. Lời gọi hàm  Mục đích: – “Gọi” một hàm đã được khai báo và định nghĩa – Trả về giá trị sau khi hàm được gọi thi hành xong  Cú pháp: – ()  Trong đó: – : tên của hàm muốn gọi. Hàm đó phải được khai báo trước đó. – : các tham số thật sự cho lời gọi hàm này.
  16. Ví dụ int main() Gọi hàm nhapPhanSo với { tham số thực là biến a và biến b int a, b; nhapPhanSo(a, b); xuatPhanSo(a, b); Gọi hàm xuatPhanSo với return 0; tham số thực là giá trị của a và giá trị của b }
  17. Ngữ nghĩa của định nghĩa hàm và lời gọi hàm void xuatPhanSo(int tuso, int mauso) { cout
  18. Ngữ nghĩa của định nghĩa hàm và lời gọi hàm (tt) void nhapPhanSo(int& tuso, int& mauso) { cout > tuso >> mauso; } nhapPhanSo(tuso, mauso) nhapPhanSo(a, b) Nhập vào giá trị cho tử Nhập vào giá trị cho tử số và mẫu số của một số a và mẫu số b phân số nào đó
  19. Ngữ nghĩa của định nghĩa hàm và lời gọi hàm (tt) double tinhLuong(double thamnien) else if (thamnien < 36) { heso = 2.34; const double LCB = 290000; else double heso, luong; heso = 3.5; if (thamnien < 12) luong = heso * LCB; heso = 1.92; return luong; } tinhLuong(thamnien) tinhLuong(30) Tính lương cho một Tính lương cho nhân nhân viên nào đó có viên có thâm niên công thâm niên nào đó tác 30 tháng Trả về: lương của nhân Trả về lương của nhân viên (chưa xác định) viên (2.34*290000)
  20. Tiến trình thi hành một lời gọi hàm  Luồng điều khiển được tạm thời chuyển sang cho hàm được gọi.  Thực hiện các lệnh nằm trong thân hàm được gọi.  Nếu gặp câu lệnh return thì kết thúc hàm được gọi; chuyển quyền điều khiển lại cho nơi gọi hàm; trả về kết quả cho lời gọi hàm.  Nếu không có giá trị trả về thì đến khi kết thúc tất cả các lệnh trong thân hàm được gọi sẽ chuyển quyền điều khiển cho nơi gọi hàm.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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