1. Tính tổng T= 1+ 2+3+…+N. N>=0. nếu N=0 thì T=0
Private Sub cmdtinh_Click()
Dim n As Integer
Dim i As Integer
Dim kq As Integer
‘lay gia tri cho n’
n = Val(TXTN.Text)
kq = 0
‘kiem tra so n nhap vao’
If n = 0 Then
‘neu n = 0 thi xuat ket qua tong la: 0’
kq = 0
Else
‘neu n # 0, dung vong lap cong cac gia tri chay tu 1 den n’
For i = 1 To n
kq = kq + i
Next i
End If
‘xuat ket qua ra o textbox’
txtkq.Text = kq
End Sub
2. : Viết chương trình tính tổng T = 1 – 2 + 3- 4 + … (-1)N+1N, với N là số nguyên 0, nếu N=0 thì T=0.
Private Sub cmdtinh_Click()
Dim n As Integer
Dim i As Integer
Dim kq As Integer
‘gan gia tri cho N’
n = (txtn.Text)
kq = 0
‘kiem tra N’
If n = 0 Then
‘neu N = 0 thi gan kq=0 va ket thuc chuong trinh”
kq = 0
Else
‘nguoc lai n #0 thi lam buoc tinh tiep’
‘co the dung 2 vong lap for voi buoc nhay la 2 (step 2) de tinh’
‘vong for nay de tinh tong cac so le tu 1 den n’
For i = 1 To n Step 2
kq = kq + i
Next i
‘vong for nay tinh hieu cac so chan tu 2 den n’
For i = 2 To n Step 2
kq = kq – i
Next i
End If
‘xuat kq ra o textbox’
txtkq.Text = kq
End Sub
3. Viết chương trình nhập một số nguyên dương có 3 chữ số, viết ra màn hình dạng: trăm, chục, đơn vị. Ví dụ, nhập vào số : 246, kết quả cho là : 2 Trăm 4 chục 6 Đơn vị
Private Sub cmdtinh_Click()
Dim n As Integer
Dim tr As Integer
Dim ch As Integer
Dim dv As Integer
n = Val(txtn.Text)
‘kiem tra n la so co 3 chu so’
If n > 99 And n < 1000 Then
tr = n \ 100 ‘lay gia tri chia nguyen cua n cho 100 ta duoc hang tram’
ch = (n – tr * 100) \ 10 ‘n-tr*100 ta duoc 2 chu so cuoi, lay 2 so do chi nguyen cho 10 ta duoc hang chuc’
dv = n – tr * 100 – ch * 10
Else
‘dua ra thong bao so n khong phai la so co 3 chu so bang msgbox’
MsgBox (“so ” & Str(n) & ” khong phai la so co 3 chu so” & vbCrLf & “ban hay nhap lai”)
End If
txttram.Text = tr
txtchuc.Text = ch
txtdv.Text = dv
End Sub
Private Sub txttram_Change()
End Sub
4. Viết chương trình cho phép nhập vào một số và kiểm tra số đó có phải là số nguyên tố hay không.
Private Sub Command1_Click()
txta.Text = “”
lblkq.Caption = “”
txta.SetFocus
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Dim a, i
‘kiem tra so a, so 1 khong la so ng.to, 2 la so ng.to, so nguyen to la so chi chia het cho 1 va chinh no’
a = txta.Text
If a = 1 Then
lblkq.Caption = “so 1 khong phai la so nguyen to”
End If
If a = 2 Then
lblkq.Caption = “so 2 la so nguyen to”
End If
If a > 2 Then
i = a
Do
i = i – 1
Loop Until a Mod i = 0
If i > 1 Then
lblkq.Caption = “so” & Str(a) & ” khong phai la so nguyen to”
Else
lblkq.Caption = “so” & Str(a) & ” la so nguyen to”
End If
End If
End Sub
5. : Viết chương trình nhập 3 số và tìm ra số lớn nhất giữa ba số số
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim max As Integer
a = Val(txt1.Text)
b = Val(txt2.Text)
c = Val(txt3.Text)
max = a
‘kiem tra max da la so lon nhat chua’
If b > max Then max = b
If c > max Then max = c
txtkq.Text = max
End Sub
6. Viết chương trình cho phép nhập vào (quy định trước) : số hạng đầu tiên, công bội của một cấp số nhân, giao diện tự thiết kế cho phù hợp. Cho phép người dùng tìm ra :
-
Số hạng bất kỳ của nó.
-
Tổng của n số hạng đầu tiên của nó.
private sub cmdtinh1
Dim a As Integer
Dim d As Integer
Private Sub Command1_Click()
Dim n As Integer
Dim kq As Integer
a = Val(txta.Text)
d = Val(txtcb.Text)
n = Val(txtson.Text)
kq = a * (d ^ (n – 1)) ‘cong thuc tinh so hang thu n’
txtsohang.Text = kq
End Sub
Private Sub Command2_Click()
Dim m As Integer
Dim kq As Integer
a = Val(txta.Text)
d = Val(txtcb.Text)
m = txtm.Text
‘co the dung cong thuc hoac dung vong lap for de tinh tong nay’
kq = 0
For i = 1 To m
kq = kq + a * d ^ (i – 1) ‘cong thuc tinh tong n so hang dau cua CSN a*((1-d^(n+1))/(1-d))’
Next i
txtkq.Text = kq
txtkq.Text = kq
End Sub
7. Viết chương trình cho phép nhập vào 2 số a và b, giao diện tự thiết kế cho phù hợp. Tìm
-
USCLN
- Tìm và in ra phân số tối giản của a/b (ví dụ a= 6, b = 12 thì in ra : a/b = ¾)
Dim a, b, c, i, d
Public Sub Command1_Click()
Dim d As Integer
a = Val(txta.Text)
b = Val(txtb.Text)
‘uoc chung la so lon nhat ma 2 so co the chia het => uoc chung phai nho hon hoac bang so nho nhat trong 2 so’
If b < a Then
c = b
d = a
Else
c = a
d = b
End If
i = c
Do
i = i – 1
Loop Until a Mod i = 0 And b Mod i = 0
txtkq.Text = i
End Sub
Private Sub Command2_Click()
‘tim phan so toi gian’
txtkq.Text = Str(a / i) & “/” & Str(b / i)
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Command4_Click()
txta.Text = “”
txtb.Text = “”
txtkq.Text = “”
txta.SetFocus
End Sub
8. Viết chương cho phép nhập vào một mảng A gồm 7 phần tử, thực hiện các yêu cầu sau
- Tính tổng mảng.
- Tính giá trị lớn nhất.
- Tính giá trị nhỏ nhất.
- Đếm số lần xuất hiện của x (với x nhập từ bàn phím).
Dim A(4) As Integer
Dim x As Double
Private Sub Nhapmang()
‘nhap mang, lay tu mang da nhap vao cac o nho’
Dim i As Integer
For i = 0 To 4
A(i) = Val(Txta(i).Text)
Next
End Sub
Private Function tongmang() As Double
‘tinh tong mang’
Dim i As Integer
Dim Tong As Double
Tong = A(0)
For i = 1 To 4
Tong = Tong + A(i)
Next
tongmang = Tong
End Function
Private Function maxmang() As Double
‘tim gia tri lon nhat cua mang’
Dim i As Integer
Dim max As Double
max = A(0)
For i = 1 To 4
If max < A(i) Then max = A(i)
Next
maxmang = max
End Function
Private Function minmang() As Double
‘tim gia tri nho nhat cua mang’
Dim i As Integer
Dim min As Double
min = A(0)
For i = 1 To 4
If min > A(i) Then min = A(i)
Next
minmang = min
End Function
Private Function solan() As Double
‘dem so lan xuat hien cu so nhap tu ban phim’
Dim i As Integer
For i = 0 To 4
If x = A(i) Then solan = solan + 1
Next
End Function
Private Sub Chkpt_Click(Index As Integer)
‘neu click vao o dem thi xuat hien mot o de nhap so can dem vao’
If (Index = 3) And (Chkpt(3).Value = 1) Then x = InputBox(“x = “, “”)
End Sub
Private Sub Cmdtinh_Click()
‘xuat ket qua ra msgbox’
Dim s As String
Nhapmang
For i = 0 To 3
If Chkpt(i).Value = 1 Then
Select Case i
Case 0
s = “tong = ” & tongmang & vbCrLf
Case 1
s = s & “max = ” & maxmang & vbCrLf
Case 2
s = s & “min = ” & minmang & vbCrLf
Case 3
s = s & “solan = ” & solan
End Select
End If
Next
MsgBox s
End Sub
9. Viết chương trình cho phép nhập vào một mảng A có 7 phần tử và sắp xếp mảng A đó theo thứ tự tăng dần, giảm dần
Private Sub cmdgiam_Click()
Dim a(6) As Integer
Dim i As Integer
‘ nhap mang’
For i = 0 To 6
a(i) = txtn(i).Text
Next i
Dim j As Integer
Dim tg As Integer
‘doi cho’
For i = 0 To 5
For j = i + 1 To 6
If a(i) < a(j) Then
tg = a(i)
a(i) = a(j)
a(j) = tg
End If
Next j
Next i
‘in ket qua’
For i = 0 To 6
txtkq(i).Text = a(i)
Next i
End Sub
Private Sub cmdtang_Click()
Dim a(6) As Integer
Dim i As Integer
‘ nhap mang’
For i = 0 To 6
a(i) = Val(txtn(i).Text)
Next i
Dim j As Integer
Dim tg As Integer
‘doi cho’
For i = 0 To 5
For j = i + 1 To 6
If a(i) > a(j) Then
tg = a(i)
a(i) = a(j)
a(j) = tg
End If
Next j
Next i
‘in ket qua’
For i = 0 To 6
txtkq(i).Text = a(i)
Next i
End Sub
10. Viết chương trình nhập vào mảng A gồm n phần tử (n nhập từ bàn phím). Kiểm tra mảng A có đối xứng hay không?
‘khai bao bien chung cho toan bo chung trinh’
Dim a(1 To 100) As Integer
Dim i As Integer
Dim n As Integer
Dim j As Integer
Dim b As String
Public Sub cmdnhap_Click()
‘nhap mang’
n = InputBox(“nhap so phan tu cua mang vao: “, “nhap n”)
For i = 1 To n
a(i) = InputBox(“nhap phan tu A(” & Str(i) & “) vao: “, “nhap a(” & Str(i) & “)”)
Next i
‘in mang da nhap’
b = “”
For i = 1 To n
b = b & ” ” & Str(a(i))
Next i
txtnhap.Text = b
End Sub
Private Sub cmdkt_Click()
‘kiem tra tinh doi xung’
For i = 1 To n
If a(i) = a(n + 1 – i) Then
lblkq.Caption = ” mang da nhap la doi xung”
Else
lblkq.Caption = “mang da nhap la khong doi xung”
End If
Next i
End Sub
11. Viết chương trình nhập vào mảng A gồm n phần tử (n nhập vào từ bàn phím). Kiểm tra mảng là tăng hay giảm hay không tăng không giảm
Dim a(1 To 100) As Integer
Dim i As Integer
Dim n As Integer
Dim j As Integer
Private Sub cmdnhap_Click()
Dim m As String
‘nhap mang’
n = InputBox(“nhap so phan tu cua mang: “, “nhap N”)
‘nhap cac phan tu cua mang’
For i = 1 To n
a(i) = InputBox(“nhap phan tu A(” & Str(i) & “) vao:”, “nhap phan tu”)
Next i
m = “”
‘in mang’
For i = 1 To n
m = m & ” ” & Str(a(i))
Next i
txtn.Text = m
End Sub
Private Sub cmdkt_Click()
Dim kq As String
i = 1
Do
i = i + 1
Loop Until a(i) >= a(i + 1) Or i = n ‘ lap den khi nao dieu kien nay dung thi dung lai’
If i = n Then ‘ khi i = n thi vong lap dung lai, va dieu kien ten la dung => a(i)< a(i+1)’
kq = “mang da nhap la day tang”
Else
i = 1
Do While a(i) > a(i + 1) And i < n ‘lap khi dieu kien nay dung, va dung lai khi dieu kien nay sai’
i = i + 1
Loop
If i = n Then ‘khi i = n thi dieu kien tren la sai va so a(i) do la cuoi cung => a(i) > a(i + 1), tuc la day giam’
kq = “mang da nhap la giam”
Else ‘nguoc lai voi 2 truong hop tren’
kq = “mang da nhap la khong tang cung khong giam”
End If
End If
lblkq.Caption = kq
End Sub
12. : Viết chương trình nhập vào một câu không quá 50 ký tự. Đếm xem trong câu có bao nhiêu chữ “Pascal”.
Private Sub cmddem_Click()
Dim a As String
Dim n As Integer
Dim i As Integer
Dim dem As Integer
a = txtnhap.Text
n = Len(a)
If n > 50 Then MsgBox (“ban da nhap du ” & Str(n – 50) & ” ki tu, ban hay xoa bot ” & Str(n – 50) & ” ki tu hoac nhap lai”)
If Left(a, 6) = “pascal” Then
dem = 1
Else
dem = 0
End If
If Right(a, 7) = ” pascal” Then
dem = dem + 1
End If
For i = 2 To n – 6
If Mid(a, i, 8) = ” pascal ” Then
dem = dem + 1
End If
Next i
txtkq.Text = dem
End Sub
13. Viết chương trình nhập vào một câu có không quá 50 ký tự
-
- Đếm xem trong câu có bao nhiêu ký tự là số.
- Tính tổng các chữ số trong câu.
Private Sub cmddem_Click()
Dim a As String
Dim n As Integer
Dim i As Integer
Dim b As String
Dim dem As Integer
Dim t As Integer
a = txtnhap.Text
n = Len(a)
dem = 0
t = 0
For i = 1 To n
b = Mid(a, i, 1) ‘lay lan luot tung ki tu trong chuoi’
If b = “0” Then ‘so 0 la ki tu so’
dem = dem + 1
ElseIf Val(b) <> 0 Then ‘so 0 va ca ki tu khong phai so thi val(ki tu) deu bang 0’
dem = dem + 1
t = t + Val(b)
End If
Next i
‘in kq ra hop thong bao msgbox’
MsgBox (“trong cau da nhap co: ” & Str(dem) & ” ki tu so” & vbCrLf & “tong cac ki tu so trong cau la: ” & Str(t))
End Sub
14. Viết chương trình nhập vào một câu, đếm xem trong câu có bao nhiêu chữ hoa, bao nhiêu chữ thường
Private Sub cmddem_Click()
Dim a As String
Dim n As Integer
Dim i As Integer
Dim b As String
Dim hoa As Integer
Dim thuong As Integer
a = txtnhap.Text
n = Len(a)
hoa = 0
thuong = 0
For i = 1 To n
b = Mid(a, i, 1)
If b = UCase(b) And b <> ” ” Then
hoa = hoa + 1
ElseIf b <> ” ” Then
thuong = thuong + 1
End If
Next i
lblkq.Caption = “trong cau co: ” & Str(hoa) & ” ki tu la chu in hoa” & vbCrLf & “trong cau co: ” & Str(thuong) & ” ki tu thuong”
End Sub
‘su dung ham UCASE(b) de doi ki tu thuong ra ki tu hoa neu khi doi ra b va ucase(b) bang nhau thi b la ki tu in hoa nguoc lai la chu thuong’
15. Viết chương trình nhập vào một câu, tìm xem trong câu vừa nhập có chứa chuỗi “em” không, nếu có thì thay chuỗi “em” thành chuỗi “anh”. Nếu không có thì thông báo là không có.
Private Sub cmdtim_Click()
Dim a As String
Dim n As String
Dim i As Integer
Dim k As String
Dim t As Integer
a = txtnhap.Text
‘kiem tra cau da nhap co tu em hay khong’
If Left(a, 3) = “em ” Then
t = 1
Else
t = 0
End If
If Right(a, 3) = ” em” Then t = t + 1
For i = 2 To Len(a)
If Mid(a, i, 4) = ” em ” Then t = t + 1
Next i
If t = 0 Then MsgBox (“cau da nhap khong co tu EM, ban hay nhap lai”)
‘dung ham tim kiem va thay the relace(a, s1, s1) tim trong chuoi a co chuoi s1 thi thay tat ca s1 thanh s2’
n = Replace(a, “em”, “anh”)
txtkq.Text = n
End Sub
16. Viết chương trình nhập vào một câu bất kỳ, in lại câu đó với mỗi từ trên một dòng
Private Sub cmdtinh_Click()
Dim a As String
Dim n As String
a = txtnhap.Text
‘ su dung ham replace nhu bai 15’
n = Replace(a, ” “, vbCrLf)
lblkq.Caption = n
End Sub.
17. Viết chương trình nhập vào một chuỗi, đảo ngược chuỗi và xuất ra màn hình. Ví dụ nhập vào câu : “Tin Hoc”, in ra là : Hoc Tin
Private Sub cmdtinh_Click()
Dim a As String
Dim b As String
Dim i As Integer
Dim n As Integer
a = txtnhap.Text
n = Len(a)
b = “”
For i = n To 1 Step -1
If Mid(a, i, 1) = ” ” Then
b = b & ” ” & Mid(a, i + 1, n – i + 1)
n = i – 1
i = n
End If
Next i
i = 1
Do
i = i + 1
Loop Until Mid(a, i, 1) = ” “
b = b & ” ” & Left(a, i – 1)
txtkq.Text = b
End Sub.
18. Viết chương trình nhập vào mảng A nguyên 10 phần tử. Việc nhập sẽ được kiểm tra với điều kiện các phần tử của mảng phải lớn hơn 0. sau đó thực hiện các công việc sau.
- In mảng theo thứ tự ngược lại với thứ tự đã nhập.
- In ra màn hình các giá trị nguyên dương chia hết cho 2.
- Tìm và in ra các phần tử lớn nhất và nhỏ nhất của mảng.
- Tìm các số nguyên tố trong khoảng từ min tới max.
- Tính max!.
- Tìm ucln và bcnn của min và max.
Dim a(1 To 10) As Integer
Private Sub cmdnhap_Click()
Dim i As Integer
Dim n As String
For i = 1 To 10
a(i) = Val(InputBox(“nhap so thu ” & Str(i) & ” vao”, “nhap”))
Next i
For i = 1 To 10
If a(i) = 0 Then MsgBox (“ban phai nhap so khac 0”)
Next i
n = “”
For i = 1 To 10
n = n & ” ” & Str(a(i))
Next i
txtnhap.Text = n
End Sub
Private Sub cmdtinh_Click()
Dim n As String
Dim i As Integer
Dim m As String
Dim max As Integer
Dim min As Integer
Dim b(10) As Integer
Dim j As Integer
Dim tg As Integer
Dim so As String
Dim t
Dim bc As Integer
Dim uc As Integer
Dim k As Integer
Dim d As Integer
‘in mang nguoc lai’
n = “”
For i = 10 To 1 Step -1
n = n & ” ” & Str(a(i))
Next i
‘……………………’
‘tim cac so nguyen duong chia het cho 2’
m = “”
For i = 1 To 10
If a(i) > 0 And a(i) Mod 2 = 0 Then
m = m & ” ” & Str(a(i))
End If
Next i
If m = “” Then m = “khong co so nao chia het cho 2”
‘……………’
‘tim max’
max = a(1)
For i = 2 To 10
If a(i) > max Then max = a(i)
Next i
‘……………..’
‘tim min’
min = a(1)
For i = 2 To 10
If a(i) < min Then min = a(i)
Next i
‘………………..’
‘tim so nguyen to’
so = “‘”
For d = min To max
If d = 1 Then
so = so
End If
If d = 2 Then
so = so & ” ” & Str(2)
End If
If d > 2 Then
i = d
Do
i = i – 1
Loop Until d Mod i = 0
If i > 1 Then
so = so
Else
so = so & ” ” & Str(d)
End If
End If
Next d
‘………………….’
‘tinh max!’
t = 1
For i = 1 To max
t = t * i
Next i
‘…………….’
‘tim bcll va ucnn cua max va min’
i = min
uc = 1
If min = 1 Then
uc = 1
Else
Do
i = i – 1
Loop Until min Mod i = 0 And max Mod i = 0
uc = i
End If
If i = 1 Then
bc = min * max
Else
bc = min * (max / uc)
End If
‘…………………’
‘dua ket qua ra man hinh’
MsgBox (“mang nguoc voi mang da cho: ” & n & vbCrLf & “cac so nguyen chi het cho 2: ” & m & vbCrLf & “max la: ” & Str(max)) & vbCrLf & “min la: ” & Str(min) & vbCrLf & “cac so nguyen to la: ” & so & vbCrLf & “max! la: ” & Str(t) & vbCrLf & “uoc chung lon nhat la: ” & Str(uc) & vbCrLf & “boi chung nho nhat la: ” & Str(bc)
End Sub
19. Viết chương trình giải phương trình bậc 2: ax2 + bx + c =0. Với yêu cầu giao diện như sau
- Cho phép nhập trực tiếp các giá trị a, b, c
- Cho phép thay đổi giá trị a, b, c (nguyên) bằng các thanh cuộn
- In kết quả giải tương ứng với tất cả các trường hợp.
Private Sub Cmdgiai_Click()
Dim a As Long
Dim b As Long
Dim d
Dim c As Long
Dim X
Dim Y
Dim kl As String
a = Val(txta.Text)
b = Val(txtb.Text)
c = Val(txtc.Text)
‘kiem tra cac he so a,b,c
If a = 0 And b = 0 And c = 0 Then
kl = “p.tr coù voâ soá nghieäm”
ElseIf a = 0 And b = 0 And c <> 0 Then
kl = “p.tr voâ nghieäm”
ElseIf a = o And b <> 0 Then ‘neu a=0 thi ta co phuong trinh bac nhat
kl = “p.tr coù nghieäm duy nhaát”
X = -c / b
Y = ” “
d = ” “
End If
‘ neu a#0 thi ta co phuong trinh bac hai
If a <> 0 Then
d = Val(b * b – 4 * a * c) ‘tinh delta
txtd.Text = d
‘kiem tra dieu kien cua delta
If d > 0 Then
X = (-b – Sqr(d)) / (2 * a)
Y = (-b + Sqr(d)) / (2 * a)
kl = “p.tr coù hai nghieäm phaân bieât”
ElseIf d = 0 Then
X = (-b) / (2 * a)
Y = X
kl = “p.tr coù nghieäm keùp”
Else
X = ” “
Y = ” “
kl = “voâ nghieäm”
End If
End If
‘dua kq ra man hinh
txtx.Text = X
txty.Text = Y
txtkl.Text = kl
End Sub
Private Sub Cmdend_Click()
End ‘cau lenh cho nut ket thuc
End Sub
Private Sub Command1_Click()
‘cau lech cho nut nhap lai
txta.Text = 0
txtb.Text = 0
txtc.Text = 0
txtd.Text = “”
txtkl.Text = “”
txtx.Text = “”
txty.Text = “”
txta.SetFocus
End Sub
Private Sub txta_Change()
‘ kiem tra xem a co phai la so khong, neu khong phai thi thong bao loi
If Not IsNumeric(txta.Text) Then
MsgBox (“ban phai nhap vao mot so”)
txta.Text = 0
txta.SetFocus
End If
End Sub
Private Sub txtb_Change()
‘kiem tra b cho phai la so khong, neu khong phai thi thong bao loi
If Not IsNumeric(txtb.Text) Then
MsgBox (“ban phai nhap vao mot so, hay nhap lai”)
txtb.Text = 0
txtb.SetFocus
End If
End Sub
Private Sub txtc_Change()
‘kiem tra xem c co phai la so khong, neu khong phai thi thong bao loi
If Not IsNumeric(txtc.Text) Then
MsgBox (“ban phai nhap vao mot so”)
txtc.Text = 0
txtc.SetFocus
End If
End Sub
Private Sub vsla_Change()
txta.Text = vsla.Value ‘lay gia tri cho a tu thanh cuon
End Sub
Private Sub vslb_Change()
txtb.Text = vslb.Value ‘lay gia tri cho b tu thanh cuon
End Sub
Private Sub vslc_Change()
txtc.Text = vslc.Value ‘lay gia tri cho c tu thanh cuon
End Sub
20. Viết chương trình nhập vào 2 số nguyên a, b,
- Tính tổng các số trong khoảng từ a tới b.
- Tính tổng các số lẻ trong khoảng từ a tới b.
- Tính tổng các số chẵn trong khoảng từ a tới b.
Private Sub cmdtinh_Click()
Dim a As Integer
Dim b As Integer
Dim t As Integer
Dim ch As Integer
Dim le As Integer
Dim i As Integer
Dim k As Integer
Dim j As Integer
a = Val(txta.Text)
b = Val(txtb.Text)
k = a
j = b
‘kiem tra trong 2 so a va b so nao lon hon
If b < k Then
k = b
j = a
Else
k = a
j = b
End If
‘………………’
t = 0
ch = 0
le = 0
For i = k To j
t = t + i ‘tinh tong tu so nho den so lon
If i Mod 2 = 0 Then
ch = ch + i ‘neu so do chia het cho 2 thi gan tong so chan bang so chan cong them so i
Else
le = le + i ‘nguoc lai thi no la so le
End If
Next i
MsgBox (“tong cac so tu ” & Str(k) & ” den ” & Str(j) & ” la: ” & Str(t) & vbCrLf & “tong cac so chan tu ” & Str(k) & ” den ” & Str(j) & ” la: ” & Str(ch) & vbCrLf & “tong cac so le tu ” & Str(k) & ” den ” & Str(j) & ” la: ” & Str(le))
End Sub
21. Viết chương trình quản lý một công ty với yêu cầu:
- Họ tên nhân viên được nhập vào textbox Ho ten.
- Chức vụ nhân viên được chọn trong combox Chuc vu.
- Mỗi khi chức vụ nhân viên được chọn mức lương tương ứng xuất hiện ở textbox Luong.
- Khi nhấn nút Nhap, nhân viên mới được nhập vào ListBox Danh sach nhan vien.
- Xoá một nhân viên được chọn trong danh sách bằng nút, Xoa. Chọn Multiselect= 0
- Tong: tổng lương trong danh sách. Được cập nhật mỗi khi danh sách có thay đổi.
Private Sub cmbcv_Change()
End Sub
Private Sub cmdend_Click()
End
End Sub
Private Sub cmdnhap_Click()
Static t ‘su dung khai bao static cho bien t de bien t co the su dung gia tri cua no cho toikho nao ket thuc chuong trinh, keo dai thoi gian ton tai cua bien t nhieu hon so voi khai bao dim
txtluong.Text = (cmbcv.ItemData(cmbcv.ListIndex)) ‘thay doi tien luong khi lua chon chuc vu
listen.AddItem (txtten.Text) ‘them 1 ten moi vao lisbox
listen.ItemData(listen.NewIndex) = cmbcv.ItemData(cmbcv.ListIndex) ‘lay gia tri luong cho nguoi moi nhap vao
t = t + Val(listen.ItemData(listen.NewIndex)) ‘tinh tong luong bang tong luong da co cong voi luong cua nguoi moi them vao
txttong.Text = t
End Sub
Private Sub cmdxoa_Click()
‘xoa mot doi tuong trong lisbox nhan vien
txttong.Text = Val(txttong.Text) – Val(listen.ItemData(listen.ListIndex)) ‘tong luong se giam di khi bot mot nguoi ra khoi lisbox
listen.RemoveItem (listen.ListIndex) ‘xoa nhan vien ra khoi lisbox
‘chu y: 2 cau lenh tren khong the doi cho nhu: txttong.te…….. o duoi cau lenh listen……… , doi lai chung trinh se khong chay duoc
‘vi neu doi lai thi ten nhan vien do se bi mat khoi danh sach nhan vien nen khong on luu lai luong cua nhan vien do, nen khong the tinh tong lluong lai duoc….
End Sub
22. Viết chương trình phân tích một số nguyên dương nhập vào ra các thừa số nguyên tố của nó.
Private Sub cmdphantich_Click()
Dim i As Long, j As Long, n As Long, s As String, u As String
n = Val(txtnhap.Text)
u = txtnhap.Text
s = n & ” = “
j = 2
Do While n > 1
For i = j To n
If n Mod i = 0 Then
s = s & i
n = n / i
j = i
Exit For ‘den day neu n khong chia het cho i nua thi ket thuc vong lap bang lenh exit for
End If
Next i
If n > 1 Then s = s & ” x “
Loop
txtkq.Text = s
End Sub
Private Sub txtnhap_Change()
‘kiem tra nhap vao co phai la so duong hay khong
If IsNumeric(txtnhap.Text) = flase Then
MsgBox (“ban phai nhap vao so duong’ ban hay nhap lai”)
txtnhap.Text = 1
txtnhap.SetFocus
ElseIf Val(txtnhap.Text) <= 0 Then
MsgBox (“ban phai nhap va so duong”)
txtnhap.Text = 1
End If
End Sub
23. Viết chương trình đổi một số nguyên dương nhập vào ở hệ thập phân sang nhị phân
‘ cach chuyen la: lay so can chuyen chia cho 2 lay phan nguyen , sau do lay tiep phan nguyen do chia tiep cho 2 lai lay phan nguyen,
‘den khi nao so do bang 1 hoac bang 0 thi dung lai
‘ket qua nhi phan la tap hop tat ca cac so du khi chia 2 va duoc sap xep nguoc lai
‘ vi du: so 30
‘ 30 \ 2 = 15 du 0
’15 \ 2 = 7 du 1
‘7 \ 2 = 3 du 1
‘3 \ 2 = 1 du 1
‘1 \ 2 = 0, du 1. dung lai
‘ket qua so nhi phan cua 30 la : 11110
Private Sub cmdtinh_Click()
Dim a As Integer
Dim kq As String
Dim t As String
a = Val(txtnhap.Text)
t = “”
Do
t = t & Str(a Mod 2)
a = a \ 2
Loop Until a = 0
kq = “”
‘dao nguoc tap hop cac so du
For i = Len(t) To 1 Step -1
kq = kq & Mid(t, i, 1)
Next i
txtkq.Text = kq
End Sub
Private Sub txtnhap_Change()
End Sub
24 Viết chương trình đổi một số nguyên dương nhập vào ở hệ thập phân sang hệ bát phân.
Private Sub cmdtinh_Click()
Dim a As Integer
Dim t As String
Dim kq As String
Dim i As Integer
a = Val(txtnhap.Text)
t = “”
Do
t = t & Str(a Mod 8)
a = a \ 8
Loop Until a = 0
kq = “”
For i = Len(t) To 1 Step -1
kq = kq & Mid(t, i, 1)
Next i
txtkq.Text = kq
End Sub
Private Sub Form_Load()
End Sub
25. Viết chương trình đổi một số nguyên dương nhập vào ở hệ thập phân sang hệ thập lục phân.
Private Sub cmdtinh_Click()
Dim a As Integer
Dim t As String
Dim i As Integer
Dim kq As String
Dim k As String
Dim j As Integer
a = Val(txtnhap.Text)
t = “”
Do
i = a Mod 16
Select Case i
Case 0 To 9
k = i
Case 10
k = “a”
Case 11
k = “b”
Case 12
k = “c”
Case 13
k = “d”
Case 14
k = “e”
Case 15
k = “f”
End Select
t = t & k
a = a \ 16
Loop Until a = 0
kq = “”
For j = Len(t) To 1 Step -1
kq = kq & UCase(Mid(t, j, 1))
Next j
txtkq.Text = kq
End Sub
Private Sub Form_Load()
End Sub
26. Viết chương trình đổi một số nhị phân cho trước (nhập vào) sang hệ thập phân
Private Sub cmdtinh_Click()
Dim a As String
Dim t As Integer
Dim i As Integer
a = txtnhap.Text
t = 0
For i = 1 To Len(a)
t = t * 2 + Val(Mid(a, i, 1))
Next i
txtkq.Text = t
End Sub
Private Sub txtnhap_Change()
End Sub.
27. Viết chương trình đổi một số bát phân cho trước (nhập vào) sang hệ thập phân
Private Sub cmdtinh_Click()
Dim a As String
Dim i As Integer
Dim kq As Integer
a = txtnhap.Text
kq = 0
For i = 1 To Len(a)
kq = kq * 8 + Val(Mid(a, i, 1))
Next i
txtkq.Text = kq
End Sub
Private Sub txtkq_Change()
End Sub