Lập Trình C++ B3: Hàm, Phương pháp lập trình Module hóa

Chào mừng các bạn đến với  chủ đề học lập trình c++.

Và hôm nay chúng ta cùng đến với bài học.

Hàm trong C++

Là các chương trình con thực hiện 1 nhiệm vụ riêng biệt.

Chúng được gọi từ một hàm khác hoặc được gọi từ hàm chính.

Vì sao cần có hàm trong kỹ thuật lập trình.

Hãy bắt đầu từ khái niệm: Lập trình tuyến tính.

Lập trình tuyến tính là kỹ thuật lập trình nguyên thủy, chỉ với một hàm main.

Mọi tính toán, biểu thức, hành động đều được xử lý bên trong hàm main một cách tuần tự.

Phát sinh nhiều nhược điểm.

=> Hàm chính quá dài, khiến cho việc quản lý code vô cùng khó khăn.

=> Không thể tái sử dụng code, sẽ có những đoạn mã trùng nhau được viết lặp đi lặp lại.

=> Tối ưu hóa, sửa lỗi và bảo dưỡng là rất khó khăn.

Giải quyết cho vấn đề trên, thì một kỹ thuật mới ra đời. Đó là kỹ thuật lập trình Module hóa.

Người ta chia chức năng thành các phần riêng biệt và tạo ra các hàm con để thực hiện việc xử lý chúng.

Phương pháp chia để trị. Tổ chức chương trình bằng việc kết hợp các module lại với nhau.

I. Kiến Thức Cơ Bản.
1. Cấu trúc khởi tạo hàm Trong C++

Kiểu trả lại  Tên Hàm (tham số 1, tham số 2, tham số 3)

Ví dụ:  int Mul (int a, int b);   // hàm nhân 2 số đầu vào a và b rồi trả lại kết quả.

Nếu hàm không có kết quả trả lại, người ta dùng từ khóa void thay cho kiểu trả lại.

Ví dụ:  void Show(int 5) ;

Hàm void được được sử dụng trong các mục đích thông báo, thiết lập trạng thái….

2. Định nghĩa hàm:

Khởi tạo hàm mới chỉ cho ta biết tên hàm và các thuộc tính cơ bản của hàm.

Định nghĩa hàm sẽ thực hiện phần thân hàm. Trong thân hàm chúng ta phải viết code

để xử lý các chức năng mà hàm đó cần thực hiện. Và các thuật toán sẽ được áp dụng tại đây.

Ví dụ:

Hàm trong c++

 

3. Một số tính chất của hàm.

– Hàm có thể không có tham số đầu vào. Như là các hàm in, hàm thông báo….

– Hàm khi định nghĩa, nó có thể tự gọi là chính mình, đó là tính chất đệ quy.

– Trong thân hàm có thể gọi đến một hàm khác ngoại trừ hàm main.

4. Cách gọi hàm trong c++.

Chỉ cần gọi tên hàm và truyền giá trị tham số.

Ví dụ với hàm nhân 2 số nguyên ở trên, khi gọi hàm chúng ta có thể gọi như sau

int ret = Mul(5, 6); // cần lấy giá trị trả về

Mul(5,6); // Không cần lấy giá trị trả về, chỉ cần thực hiện hàm.

5. Các kiểu đối số truyền vào cho hàm.

+ Đối số là kiểu tham trị:   int A (int a, int b, int c)           // a, b, c sẽ được sao chép rồi mới tham ra xử lý

+ Đối số kiểu tham chiếu: int A (int &a, int &b, int &c)   // a,b,c được trực tiếp sử dụng

+ Đối số kiểu tham trỏ:      int A (int* a, int*b, int*c)        // a,b,c được trực tiếp sử dụng

—> Thường khuyến khích dùng tham trỏ và tham chiếu.

Khi thêm constant vào đầu các đối số, thì đối số đó chỉ được sử dụng chứ không thể nhận một giá trị khác.

Từ khóa inline thường được sử dụng trước những hàm có số lượng dòng code dưới 10 dòng.

Mục đích của inline là để cải tiến tốc độ, tránh việc mỗi lần gọi lại hàm lại phải thiết lập các thủ tục gọi hàm.

Hàm có thể đặt trùng tên nhưng đối số nhập vào khác nhau và kết quả trả ra khác nhau.

Khi gọi hàm, chúng ta truyền vào đối số kiểu gì thì hàm ứng với đối số đó sẽ được gọi để xử lý.

II. Thực Hành.

+ Viết một hàm tìm max giữa 2 số, và một hàm tìm min giữa 2 số.

// Phattrienphanmem123az.com
#include <iostream>
#include <conio.h>


float GetMaxValue(float a, float b)
{
    if (a > b)
    {
        return a;
    }

    return b;
}

int main()
{
    float a = 7.0;
    float b = 9.0;
    float max = GetMaxValue(a, b);
    _getch();
    return 0;
}

Ok.

Lưu

Lưu

Lưu

Lưu

Lưu

Lưu

Lưu

Lưu

One thought on “Lập Trình C++ B3: Hàm, Phương pháp lập trình Module hóa

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.