63 PictureBox Name
Picture C:\Program Files \ Microsoft Picture1 Visual Studio \ Common \ Graphic \ Bitmaps \ Asorted \ Hand.bmp
64 PictureBox Name
Picture Picture2 C:\Program Files \ Microsoft Visual Studio \ Common \ Graphic \ Bitmaps \ Asorted \ Hand.bmp
6s PictureBox Name
Picture C:\Program Files \ Microsoit Picture3 Visual Studio \ Common \ Graphic \ Bitmaps \ Asorted \ Hand.bmp
66 PictureBox Name
Picture C:\Program Files \ Microsoft Picture4 Visual Studio \ Common \ Graphic \ Bitmaps \ Asorted \ Hand.bmp
67 PictureBox Name ,
Picture Picture5 C:\Program Files \ Microsoft Visual Studio \ Common \ Graphic \ Bitmaps \ Asorted \ Hand.bmp
68 PictureBox Name
Picture Picture6
C:NProgram Files \ Microsoft Visual Studio \ Common \ Graphic \ Bitmaps \ Ascrted
\ Hand.bmp
Trang 2
Bude 1
THIET KE FORM CHO CHUONG TRINH
+ Trong bài này, các ban thấy có thêm một loại điều kiểm mới, đó là điều kiểm PictureBox Điều kiểm này sẽ chứa một hình ảnh nào đó Trong hình trên, các bạn thấy chúng tôi dùng 2 hình đó là hình cái chuông và hình bàn tay, 2 hình này chúng tôi lấy trong thư mục sau :
C:\Program Files \ Microsoft Visual Studio \Common \ Graphic \Bitmaps \ Asorted
+ Trong loại điều kiểm nay, bạn vào thuộc tính Picture của điều kiểm
PictureBox dé chen tap tin Bell.bmp cho câu 1 và Hand cho câu 2
+ Giả sử các bạn đã thiết kế xong Bước 2 VIET CODE CHO CHƯƠNG TRÌNH Option Expticit
1) Viết lệnh cho điều kiém CmdKetquat
Trang 3n=n+2 End lf ff Txttc = "3" Then n=n+2 End lf
lf Oxtif = "5" And Txtid = "2" And Txtle = "3") Or (Txtlf = "5"
And Txt? d = "3" And Txtle = "2") Then n=n+2 End ff lí Txt†h = "2" And Txt1g = "5" Then n=n+2 End lí TxtKetqua1 = n & " điểm, sai " & (¡- n)/2 & "bài" End Sub
+ Trong thủ tục trên, khai báo biến ¡ và n là biến nguyên Gán biến ¡ = 10 để phát hiện số câu sai với biểu thức (¡ - n)/2
(vì mỗi câu đúng sẽ được 2 diểm, nên có chia cho 2)
+ Điều kiện của IF với bài 3 của câu 1 phải đúng đồng thời với 3
TextBox nên các bạn thấy chúng tôi dùng phép toán AND Đồng thời các bạn lại thấy Txt†d v Txt1e có thể đúng với 2 trường hợp, nếu bạn nhập cho TxtTe = 2 và Txt1d = 3 hoặc ngược lai Txtle = 3 va Txtid =
2 thì đều đúng Do đó chúng ta dùng phép toán OR 2) Viết lệnh cho điều kiểm CmdKetqua2
Private Sub CmdKetqua2 _Click0 Dim n As integer
Dim i As Integer i=10
Trang 4lý Txt2a = "5" Then n=n+2 End lí tí Txt2b = "6" Then n=n+2 End lí If Txt2c = "1" Then n=n+2 End lí If Txt2d = "6" And Txt2e = "5" Then n=n+2 End lí If (Txt2h = "6" And Txt2f = "5° And Txt2g = "1") Or (Txt2h = "6" And Txt2f = "t" And Txt2g = "5") Then n=n+2 End If TxtKetqua2 = n & " điểm, sai " & (ï - n)/2 & " bài" End Sub
+ Thủ tục này cũng giải thích tương tự như thủ tục vừa rồi
3) Viết lệnh cho điều kiểm CmdKetqua3
Trang 5Bue 1
THIET KE FORM CUA CHUONG TRINH
Giả sử các bạn đã thiết kế và xác lập xong các thuộc tính cho tất cả các diều kiểm Bude 2 VIET CODE CHO CHUONG TRINH Option Explicit
1) Viết Code cho điều kiểm có thuộc tính Name là CmdKetqua Private Sub CmdKetqua_ Click0 Dim P As Single Dim a As Single Dim b As Single Dim c As Single a = Val{Txta Text) b = Val(Txtb Text) c = Val(Txtc.TexÐ p=atb+c
lfa+b>c Andc+b>a And a+ c>b And Absla - b) < c And-Abs(a - c) < b And Abs(c - b) < a And (a > 0) And (b > 0) And (c > 0) Then
“_IF và biểu thức diều kiện trong cửa sổ Code
Trang 6ˆ chúng tôi viết trên một dòng
TxtKetqua = " Thỏa điều kiện " Txtev = P TxtDT = SqriP *(P- a} * (P - bị * (P - c)) Else TxtKeiqua = “ Không thỏa điều kién |” End If End Sub + Trong thủ tục trên, đầu tiên là khai báo các biến p, a, b và c có kiểu là Single + Kế đến là gan các giá trị của các TextBox cho các biến có tên tưởng ứng
+ Gián cho chủ vi P=a+b+c
+ Kế đến là kiểm tra điều kiện IE (Kiểm tra độ đài 3 cạnh của tam giác có thỏa mãn định lý 1 và định lý 2 hay không)
+ Néu dling thi sé báo là thỏa điều kiện, đồng thời tính chụ vi va
diện tích của tam giác, thông báo ở các TextBox tương ứng Trái lại
nếu không thỏa thì bao ra TextBox Ia không thỏa điều kiện
+ Cách dùng phép AND để mô tả điều kiện về sự tổn tại 3 canh của một tam giác (a, b, c) phải đồng thời thỏa man 9 điều kiện Sự
đồng thời đó chính là do phép AND thực hiện,
2) Viết Code cho điều kiểm CmdThoat
Private Sub CmdThoat_ClickQ End
End Sub
Trang 73) Viết Code cho điều kiểm CmdXoa
Private Sub CmdXoa_Click() Txtas"" Txtb="" Txte ="" TxiKetqua =" “ Txtev = TxtDT =" End Sub Bước 3 CHAY THU CHUONG TRÌNH + Bạn nhấn phím F5 để chạy thử chương trình + Bạn thử nhập ở Txta là 5, Txtb là 10, Txtc là 12 + Bạn thấy : 10-5 <12 < 1045 12-5 < 10 < 12+5 12-10< 5< 10+12 + Các bất đẳng thức này đúng, nghĩa là các cạnh nhập vào thỏa các định lý 1 và định lý 2
+ Do dé ban sẽ có kết quả của chu vi và diện tích của tam giác thể hiện trong form khi bạn Click vào nút Command có tên “ Kiểm tra DK và xem kết quả “ như hình sau :
Trang 8IIxiðil°yN-TIZIEI Bạn nhập độ dài 3 cạnh của tam giác và kiểm tra cổ hợp lệ hay không Mời bạn nhập vào cạnh ä ` Mời bạn nhập vào cạnh b Mời bạn nhập vào cạnh € `
L Kiểm tra ĐK và xem kết quả |
Kết quả kiểm tra [Thoả đều kiện - ————
Chu vitamgiác P7
Diện tích tam giác B89,191469587914 ——”————
Xoá nội dung trong cdc TextBox Thoát khỏi Form
sStat| Ì @ €) 03 ] || ty Proectt -o | By Micioson w #i®:Psnt |[lyKiemua Sem Hình 7b Form kết quả khi bạn nhập 3 cạnh có độ đài là 5, 10 và 12
+ Bây giờ bạn Click vào nút để xóa thông tin trong cdc TextBox, sau đó bạn nhập vào độ dài của 3 cạnh như sau :
+ Txta là 1, txtb là 2 và Txtc là 3,3
+ Ta thấy 1 + 2 < 3,3 Điều kiện trong lí không thỏa (Định lý 1)
+ Vậy là chắc chắn khi bạn Click vào nút xem kết quả thì ở hộp
TextBox kết quả sẽ thông báo là “ Không thỏa điều kiện” còn ở 2 hộp
TextBox Chu vi và Diện tích sẽ trống trơn (Nếu như viết Code đúng)
Chúng ta sẽ có Form như sau :
Trang 9| 22 18 ET Bạn nhập độ dài 3 cạnh của tam giác va kiểm tra có hợp lệ hay không , ồ Mời bạn nhập vào cạnh a Mời bạn nhập vào cạnh b Mời bạn nhập vào cạnh c
Kết quả kiểm tra [Khôngthoảđiều kiện! — `
Chu vi tam giác
Diện tích tam giác [Sisson oily ants
Xoá nội dung trong các TextBox
Thoát khỏi Form
Rsun| | @ 8: 01 9 | noel M NVMeeotw.|43-Pad |[Kemua LỆ 917PM Hình 7c Form khi bạn nhập độ dài 3 cạnh của tam giác là 1, 2 và 3,3
+ Bạn thử nhập một số trường hợp để xem chương, trình thực hiện
như thế nào Chắc chắn các bạn sẽ thấy thông tin thể hiện sẽ chính
xác với khi bạn tính thực tế ở ngoài
Trang 10
TÍNH CĂN BẬC 2
_ YÊU CẦU CỦA ĐẦU BÀI
+ Bạn nhập vào một số thực để tính căn bậc 2, một thông báo lỗi được đưa ra nếu bạn nhập vào một trị âm, ngược lại sẽ báo ra căn bậc hai của số thực vừa nhập
+ Từ yêu cầu trên, chúng tôi thiết kế một Form như sau :
1 Transpare
Ns Sona Sort]
|N an objects te bar or below an [Returne/sets the toxt deplayed
Pstat| | BS; D [A Project icrosolt v_ BY Microsott Word - Cuan3 doc Hình 8a Form của chương trình J4 sam
Trong Form trên, bạn thấy có các điều kiểm sau :
1 Label dé lam tiéu dé hướng dẫn người sử dụng nhập vào một số thực bất kỳ
Trang 112 TextBox, một dùng để nhận giá trị của số thực, một dùng,
để thông báo kết quả
2 Command button, một dùng để thoát khỏi Form, một dùng
để xem kết quả
Form có tiêu để “TINH CAN BÁC 2 CỦA MỚOT SỐ THỤC ”
BANG CAC THUOC TINH CUA CÁC ĐIỀU KIEM
TT [ Đốitượng | Các thuộc tính Giá trị — |
1 |Fomm Name FrmCanbac2
BackColor Mẫu xanh
Caption TINH CAN BAC 2 CUA MOT SO THUC
WindowState 2~ Maximized
2 | Label Name tblTieude
BackColor Màu cam
Caption Bạn nhập một số thực để
tinh can bac 2 Font Name VNI - Aptima
Font Size 12
Font Style Bald
3 | TextBox Name TxtSathuc
BackColor Mau héng
Font Name MS Sans Serif
Font Size 18
Font Style Bold
Text (Xoa chi Text)
4 | TextBox Name TxtKetqua
BackColor Mau trang
Font Name VNI - Aptima
Font Size 12
Font Style Bold
Text (Xda chit Text)
Trang 12
3| Command Name CmdKetqua
Button Caption Xem két qua
Font Name VNI - Aptima
Font Size 12
Font Style Bold
6 | Command Name CmdThoat
Button Caption Thoát khỏi Form
Font Name VNI ~ Aptima
Font Size 12
Font Style Boid
Bước 1
THIẾT KẾ FORM CỦA CHƯƠNG TRÌNH
Giả sử các bạn đã thiết kế và xác lập xong các thuộc tính của tất cả các điều kiểm Đước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit
1) Viết Code cho điều kiểm CmdKetqua
Trang 13End lí End Sub
2) Viết Code cho điều kiểm CmdThoat
Private Sub CmdThoat_Click0 End End Sub Bước 3 CHẠY THỬ CHƯƠNG TRÌNH
+ Giả sử bạn nhập vào TextBox nhập số 16, sau đó bạn Click vào nút Xem kết quả, bạn sẽ thấy có hình như sau : /Ø|Sg-is[xI z alee Edt Yew Project Format Debug Run Query Ojagram Tools Add-ins Window Help 18h] 2230 TS TINH CAN BAC 2 CUA MOT SO THUC OTs] Ed cM [= By Project (Project) —” (EmCarbasc2) T1 FmCarbsc2 fein bie 2 cia 16 = 4 ‹ » Le vỊ
Piston] SAY Arce] wyMcomw | gite-ron JJSTNHCA Ả 3IPM Hình 8b Form khi nhập số 16 và Click vào nút Xem kết quả
Trang 14+ Bây giờ bạn thử nhập vào một số âm, ví dụ bạn nhập vào số ~ 25 sau đó bạn Click chuột vào nút Command button Xem kết quả, bạn sẽ thay thong bao trong hop TextBox có tên TxtKetqua kết quả câu “Số âm không tính được căn bậc 2“ Form được thể hiện như hình bên dưới
+ Bạn có thể tự mình thử thêm một số trường hợp nữa, để xem có kết quả ra sao IETE-.LTTHEE:T Normal .08Hi@Z : ›:®ơio- &# Đo (le gà Yew Inet Famat Iodk Tale Wow te + VNI-Apta Eo [3&8 : ~lzl x| IST] *19°-]H 7U EEXEESÌ |* „8% EgiTrvTrrgrrryrnigrnnmi | i Bạn nhập một số thực để tinh căn bậc hai 2811 *:0l ##Œ [-⁄Z-A- + suman] | du bạn nhập vào pmmand button Xem Ốp TextBox c6 tén Thđưc cần bác 2 - Ƒ trường hợp nửa, để #] p[S] z| «|
Dan BG | Macca \ NOOR A oes
[Poe id Sel afi (QF NI NT
stort] | B 6: 2) 3 |) ty Prec -Miiooot.| py Mirosot Wor-c |[E TINH CAN BAL fe 712M
Hinh 8c Form khi nhập vào - 25
Trang 15
.“ s v2
SO CHAN, SO LE
YÊU CẦU CUA DAU BAI
Dựa vào 2 số ở hai TextBox mà bạn xác định được bằng cách di chuyển con chạy trong HscroliBar
Ở TextBox 1 là số thứ nhất
Ở TextBox 2 là số thứ hai
+ Bạn sẽ tính được có bao nhiêu số lẻ nằm trong khoảng từ số thứ nhất đến số thứ hai và cho biết các số lê đó là những số lễ nào theo thứ tự từ nhỏ đến lớn
+ Bạn sẽ tính được tổng giá trị của các số lẻ nằm trong khoảng đó + Bạn sẽ tính được có bao nhiêu số chấn nằm trong khoảng từ số thứ nhất đến số thứ hai và cho biết các số chẵn đó là những số chẵn nào theo thứ tự từ nhỏ đến lớn + Bạn sẽ tính được tổng giá trị của các số chẩn nằm trong khoảng từ số thứ nhất đến số thứ hai + Bạn sẽ tính được tổng giá trị của tất cả các số từ số thứ nhất đến số thứ hai
Từ những yêu cầu ở trên, chúng tôi thiết kế một Form gồm các điều kiểm như sau :
Trang 16Tổng giá trị các sổ lẻ từ Hsr1 đến Hsr2
Tổng giá írÌ các số chẵn từ Hsr1 đến flsr2
| Thoát khỏi Farm | Tổng các số chẵn và lẽ từ Hsr1 đến Hsr2
Rsun| | Œ 8; 2) | tạPeeel:MeostVwal [ty TINH TOAN SO GHA Kế mem
Hinh 9a Form chương trình số chẩn, số lẻ
Nhìn vào Form trên, bạn thấy có các điều kiểm như sau :
"2 HscrollBar để bạn chọn giá trị
* 4 TextBox , 2 TextBox ding dé chtta giá trị mà bạn chọn từ hai HscrollBar 2 Textbox còn lại dùng để thông báo kết quả
* 6 Command Button, trong dé 5 Command Button dùng để xác dịnh các yêu cầu Một dùng để thoát khỏi chương trình
* Form cé tiéu dé “ TINH TOAN SO CHAN LE “
Trang 17BẰNG CÁC THUỘC TÍNH CỦA (;ÁC ĐIỀU KIỂM [TT
Đối tượng | Các thuộc tính Giá trị
1 | Form Name FrmSoChanLe
BackColor Mau xanh dương
Caption TINH TOAN SO CHAN LE
WindowState 2-Maximized
2-1 TextBox Name TxtThongbao
BackColor Mau cam dam
Font Name VNI - Swiss - Condense
Font Size 18
Font Style Bold
MultiLine True
Text (Xóa chữ TexU
3 | TextBox Name TxtLietke
BackColor Mau xanh chuối đậm
Font Name MS ~ Sans — SeriÍ Font Size 14 Font Style Bold Multiline True Text (Xóa chữ TexU) 4 TextBox Name Txt]
| BackColor Mau vang
Fant Name MS — Sans Serif
Font Size 14
Font Style Bold
Text (Xóa chữ Text)
5 | TextBox Name Txt2
BackColor Mẫu xanh nhạt
Font Name MS - Sans ~ Serif
Font Size 14
Font Style Bold
Text (Xóa chữ Text}
Trang 186} HlscrollBar Name Isr1 Min 0 Max 200 7| HserollBar Name Hsr2 Min 0 Max 200 8 | Command Name CmdSole Button Caption Số số lẻ từ Hsr1 đến HSr2 Font Name VNI - Aptima Font Size 12
Font Style Bold ị
3 | Command Name CmdSochan Ị
Button Caption Số số chan từ Hsr1 đến HSr2
VNI — Aptima
Font Name 12
Font Size Bold
Font Style
10 | Command Name CmdTongsole
Button Caption Tổng giá trị các số lẻ từ Hsr1 đến HSr2
Font Name VNI - Aptima
Font Size 12
Font Style Bold
1Í | Command Name CmdTongsochan
Button Caption Tổng giá trị các số chẳn từ
Hsr1 đến HSr2 Font Name VNI = Aptima
Font Size 12
Font Style Bold
12 | Command Name CmdTongChanLe
Trang 19
Font Size 12 |
Font Style Bold |
13 | Command Name CmdThoat
Button Caption thoát khỏi Form
Tont Name VNI Swiss — Condense Font Size 20 Ị Font Style Bold TU Bue I THIET KE FORM CHO CHUONG TRINH
+ Trong bai nay, ban thấy có thêm điều kiểm HsreroliBar, dé
thanh cuốn ngàng, bạn có thể dị chuyển con chạy hoặc Click vào nút dẫu mặi tên trái phải để giảm hoặc tăng giá trị, điều kiểm này có
sẵn trong hộp công cu
+ Giả sử bạn đã thiết kế và xác lập xong các thuộc tính cho các diéu kiểm Đước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Trước khí viết
Code, chúng tôi hướng dẫn cho các bạn một chút
+ Để tìm từ số thứ nhất đến số thứ hai có bao nhiêu số lẻ, vì số thứ
nhất và số thứ hai có giá trị xác định, do đó ta có thể dùng vòng lặp :
FOR số thứ nhất TO Số thứ hai NEXT
+ Vong lặp này sẽ đi từ số thứ nhất đến số thứ hai, muốn tìm số lẻ ta phải tìm số dư của số đó khí chia cho 2, nếu số dư bằng 1 thì ta kết
tuận số đó là số lẻ
Trang 20+ Tương tự như vậy nếu là số chan thi
So Mod 2 = 0
+ Để tìm tổng giá trị của các số lẻ, ta dùng thêm một biến để
cộng dồn, và biểu thức này sẽ đặt trong phát biểu !F ,,END IF là số
lễ, tương tự như vậy với tổng giá trị của số chan
Riêng đối với một số bất kỳ, ta không cần dùng các điều kiện về số
đư như ở trên
+ Chúng tôi sẽ giải thích thêm những gì mới nếu có trong phan
viết Code
Option Explicit
1) Viết Code cho điều kiểm CmdSochan
Private Sub CmdSochan_Click() Dim i As Long Dim n As Long Dim ch As String For i = HSr1 To HSr2 If iMod 2=0 Then
n=n+1 “ Tăng lên 1 khi số là số chắn
Trang 21+ Hàm Left trên để lấy chuỗi Ch, bỏ kí tự sau cũng (đó là dấu phẩy *,“ thừa nằm ở phía sau)
_ + Ban thử thay đổi sau đó chạy thử chương trình thì sẽ thấy những điều chúng tôi vừa nói
2) Viết Code cho điều kiểm CmdSole
Private Sub CmdSole_Click() Dim i As Long Dim n As Long Dim ch As String For i = HSr1 To HSr2 If iMod 2 =1 Then n=n+1 ch=ch&¡&"„" End If Next TxtThongbao = " Từ " & HŠr1 & " đến " & HSr2 & " có " & n &" số lẻ, đó là các số " TxtLietke = Leftich, Len(ch) - 1) End Sub
+ Thủ tực này cũng giải thích như trên, chỉ khác là tìm số số lẻ nên Ì Mod 2 = 1 (Chứ không phải là bằng 0)
3) Viết Code cho điều kiểm CmdThoat
Private Sub CmdThoat _Click0 End
End Sub
Trang 224) Viết Code cho điều kiểm CmdTongcacso
Private Sub CmdT ongcacso_Clickl) Dim i As Long Dim n As Long TxtLietke =" ˆ cho bằng trống để không thấy thông tin trước đó For i = HSrl To HSr2 n=n+i Next
TxtThongbao = " Tổng giá trị của các số chẵn và lẻ từ " &
HSr1 & " đến " & HSr2 & "là "&n End Sub
+ Trong thủ tục trên không phân biệt số chắn hay số lễ, nên ta
không cần dùng phát biéu tf END IF 5) Viết Code cho điều kiểm CmdTongsochan
Trang 23Next
TxtThongbao = " Tổng giá trị của các số chan tu" & HSr1
& " đến " & HSr2 & "là "&n
End Sub
+ Thủ tục này tính tổng các giá trị của các số chắn, nên dùng, í Mod 2=0
6) Viết Code cho điều kiểm CmdTongsole
Private Sub CmdTongsole_Click0 Dim i As Long Dim n As Long TxtLietke ="" For i= HSrl To HSr2 Ifi Mod 2 = 1 Then n=nti End If Next
TxtThongbao = " Tổng giá trị của các số lẻ từ " & HSr1 & "
đến ° & HSr2 & " là " & n End Sub
Giống thủ tục trên, chỉ khác là ¡ Mod 2 = 1 (thay vì ¡ Mod 2 = 0)
7) Viết Code cho điều kiểm HSr1
Trang 248) Viết Code cho điều kiểm HSr2
Private Sub HSr2_Change() Txt2 = HSr2.Value End Sub + Thủ tục nay sé gan giá trị vừa thay đổi ở HSr2 cho TextBox có tên là Txt2 Bước 3 CHẠY THỬ CHƯƠNG TRÌNH
Giả sử bạn Click vào nút mũi tên bên phải trên HSr2 bên phải cho đến khi TextBox tương ứng có giá trị là 15, không tác động gì đến HŠrT xem như HSr1 có giá trị bằng 0 Sau đó Click chuột vào nút có
tiêu đề “ Số số lẻ từ HSr1 đến HSr2 “ bạn sẽ có hình như sau : &- TÍNH TOAN SỐ CHAN LE i wee a + r Us ks a 56 5616 ti Hsrt dén Hst2 J Téng giá frị các sổ lẻ từHsr1 đến Hsr2_ Tổng giá trị các số chẵn từ Hsr1 đến Hsr2
| Thuát khỏi Form | Tổng các số chẵn và lẽ từ Hsr† đến Hsr2
stat] |B 6: 03 39 (| bac |2156-P4i [ RVMesst.[SriNHTO TẾ søpw
Hình 9b Khi chọn HSr2 = 15 và HSr1 =0
Trang 25Nếu bạn lần lượt click vào các nút có tiêu đề : + Số số chẵn từ HSr] đến HSr2 + Tổng giá trị các số lẻ từ HSr1 đến HSr2 + Tổng giá trị các số chẵn từ HSr1 đến HSr2 + Tổng giá trị các số chắn và lẻ từ HSr1 đến HSr2 Bạn sẽ có các hình như sau : Tổng giá trị các số lẻ từ Hsr† đến Hsr2
Số số chân từ Hsri đến Hsr2Ñ_ Tổng giá trị các số chẵn từ Hsr1 đến Hsr2 Thoát khỏi Form Tổng các số chẵn và lẽ từ Hsr1 đến Hsr2 start || GB Ss E) (| tị hoeet | Z716-P | NVMcoe [fis TINH KE 1023PM
Hình 9c
Trang 26CSO _ Số số chấn từ Hari dén Hsr2 siá trị các số chân từ Hsr† đến Hsr2 Tả Tổng các số chin va lẽ tử Hsr1 đến Hsr2 XRsun| | @ 8: 22 QD) bìeeel-M.| #9t5-Pen [RVMeesnw [STiwnTo TỶ ia2n si khe Hình 9d PSU ¡Ôn = a aa Ƒ— gid tri các số lẻ từ Hsr1 đến Hsr2 one id
Theat khéi Form [7223 cdc sé chan va lẽ tờHsrr đến Hsr2
Trang 28
DAY TANG
YÊU CẦU CỦA ĐẦU BÀI
+ Trong bài này, các bạn hãy viết chương trình nhập vào 10 số
nguyên, mỗi lần một số qua hộp thoại InputBox (Bạn cũng có thể
dùng 10 hộp TextBox để nhập 10 số, nếu dùng như vậy thì sẽ mất
công hơn) Khi nhập xong nếu muốn xem 10 số vừa nhập thì Click vào
một nút sẽ thấy, muốn kiểm tra dãy số có tăng hay không, bạn Click vào một nút khác
+ Quy ước, dãy tăng là một dãy có số thứ nhất sẽ nhỏ hơn hoặc bằng số thứ hai, ngược lại là không tăng (Nếu quy ước dãy tăng là
một dãy có số thứ hai lớn hơn Pr thứ nhất, thì bạn sửa Code lại một chút bằng cách bỏ dấu bằng “ = + Qua đầu bai như trên, nt tôi thiết kế một Form như sau : ‹
stent] |B 8: CÀ É [Í[R Projectt - Microsott V EfMicesdfWod:Can3€| [ge sm Hình 10a Form của chương trình
Trang 29
Nhìn vào Form trên, bạn thấy có các điều kiểm như sau :
“1 Label dùng để ghi tiêu đê
= 1 TextBox dùng để thông báo kết quả
» 3 Command Button, trong đó 1 Command Button dùng để Thoát
khỏi chương trình, 2 Command button dùng để xem kết quả
® Form có tiêu để “ KIEM TRA DẠY SO TANG HAY KHONG “,
BANG CAC THUOC TINH CUA CAC DIEU KIEM
TT | Déitugng | Các thuộc tính Giá trị
1 |Form Name FrmDaySoTang
BackColor Mẫu xanh dương
Caption KIEM TRA DAY SO CO
TANG HAY KHONG
WindowState 2-Maximized
2 | Label Name tb[Tieude
BackColor Màu hồng
Caption Nhập vào 10 số nguyên xem
day số có tăng hay không
Font Name VNI - Aptima
Font Size 14
Font Style Bold
3 | TextBox Name TxtThongbao
BackColor Mau cam
Font Name VNI ~ Aptima
Font Size 24
Font Style Bold
MultiLine True ©
Text TextBox Théng bao két qua
4 | Command Name CmdThoat
Button Caption Thoát khdi Form
Font Name VNI ~ Brush
Trang 30
Font Size 20
Font Style Bolditalic
5 | Command Name Cmdini Oso
Button Caption In ra 10 số mà bạn nhập vào,
Font Name VNI = Aptima
Font Size 12
Font Style Boldhalic
6 | Command Name CmdDayTang
Button Caption Kiểm tra dãy tăng hay không Font Name VNI - Aptima Font Size 12 Font Style Bolditalic ' Bước I
THIET KE FORM CUA CHUONG TRÌNH
Bạn lần lượt lấy từng điều kiểm ở hộp công cụ để thiết kế được như
trong hình, sau đó bạn xác lập các thuộc tính cho các diễu kiểm như đã
hướng dẫn trong bang các thuộc tính ở trên Giả sử bạn đã thiết kế xong Bước 2 VIẾT CODE CHO CHƯƠNG TRÌNH Option Explicit
1) Viết Code cho diéu kiém Cmdin10so
Private Sub Cmdln10so_ClickQ
Dim So(9) As Long‘ Khai bao mang 1 chiéu cố định gồm
Trang 31Dim i As Integer Dim ch As String
So(0) = Val(InputBoxt" BAN NHAP VAO SỐ THỦ 1 ")} So(1) = ValinputBox(" BAN NHAP VAO SO THU 2 ")) So(2) = Val(InputBox(" BAN NHAP VAO SO THỦ 3 ?} So(3) = ValtnputBoxf' BẠN NHAP VAO SƠ THỊ 4 ")) So) = ValnputBoxt" BẠN NHAP VAO SỐ THỦ 5 ”)) So(5) = Val(InputBox(" BAN NHAP VAO SO THU 6 ")) Sol6) = Val(InputBox(" BAN NHAP VAO SỐ THU 7 ")} So(7) = Val{inputBox(" BAN NHAP VAO SO THU 8 *)) So(8) = Val(InputBox(" BAN NHAP VAO SO THU 9 ")} S0(9) = Val{inputBox(" BAN NHAP VAQ SO THU 10”) Fori= 0 To 9 * Vong lap FOR in ta 10 số
ch = ch & So(l) &"," Next
TxtThongbao = Left (ch, Len(ch) — 2) End Sub
+ Trong thủ tục trên, chúng tôi khai báo một mắng cố định 1 chiều,
có tên là So và mảng này có 10 phần tử kiểu số, bạn lưu ý là nó chạy từ 0 đến 9
+ Hàm InputBox sẽ cho bạn nhập vào từng số theo thứ tự từ số thứ nhất đến số thứ 10, và số thứ nhất sẽ gắn cho So(0), số thứ hai gan cho
So(l) và số thứ 10 sẽ gán cho So(9)
+ Như vậy khi bạn Click vào nút Command Button có tên In ra 10 số mà bạn vừa nhập thì trên màn hình sẽ hiện ra lần lượt 10 hộp InputBox có tiêu để ghí chú là số thứ 1, số thứ 2, , số thứ 10 (Tiêu
Trang 32để này dược khai báo trong hàm InputBox như trên, bạn có thể tham
khảo đây dủ và chỉ tiết thêm ở cuốn tự học lập trình Visual Basic 6.0
của cùng tác giả)
+ Sau khi bạn đã nhập xong 10 số, Để in ra 10 số mà bạn vừa nhập, bạn phải dùng vòng lặp FOR, vì hộp TextBox nó sẽ hiện trên
một dòng, do đó bạn phải nối chuỗi để cuối cùng có được đầy đủ các
số vừa nhập, nếu không nối chuỗi, bạn chỉ thấy được số cuối cùng đó
là số thứ 10 Bạn có thể thử bằng cách sửa lại Code và sẽ thấy kết quả
như chúng tôi đã nói
+ Trong chuỗi nối ở trên có dấu phẩy vì chúng tôi muốn có dấu phẩy
phân cách giữa 2 số và một khoảng trắng để chuỗi in ra dep hon + Trong câu lệnh TxtThongbao = Left (ch, Len(ch) - 2)
+ Chúng tôi dùng hàm Left để lấy những kí tự bên trái của chuỗi Ch và
bỏ bớt 2 kí tự còn thừa phía sau, đó là dấu phẩy và khoảng trắng
+ Nếu bạn dùng câu lệnh TxtThongbao = ch thì sẽ có thêm dấu phẩy và khoảng trắng ở phía sau chuỗi Bạn thử để thấy kết quả như chúng tôi đã nói
2) Viết Code cho điều kiểm CmdDayTang
Private Sub CmdDayTang_Click() Dim So(9} As Long Dim i As Integer Dim ch As String Dim n As Integer Dim a As Integer Dim b As Integer Dim j As Integer
$o0(0) = Val(InputBox(" BAN NHAP VAO SO THU 1 ")) So(1) = Val(InputBox(" BAN NHAP VAQO SO THU 2 ")) So(2) = Val(InputBoxf' BẠN NHAP VAO SỐ THỦ 3 9)
Trang 33$o(3) = VallinputBox(" BAN NHAP VAO SO THU 4")
Trang 34Trong thủ tục trên, phần khai báo mảng cũng giống như ở trên Trong thủ tục này chúng tôi cần giải quyết là xác định được 10 số vừa nhật? xong là day tang hay không, chúng tôi giải quyết bằng cách như sau :
+ Dùng vòng lip FOR để ïn lại 10 số vừa nhập, đồng thời thông báo thêm phía sau cau day tăng hay giảm tương ứng với 10 số mà bạn nhập vào theo thứ tự có tăng hay không,
+ Bạn có thể dùng vòng lập Do While - =Loop, ở dây chúng tôi muốn giới thiệu theo lý luận khác để giúp cho các bạn biết thêm,
+ Đầu tiên chúng tôi gắn biến a = So (i), sau đó gắn biến j=i*+1.Điều này để có 2 phản tử kế nhau để sơ sánh, đó là Soi) và Sofi+ 1)
+ VÌ trong vòng lập FÒÓR; ¡ chạy từ 0 đến 9, nên có lúc | sẽ bằng 10, đó là khi ¡ = 9, mà trong thực tế không có 5o (10) Do đó chúng tôi phat ding phát biểu IF với diều kiện j < 10 mà bạn thấy ở trên,
+ Nếu mỗi lần so sánh mà số trước nhỏ hơn hoặc bằng số sau thì
biến n sẽ tăng lên 1 Vậy nếu kết quả đúng hết thì n sẽ bằng 10 Lúc này ta có thể kết luận ngay đây là một dãy tăng, ngược lại sẽ báo là dãy không tăng,
3) Viết lệnh cho điều kiểm CmdThoat Private Sub CmdlThoat_Click)
Trang 35Bước 3
CHAY THU CHƯƠNG TRÌNH
Giả sử bạn Click vào nút có tiêu dé “In ra 10 số mà bạn nhập vào”, bạn sẽ có Form hiện ra như sau :
extBox +hAnn LAn
BẠN NHẠP VAO S0 THỦ † [ony
stan| | Sy 7] | th FoecH -M | NỂMicosotW_| #716a-Pan |[Py KIEMTR (Í- 837 PM
Hinh 10b Form khi vừa Click vào nút in ra 10 số mà bạn nhập vào
+ Nhìn vào hình trên bạn thấy trên Form sẽ xuất hiện một hộp
thoại InputBox có tiêu dé BAN NHAP VAO SO THU 1, bạn nhập vào
số 10 và Click OK hoặc gõ phím Enter, hộp thoại thứ hai hiện ra với tiêu để BAN NHAP VAO SO THU 2, ban nhập vào 20,
Đến hộp thoại thứ 10 hiện ra với tiêu để BAN NHAP VAO SO THU 10, bạn nhập vào 100 và gõ Enter (10, 20, 30, 40, 50, 60, 70,80,90,100), bạn sẽ có kết quả như sau :
Trang 36
“?4aáđ£ é#dc one
Wswet| | B BaD | ty protects m.| NyMieosetwe.| gy 6s Pom |S KIEM TA Kf O41 FM
Hình 10c Form khi ban nhap 10 số như trên
+ Nhìn vào hình trên bạn thấy trong TextBox thông báo sẽ hiện ra
10 số theo thứ tự mà bạn nhập như trên, do chiều dài của TextBox
không đủ và do bạn lại xác lập thuộc tính MultiLine của TextBox này là True, do đó nó sẽ xuống dòng, nếu không xác lập cho thuộc tính này thì nó sẽ có giá trị mặc nhiên là False, lúc này các kí tự thiếu sẽ mất đi Bạn sẽ thấy như sau :
10, 20, 30, 40, 50, 60, 70, 80, 90, 11 (Kiểm tra dây, tăng bay không
start] |B Sy 1 || By Prieto] wy Miciosot w J gr i6e-Pom |[m KiEMIR | 650PM
Hinh 10d_ Form khi thay đổi thuộc tính MultiLine là False
+ Bây giờ bạn thử nhập 10 số lần lượt theo thứ tự như sau : 12, 23, 34, 35, 36, 45, 46, 48, 49, 50 Bạn sẽ thấy hình như sau :
Trang 37lạ KIEM TRA DẠY S0 CO TANG HAY KHONG
n xem đấy số có tăng hay không 112, 23, 34, 35, 36, 45, 46, 48, 49, 50 Đây là dãy tăng Vhadt thdc lạxưc Ø 8.7292 &yPoesl.M | WMeosetv | ý7166.Psn |[SKIEMTR lý 955M Hình 10e sen]
+ Bạn thấy 10 số vừa nhập là một dãy tăng, nên chương trình sẽ báo ra đúng với kết quả mà bạn mong muốn, bạn thử kiểm tra lại với một dãy số khác như sau : 12,12 + Bạn thấy đây cũng là một dãy tăng, bạn thử xem chương trình có 2,13, 13, 13, 14, 14, 14, 14 báo đúng như vậ In ra 10 số mà bạn nhập vào Kiểm tra đây: tăng hay không at] BELA WD | By Promet a.) Byron | prise-Pant ff KIEM TA cỈ 655PM
Trang 38+ Vậy là bạn thấy chính xác phải không Bạn thử nhập thêm một số dãy tăng nữa để kiểm tra xem có đúng không, chắc chắn các bạn sẽ thấy báo đúng + Bây giờ bạn thử nhập vào một dãy như sau : 23, 10, 20, 30, 40, 50, 60, 70, 80, 90 + Bạn thấy đây là một dãy số không tăng, bạn thử nhập và xem kết quả ra sao nhé ! TANG HAY KHONG 23, 10, 20, 30, 40, 50, 60, 70, 80,
90 Không phải là dãy tăng
Asien) |B E57 | threo.) gykeeetw | jgyte-pẻv Jƒm meMrn- cỆC sơarw
Hình 10g Form khi bạn nhập 10 số như trên
+ Rất là chính xác phải không các bạn, các bạn có thể nhập thêm
một số dãy số để kiểm tra
Trong bài trên, các bạn nhập qua hộp thoại InputBox cho 10 số, mặc dầu các số đó được hiện ra trong TextBox thông báo, nhưng bạn
không nhớ được 10 số mà mình nhập đã nhập, để thấy được 10 số mà
mình đã nhập, hoặc sau khi nhập xong, mình có thể sửa lại nếu như mình đã nhập sai, muốn vậy, bạn phải dùng các TextBox
Bạn xem chúng tôi thiết kế chương trình sau để thực hiện bài trên
Trang 39
Trong bài này chúng tôi không dùng hàm InputBox để nhập, chúng tôi sẽ nhập trực tiếp trên Form, trong các TextBox Sau khi nhập xong,
người sử dụng Click vào nút xem kết quả thì sẽ thấy thông tin là dãy
số mà người sử dụng đã nhập vào, thông báo dãy có phải là dãy tăng hay không
Theo yêu cầu như trên, chúng tôi thiết kế Form của chương trình
như sau :
s&.XET ĐAY CŨ TANG HAY KHONG [Jeb
Tinh day tang nhap bang TextBox [1 Ti 1 lai (| 1 2 3 4 5 6 7 8 9 10 Hem cb phdi la day thay hay bhbng |
Thad bhbi cheteng Cink |
Masten] |B Sy AD | ty Prowectt -Mecrosot.| By Mesosot Word-C [lxerpavco l{: 32w
: Hình 11a
Trang 40Nhìn vao Form trén, bạn thấy có các điều kiểm như sau : 11 Labet ding dé ghi tiêu đê
1 1TextBox, trong dé 10 TextBox dé nhap 10 36, 1 TextBox
dùng để thông báo kết quả
2 Commaad Button, trong đó 1 Command Button dùng để Thoát
khỏi chương trình, 1 Command buton dùng để xem kết quả Form có tiêu dé “ XET DAY CO TANG HAY Ki HONG *
BẰNG CÁC THUỘC TÍNH CỦA CÁC ĐIỀU KIỂM
[TT | Đối tượng | Các thuộctính Giá trí
1 | Form Name FrmDaySoTangTextBox
BackColor Mau cam
Caption XET DAY CO TANG HAY
KHONG
WindowState 2-Maximized
2 | Label Name LblTieude
BackColor Màu xanh