ðề 2 & 10:Lấy dữ liệu cổng com.Vẽ ñồ thịGiao diện Chương trình: Private Sub cmdrun_Click Timer1.Enabled = True End Sub Private Sub cmdStop_Click Timer1.Enabled = False End Sub Private Su
Trang 1ðề 1 và 7:Tính lãi suất…
Giao diện:
Chương trình:
Private Sub cmdXacDinh_Click()
Dim SoTienCo As Single, LaiSuat As Single, SoTienCan As Single, SoNamCanGui As Single
SoTienCo = Text1
SoTienCan = Text2
LaiSuat = Text3
If SoTienCo >= SoTienCan Then
Text4 = "aaaa"
Else
Do
SoTienCo = SoTienCo * (1 + LaiSuat / 100)
SoNamCanGui = SoNamCanGui + 1
Loop While SoTienCo <= SoTienCan
Text4 = SoNamCanGui
Text5 = SoTienCo
End If
End Sub
Trang 2ðề 2 & 10:Lấy dữ liệu cổng com.Vẽ ñồ thị
Giao diện
Chương trình:
Private Sub cmdrun_Click()
Timer1.Enabled = True
End Sub
Private Sub cmdStop_Click()
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub
Private Sub Timer1_Timer()
Static x(), t(), i
ReDim Preserve x(i) ' khai bao lai mang
ReDim Preserve t(i) ' khai bao lai thoi gian
If i = 0 Then Picture1.PSet (Picture1.Height, 0) ' khoi tao diem dau con tro
x(i) = MSComm1.Input ' doc gia tri vao tu cong com1
Picture1.Line -(Picture1.Height - x(i) * 100, t(i) * 100) ' ve do thi
Trang 3End Sub
ðề3:Vẽ y=(ax2 +b)x.ðưa ra màn hình ñồ thị &ñiểm cực tiểu
Giao diện:Form1
Viết chương trình trong Form2:
Private Sub Form_GotFocus()
Dim x As Single, y As Double, GTCT As Double, GTCD As Double, y1 As Double
Dim i As Integer, a As Single, b As Single
'Form2.BackColor = vbWhite
a = Form1.Text1
b = Form1.Text2
've he truc toa do
Form2.Line (0, Form2.Height / 2)-(Form2.Width, Form2.Height / 2) Form2.Line (Form2.Width / 2, 0)-(Form2.Width / 2, Form2.Height) 'khac so
For i = -3 To 3
CurrentX = (i + 3) * Form2.Width / 6
CurrentY = Form2.Height / 2 + 6
Print i
Next
For i = -30 To 30 Step 2
CurrentX = Form2.Width / 2 - 6
CurrentY = (i + 30) * Form2.Height / 60
Print i
Next
Trang 4' ve do thi trong khoang -3 den 3 doi voi gia tri cua x va -30 den 30 doi voi gia tri cau y
i = 0
For i = 0 To 500
x = -3 + i * 6 / 500
y = a * x ^ 3 + b * x
Form2.Line -((x + 3) * Form2.Width / 6, Form2.Height - (y + 30) * Form2.Height / 60)
Next
'tinh cuc tri
' y' = 3a*x^2 + b
If a * b > 0 Or a = 0 Then
Form1.Text3 = "k0 ton tai"
Form1.Text4 = "k0 ton tai"
Else
x = b / (3 * a)
GTCT = a * x ^ 3 + b * x
x = -b / (3 * a)
GTCD = a * x ^ 3 + b * x
If GTCT > GTCD Then
y1 = GTCT
GTCT = GTCD
GTCD = y1
End If
Form1.Text3 = GTCT
Form1.Text4 = GTCD
End If
Trang 5ðề 4:Nhân ma trận
Giao diện:
Private Sub cmdcong_Click()
Dim i, j, mang1(4, 4) As Single, mang2(4, 4) As Single, mang3(4, 4) As Single
' nhap so lieu vao mang
For i = 0 To 3
For j = 0 To 3
mang1(i, j) = Text1(i * 4 + j)
mang2(i, j) = Text2(i * 4 + j)
Next
Next
' thuc hien phep cong
For i = 0 To 3
For j = 0 To 3
mang3(i, j) = mang1(i, j) + mang2(i, j)
Trang 6Next
'dua ket qua ra man hinh
For i = 0 To 3
For j = 0 To 3
Text3(i * 4 + j) = mang3(i, j)
Next
Next
End Sub
Private Sub cmdnhan_Click()
Dim i, j, mang1(4, 4) As Single, mang2(4, 4) As Single, mang3(4, 4) As Single
Dim k
' nhap so lieu vao mang
For i = 0 To 3
For j = 0 To 3
mang1(i, j) = Text1(i * 4 + j)
mang2(i, j) = Text2(i * 4 + j)
Next
Next
' thuc hien phap nhan
For i = 0 To 3
For j = 0 To 3
For k = 0 To 3
mang3(i, j) = mang3(i, j) + mang1(i, k) * mang2(k, j)
Next
Next
Next
'dua ket qua ra man hinh
For i = 0 To 3
For j = 0 To 3
Text3(i * 4 + j) = mang3(i, j)
Next
Next
Trang 7ðề 5:Nhập và phát xung RTS & DTR
Dim xung_rts As Integer, xung_dtr As Integer
Private Sub cmdphat_Click()
Timer1.Interval = Round(1000 / (2 * Text3)) ' dinh thoi gian timer1 tuong ung voi tan so
Timer1.Enabled = True ' cho phep timer1 hoat dong
xung_rts = Text1
xung_dtr = Text2
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub
Trang 8Private Sub Timer1_Timer()
Static x As Boolean, y As Boolean
' phat xung ra chan RTS
If xung_rts > 0 Then
If x = False Then
MSComm1.RTSEnable = False ' RTS = 0
x = True
Else
MSComm1.RTSEnable = True ' RTS = 1
x = False
xung_rts = xung_rts - 1
Text4 = xung_rts
End If
End If
' phat xung ra chan DTR
If xung_dtr > 0 Then
If y = False Then
MSComm1.DTREnable = False ' DTR = 0
y = True
Else
MSComm1.DTREnable = True ' DTR = 1
y = False
xung_dtr = xung_dtr - 1
Text5 = xung_dtr
End If
End If
' dung timer1 khi da phat het xung
If (xung_rts = 0) And (xung_dtr = 0) Then Timer1.Enabled = False ' dung timer1
MsgBox "da phat xong" ' bao da phat xong End If
Trang 9ðề 6:Viết chương trình ñèn giao thông
Private Sub cmdrun_Click()
Timer1.Enabled = True
End Sub
Private Sub cmdstop_Click()
Timer1.Enabled = False
' tat cac den
For j = 0 To 11
Label1(j).BackColor = vbBlack Next
End Sub
Trang 10Private Sub Form_Load()
Dim i
For i = 0 To 11
Label1(i).BackColor = vbBlack
Next i
End Sub
Private Sub Timer1_Timer()
Dim x As Integer, v As Integer, d As Integer
Dim j
Static t
x = Text1
v = Text2
d = x + v
' thuat giai (tinh theo 1 chu ky thoi gian)
' x -v -d - duong 1
' d -x -v - duong 2
For j = 0 To 11
Label1(j).BackColor = vbBlack
Next
' chon cho duong 1
Select Case t
Case Is <= x: Label1(0).BackColor = vbGreen ' xanh
Label1(6).BackColor = vbGreen Case Is <= x + v: Label1(1).BackColor = vbYellow ' vang
Label1(7).BackColor = vbYellow Case Is <= 2 * (x + v): Label1(2).BackColor = vbRed ' do
Label1(8).BackColor = vbRed End Select
'chon cho duong 2
Select Case t
Case Is <= d: Label1(5).BackColor = vbRed ' do
Label1(11).BackColor = vbRed Case Is <= d + x: Label1(3).BackColor = vbGreen ' xanh
Label1(9).BackColor = vbGreen Case Is <= 2 * (x + v): Label1(4).BackColor = vbYellow ' vang
Label1(10).BackColor = vbYellow
Trang 11t = t + 1
If t > 2 * d Then t = 0
'##### doan nay dung de tao ra "dong ho" => k0 can phai them vao
Label3 = Time
'##################################3
End Sub
ðề 8:Vẽ ñồ thị y=ax(bx+c)
Private Sub Form_GotFocus()
Dim x As Single, y As Double, GTCT As Double, GTCD As Double, y1 As Double
Dim i As Integer, a As Single, b As Single
'Form2.BackColor = vbWhite
a = Form1.Text1
b = Form1.Text2
've he truc toa do
Form2.Line (0, Form2.Height / 2)-(Form2.Width, Form2.Height / 2) Form2.Line (Form2.Width / 2, 0)-(Form2.Width / 2, Form2.Height) 'khac so
For i = -3 To 3
CurrentX = (i + 3) * Form2.Width / 6
CurrentY = Form2.Height / 2 + 6
Print i
Next
For i = -30 To 30 Step 2
Trang 12CurrentX = Form2.Width / 2 - 6
CurrentY = (i + 30) * Form2.Height / 60
Print i
Next
' ve do thi trong khoang -3 den 3 doi voi gia tri cua x va -30 den 30 doi voi gia tri cau y
i = 0
For i = 0 To 500
x = -3 + i * 6 / 500
y = a * b * x ^ 2 + a * x
Form2.Line -((x + 3) * Form2.Width / 6, Form2.Height - (y + 30) * Form2.Height / 60)
Next
'tinh cuc tri
' y' = 2abx + a
If a * b = 0 Then
Form1.Text3 = "k0 ton tai"
Else
x = -1 / (2 * b)
y = a * b * x ^ 2 + a * x
Form1.Text3 = y
End If
End Sub