Function And PROCEDURE
Pascal
Function và Procedure Dùng Để làm gì | chúng khác gì nhau
Function và Procedure là các khối mã lệnh độc lập trong chương trình Pascal, được sử dụng để thực hiện các nhiệm vụ cụ thể và tái sử dụng mã lệnh.
- Function trong Pascal là một khối mã lệnh chuyên biệt để tính toán một giá trị và trả về giá trị đó cho người gọi. Function bao gồm một tiêu đề, thân hàm và một câu lệnh return để trả về giá trị tính toán.
- Procedure trong Pascal cũng là một khối mã lệnh, nhưng không trả về giá trị cho người gọi. Procedure bao gồm một tiêu đề và thân hàm.
Ứng dụng của Function và Procedure:
- Tăng tính tái sử dụng mã lệnh, giúp giảm độ phức tạp của chương trình.
- Tăng tính hiệu quả và độ chính xác của chương trình.
Cú pháp của Function và Procedure trong Pascal như sau:
1. Function
function <tên hàm>([<tham số>]): <kiểu dữ liệu trả về>;
begin
// Nội dung của hàm
end;
Trong đó:
- "tên hàm": Tên của hàm.
- "tham số": Các tham số đầu vào của hàm (có thể có hoặc không).
- "kiểu dữ liệu trả về": Kiểu dữ liệu mà hàm trả về.
- begin-end: Phần thân của hàm, chứa các câu lệnh để xử lý dữ liệu và trả về kết quả. Ví dụ:
function TinhTong(a, b: integer): integer;
begin
TinhTong := a + b;
end;
2.Procedure
procedure <tên thủ tục>([<tham số>]);
begin
// Nội dung của thủ tục
end;
Trong đó:
- "tên thủ tục": Tên của thủ tục.
- "tham số": Các tham số đầu vào của thủ tục (có thể có hoặc không).
- begin-end: Phần thân của thủ tục, chứa các câu lệnh để thực hiện một công việc nào đó.
Ví dụ:
procedure XuatTong(a, b: integer);
var
tong: integer;
begin
tong := a + b;
writeln('Tong hai so la: ', tong);
end;
thông tin
? ví dụ thực tề trong đời sống
- Function: Một ví dụ về hàm trong thực tế có thể là hàm tính toán tổng tiền của một hóa đơn. Ta có thể viết một hàm tính toán tổng giá trị đơn hàng dựa trên danh sách sản phẩm và giá tiền của chúng. Hàm này có thể được sử dụng trong một chương trình quản lý bán hàng để tính toán tổng tiền của các hóa đơn khách hàng.
- Procedure: Một ví dụ về Procedure trong thực tế có thể là một thủ tục để in thông tin khách hàng trên một hóa đơn. Thủ tục này có thể được sử dụng trong một chương trình quản lý bán hàng để in hóa đơn cho khách hàng.
Sự Khác Biệt
Function và Procedure là hai loại thủ tục (subprograms) trong Pascal, nhưng chúng có một số khác biệt quan trọng về tính chất và cách sử dụng như sau:
Giá trị trả về:
- Function trả về một giá trị có kiểu dữ liệu cụ thể (như số nguyên, số thực, chuỗi,..)
- Procedure không trả về giá trị, nó chỉ thực hiện các lệnh được định nghĩa bên trong.
Tham số:
- Function và Procedure đều có thể có các tham số truyền vào và tham số này có thể được truyền bằng giá trị hoặc tham chiếu.
- Tuy nhiên, khi truyền tham số bằng tham chiếu, Procedure có thể thay đổi giá trị của tham số đó, trong khi Function thì không.
Cách sử dụng:
- Function thường được sử dụng để tính toán giá trị dựa trên các tham số đầu vào và trả về giá trị đó cho phần chương trình gọi nó.
- Procedure thường được sử dụng để thực hiện các tác vụ phức tạp hơn và không trả về giá trị, như in ra màn hình, thao tác với tập tin, xử lý dữ liệu,...
Ví dụ: Function: Hàm tính tổng các số từ 1 đến n
function Tong(n: integer): integer;
var
i, sum: integer;
begin
sum := 0;
for i := 1 to n do
sum := sum + i;
Tong := sum; // Trả về giá trị của biến sum
end;
Procedure: Thủ tục xuất thông tin sinh viên ra màn hình
procedure XuatSinhVien(sv: SinhVien);
begin
writeln('Ho va ten: ', sv.HoTen);
writeln('MSSV: ', sv.MSSV);
writeln('Diem trung binh: ', sv.DiemTB);
end;
Ứng dụng:
- Function và Procedure được sử dụng rộng rãi trong lập trình để tách các phần của chương trình ra thành các đoạn nhỏ hơn, giúp cho chương trình dễ đọc và bảo trì hơn. Function thường được sử dụng trong các toán tử học, tính toán trên dữ liệu, kiểm tra các điều kiện,..
- Procedure thường được sử dụng trong các tác vụ liên quan đến đọc/ghi tập tin, cập nhật cơ sở dữ liệu, xử lý sự kiện, v.v.