BÀI 5:
CÁC LỆ NH LẶ P
Hệ thố ng bài cũ
Sử dụ ng CheckBox và hộ p thoạ i
Toán tử lôgíc và sử dụ ng toán tử lôgíc để kế t hợ p nhiề u
điề u kiệ n đơ n
Tổ chứ c mã trong Visual Basic
Sử dụ ng lệ nh đa lự a chọ n Select Case
Quy trình phát triể n ứ ng dụ ng
Bài 5: CÁC LỆ NH LẶ P
2
Mụ c tiêu bài họ c
Biế t cách sử dụ ng các lệ nh lặ p khác nhau
Biế t cách sử dụ ng các điề u khiể n ListBox,
NumericUpDown, TextBox nhiề u dòng
Biế t cách chuyể n điề u khiể n
Biế t cách vô hiệ u hóa và kích hoạ t điề u khiể n
Biế t cách sử dụ ng đố i tư ợ ng String
Bài 5: CÁC LỆ NH LẶ P
3
Lệ nh lặ p Do While …Loop
Bài toán đi mua hàng
Mộ t ngư ờ i đi đế n cử a hàng tạ p hóa vớ i mộ t danh sách các
mặ t hàng cầ n mua, ngư ờ i đó mua lầ n lư ợ t từ ng mặ t hàng
theo danh sách cho đế n khi có tấ t cả các mặ t hàng cầ n mua
Th c hi n các hành ng sau, khi v n còn m t hàng trong danh
sách m t hàng c n mua
t m t hàng ti p theo vào xe y
G ch chéo tên m t hàng này trong danh sách c n mua
Bài 5: CÁC LỆ NH LẶ P
4
Thự c thi lệ nh lặ p Do While…Loop
Bài toán: Tìm số chẵ n đầ u tiên lớ n hơ n 5
Dim x As Integer = 2
Do While x <= 5
i u ki n ti p t c
x += 2
vòng l p
Loop
Khai báo biế n x và gán cho biế n này giá trị là 2.
Ứ ng dụ ng chuyể n đế n thự c hiệ n lệ nh lặ p Do While…Loop.
Đầ u tiên, ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p, điề u kiệ n này có
giá trị là True nên ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p.
Sau thự c thi thân vòng lặ p, x có giá trị là 4.
Ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p. Điề u kiệ n này có giá trị
True, ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p.
Sau khi thự c thi thân vòng lặ p, x có giá trị là 6.
Ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p. Điề u kiệ n này bây giờ có
giá trị False (vì 6 lớ n hơ n 5). Ứ ng dụ ng kế t thúc thự c thi vòng lặ p.
Bài 5: CÁC LỆ NH LẶ P
5
Biể u đồ hoạ t độ ng củ a Do While…Loop
[x <= 5]
C ng x v i 2
[x > 5]
Câu l nh Visual Basic t
x += 2
Bài 5: CÁC LỆ NH LẶ P
ng ng là:
6
Lệ nh lặ p Do Until…Loop
Cách tiế p cậ n khác củ a bài toán đi mua hàng
Th c hi n các hành ng sau, khi v n còn m t hàng trong danh
sách m t hàng c n mua
t m t hàng ti p theo vào xe y
G ch chéo tên m t hàng này trong danh sách mua hàng
Th c hi n các hành ng sau, cho n t n khi không còn m t
hàng nào trong danh sách c n mua s m
t m t hàng ti p theo vào xe y
G ch chéo tên m t hàng này trong danh sách mua hàng
Bài 5: CÁC LỆ NH LẶ P
7
Thự c thi lệ nh lặ p Do Until…Loop
Bài toán: Tìm số chẵ n đầ u tiên lớ n hơ n 5
Dim x As Integer = 2
Do Until x > 5
x += 2
Loop
i u ki n
k t thúc vòng l p
Khai báo biế n x và gán cho biế n này giá trị là 2
Ứ ng dụ ng chuyể n đế n thự c hiệ n lệ nh lặ p Do While…Loop
Đầ u tiên, ứ ng dụ ng kiể m tra điề u kiệ n kế t thúc vòng lặ p, điề u kiệ n này có
giá trị là False nên ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p
Sau thự c thi thân vòng lặ p, x có giá trị là 4
Ứ ng dụ ng kiể m tra điề u kiệ n kế t thúc vòng lặ p. Điề u kiệ n này có giá trị
False, ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p
Sau khi thự c thi thân vòng lặ p, x có giá trị là 6
Ứ ng dụ ng kiể m tra điề u kiệ n kế t thúc vòng lặ p. Điề u kiệ n này bây giờ có
giá trị True (vì 6 lớ n hơ n 5). Ứ ng dụ ng kế t thúc thự c thi vòng lặ p
Bài 5: CÁC LỆ NH LẶ P
8
Biể u đồ hoạ t độ ng củ a Do Until…Loop
[x < 5]
C ng x v i 2
[x > 5]
Câu l nh Visual Basic t
x += 2
Bài 5: CÁC LỆ NH LẶ P
ng ng là:
9
Lệ nh lặ p Do…Loop While
So sánh lệ nh Do…Loop While và lệ nh Do While…Loop
Giố ng: Lặ p khi điề u kiệ n tiế p tụ c vòng lặ p có giá trị True
Khác:
Lệ nh Do While…Loop, điề u kiệ n tiế p tụ c vòng lặ p đư ợ c kiể m tra
tạ i thờ i điể m bắ t đầ u vòng lặ p, trư ớ c khi thân vòng lặ p đư ợ c
thự c hiệ n
Lệ nh Do…Loop While kiể m tra điề u kiệ n tiế p tụ c vòng lặ p sau khi
thự c hiệ n thân vòng lặ p
Trong lệ nh Do…Loop While, thân vòng lặ p luôn đư ợ c thự c thi ít
nhấ t mộ t lầ n
Bài 5: CÁC LỆ NH LẶ P
10
Thự c thi lệ nh lặ p Do…Loop While
Bài toán: Tìm số chẵ n đầ u tiên lớ n hơ n 5
Dim x As Integer = 2
Do
x += 2
Loop While x <= 5
i u ki n ti p t c
vòng l p
Khai báo biế n x và gán cho biế n này giá trị là 2
Ứ ng dụ ng chuyể n đế n thự c hiệ n lệ nh lặ p Do While…Loop
Trư ớ c tiên, ứ ng dụ ng thự c thi thân vòng lặ p, x có giá trị là 4
Sau đó, ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p. Điề u kiệ n này có
giá trị True, ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p
Sau khi thự c thi thân vòng lặ p, x có giá trị là 6
Ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p. Điề u kiệ n này bây giờ có
giá trị False (vì 6 lớ n hơ n 5). Ứ ng dụ ng kế t thúc thự c thi vòng lặ p
Bài 5: CÁC LỆ NH LẶ P
11
Biể u đồ hoạ t độ ng củ a Do…Loop While
C ng x v i 2
[x <= 5]
[x > 5]
Do While Loop
Bài 5: CÁC LỆ NH LẶ P
[x <= 5]
C ng x v i 2
[x > 5]
Do Loop While
12
Lệ nh lặ p Do…Loop Until
So sánh lệ nh Do…Loop Until và lệ nh Do Until…Loop
Giố ng: Lặ p khi điề u kiệ n kế t thứ c vòng lặ p có giá trị False
Khác:
Lệ nh Do Until…Loop, điề u kiệ n kế t thúc vòng lặ p đư ợ c kiể m tra
tạ i thờ i điể m bắ t đầ u vòng lặ p, trư ớ c khi thân vòng lặ p đư ợ c
thự c hiệ n
Lệ nh Do…Loop Until kiể m tra điề u kiệ n kế t thúc vòng lặ p sau khi
thự c hiệ n thân vòng lặ p
Trong lệ nh Do…Loop Until, thân vòng lặ p luôn đư ợ c thự c thi ít
nhấ t mộ t lầ n
Bài 5: CÁC LỆ NH LẶ P
13
Thự c thi lệ nh lặ p Do…Loop Until
Bài toán: Tìm số chẵ n đầ u tiên lớ n hơ n 5
Dim x As Integer = 2
Do
x += 2
Loop Until x > 5
i u ki n k t thúc
vòng l p
Khai báo biế n x và gán cho biế n này giá trị là 2
Ứ ng dụ ng chuyể n đế n thự c hiệ n lệ nh lặ p Do While…Loop
Trư ớ c tiên, ứ ng dụ ng thự c thi thân vòng lặ p, x có giá trị là 4
Sau đó, ứ ng dụ ng kiể m tra điề u kiệ n kế t thúc vòng lặ p. Điề u kiệ n này có
giá trị False, ứ ng dụ ng tiế p tụ c thự c thi lệ nh trong thân vòng lặ p
Sau khi thự c thi thân vòng lặ p, x có giá trị là 6
Ứ ng dụ ng kiể m tra điề u kiệ n kế t thúc vòng lặ p. Điề u kiệ n này bây giờ có
giá trị True (vì 6 lớ n hơ n 5). Ứ ng dụ ng kế t thúc thự c thi vòng lặ p
Bài 5: CÁC LỆ NH LẶ P
14
Biể u đồ hoạ t độ ng củ a Do…Loop Until
C ng x v i 2
[x <= 5]
[x > 5]
Do Until Loop
Bài 5: CÁC LỆ NH LẶ P
[x <= 5]
C ng x v i 2
[x > 5]
Do Loop Until
15
Vòng lặ p dùng biế n đế m
Bố n yế u tố cơ bả n củ a vòng lặ p dùng biế n đế m
Biế n điề u khiể n
Giá trị khở i tạ o củ a biế n điề u khiể n
Bư ớ c tăng (hoặ c bư ớ c giả m)
Theo đó, biế n điề u khiể n sẽ thay đổ i qua mỗ i lầ n lặ p
Điề u kiệ n kiể m tra đố i vớ i giá trị cuố i cùng củ a biế n điề u
khiể n
Kh i t o
giá tr
tong = 0
x=2
Do While x <= 10
tong += x
x += 2
Loop
Bài 5: CÁC LỆ NH LẶ P
i u ki n
ki m tra
B
c t ng
16
Lệ nh lặ p For…Next
Lệ nh For…Next dùng để viế t mã thự c thi vòng lặ p dùng
biế n đế m dễ dàng hơ n
Dòng tiêu đề chỉ ra cả bố n yế u tố cơ bả n củ a vòng lặ p
dùng biế n đế m
Giá tr kh i t o Giá tr cu i B c t ng
Tên bi n
i u khi n For x As Integer = 2 To 10 Step 2
[Thân l nh]
Next
x=2
Do While x <= 10
[thân l nh]
x += 2
Loop
Cầ n ít thờ i gian hơ n để viế t mã, và mã dễ đọ c hơ n so vớ i
lệ nh Do tư ơ ng đư ơ ng
Bài 5: CÁC LỆ NH LẶ P
17
Thự c thi lệ nh lặ p For…Next
For x As Integer = 2 To 6 Step 2
[Thân l nh]
Next
Đầ u tiên, ứ ng dụ ng khai báo biế n và gán giá trị 2 cho biế n
Sau đó ứ ng dụ ng kiể m tra điề u kiệ n tiế p tụ c vòng lặ p, điề u kiệ n
có giá trị True, ứ ng dụ ng thự c thi thân vòng lặ p
Giá trị x đư ợ c tăng thêm 2, bây giờ biế n x có giá trị là 4
Điề u kiệ n tiế p tụ c vòng lặ p lạ i đư ợ c kiể m tra, điề u kiệ n có giá trị
True, ứ ng dụ ng thự c thi thân vòng lặ p
Giá trị x đư ợ c tăng thêm 2, bây giờ biế n x có giá trị là 6
Điề u kiệ n tiế p tụ c vòng lặ p lạ i đư ợ c kiể m tra, điề u kiệ n có giá trị
True, ứ ng dụ ng thự c thi thân vòng lặ p
Giá trị x đư ợ c tăng thêm 2, bây giờ biế n x có giá trị là 8
Điề u kiệ n tiế p tụ c vòng lặ p lạ i đư ợ c kiể m tra, điề u kiệ n có giá trị
False (vì 8 lớ n hơ n 6), ứ ng dụ ng kế t thúc thự c thi vòng lặ p
Bài 5: CÁC LỆ NH LẶ P
này
là
là
là
18
Biể u đồ hoạ t độ ng củ a For…Next
Khai báo bi n i u khi n
và kh i t o giá tr
[x<= 6]
Th c thi
thân l nh
T ng bi n
i u khi n
[x > 6]
Bài 5: CÁC LỆ NH LẶ P
19
Mộ t số lư u ý cho lệ nh For…Next
Nế u không có mệ nh đề step, biế n điề u khiể n tự độ ng
tăng 1 sau mỗ i lầ n lặ p
For x As Integer = 2 To 10
Bi n x t ng 1 sau
m il nl p
Nế u muố n giả m giá trị củ a biế n điề u khiể n, dùng số âm
sau từ khóa Step
For x As Integer = 10 To 2 Step -2
Bi n x gi m i 2 sau
m il nl p
Bài 5: CÁC LỆ NH LẶ P
20
Mộ t số lư u ý cho lệ nh For…Next
Giá trị khở i đầ u, giá trị kế t thúc và bư ớ c tăng có thể là
biể u thứ c số họ c.
Giả sử a= 2 và b= 10
Các bi u th c
ánh giá tr c
c
For i As Integer = a To (4*a*b) Step (b\a)
For i As Integer = 2 To 80 Step 5
Bài 5: CÁC LỆ NH LẶ P
21
ListBox
ListBox cho phép ngư ờ i dùng xem và lự a chọ n nhiề u
phầ n tử trên danh sách
ListBox trên
ToolBox
ListBox trên
giao di n
Bài 5: CÁC LỆ NH LẶ P
22
ListBox
Thuộ c tính quan trọ ng
I tems - Trả lạ i đố i tư ợ ng chứ a các phầ n tử đư ợ c hiể n thị
trên ListBox.
Location - Chỉ ra vị trí củ a ListBox trên Form.
Name - Chỉ ra tên đư ợ c sử dụ ng để truy cậ p ListBox trong
khi lậ p trình. Tên nên có hậ u tố ListBox.
Size - Chỉ ra chiề u rộ ng và chiề u cao (bằ ng pixel) củ a
ListBox.
Phư ơ ng thứ c
I tems.Add - Thêm mộ t phầ n tử vào thuộ c tính Items.
I tems.Clear - Xóa tấ t cả các giá trị có trong thuộ c tính
Items củ a ListBox.
Bài 5: CÁC LỆ NH LẶ P
23
Demo cách sử
dụ ng ListBox
Thêm điề u khiể n vào Form
Thêm i u khi n
ListBox vào Form
Bài 5: CÁC LỆ NH LẶ P
24
Demo cách sử
dụ ng ListBox
Thêm các phầ n tử vào điề u khiể n ListBox
Thêm ph n t
vào ListBox
Bài 5: CÁC LỆ NH LẶ P
25