Các dạng bài tập sử dụng câu lệnh rẽ nhánh năm 2024

Tại một cửa hàng cam, nếu khách hàng mua dưới 5kg thì giá bán là 20000 đồng/kg. Nếu khối lượng mua từ 5kg trở lên thì giá bán là 18000 đồng/1kg. Viết chương trình Python nhập số lượng khách mua (theo kg) và hiển thị số tiền khách số tiền phải trả.

Show

    Bạn cần phải Đăng nhập để trả lời câu hỏi này

    Cấu trúc rẽ nhánh là một dạng cấu trúc rất quan trọng không chỉ trong lập trình, mà còn hiện hữu phổ biến ở cuộc sống thực tế. Cụ thể đó là khi mà bạn đưa ra các quyết định, lựa chọn khác nhau ở các điều kiện cụ thể.

    Lấy ví dụ như khi đi học, bạn có thể lựa chọn các phương tiện khác nhau dựa vào điều kiện thời tiết. Nếu trời nắng, thì bạn đi xe máy; còn nếu trời mưa thì bạn đi xe hơi.

    Các dạng bài tập sử dụng câu lệnh rẽ nhánh năm 2024

    Thông qua ví dụ trên, chúng ta có thể thấy điều kiện ở đây là "Trời có mưa?" và điều kiện này sẽ được thể hiện ở dạng câu hỏi. Như các bạn có thể thấy, với điều kiện khác nhau, thì đều sẽ đưa ra các hành động khác nhau. Đây được gọi là câu lệnh rẽ nhánh dạng đủ.

    Ngoài ra, chúng ta có thể không đưa ra hành động ở một nhánh của điều kiện. Để đơn giản, hãy xét ví dụ sau, khi bạn cần đi mua bánh, nhưng do trời mưa thì bạn phải mang dù (ô). Rõ ràng, trong tình huống này, hành động mang dù sẽ được thực hiện, ngược lại, nếu trời không mưa thì bạn không cần thực hiện thêm điều gì. Cuối cùng, cả hai nhánh đều sẽ thực hiện việc "Đi mua bánh". Đây gọi là rẽ nhánh dạng thiếu.

    Các dạng bài tập sử dụng câu lệnh rẽ nhánh năm 2024

    Trong lập trình, chúng ta biểu diễn cấu trúc này bằng câu lệnh if-else với cú pháp như sau:

    Cú pháp (dạng đủ):

    if ():

    else:

    Với ví dụ đầu tiên, chúng ta có thể tạo ra một biến troi_mua để thể hiện trạng thái, và in ra lựa chọn như sau:

    Nhiệm vụ 1. Viết chương trình nhập vào hai số thực a, b. Xuất ra số lớn hơn trong hai số.

    Nhiệm vụ 2. Viết chương trình nhập vào số nguyên a. Xuất ra thông báo a chẵn hay lẻ.

    Đối với câu lệnh rẽ nhánh dạng thiếu, chúng ta chỉ cần đơn giản bỏ đi phần "else". Do đó, cú pháp sẽ là:

    Cú pháp (dạng thiếu):

    if ():

    Dưới đây sẽ là đoạn chương trình mô tả ví dụ thứ 2:

    Ở một số trường hợp, điều kiện rẽ nhánh của bạn có thể sẽ phức tạp hơn thay vì chỉ có đúng/sai. Ví dụ như nếu chúng ta xét đèn giao thông, chúng ta sẽ có 3 trường hợp khác nhau:

    • Đèn xanh: Chạy bình thường
    • Đèn vàng: Chạy chậm
    • Đèn đỏ: Dừng lại

    Bởi vì điều kiện được truyền vào bên trong lệnh if chỉ có thể có dạng "đúng/sai". Nên ta có thể quy đổi các điều kiện trên thành

    • "Đèn có phải màu xanh?"
    • "Đèn có phải màu vàng?"
    • "Đèn có phải màu đỏ?"

    Để biểu diễn cho ví dụ này, ta có thể vẽ lưu đồ như sau:

    Các dạng bài tập sử dụng câu lệnh rẽ nhánh năm 2024

    Lưu ý: Chúng ta không cần phải xét "Đèn có phải màu đỏ" bởi vì nếu cả hai điều kiện "Đèn là màu xanh" và "Đèn là màu vàng" là sai, thì chắc chắn đèn sẽ màu đỏ.

    Để biểu diễn lưu đồ trên bằng Python, bạn hãy tham khảo đoạn chương trình sau:

    Nhiệm vụ 3. Viết chương trình nhập số nguyên N. Xuất ra thông báo N "âm" hay "Dương". Nếu người dùng nhập số 0 thì xuất "Số 0"

    Nhiệm vụ 4. Viết chương trình nhập 3 số nguyên a, b, c. Xuất ra số lớn nhất trong ba số đó

    ví dụ:

    Input | Output

    ------

    3 5 4 | 5

    Nhiệm vụ 6. Viết chương trình nhập vào 3 cạnh của tam giác, kiểm tra xem tam giác đó có cân hay không. Nếu là tam giác cân thì xuất "CAN", nếu không cân thì xuất "KHONG CAN"

    ví dụ:

    Input | Output

    ------

    3 4 4 | CAN

    Nhiệm vụ 7. Viết chương trình nhập vào 3 cạnh của tam giác, kiểm tra xem tam giác đó có vuông hay không. Nếu là tam giác vuông thì xuất "VUONG", nếu không cân thì xuất "KHONG VUONG"

    ví dụ:

    Input | Output

    ------

    3 4 5 | VUONG

    Nhiệm vụ 8. Viết chương trình nhập vào 3 cạnh của tam giác, kiểm tra xem tam giác đó có đều hay không. Nếu là tam giác đều thì xuất "DEU", nếu không cân thì xuất "KHONG DEU"

    ví dụ:

    Input | Output

    ------

    5 5 5 | DUE

    Tuy nhiên, bạn có thể nhận thấy rằng nếu các câu lệnh lồng vào nhau quá nhiều thì sẽ làm cho chương trình rất khó đọc. Tình huống này được gọi là "Pyramid of doom".

    Các dạng bài tập sử dụng câu lệnh rẽ nhánh năm 2024

    Bởi vì lý do đó, các nhà thiết kế ngôn ngữ Python đã tạo thêm một lệnh "else if" để gộp hai câu lệnh else-if liền kề nhau lại. Khi bạn có nhiều điều kiện khác nhau, bạn có thể dùng cú pháp như sau:

    Cú pháp:

    if ():

    elif ():

    else:

    Với ví dụ đèn giao thông, ta có thể viết tốt hơn bằng cấu trúc if-elif-else như sau.

    Bai 1 - Tiền điện

    Nhập vào chương trình số KW điện trong một tháng. Tính và xuất ra màn hình số tiền cần phải trả theo công thức sau: