Tải bản đầy đủ (.pdf) (44 trang)

bài 4 lệnh lựa chọn và quy trình phát triển phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 44 trang )

BÀI 4:
LỆNH LỰA CHỌN &
QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
Biến và cách sử dụng biến
Lưu trữ dữ liệu trong bộ nhớ
Toán tử số học và thứ tự ưu tiên của chúng
Giải thuật và dùng mã giả để biểu diễn cho giải thuật
Biều đồ hoạt động UML
Câu lệnh lựa chọn If…Then và If…Then…Else
Thiết lập các breakpoint và sử dụng cửa sổ Watch để gỡ
lỗi
Hệ thống bài cũ
Biến và cách sử dụng biến
Lưu trữ dữ liệu trong bộ nhớ
Toán tử số học và thứ tự ưu tiên của chúng
Giải thuật và dùng mã giả để biểu diễn cho giải thuật
Biều đồ hoạt động UML
Câu lệnh lựa chọn If…Then và If…Then…Else
Thiết lập các breakpoint và sử dụng cửa sổ Watch để gỡ
lỗi
Lệnh đa lựa chọn và quy trình phát triển phần mềm
2
Mục tiêu bài học
Biết cách sử dụng CheckBox và hộp thoại
Hiểu về các toán tử logic và sử dụng toán tử logic để kết
hợp nhiều điều kiện đơn
Hiểu và sử dụng lệnh đa lựa chọn Select Case
Hiểu về quy trình phát triển ứng dụng
Hiểu về cách tổ chức mã của Visual Basic
Biết cách sử dụng CheckBox và hộp thoại
Hiểu về các toán tử logic và sử dụng toán tử logic để kết


hợp nhiều điều kiện đơn
Hiểu và sử dụng lệnh đa lựa chọn Select Case
Hiểu về quy trình phát triển ứng dụng
Hiểu về cách tổ chức mã của Visual Basic
Lệnh đa lựa chọn và quy trình phát triển phần mềm
3
CheckBox
CheckBox trên
ToolBox
Lệnh đa lựa chọn và quy trình phát triển phần mềm
4
CheckBox được
thêm vào ứng dụng
Nhãn của
CheckBox
CheckBox
CheckBox có hai trạng thái là được chọn (checked) và không
được chọn (unchecked)
Kiểm soát trạng thái của CheckBox bằng thuộc tính Checked
CheckBox chưa được
chọn. Thuộc tính Checked
có giá trị là False
Lệnh đa lựa chọn và quy trình phát triển phần mềm
5
CheckBox chưa được
chọn. Thuộc tính Checked
có giá trị là False
CheckBox được chọn. Thuộc
tính Checked có giá trị True
CheckBox

Thuộc tính quan trọng
Autosize - Cho phép tự động điều chỉnh kích thước của
CheckBox.
Checked - Chỉ định CheckBox này được chọn (True) hay
không được chọn (False)
Location - Chỉ định vị trí của CheckBox ở trên Form.
Name - Chỉ ra tên được sử dụng để truy cập CheckBox
trong khi lập trình. Tên nên có hậu tố CheckBox vào phía
sau.
Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) của
CheckBox.
Text - Chỉ ra nội dung được hiển thị bên cạnh CheckBox.
Thuộc tính quan trọng
Autosize - Cho phép tự động điều chỉnh kích thước của
CheckBox.
Checked - Chỉ định CheckBox này được chọn (True) hay
không được chọn (False)
Location - Chỉ định vị trí của CheckBox ở trên Form.
Name - Chỉ ra tên được sử dụng để truy cập CheckBox
trong khi lập trình. Tên nên có hậu tố CheckBox vào phía
sau.
Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) của
CheckBox.
Text - Chỉ ra nội dung được hiển thị bên cạnh CheckBox.
Lệnh đa lựa chọn và quy trình phát triển phần mềm
6
Demo sử dụng CheckBox
Thêm CheckBox vào Form
Tùy chỉnh CheckBox
Lệnh đa lựa chọn và quy trình phát triển phần mềm

