Truyền tham biến

Một phần của tài liệu Tài liệu Giáo trình lập trình căn bản docx (Trang 55 - 57)

4. Truyền thamsố

4.2.Truyền tham biến

Để truyền tham số theo dạng tham biến chúng ta phải dùng từ khoá ByRef trước những khao báo tham sốhình thức cần thiết. Mặc nhiên các tham số trong VB được truyền theo dạng tham biến, chính vì vậy các tham số hình thức không được khai báo với từ khoá ByRef hay ByVal sẽ được truyền theo dạng tham biến.

Khi truyền tham biến, mọi thao tác trên tham sốhình thức đều tácđộng trực tiếp lên tham số thực. Có nghĩa là khi gọi thực hiện một ctrìh con có truyền tham biến thì các thay đổi gtrị trên tham sốhình thức sẽ làm thay đổi gtrị của tham số thực. Ví dụ với hàm Songuyento() trên đây, nếu được khai báo là:

Function Songuyento(ByRef m As Long) As Boolean Dim i As Integer, n As Integer

If m = 1 Then Songuyento = False Else

n = m \ 2 For i = 2 To n

If (m Mod i = 0) Then Exit For Next If i <= n Then Songuyento = False Else Songuyento = True End If End Function

Khi đó, chúng ta có thể kiểm tra mộtgiá trị k có phải số nguyên tố hay không như sau: Dim k As Long, kt As Boolean, thongbao As String

k = -6

kt = Songuyento(k) If kt = True Then

thongbao = str(k) & “ la so nguyen to” Else

thongbao = str(k) & “ khong la so nguyen to” End If

MsgBox thongbao

Kết quả thực hiện của các dòng lệnh trên đây sẽ là “6 khong la so nguyen to” thay vì “-6 khong la so nguyen to”. Kết quả này không hiển thị đúng giá trị k lúcđầu. Đó là vì giá trị

Một phần của tài liệu Tài liệu Giáo trình lập trình căn bản docx (Trang 55 - 57)