
BÀI THỰC HÀNH SỐ 1
Viết chương trình nhập vào 3 giá trị dương a, b, c. Kiểm tra xem chúng có thể tạo thành
ba cạnh của một tam giác hay không, nếu đúng thì đó là tam giác vuông, cân, đều hay tam
giác thường và cho biết chu vi và diện tích của hình tam giác đó.
Hướng dẫn
Diện tích tam giác được tính: ))()(( cpbpappS −−−= với
2
cba
p
+
+
=
Giao diện chương trình:
- Các đối tượng TextBox có thuộc tính Name là: Text1 -> Text7 (thứ tự từ trên xuống)
- Các đối tượng CommandButton (nút lệnh) có Name từ: Command1 -> Command3
Mã lệnh tham khảo
Dim a As Byte, b As Byte, c As Byte ‘ Các biến chứa ba cạnh tam giác
Dim S As Single, P As Single ‘ Chứa diện tích và chu vi của tam giác
‘ Sự kiện Click của nút Command2 (nút Tiep tuc)
Private Sub Command2_Click()
Text1.Text = "" ‘ Xóa rỗng các đối t ượng TextBox
Text2.Text = "" : Text3.Text = ""
Text4.Text = "" : Text5.Text = ""
Text6.Text = "" : Text7.Text = ""
End Sub
‘Sự kiện Click của nút Command3 (nút Ket thuc)
Private Sub Command3_Click()
Unload Me
End Sub
‘Sự kiện Click của nút Command1 (nút Kiem tra)
Private Sub Command1_Click()
a = Val(Text1.Text) ‘ Cho biến a nhận giá trị t ừ Text1
b = Val(Text2.Text) ‘ Cho biến b nhận giá t rị t ừ Text2
c = Val(Text3.Text) ‘ Cho biến c nhận giá trị t ừ Text3
If (a + b > c) And (a + c > b) And (b + c > a) Then
' Kiểm tra loại tam giác - Chỉ khi a, b, c là ba cạnh của tam giác
Text4.Text = "DIEU NAY DUNG"
If (a = b) And (b = c) Then
Text5.Text = "TAM GIAC DEU"
ElseIf (a = b) Or (a = c) Or (b = c) Then
Text5.Text = "TAM GIAC CAN"
ElseIf (a*a + b*b = c^2) Or (b*b + c*c = a^2) Or (a*a + c*c = b^2) Then
Đúng / Sai
Cân/Vuông/Ðều/Thường

Text5.Text = "TAM GIAC VUONG"
Else
Text5.Text = "TAM GIAC THUONG"
End If
P = (a + b + c) / 2 ‘ Tính chu vi của tam giác
’ Đối t ượng Text6 chứa chu vi tam giác
Text6.Text = St r ( 2 * P)
‘ Tính diện tích tam giác
S = Sqr ( P * (P - a) * (P - b) * (P - c))
‘ Đối t ượng text7 chứa diện tích tam giác
Text7.Text = St r ( S)
Else
Text4.Text = "DIEU NAY SAI "
End If
End Sub
Các bài tập khác
1. Giải phương trình bậc hai ax2 + bx + c = 0 (a ≠ 0)
2. Giải hệ phương trình bậc nhất
=+
=+
222
111
cybxa
cybxa
Hướng dẫn:
D=
22
11
ba
ba
Dx=22
11
cb
cb ; Dy=22
11
ac
ac
- D≠0: Có nghiệm x=Dx/D và
y=Dy/D
- D=0:
o Nếu Dx=0 và Dy=0: Vô số
nghiệm
o Nếu Dx≠0 hoặc Dy≠0: Vô
nghiệm

BÀI THỰC HÀNH SỐ 2
Viết chương trình mô phỏng một máy tính bỏ túi dạng đơn giản, có thể thực hiện được
các phép toán +, -, *, / và các hàm Sin(x), Cos(x), Tan(x), Cotang(x), n!,....
Thiết kế giao diện
Mã lệnh tham khảo
Dim s1 As Double, s2 As Double, kq As Double ‘ Số t hứ nhất, thứ hai và kết quả
Dim Pheptoan As Byte
‘ Sự kiện Click mảng đối tượng Command2 (0, 1, 2,…,9 và .)
Private Sub Command2_Click(Index As I nteger)
Text1.Text = Text1.Text & Command2(Index).Caption
End Sub
‘ Sự kiện Click mảng đối tượng Command1 (Sin, Cos, Tan,…)
Private Sub Command1_Click(Index As I nteger)
Dim a As Double, ra As Double
a = Val(Text1.Text) ‘ Nhận giá t rị của a t ừ đối tượng Text1
ra = ToRadian(a) ‘ Gọi CTC đổi a sang đơn vị Radian
Select Case Index
Case 0: Text1.Text = Sin(ra) ‘ Gọi hàm tính Sin
Case 1: Text1.Text = Cos( ra) ‘ Gọi hàm tính Cos
Case 2: Text1.Text = Tan( r a) ‘ Gọi hàm tính Tan
Case 3: Text1.Text = 1/Tan( ra) ‘ Gọi hàm tính Cotang
Case 4: Text1.Text = Sqr(a) ‘ Gọi hàm tính căn bậc hai
Case 5: Text1.Text = Giaithua(CByte(a) ) ‘ Gọi CTC tính N! (định nghĩa ở d ưới)
Case 6: Text1.Text = Log(a) / Log(10) ‘ Tính Lôgarít cơ số 10 (t hập phân)
Case 7: Text1.Text = Exp(a) ‘ Gọi hàm tính Exp(x) _ tính e mũ x
End Select
End Sub
‘ Sự kiện Click đối tượng Command3 (=)
Private Sub Command3_Click()
s2 = Val(Text1.Text) ‘ Lưu số thứ 2 vào biến s2
Select Case Phept oan
Case 0: kq = s1 + s2
Case 1: kq = s1 - s2
Case 2: kq = s1 * s2
Case 3: kq = s1 / s2
End Select
Các đối tượng trên FORM bao gồm:
˜ Ðối tượng độc lập: Text1
˜ Mảng đối tượng Command1
Bao gồm: Sin, Cos, Tan, Ctan, Sqr, n!, Log, Exp với
chỉ số Index tương ứng chạy từ 0 → 7
˜ Mảng đối tượng Command2
Bao gồm: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 và . với chỉ số Index
tương ứng chạy từ 0 → 11
˜ Ðối tượng độc lập Command3: nút =
˜ Mảng đối tượng Command4
Bao gồm: các nút +, -, , / có chỉ số Index tương ứng
chạy từ 0 → 3.
˜ Ðối tượng độc lập Command5: Exit
˜
Đ
ối t
ư
ợng
đ
ộc lập
Command6
: Clear

Text1.Text = kq ‘ Hiển t hị kết quả
End Sub
‘ Sự kiện Click mảng đối tượng Command4 (=)
Private Sub Command4_Click(Index As I nteger)
Pheptoan = Index ‘ Lưu phép toán
s1 = Val(Text1.Text) ‘ Lưu số thứ nhất vào biến s1
Text1.Text = "" ‘ Xoá nội dung màn hình
End Sub
‘ Sự kiện Click đối tượng Command5 (Exit)
Private Sub Command5_Click()
Unload Me
End Sub
‘ Sự kiện Click đối tượng Command6 (Clear)
Private Sub Command6_Click()
Text1.Text = ""
End Sub
‘ Ðịnh nghĩa hàm đổi từ Ðộ → Radian
Private Function ToRadian(a As Double) As Double
Dim kq As Double
kq = (3.141592654 / 180) * a
ToRadian = kq ‘ Gán kết quả lại cho tên hàm
End Function
‘ Ðịnh nghĩa hàm tính N!
Private Function Giaithua(N As Byte) As Long
Dim i As Byte, Dim kq As Long
kq = 1
For i = 1 To N
kq = kq * i
Next i
Giaithua = kq ‘ Gán kết quả lại cho tên hàm
End Function
Các bài tập khác
Viết chương trình hiện lên màn hình 8 bảng cửu chương từ 2 đến 9.
Hướng dẫn:

BÀI THỰC HÀNH SỐ 3
Viết chương trình cho phép xem ảnh và quản lý File dạng đơn giản.
Giao diện
Mã lệnh thao khảo
Option Explicit
‘ Sự kiện khi Click vào đối tượng File1 để chọn ảnh cần xem:
Private Sub File1_Click()
Dim fName As String, s As String
Dim pos As Integer
fName = File1.FileName ‘ Lấy tên của File ảnh
Text1.Text = File1.FileName ‘ Hiện tên của File ảnh vào Text1
pos = Val(InStr ( 1, fName, ".")) ‘ Tìm vị trí của dấu chấn trong tên
s = LCase(Mid(fName, pos) ) ‘ Chuyển t ừ chữ t hường sang chữ hoa
If s = ".gif" Or s = " .jpg" Or s = ".bmp" Then
Pict ure2.Pict ure = LoadPict ure(File1.Pat h & " \" & File1.FileName)
End If
Pict ure2.Move 0, 0 ‘ Di chuyển Picture2 đến góc trái trên
' Thanh cuộn ngang
If Picture2.Width <= Picture1.Widt h Then
HScroll1.Visible = False ' Ẩn thanh cuộn ngang
Else
HScroll1.Visible = True ' Hiển t hị thanh cuộn ngang
HScroll1.Max = Pict ure2.Width - Picture1.Width
End If
' Thanh cuộn dọc
If Picture2.Height < = Pict ure1.Height Then
VScroll1.Visible = False ' Ẩn t hanh cuộn dọc
Else
VScroll1.Visible = True ' Hiển t hị t hanh cuộn dọc
VScroll1.Max = Picture2.Height - Picture1.Height
End If
End Sub
‘ Sự kiện Click của Check1, 2, 3, 4
Private Sub Check1_Click()