Module: Chương trình con: thủ tục và hàm - 1


Problem

9 /12


Biến cục bộ và biến toàn cục

Theory Click to read/hide

Thường cần phải sử dụng các biến bổ sung sẽ chỉ được sử dụng trong chương trình con. Các biến như vậy được gọi là cục bộ (hoặc cục bộ) và chỉ có thể được thao tác trong chương trình con nơi chúng được tạo.
 

Phạm vi biến cục bộ là hàm hoặc thủ tục trong đó nó được khai báo

Như vậy, có thể giới hạn phạm vi (scope) của một biến chỉ cho chương trình con ở những nơi thực sự cần thiết. Trong lập trình, kỹ thuật này được gọi là đóng gói  - ẩn một biến khỏi bị thay đổi từ bên ngoài.

Nếu cần khai báo một biến có thể nhìn thấy ở bất kỳ đâu trong chương trình (trong bất kỳ chương trình con nào), thì các biến đó được khai báo bên ngoài tất cả các chương trình con (xem chương trình 3 trong bảng bên dưới)
Các biến như vậy được gọi là toàn cục.

Phân tích ba chương trình: được hiển thị trên màn hình

Problem

Viết thủ tục với tham số n hiển thị cây thông Noel có vương miện cao n
Chương trình chính phải chứa đầu vào là giá trị của biến n và lệnh gọi thủ tục

Ví dụ
1) Trong chương trình này, biến i là cục bộ. Biến cục bộ được khai báo bên trong chương trình con 2) Ở đây, ngay cả khi có một biến i trong chương trình chính (với giá trị 7), một biến cục bộ mới i với giá trị 5 sẽ được tạo. 
Khi chạy chương trình này, màn hình sẽ hiển thị giá trị 75
3) Chương trình này có biến toàn cục i. Giá trị của nó có thể được thay đổi bên trong chương trình con và bên trong chương trình chính
Thủ tục sẽ làm việc với biến toàn cục i và nó sẽ được gán giá trị mới bằng 2. Giá trị 2
kiểm tra thủ tục();
var i: số nguyên;
bắt đầu
    tôi := 5;
    writeln(i);
kết thúc;
var i: số nguyên;

kiểm tra thủ tục();
var i: số nguyên;
bắt đầu
    tôi := 5;
    writeln(i);
kết thúc;

bắt đầu
    tôi := 7;
    ghi(i);
    kiểm tra();
kết thúc.
var i: số nguyên;

kiểm tra thủ tục();
bắt đầu
    tôi := 2;
kết thúc;

bắt đầu
    kiểm tra();
    writeln(i);
kết thúc.
<đầu>
# Đầu vào Đầu ra
1 5     o    ooo   ooooo  ooooooo ooooooooo