Lập trình autoit cho người khiếm thị - Câu lệnh điều kiện rẽ nhánh If Else
Thứ ba - 15/10/2019 08:23
Câu lệnh If Else có mặt trong tất cả các ngôn ngữ lập trình. Nó giúp chúng ta kiểm tra một điều kiện nào đó xem đúng hay sai rồi thực thi lệnh tương ứng.
Nếu "em 20 tuổi" thì
"anh sẽ cưới em"
Còn không
"Anh sẽ lấy cô khác"
Nếu mang điều kiện trên viết thành mã thì nó sẽ là:
If "em" = "20 tuổi" Then
MsgBox(0, "Điều kiện dúng", "Anh sẽ cưới em")
EndIf
Điều kiện trên mình dùng để kiểm tra xem em có phải 20 tuổi không, nếu đúng là 20 tuổi thì mình sẽ cho hiển thị một message box.
Ở trên mới chỉ dùng đến lệnh If, tức là chỉ thực thi lệnh khi điều kiện đúng còn nó sai thì sao và ví dụ sau sẽ thêm một điều kiện nữa là nếu sai thì sẽ thực hiện câu lệnh khác.
If "em" = "20 tuổi" Then
MsgBox(0, "Điều kiện dúng", "Anh sẽ cưới em")
Else
MsgBoxx(0,'Em không phải 20 tuổi', 'Anh sẽ lấy cô khác')
EndIf
Lệnh Else sẽ giúp bạn thực hiện lệnh khi điều kiện If là không đúng.
Các bạn đã hình dung ra cách dùng chưa?
If là bắt đầu khai báo điều kiện
EndIf là kết thúc một điều kiện
Ví dụ 2:
$number = 4
If $number = 3 then
MsgBox(0, 'Điều kiện đúng', 'Biến number đúng là bằng 3 ')
Else
MsgBox(0, 'Thông báo lỗi', 'Biến number không phải bằng 3 ')
EndIf
Điều kiện trên kiểm tra xem biến number có phải bằng 3 không nhưng thực tế nó bằng 4 nên điều kiện trên sẽ phải thực thi lệnh dưới dòng else chứ không thực thi lệnh dưới dòng if.
Bây giờ thế này nhé, em 20 tuổi thì anh cưới và em 30 tuổi anh cũng cưới. Chú ý là anh chỉ cưới khi em 20 hoặc 30 thôi chứ còn tuổi khác là anh không cưới đâu đấy.
Nếu viết giống như ví dụ ở trên thì ta sẽ có hai khối lệnh if như sau:
Đoạn 1. Kiểm tra nếu em 20 tuổi:
If "em" = "20 tuổi" Then
MsgBox(0, "Điều kiện dúng", "Anh sẽ cưới em")
Else
MsgBoxx(0,'Em không phải 20 tuổi', 'Anh sẽ lấy cô khác')
EndIf
Đoạn 2. Kiểm tra nếu em 30 tuổi:
If "em" = "30 tuổi" Then
MsgBox(0, "Điều kiện dúng", "Anh sẽ cưới em")
Else
MsgBoxx(0,'Em không phải 30 tuổi', 'Anh sẽ lấy cô khác')
EndIf
Viết như trên cũng là đúng nhưng dòng lệnh sẽ rất dài nếu chúng ta có nhiều trường hợp cần kiểm tra. Chẳng hạn như anh muốn cưới cả khi em bằng 40 tuổi, 50 tuổi, 60 tuổi, 70 tuổi, 80 tuổi.... thì sao.
Có một cách ngắn gọn và chuyên nghiệp hơn đó là dùng thêm câu lệnh ElseIf. Mình sẽ gộp đoạn 1 và đoạn 2 thành một khối như sau với câu lệnh elseIf:
If "em" = "20 tuổi" Then
MsgBox(0, "Điều kiện dúng", "Em 20 tuổi anh sẽ cưới em")
elseIf "em" = "30 tuổi" Then
MsgBox(0, "Điều kiện đúng", "Em 30 tuổi anh cũng vẫn cưới em")
Else
MsgBoxx(0,'Sai', 'Em không phải 20 tuổi và cũng không phải 30 tuổi nên anh sẽ lấy cô khác')
EndIf
Ok. Các bạn cứ xem kỹ các ví dụ trên sẽ hiểu thôi.
Văn chương lủng củng nên rất mong anh em thông cảm!
Tác giả bài viết: Toản Phùng
Vui lòng ghi rõ nguồn bài viết và tên tác giả nếu bạn đăng lại nội dung ở đây trên các trang web hoặc diễn đàn khác.