Chương trình con có thể nhận đầu vào từ chương trình chính và trả về kết quả sau khi thực hiện xong tác vụ được giao.
Vậy các biến trong chương trình con là các biến như thế nào? Cùng cô giải đáp câu hỏi này nhé.
Các em lưu ý đề trắc nghiệm được xóa trộn, các em cần hiểu rõ bản chất để trả lời tốt hơn nhé.
Các biến của chương trình con là:
A. Biến toàn cục.
B. Biến cục bộ.
C. Tham số hình thức.
D. Tham số thực sự.
Đáp án đúng: B
Các biến của chương trình con là biến cục bộ.
Giải thích đáp án
Các biến trong chương trình con được gọi là biến cục bộ vì chúng chỉ có tác dụng và giá trị trong phạm vi của chương trình con. Khi chương trình con được thực thi, các biến cục bộ này sẽ được khởi tạo và lưu trữ tạm thời trong bộ nhớ, và sẽ bị hủy khi chương trình con kết thúc.
Chương trình con là gì?
Chương trình con (hay còn gọi là hàm) là một khối mã lệnh độc lập có chức năng thực hiện một tác vụ cụ thể trong chương trình chính.
Chương trình con thường được sử dụng để giải quyết các tác vụ lặp đi lặp lại trong chương trình chính hoặc để phân chia chương trình thành các phần nhỏ hơn, dễ quản lý và bảo trì hơn.
Để sử dụng chương trình con, chúng ta cần định nghĩa nó trước đó trong chương trình chính, sau đó có thể gọi chương trình con đó trong bất kỳ đoạn mã nào trong chương trình chính.
Biến cục bộ là gì?
Biến cục bộ là biến chỉ tồn tại và có phạm vi hoạt động trong một khối mã lệnh cụ thể trong chương trình. Khi chương trình thực thi đến khối mã lệnh đó, biến cục bộ được khởi tạo và sử dụng để lưu trữ dữ liệu trong thời gian thực thi của khối mã lệnh đó. Tuy nhiên, khi khối mã lệnh kết thúc, biến cục bộ sẽ bị hủy và không còn tồn tại nữa.
Các biến cục bộ thường được sử dụng để giữ các giá trị tạm thời hoặc các thông tin cục bộ trong một chương trình. Chúng không ảnh hưởng đến các biến toàn cục hoặc các biến được khai báo ở bên ngoài khối mã lệnh của chương trình.
Việc sử dụng biến cục bộ giúp giảm thiểu xung đột giữa các biến trong chương trình và tăng tính module của chương trình, giúp dễ dàng bảo trì và nâng cấp chương trình hơn.
Sự khác nhau giữa biến cục bộ và biến toàn cục là gì?
Biến cục bộ và biến toàn cục là hai loại biến có phạm vi và thời gian tồn tại khác nhau trong chương trình.
Biến cục bộ là biến được khai báo bên trong một hàm hoặc một khối lệnh và chỉ có thể sử dụng trong phạm vi đó. Biến cục bộ được tạo khi hàm bắt đầu thực thi và bị hủy khi hàm kết thúc. Biến cục bộ không chia sẻ dữ liệu với các hàm khác.
Biến toàn cục là biến được khai báo bên ngoài tất cả các hàm và có thể truy xuất ở mọi nơi trong chương trình . Biến toàn cục được tạo khi chương trình bắt đầu thực thi và bị hủy khi chương trình kết thúc. Biến toàn cục cho phép chia sẻ dữ liệu giữa các hàm.
Ví dụ chương trình con trong Pascal
Ví dụ 1: Chương trình con tổng tổng của hai số nguyên
program TinhTong; function TinhTong(a, b: integer): integer; begin TinhTong := a + b; end; var x, y, tong: integer; begin write('Nhap so thu nhat: '); readln(x); write('Nhap so thu hai: '); readln(y); tong := TinhTong(x, y); writeln('Tong cua hai so la: ', tong); readln; end.
Chương trình sử dụng chương trình con để tính tổng của 2 số nguyên được nhập từ bàn phím. Chương trình con TinhTong có 2 tham số đầu vào là a và b là 2 số nguyên, và sử dụng hàm return để trả về tổng của a và b.
Chương trình chính sử dụng hàm TinhTong để tính tổng của 2 số được nhập từ bàn phím và hiển thị kết quả lên màn hình.
Ví dụ 2: Tính giai thừa của một số nguyên
program TinhGiaiThua; function TinhGiaiThua(n: integer): integer; var i, giai_thua: integer; begin giai_thua := 1; for i := 1 to n do giai_thua := giai_thua * i; TinhGiaiThua := giai_thua; end; var x, giai_thua: integer; begin write('Nhap so can tinh giai thua: '); readln(x); giai_thua := TinhGiaiThua(x); writeln(x, '! = ', giai_thua); readln; end.
Chương trình sử dụng chương trình con để tính giai thừa của một số nguyên được nhập từ bàn phím. Chương trình con TinhGiaiThua có tham số đầu vào là n là số nguyên cần tính giai thừa, và sử dụng vòng lặp for để tính giá trị giai thừa của n.
Chương trình chính sử dụng hàm TinhGiaiThua để tính giai thừa của số được nhập từ bàn phím và hiển thị kết quả lên màn hình.
Ví dụ 3: Kiểm tra một số nguyên có phải số nguyên tố không
program KiemTraSoNguyenTo; function LaSoNguyenTo(n: integer): boolean; var i: integer; begin if (n < 2) then LaSoNguyenTo := false else begin LaSoNguyenTo := true; for i := 2 to (n div 2) do if (n mod i = 0) then begin LaSoNguyenTo := false; break; end; end; end; var x: integer; begin write('Nhap so can kiem tra: '); readln(x); if LaSoNguyenTo(x) then writeln(x, ' la so nguyen to.') else writeln(x, ' khong phai la so nguyen to.'); readln; end.
Chương trình sử dụng chương trình con để kiểm tra xem một số nguyên được nhập từ bàn phím có phải số nguyên tố hay không. Chương trình con LaSoNguyenTo có tham số đầu vào là n là số nguyên cần kiểm tra, và sử dụng vòng lặp for để kiểm tra xem n có phải là số nguyên tố hay không.
Chương trình chính sử dụng hàm LaSoNguyenTo để kiểm tra số được nhập từ bàn phím và hiển thị kết quả lên màn hình.
Một vài câu hỏi liên quan
Có thể sử dụng biến cục bộ trước điểm định nghĩa không?
Không, biến cục bộ không thể được sử dụng trước điểm định nghĩa. Phạm vi của biến cục bộ bắt đầu tại điểm định nghĩa biến và dừng ở cuối dấu ngoặc nhọn, nơi mà chúng được xác định (hoặc cho các tham số của hàm, ở cuối hàm).
Biến cục bộ có thể tồn tại trong một hàm đơn nhất không?
Có, biến cục bộ có thể tồn tại trong một hàm đơn nhất. Biến cục bộ được định nghĩa trong một hàm và chỉ có thể được truy cập từ bên trong hàm đó. Khi hàm kết thúc, giá trị của biến cục bộ sẽ bị mất và không thể được truy cập nữa.