7
Hộp thoại
Sử dụng để hiển thị thông báo hướng dẫn hay hiển
thị thông báo lỗi cho người dùng
Được định nghĩa bởi lớp MessageBox
Sử dụng phương thức MessageBox.Show để hiển thị
Sử dụng để hiển thị thông báo hướng dẫn hay hiển
thị thông báo lỗi cho người dùng
Được định nghĩa bởi lớp MessageBox
Sử dụng phương thức MessageBox.Show để hiển thị
Lệnh đa lựa chọn và quy trình phát triển phần mềm
8
Hộp thoại
Có nhiều phiên bản hàm Show với số đối số khác nhau để tùy chỉnh
hộp thoại
MessageBox.Show( _
“Hãy nhập tên của bạn vào", _
“Thiếu thông tin", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Nội dung văn bản hiển thị
trên hộp thoại
Có nhiều phiên bản hàm Show với số đối số khác nhau để tùy chỉnh
hộp thoại
Lệnh đa lựa chọn và quy trình phát triển phần mềm
9
MessageBox.Show( _
“Hãy nhập tên của bạn vào", _
“Thiếu thông tin", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Nội dung trên

thanh tiêu đề
Button được hiển
thị trên hộp thoại
Biểu tượng xuất
hiện trên hộp thoại
Các hằng MessageBoxButtons
Hằng MessageBoxButtons
Mô tả
MessageBoxButtons.OK
Button OK. Cho phép người dùng hồi đáp lại ứng
dụng rằng đã nhận thông báo.
MessageBoxButtons.OKCancel
Button OK và Cancel. Cho phép người dùng tiếp tục
hay bỏ qua một hành động.
MessageBoxButtons.YesNo
Button Yes và No. Cho phép người dùng hồi đáp lại
câu hỏi
MessageBoxButtons.
YesNoCancel
Button Yes, No và Cancel. Cho phép người dùng
trả lời câu hỏi hoặc bỏ qua.
MessageBoxButtons.
YesNoCancel
Button Yes, No và Cancel. Cho phép người dùng
trả lời câu hỏi hoặc bỏ qua.
MessageBoxButtons.
RetryCancel
Button Retry và Cancel. Cho phép người dùng thử lại
hoặc bỏ qua một thao tác vừa thất bại.
MessageBoxButtons.

AbortRetryIgnore
Button Abort, Retry và Ignore. Khi một thao
tác trong một dãy các thao tác thất bại, những Button
này cho phép người dùng dừng toàn bộ dãy thao tác,
hoặc thử thực hiện lại thao tác thất bại hoặc bỏ qua
thao tác thất bại và tiếp tục thực hiện những thao tác
còn lại.
Lệnh đa lựa chọn và quy trình phát triển phần mềm
10
Các hằng MessageBoxIcon
Hằng MessageBoxIcon
Biểu tượng
Mô tả
MessageBoxIcon.
Exclamation
Biểu tượng này chứa hình dấu chấm
than. Được dùng để cảnh báo cho
người dùng về vấn đề có thể xảy ra.
MessageBoxIcon.
Information
Biểu tượng này chứa chữ “i”. Được
dùng để hiển thị thông tin về trạng
thái của ứng dụng.
Biểu tượng này chứa chữ “i”. Được
dùng để hiển thị thông tin về trạng
thái của ứng dụng.
MessageBoxIcon.
None
Không có biểu tượng nào được hiển
thị.

MessageBoxIcon.
Error
Biểu tượng này chứa dấu x màu
trắng trong hình tròn màu đỏ. Dùng
để cảnh báo người sử dụng về lỗi
hoặc một tình huống nghiêm trọng.
Lệnh đa lựa chọn và quy trình phát triển phần mềm
11
Demo sử dụng hộp thoại
Thay đổi giá trị đối số thứ tư
Icon hiển thị khác nhau
Lệnh đa lựa chọn và quy trình phát triển phần mềm
12
Thay đổi giá trị đối số thứ tư
Icon hiển thị khác nhau
Toán tử logic
Điều kiện đơn
x <= 10
y > 10
Toán tử logic kết hợp các điều kiện đơn thành điều kiện
phức tạp hơn
And
AndAlso
Or
OrElse
Xor
Not
Điều kiện đơn
x <= 10
y > 10

Toán tử logic kết hợp các điều kiện đơn thành điều kiện
phức tạp hơn
And
AndAlso
Or
OrElse
Xor
Not
Lệnh đa lựa chọn và quy trình phát triển phần mềm
13
Toán tử AndAlso
Có giá trị là True khi và chỉ khi hai điều kiện đơn cùng đúng
If gioiTinhTextBox.Text = “Nu” AndAlso tuoi> = 65 Then
soPhuNuCaoTuoi += 1
End If
Nếu gioiTinhextBox.Text có giá trị là “Nu”
và tuoi có giá trị lớn hơn hoặc bằng 65 thì
biến soPhuNuCaoTuoi được tăng thêm 1.
Nêu không, bỏ qua lệnh này
Lệnh đa lựa chọn và quy trình phát triển phần mềm
14
Nếu gioiTinhextBox.Text có giá trị là “Nu”
và tuoi có giá trị lớn hơn hoặc bằng 65 thì
biến soPhuNuCaoTuoi được tăng thêm 1.
Nêu không, bỏ qua lệnh này
Bảng sự thật của toán tử AndAlso
Biểu thức ĐK 1
Biểu thức ĐK 2
Biểu thức ĐK 1 AndAlso Biểu
thức ĐK 2

False
False
False
False
True
False
False
True
False
True
False
False
True
True
True
Lệnh đa lựa chọn và quy trình phát triển phần mềm
15
Toán tử OrElse
Có giá trị là True khi một hoặc cả hai điều kiện đơn đúng
Bài toán:
Một sinh viên sẽ đạt điểm A của kỳ đó nếu điểm thi cuối kỳ
>=90 hoặc điểm trung bình của cả kỳ >= 90
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90) Then
MessageBox.Show(“Sinh vien co so diem la A”, “Diem”
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Lệnh đa lựa chọn và quy trình phát triển phần mềm
16
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90) Then
MessageBox.Show(“Sinh vien co so diem la A”, “Diem”

MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Bảng sự thật của toán tử OrElse
Biểu thức
ĐK 1
Biểu thức ĐK
2
Biểu thức ĐK 1 OrElse Biểu thức
ĐK 2
False
False
False
False
True
True
Lệnh đa lựa chọn và quy trình phát triển phần mềm
17
False
True
True
True
False
True
True
True
True
Đánh giá theo cơ chế tối ưu
Thực hiện đánh giá cho đến khi biết giá trị của nó là đúng
hay sai thì dừng lại
Toán tử AndAlso và OrElse được đánh giá theo cơ chế tối ưu

Toán tử And và Or không đánh giá theo cơ chế tối ưu
If (gioiTinhTextBox.Text = “Nu”) AndAlso (tuoi>= 65)
Nếu gioiTinhTextBox.Text có giá trị khác
“Nu” thì dừng là và trả về False
Thực hiện đánh giá cho đến khi biết giá trị của nó là đúng
hay sai thì dừng lại
Toán tử AndAlso và OrElse được đánh giá theo cơ chế tối ưu
Toán tử And và Or không đánh giá theo cơ chế tối ưu
Lệnh đa lựa chọn và quy trình phát triển phần mềm
18
Nếu gioiTinhTextBox.Text có giá trị khác
“Nu” thì dừng là và trả về False
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90)
Nếu diemTrungBinh có giá trị lớn hoặc
bằng 90 thì dừng là và trả về True
Toán tử Xor
Có giá trị là True khi và chỉ khi một toán hạng của nó có
giá trị True và toán hạng còn lại có giá trị False
Nếu tất cả toán hạng có giá trị False hoặc tất cả các toán
hạng có giá trị True thì toán bộ biểu thức có giá trị False
Biểu thức ĐK 1
Biểu thức ĐK 2
Biểu thức ĐK 1 Xor Biểu
thức ĐK 2
Xử lý sự kiện, biến và phép toán trong lập trình
19
Biểu thức ĐK 1
Biểu thức ĐK 2
Biểu thức ĐK 1 Xor Biểu
thức ĐK 2

False
False
False
False
True
True
True
False
True
True
True
False
Toán tử Not
Là toán tử một ngôi
Đảo ngược giá trị logic của điều kiện
If Not (diem = value) Then
hienthiLabel.Text = “chúng không bằng nhau”
End If
Lệnh đa lựa chọn và quy trình phát triển phần mềm
20
Biểu thức ĐK
Giá trị nghịch đảo của biểu thức
ĐK
False
True
True
False
Lệnh đa lựa chọn Select Case
Hiển thị thông báo dựa trên điểm của sinh viên
If diem = “A” Then

hienthiLabel.Text = “Tuyet voi!”
If diem = “B” Then
hienthiLabel.Text = “Rat tot!”
If diem = “C” Then
hienthiLabel.Text = “Tot.”
If diem = “D” Then
hienthiLabel.Text = “Kem.”
If diem = “F” Then
hienthiLabel.Text = “Truot.”
Else
hienthiLabel.Text = “Diem khong
hop le.”
End If
Trong trường hợp diem bằng
“A” thì hiển thị “Tuyet voi!”
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”
hienthiLabel.Text = “Rat tot!”
Case “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop
le.”
End Select

Nếu diem bằng “A” thì
hiển thị “Tuyet voi!”
Hiển thị thông báo dựa trên điểm của sinh viên
Lệnh đa lựa chọn và quy trình phát triển phần mềm
21
If diem = “A” Then
hienthiLabel.Text = “Tuyet voi!”
If diem = “B” Then
hienthiLabel.Text = “Rat tot!”
If diem = “C” Then
hienthiLabel.Text = “Tot.”
If diem = “D” Then
hienthiLabel.Text = “Kem.”
If diem = “F” Then
hienthiLabel.Text = “Truot.”
Else
hienthiLabel.Text = “Diem khong
hop le.”
End If
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”
hienthiLabel.Text = “Rat tot!”
Case “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”

Case Else
hienthiLabel.Text = “Diem khong hop
le.”
End Select
Lệnh đa lựa chọn Select Case
Ký hiệu ghép kết hợp hai luồng hoạt động thành một luồng
hiển thị “Tuyet voi!”
[diem = “A” ]
hiển thị “Rat tot!”
[diem = “B” ]
Case “A”
Case “B”

Ký hiệu ghép
Ký hiệu ra
quyết định
Ký hiệu ghép kết hợp hai luồng hoạt động thành một luồng
Lệnh đa lựa chọn và quy trình phát triển phần mềm
22
hiển thị “Truot.”
hiển thị “Diem khong hop le.”
[diem = “F” ]
[diem <> “F” ]
Case “F”

Mệnh đề Case Else
Là mệnh đề không bắt buộc trong lệnh Case
Được thực thi khi không có mệnh đề Case nào đúng
Mệnh đề Case Else phải nằm sau tất cả các mệnh đề Case khác
Mỗi lệnh Select Case chỉ có một mệnh đề Case Else

Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot!”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm
23
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot!”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Mệnh đề
Case Else
Nhiều giá trị trong mệnh đề Case
Có thể có nhiều giá trị trong một mệnh đề Case

Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot”
Case Else
hienthiLabel.Text = “Diem khong hop le.”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm
24
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot”
Case Else
hienthiLabel.Text = “Diem khong hop le.”
End Select
Các giá trị được
phân tách bởi
dấu phầy
Từ khóa Is

Từ khóa Is đi trước toán tử quan hệ hay toán tử bằng
được dùng để so sánh biểu thức điều khiển với giá trị bên
phải của toán tử
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case Is >= 80
hienthiLabel.Text = “Rat tot!”
Case Is >= 70
hienthiLabel.Text = “Tot.”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm
25
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case Is >= 80
hienthiLabel.Text = “Rat tot!”
Case Is >= 70
hienthiLabel.Text = “Tot.”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Từ khóa Is đi trước

toán tử quan hệ

×