TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HỒ CHÍ MINH
BÀI TẬP ÔN TẬP VISUAL BASIC
PHẦN MẢNG
TP.Hồ Chí Minh, Ngày 12 tháng 10 Năm 2018
Bài tập 01:
Viết chương trình nhập và in mảng:
Hướng dân khai báo mảng dạng toàn cục và gọi hàm.
Dim a(1 to 20) As Integer
Dim n As Integer
Private Sub cmdNhap_Click()
n = Val(txtn.Text)
If n <= 0 Then
MsgBox “ Nhap lai”, vbOKOnly, “Loi”
Else
Call nhapmang(n)
MsgBox xuatmang, vbOKOnly, “Mang vua nhap:”
End If
End Sub
Hướng dẫn hàm nhập và xuất mảng.
Public Function nhapmang(ByVal m As Integer) As Integer
Dim I As Integer
For I = 1 To m
a(i) = Val(InputBox(“a(&i& “)”))
Next i
Nhapmang = a(i)
End Function
Public Function xuatmang() As String
Dim I As Integer
Dim s As String
s = “”
For i = 1 to n
s = s & a(i) & “ “
Next i
xuatmang = s
End Function
Bài tập 02
Viết chương trình nhập mảng động như yêu cầu sau đây: Sau khi nhập số
phần tử của mảng và mảng hoàn thành, có thể thêm bất kỳ số phần tử.
Hướng dẫn nhập mảng lần 1:
ReDim MangA(n-1)
For i=0 To (n-1) Step 1
MangA(i) = Val(InputBox(“Nhap phan tu thu: “ & (i+1))
Next i
Inmang MangA, lblfirst
Hướng dẫn nhập mảng lần 1:
Nthem= Val(txtthem.Text)
Ntruoc=UBound(MangA())
ReDim Preserve MangA(ntruoc ++ nthem)
For I = ntruoc + 1 To nthem + ntruoc
MangA(i) = Val(InputBox(“Nhap phan tu thu: “ & i+1))
Next i
Inmang MangA, lblfirst
Bài tập 03
Viết chương trình nhập mảng đối tượng các TextBox (Có cùng Name), sau
đó in ra số Max, Min và đếm phần tử bất kỳ trong mảng
HD Tìm Max
Max = A(0)
For i = 0 To(sophantumang-1(
If max
Next i
Hướng dẫn đếm phần tử
Phantudem=Val(InputBox(“Nhap so can den(”((
dem = 0
For i = 0 To(sophantumang-1(
If phantudem = A(i(Then
dem = dem + 1
End If
Next i
Bài tập 04:
Viết chương trình tìm số lớn nhì trong mảng
HD gán giá trị đầu cho Max1, Max2
If a(0) > a (1) Then
max1 = a(0(
max2 = a(1(
Else
max1 = a(1(
max2 = a(0(
End If
Hướng dẫn giải thuật tìm phần từ lớn nhì.
For 1 = 0 To n-1
If max1
max2 = max1
max1 = a(i(
Elself(max2
End If
Next i
Bài tập 05:
Viết chương trình tính tổng số chẵn tại các vị trí lẻ của mảng
Hướng dẫn
Public Function tongchan ( ByVal n As Integer ) As Integer
Dim i , s As Integer
S=0
For i = 1 To n Step 2
If ( a ( i ) Mod 2 = 0 ) Then
s=s+a(i)
End If
Next i
tongchan = s
End Function
Bài tập 06:
Viết chương trình đếm số phần tử lẻ của mảng
Hướng dẫn
Public Function demphantule ( ByVal - As Integer ) As Integer
Dim i , dem As Integer
dem = 0
For i = 1 To n
If a ( i ) Mod 2 < > 0 Then dem = dem + 1
Next i
demphantule = dem
End FunctionBài tập 07
Viết chương trình tìm min và max trong mảng
Hướng dẫn:
Function timmaxmin ( ByVal n As Integer )
Dim max , min , i As Integer
max = a ( 1 )
min = a ( 1 )
For i = 1 To n
If max < a ( i ) Then max = a ( i )
If min > a ( i ) Then min = a ( i )
Next i MsgBox " Max = " & max & vbCrLf & " Min = " & min , v03OKOnly , " Ket qua "
End Function
Bài tập 08
Viết chương trình sắp xếp mảng đã nhập
Hướng dẫn:
Private Sub Tang Click ( )
Call sapxeptang ( n )
MsgBox xuatmang ) , vbOKOnly , " Ket qua sap tang "
End Sub
Function sapxeptang ( ByVal m As Integer )
Dim i , j , temp As Integer
For i = 1 To m
For j = i + 1 To m
If a ( i ) > a ( j ) Then
temp = a ( i )
a(i)=a(3)
a ( j ) = temp
End If
Next j
Next i
End Function
Bài tập 09:
Viết chương trình chèn thêm phần tử vào mảng
Hướng dẫn:
Public Function Chenpt ( ByVal x As Integer , ByVal y As Integer ) As String
Dim i As Integer
Dim s As String
For i = n + 1 To ( y ) Step - 1
a(i+1)=a(1)
Next is
a(y)=x
s= 1
For
i = 1 To n + 1
s = s & a(i ) & " "
Next i
Chenpt = s
End Function
Private Sub Chen Click ( )
Dim i As Integer
k = Val ( InputBox ( " Nhap phan tu can chen : " ) )
vt = Val ( InputBox ( " Nhap vi tri can chen " ) )
If vt ( = 0 Then
MsgBox " phai nhap vi tri duong " , vbOKCancel , " Loi "
Else MsgBox Chenpt ( k , vt ) , vbOKOnly , " Mang da chen vi tri thu : " & vt
End If
End Sub
Bài tập 10:
Viết chương trình xóa phần tử trong mảng
Hướng dẫn:
Function xoaphantumang ( ByVal vt As Integer ) As String
Dim I As Integer
Dim s As String
For i = vt To n
a(i)=a(i+1)
Next i " "
s=” “
For i = 1 To n - 1
s=s&a(i)& ““
Next i
xoaphantumang = s
End Function
Private Sub Xoa Click ( )
Dim vitri As Integer
vitri ¨C Val ( InputBox ( " Nhap vi tri can xoa " ) )
If vitri <= 0 Then
MsgBox " Phai nhap vi tri duong " , vbOKCancel , " Loi "
Else
MsgBox xoaphantuman ( vitri ) , vbOKOnly , " Mang da xoa vi tri thu : " & vitri
End If
End Sub
Bài tập 11.
Viết chương trình chèn phần tử vào mảng đã sắp xếp
Hướng dẫn:
Function chenmangtang ( ByVal x As Integer ) As String
Dim i , j As Integer
Dim s As String
j=1
Do While ( x > a ( j ) ) And ( j < = n )
j=j+1
Loop
For
i = n + 1 To 3 step - 1
a(i+1)=a(i)
Next is
a(j)=x
s=""
For
i = 1 To n + 1
s=s&a(i)&""
Next i
chenmangtang = s
End Function
Private Sub chen click ( )
Dim a As Integer
a = Val ( InputBox ( " Nhap so can chen : " ) )
MsgBox chenmangtang ( a ) , vbOKCancel , " Ket qua "
End Sub
Bài tập 12.
Viết chương trình nhập và in ra mảng 2 chiều
Hướng dẫn
Dim a ( 1 To 20 , 1 To 20 ) As Integer
Dim m , n As Integer
Public Function nhapmang ( ByVal x As Integer , ByVal y As Integer )
Dim i , j As Integer
For i = 1 To x
For j = 1 To y
a ( i , j ) = Val ( InputBox ( " a ( " & i & " , " & j & " ) = " ) )
Next j
Next i
End Function
Public Function xuatmang ( ) As String
Dim s As String
Dim i , j As Integer
s=""&"
For i = 1 To n
For j = 1 To m
s=s&a(i,j)&”“
Next j
s = s & vbCrLf
Next i
xuatmang = s
End Function
Private Sub Nhapmang2 click ( )
n = Val ( InputBox ( " Nhap so dong : " ) )
m = Val ( InputBox ( " Nhap so cot : " ) )
If ( n = 0 ) or ( m < = 0 ) Then
MsgBox " Nhap lai "
Else
Call nhapmang ( n , m )
MsgBox xuatmang ( ) , vbYesNo , " Mang da nhap kieu " & n & " x " & m
End If
End Sub
Bài tập 13:
Viết chương trình cộng hai ma trận dạng nxm, với số dòng n và số cột m nhập từ bàn phím
Hướng dẫn :
Dim ( 1 To 20 , 1 To 20 ) As Integer
Dim b ( 1 To 20 , 1 To 20 ) As Integer
Dim c ( 1 To 20 , 1 To 20 ) As Integer
Dim m , n As Integer
Public Function nhapmang ( ByVal X As Integer , ByVal y As Integer )
Dim i , j As Integer
For i = 1 To x
For j = 1 To y
c ( i , j ] = Val ( InputBox ( " c ( " & i & " , " & j & " ) = " ) )
Next j
Next i
End Function
Public Function xuatmang ( ) As String
Dim s As String
Dim i , j As Integer
s=" "
For i = 1 To n
For j = 1 To m
s=s&c(i,j)&" "
Next j
s = s & vbCrLf
Next i
xuatmang = s
End Function
Private Sub matran1 click ( )
Dim i , j As Integer
n = Val ( InputBox ( " Nhap so dong : " ) )
m = Val ( InputBox ( " Nhap số Cot : " ) )
If ( n < = 0 ) or ( m < = 0 ) Then
MsgBox " Nhap lai "
Else Call nhapmang ( n , m )
For i = 1 To n
For j = 1 To m
a(i,j)=x(i,j)
Next j
Next i
MsgBox xuatmang ( ) , vbYesNo , " Mang da nhap kieu " & n & " x " & I
End If
End Sub
Function Conghaimatran ( )
Dim i , j As Integer
Dim s As String
For i = 1 To n
For j = 1 To m
c(i,j)=a(i,j)+b(i,j)
Next j
Next i
End Function
Private Sub Cong _ Click ( )
Call conghaimatran
MsgBox xuatmang ) , vbOKOnly , " Ket qua "
End Sub