Read more »
Việc học lập trình với câu lệnh if-else là một trong những kiến thức cơ bản và quan trọng nhất, giúp chương trình của bạn có thể đưa ra các quyết định dựa trên các điều kiện khác nhau. Dưới đây là giải thích chi tiết và ví dụ về việc xét học vụ sinh viên.
Câu lệnh if-else trong lập trình
Trong lập trình, câu lệnh if-else được sử dụng để thực hiện các khối mã khác nhau tùy thuộc vào việc một điều kiện có đúng (true) hay sai (false). Nó cho phép chương trình của bạn "suy nghĩ" và "phản ứng" với các tình huống khác nhau.
Cấu trúc cơ bản
Cấu trúc tổng quát của if-else thường trông như sau:
if (điều kiện) {
// Khối mã này sẽ được thực thi nếu điều kiện là ĐÚNG
} else {
// Khối mã này sẽ được thực thi nếu điều kiện là SAI
}
* điều kiện: Là một biểu thức logic trả về giá trị true hoặc false. Ví dụ: điểm >= 5, tuổi < 18, tên == "An".
* Khối mã trong if: Chỉ được thực thi khi điều kiện là true.
* Khối mã trong else: Chỉ được thực thi khi điều kiện là false. Phần else là tùy chọn, bạn có thể chỉ sử dụng if mà không có else nếu không cần xử lý trường hợp điều kiện sai.
Câu lệnh if-else if-else (Nếu có nhiều điều kiện)
Khi bạn có nhiều hơn hai trường hợp để xử lý, bạn có thể sử dụng cấu trúc if-else if-else:
if (điều kiện 1) {
// Khối mã này sẽ được thực thi nếu điều kiện 1 là ĐÚNG
} else if (điều kiện 2) {
// Khối mã này sẽ được thực thi nếu điều kiện 1 là SAI VÀ điều kiện 2 là ĐÚNG
} else {
// Khối mã này sẽ được thực thi nếu tất cả các điều kiện trên đều SAI
}
Chương trình sẽ kiểm tra từng điều kiện theo thứ tự. Ngay khi tìm thấy một điều kiện đúng, khối mã tương ứng sẽ được thực thi và chương trình sẽ bỏ qua các else if và else còn lại.
Ví dụ: Xét học vụ sinh viên
Hãy xem xét một ví dụ thực tế về việc sử dụng if-else để xét học vụ cho sinh viên dựa trên điểm trung bình (GPA).
Yêu cầu:
Một trường đại học có các quy định sau về xếp loại học vụ cho sinh viên dựa trên điểm trung bình (GPA):
* GPA từ 3.6 trở lên: Xếp loại Xuất sắc
* GPA từ 3.2 đến dưới 3.6: Xếp loại Giỏi
* GPA từ 2.5 đến dưới 3.2: Xếp loại Khá
* GPA từ 2.0 đến dưới 2.5: Xếp loại Trung bình
* GPA dưới 2.0: Xếp loại Yếu
Chúng ta sẽ viết một chương trình để nhập điểm GPA của sinh viên và in ra xếp loại học vụ tương ứng.
Code (Ví dụ bằng Python)
# Yêu cầu người dùng nhập điểm GPA
gpa_str = input("Nhập điểm GPA của sinh viên: ")
# Chuyển đổi chuỗi nhập vào thành số thực (float)
gpa = float(gpa_str)
# Sử dụng câu lệnh if-else if-else để xét học vụ
if gpa >= 3.6:
xep_loai = "Xuất sắc"
elif gpa >= 3.2:
xep_loai = "Giỏi"
elif gpa >= 2.5:
xep_loai = "Khá"
elif gpa >= 2.0:
xep_loai = "Trung bình"
else:
xep_loai = "Yếu"
# In kết quả
print(f"Với GPA là {gpa}, sinh viên được xếp loại: {xep_loai}")
Giải thích chi tiết từng bước
* gpa_str = input("Nhập điểm GPA của sinh viên: "):
* Dòng này sử dụng hàm input() để hiển thị một thông báo cho người dùng và chờ họ nhập dữ liệu từ bàn phím.
* Dữ liệu người dùng nhập vào sẽ được lưu dưới dạng chuỗi (string) vào biến gpa_str.
* gpa = float(gpa_str):
* Vì điểm GPA là một số có thể có phần thập phân (ví dụ: 3.55, 2.8), chúng ta cần chuyển đổi chuỗi gpa_str thành số thực (kiểu float) bằng hàm float().
* Giá trị số thực này được lưu vào biến gpa.
* if gpa >= 3.6::
* Đây là điều kiện đầu tiên được kiểm tra. Nếu gpa lớn hơn hoặc bằng 3.6, thì khối mã bên dưới (gán "Xuất sắc" cho xep_loai) sẽ được thực thi.
* Sau khi khối mã này thực thi, chương trình sẽ bỏ qua tất cả các elif và else còn lại và chuyển đến dòng print().
* elif gpa >= 3.2::
* Nếu điều kiện gpa >= 3.6 ở trên là false (tức là GPA nhỏ hơn 3.6), thì chương trình sẽ kiểm tra điều kiện này.
* Điều kiện này sẽ đúng nếu gpa lớn hơn hoặc bằng 3.2 và nhỏ hơn 3.6 (do điều kiện trên đã sai).
* Nếu đúng, "Giỏi" sẽ được gán cho xep_loai.
* elif gpa >= 2.5::
* Tương tự, nếu các điều kiện trên đều sai, chương trình sẽ kiểm tra điều kiện này.
* Điều kiện này sẽ đúng nếu gpa lớn hơn hoặc bằng 2.5 và nhỏ hơn 3.2.
* Nếu đúng, "Khá" sẽ được gán cho xep_loai.
* elif gpa >= 2.0::
* Nếu các điều kiện trên đều sai, chương trình sẽ kiểm tra điều kiện này.
* Điều kiện này sẽ đúng nếu gpa lớn hơn hoặc bằng 2.0 và nhỏ hơn 2.5.
* Nếu đúng, "Trung bình" sẽ được gán cho xep_loai.
* else::
* Đây là khối mã "mặc định". Nếu tất cả các điều kiện if và elif ở trên đều sai (tức là gpa nhỏ hơn 2.0), thì khối mã trong else sẽ được thực thi.
* Trong trường hợp này, "Yếu" sẽ được gán cho xep_loai.
* print(f"Với GPA là {gpa}, sinh viên được xếp loại: {xep_loai}"):
* Cuối cùng, chương trình in ra kết quả xếp loại học vụ của sinh viên. Ký tự f trước chuỗi cho phép chúng ta nhúng các biến vào trong chuỗi một cách dễ dàng (f-string).
Tại sao if-else lại quan trọng?
* Logic có điều kiện: if-else là nền tảng để xây dựng các chương trình có logic phức tạp, cho phép chúng phản ứng thông minh với các đầu vào và tình huống khác nhau.
* Kiểm soát luồng: Nó kiểm soát "dòng chảy" của chương trình, quyết định những phần mã nào sẽ được thực thi và phần nào sẽ bị bỏ qua.
* Xử lý lỗi và xác thực: Bạn có thể sử dụng if-else để kiểm tra đầu vào của người dùng có hợp lệ không, xử lý các trường hợp lỗi, hoặc đảm bảo chương trình chạy đúng theo mong muốn.
Việc nắm vững if-else là bước đệm vững chắc để bạn học các cấu trúc điều khiển khác như vòng lặp (for, while) và xây dựng các chương trình phức tạp hơn. Bạn có muốn thử các ví dụ khác với if-else không?
0 Reviews