Một số bài tập Visual Basic căn bản của trường Đại Học Sư Phạm Kỹ Thuật Hồ Chí Minh dành cho các bạn tham khảo.Mong tài liệu sẽ giúp ích cho các bạn học tập, ôn thi và đạt được thành tích như mình mong muốn.Chân thành cảm ơn các bạn.
Trang 1TRƯỜ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
Trang 2Bà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
Trang 3Public 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
Trang 4Bà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
Trang 5Bà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 <A (i) Then max A (i)
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
Trang 6Bà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 <a (i) Then
max2 = max1 max1 = a(i(
Elself(max2 <a(i(Or max1 max2(Then
End If
Next i
Trang 7Bà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
Trang 8Bà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
Trang 9End 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
Trang 10Bà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
Trang 11Bà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
Trang 12Bà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
Trang 13Private 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
Trang 14Bà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
Trang 15Bà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 : " ) )
Trang 16If ( 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
Trang 17Bà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 ( )
Trang 18Dim 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
Trang 19Function 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