Cấu trúc tuyể n: Select Case

Một phần của tài liệu Lịch sử máy tính (Trang 167 - 169)

- Giải thích

11.3Cấu trúc tuyể n: Select Case

CHƯƠNG TRÌNH

11.3Cấu trúc tuyể n: Select Case

 Bài toán có nhiều điều kiện phải xét, ta có thể dùng cấu trúc điều kiện:

If.. Then..Else lồng vào nhau, nhưng việc lồng nhiều cấp If ...Then … Else  Chương trình bị rối, khó viết, và khó phát hiện khi có sai sót.

 Trong trường hợp này ta dùng cấu trúc chọn Select Case sẽ hiệu quả hơn

Select Case biểu thức điều kiện Case trị1 các lệnh 1 ………. Case trị2 các lệnh 2 ………….. Case Else các lệnh khác End Select

Select Case n Case 1 ‘ tinh x ^ 1 z = x Case 2 ‘ tinh x ^ 2 z = x ^ 2 Case 3 ‘ tinh x ^ 3 z = x ^ 3

Case Else ‘ error

MsgBox( “ Error – try again “ ) End Select

Giải thích: Đoạn chương trình cho sẵn giá trị x và n, tùy thuộc vào giá trị n là 1, 2, 3 mà ta có kết quả của z tương ứng. Nếu n không nằm trong các giá trị 1, 2, 3 thì chương trình sẽ thực hiện Case Else và báo lỗi: “ Error – try again “.

Biểu thức điều kiện trong câu lệnh Select Case có thể là biểu thức điều kiện số hoặc biểu thức điều kiện chuỗi. Nếu là biểu thức chuỗi, thì trị trong các Case cũng phải là chuỗi ký tự, chuỗi của biểu thức điều kiện sẽ được so sánh với giá trị chuỗi trong các Case cho đến khi nào biểu thức thỏa. Tương tự như trên nếu biểu thức không thỏa, thì Case Else sẽ được mặc nhiên thực hiện.

Ví dụ 2: cấu trúc chọn dạng mở rộng

Dim Flag As Integer, nhan As String Select Case Flag

Case 1, 3, 5

nhan = “ so le trong khoang tu 1 den 5 “ Case 2, 4, 6

nhan = “ so chan trong khoang tu 2 den 6 “ Case 7 To 9

nhan = “ so tu 7 den 9 Case Is >= 10

nhan = “ so lon hon hay bang 10 “ Case Else

End Select

Giải thích: hai câu lệnh case đầu có chứa giá trị số, cách nhau bằng dấu (,); câu lệnh thứ 3

chứa vùng giá trị: trị đầu và trị cuối nối với nhau bằng từ khóa To (case 7 to 9). Câu lệnh case thứ 4 có chứa biểu thức luận lý vì vậy đứng đầu phải là từ khóa Is (case is >= 10)

Vì dụ 3: Cấu trúc chọn với biểu thức là chuỗi

Dim kytu As String , kq As String Select Case kytu

Case “A“ To “Z” , “a” To “z” kq = “ ky tu la mot chu cai “ Case “0” To “9”

kq = “ ky tu la con so “ Case Else

kq= “ Khong phai ky tu hoac con so “ End Select

Giải thích: câu lệnh case thứ nhất có chứa hai khoảng giá trị chuỗi, mỗi khoảng trị có chứa từ khóa To, hai khoảng trị cách nhau bằng dấu (,).

Câu lệnh case thứ nhì chỉ chứa một vùng giá trị chuỗi nối nhau bằng từ khóa To, chú ý là “0” và ‘9” trong trường hợp này là ký tự, không phải là số.

Câu lệnh Case thứ ba chứa hai biểu thức luận lý. Mỗi biểu thức luận lý bắt đầu bằng từ khóa Is ngăn cách nhau bằng dấu (,).

Một phần của tài liệu Lịch sử máy tính (Trang 167 - 169)