Tải bản đầy đủ (.docx) (19 trang)

Bài tập Visual Basic SPKT Hồ Chí Minh.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (389.67 KB, 19 trang )

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 , v03OKOnly , " 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




×