Biến toàn bộ Biến cục bộ... Biến cục bộ :là biến được khai báo trong chương trình con chỉ có tác dụng trong phạm vi chương trình con đó.. Biến toàn bộ : là biến được khai báo trong chư
Trang 1Bài 18: BIẾN CỤC BỘ VÀ BIẾN TOÀN BỘ
Tiết 3
Trang 2Nội dung:
I Khái niệm:
– Biến cục bộ. – Biến toàn bộ.
II Ví dụ.
Trang 3Program Vi_dụ;
Var a: Integer ;
(*……….*)
Procedure CT_con;
Var b :Integer;
Begin .………
End;
(*………*) BEGIN
(*Chương trình chính*)
END
Biến toàn bộ
Biến cục bộ
Trang 41 Biến cục bộ :là biến được khai báo trong
chương trình con chỉ có tác dụng trong
phạm vi chương trình con đó.
2 Biến toàn bộ : là biến được khai báo trong
chương trình chính , các chương trình con được phép sử dụng các biến này.
I Khái niệm
Trang 5II Ví dụ
1 Ví dụ 2:
Program vd2;
Var
x:integer;
Procedure proc1;
var
y: integer;
begin
end;
Begin
End
{tại đây có thể sử dụng biến x và y}
{tại đây chỉ có thể sử dụng biến x}
{Sử dụng biến y sẽ báo lỗi }
Trang 6Có thể khai báo biến toàn bộ và biến
cục bộ cùng tên không ?
2 Ví dụ :
Program vd;
Var
i: integer;
Procedure proc;
Var
i: integer;
Begin
i:=100;
End;
Begin
i:=1;
proc;
Writeln(i);
End.
Biến toàn bộ
Biến cục bộ
Trang 7Program vd3;
Var
i: integer;
Procedure proc;
Var
i: integer;
Begin
i:=100;
End;
Begin
i:=1;
proc;
Writeln(i);
End.
Câu hỏi: hãy cho biết kết quả của chương trình này:
2 Ví dụ 3:
Ket qua
Trang 8Vậy: Trong chương trình con có biến cục bộ i
và trong chương trình chính có biến toàn bộ
con thì biến i cục bộ có tác dụng, còn khi
chương trình con kết thúc thì biến toàn bộ lại lấy lại tác dụng của nó.
Trang 92 Ví dụ 3.2:
Program vd3;
Var
i: integer;
Procedure proc;
Var
i: integer;
Begin
i:=7;
writeln(i:6);
End;
Begin
i:=5;
proc;
Writeln(i:6);
End
Câu hỏi: hãy cho biết kết quả của chương trình này:
Ket qua
Trang 10Thủ tục writeln trong chương trình chính sẽ đưa ra xâu được nhập vào từ bàn phím bởi thủ tục getname.
Giải thích
3 Ví dụ 4:
Program vd4;
Name: string[10];
Procedure GetName;
Begin
write(‘hay cho biet ten cua ban:’);
readln(Name);
End;
Begin
GetName;
writeln(Name);
End.
Trang 11THE END