Networks Business Online Việt Nam & International VH2

Khái niệm hàm (function) trong lập trình và minh họa với C++

Đăng ngày 07 November, 2022 bởi admin

Bài này sẽ giới thiệu về khái niệm hàm (function) cũng như cách xây dựng hàm. Các bạn cần nắm vững hàm bởi các bạn sẽ sử dụng hàm rất nhiều và hàm giúp bạn tổ chức chương trình tốt hơn.

1. Tại sao phải sử dụng hàm (function)

Ví dụ, cầ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.

3 đoạn lệnh nhập a, b, c > 0

do {
	cout<<"Nhap mot so nguyen duong:";
	cin>>a;
} while (a <= 0);
do {
	cout<<"Nhap mot so nguyen duong:";
	cin>>b;
} while (b <= 0);
do {
	cout<<"Nhap mot so nguyen duong:";
	cin>>c;
} while (c <= 0);

3 đoạn lệnh tính s1 = a!, s2 = b!, s3 = c!

//s1 = a! = 1 * 2 * … * a
s1 = 1;
for (i = 2; i <= a ; i++)
	s1 = s1 * i;
//s2 = b! = 1 * 2 * … * b
s2 = 1;
for (i = 2; i <= b ; i++)
	s2 = s2 * i;
//s3 = c! = 1 * 2 * … * c
s3 = 1;
for (i = 2; i <= c ; i++)
	s3 = s3 * i;

Nhận xét:

– Cùng một việc làm có đặc thù giống nhau được thực thi nhiều lần

– Code sẽ dài dòng và rối rắm

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 {
	cout << "Nhap mot so nguyen duong: ";
	cin >> n;
} while (n <= 0);

Đoạn lệnh tính giai thừa tổng quát với n = a, b, c

//s = n! = 1 * 2 * … * n
s = 1;
for (i = 2; i <= n ; i++)
	s = s * i;

Để sử dụng những đoạn lệnh tổng quát này nhiều lần, ta đưa chúng vào hàm (function).

2. Khái niệm hàm (function)

Hàm (function) là một đoạn chương trình có tên, đầu vào và đầu ra. Hàm 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. Hàm được gọi nhiều lần với các tham số khác nhau.

Hàm là một đơn vị chức năng độc lập của chương trình, không được cho phép thiết kế xây dựng một hàm bên trong một hàm khác .

Một chương trình bao gồm một hoặc nhiều hàm. Trong đó, hàm main() là thành phần bắt buộc của chương trình.

3. Cú pháp khai báo hàm và các bước viết hàm

Cú pháp:

([danh sách tham số])

{

           

            [return ;]

}

Trong đó:

: kiểu dữ liệu bất kỳ trong C++ (char, int, 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.

Giá trị trả về của hàm

– Được xác định dựa vào mục đích của hàm.

– Trong thân hàm, phải trả về đúng đã định ban đầu.

– Nếu các hàm không trả về giá trị thì phải khai báo kiểu void.

Ví dụ:
int TinhTong(int a, int b)
{
	int S;
	…
	return S;
}

Các bước viết hàm

Cần xác lập những thông tin sau :

    • 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ó).

Lời gọi hàm

Để sử dụng hàm thì cần định nghĩa hàm trước và gọi hàm .

#include 
using namespace std;

// declaring a function
void greet() {
	cout << "Hello there!";
}

int main() {
	
	// calling the function
	greet();
	
	return 0;
}

Lưu ý: Trong C++, hàm cần được định nghĩa trước rồi mới gọi hàm, định nghĩa sau sẽ bị lỗi. Nếu lời gọi hàm trong main() mà định nghĩa hàm ở phía dưới main() sẽ bị lỗi.

Chương trình sau sẽ báo lỗi chưa khai báo hàm greet();

#include 
using namespace std;

int main() {
	
	// calling the function
	greet();// error when calling the function
	
	return 0;
}
// declaring a function
void greet() {
	cout << "Hello there!";
}

4. Một số ví dụ sử dụng hàm

Chương trình C++ in ra số nguyên và số thực

#include 
using namespace std;

// display a number
void displayNum(int n1, float n2) {
	cout << "The int number is " << n1<
Kết quả
The int number is 5
The double number is 5.5

Chương trình C++ tính tổng 2 số nguyên

#include 
using namespace std;

// declaring a function
int add(int a, int b) {
	return (a + b);
}

int main() {
	int a;
	int b;
	cout<<"Input a:";
	cin>>a;
	cout<<"Input b:";
	cin>>b;
	int sum;
    
	// calling the function and storing
	// the returned value in sum
	sum = add(a, b);

	cout << "Sum of "<
Kết quả
Input a:100
Input b:78
Sum of 100 and 78 = 178

Khi sử dụng hàm, các bạn nên lưu ý kiểu trả về của hàm phải giống kiểu trả về của kết quả trong thân hàm.

5/5 - ( 1 bầu chọn )

Source: https://vh2.com.vn
Category : Tin Học