[BÀI 3] CẤU TRÚC RẼ NHÁNH – DẠY CHƯƠNG TRÌNH “BIẾT SUY NGHĨ”

Slogan của bài học: “Nếu-Thì-Ngược lại: Ba từ khiến chương trình của bạn thông minh hơn!”

Hôm nay chúng ta sẽ học về CẤU TRÚC RẼ NHÁNH – khái niệm giúp chương trình của chúng ta “biết suy nghĩ” và đưa ra quyết định thông minh!

[Mời ôn lại Bài 2 – NHẬP->_XỬ LÝ->XUẤT]

MỤC TIÊU BÀI HỌC

  • Hiểu được ý nghĩa của cấu trúc rẽ nhánh trong lập trình
  • Sử dụng thành thạo khối nếu...thì và nếu...thì...ngược lại
  • Áp dụng vào các tình huống thực tế: kiểm tra điểm số, phân loại đối tượng

KHÁI NIỆM: THẾ NÀO LÀ “RẼ NHÁNH”?

Hãy tưởng tượng mỗi buổi sáng thức dậy, các em có các lựa chọn:

  • NẾU trời mưa → THÌ mặc áo mưa
  • NGƯỢC LẠI (trời nắng) → THÌ đội mũ

Đó chính là rẽ nhánh! Chương trình sẽ kiểm tra điều kiện và chọn một trong các hướng đi khác nhau.


THỰC HÀNH 1: KIỂM TRA ĐIỀU KIỆN ĐƠN GIẢN

Mục tiêu: Tạo chương trình kiểm tra điểm thi

Các bước thực hiện:

1. Tạo biến và nhập liệu:

    when green flag clicked
    ask [Nhập điểm số của bạn:] and wait
    set [DiemSo v] to (answer)

    2. Sử dụng cấu trúc IF (nếu-thì):

    if <(DiemSo) > [5]> then
        say [Chúc mừng! Bạn đã qua môn!] for [3] seconds
    end

    3. Chương trình hoàn chỉnh:

    when green flag clicked
    ask [Nhập điểm số của bạn:] and wait
    set [DiemSo v] to (answer)
    
    if <(DiemSo) > [5]> then
        say [Chúc mừng! Bạn đã qua môn!] for [3] seconds
    end

    THỰC HÀNH 2: SỬ DỤNG IF-ELSE (NẾU-THÌ-NGƯỢC LẠI)

    Mục tiêu: Phân loại học lực dựa trên điểm số

    Chương trình phân loại học lực:

    when green flag clicked
    ask [Nhập điểm số (0-10):] and wait
    set [DiemSo v] to (answer)
    
    if <(DiemSo) >= [8]> then
        say [Giỏi! Bạn thật xuất sắc!] for [3] seconds
    else
        if <(DiemSo) >= [6.5]> then
            say [Khá! Cố gắng hơn nữa nhé!] for [3] seconds
        else
            if <(DiemSo) >= [5]> then
                say [Trung bình! Cần nỗ lực nhiều hơn!] for [3] seconds
            else
                say [Yếu! Hãy học lại để tiến bộ!] for [3] seconds
            end
        end
    end

    CÁC TOÁN TỬ SO SÁNH QUAN TRỌNG

    Trong nhóm Operators (màu xanh lá), các em cần nhớ:

    • > : Lớn hơn
    • < : Nhỏ hơn
    • = : Bằng nhau
    • >= : Lớn hơn hoặc bằng
    • <= : Nhỏ hơn hoặc bằng
    • <> : Khác nhau

    THỰC HÀNH 3: ỨNG DỤNG THỰC TẾ – MÁY TÍNH THÔNG MINH

    Mục tiêu: Tạo máy tính kiểm tra số chẵn/lẻ

    when green flag clicked
    ask [Nhập một số bất kỳ:] and wait
    set [SoNhap v] to (answer)
    
    if <((SoNhap) mod (2)) = [0]> then
        say (join [Số ] (join (SoNhap) [ là số CHẴN])) for [3] seconds
    else
        say (join [Số ] (join (SoNhap) [ là số LẺ])) for [3] seconds
    end

    BÀI TẬP THỰC HÀNH

    Bài tập cơ bản:

    Tạo chương trình kiểm tra tuổi để xem có đủ điều kiện đi thi bằng lái xe không (đủ 18 tuổi)

    Bài tập nâng cao:

    Tạo chương trình giải phương trình bậc 1: ax + b = 0

    • Nếu a = 0 và b = 0 → Phương trình vô số nghiệm
    • Nếu a = 0 và b ≠ 0 → Phương trình vô nghiệm
    • Nếu a ≠ 0 → Phương trình có nghiệm x = -b/a

    MẸO LẬP TRÌNH HỮU ÍCH

    1. Luôn kiểm tra điều kiện biên: Ví dụ: điểm số phải từ 0-10
    2. Sử dụng phép MOD để kiểm tra tính chẵn lẻ
    3. Kết hợp nhiều điều kiện bằng khối và, hoặc
    4. Thụt lề code để dễ theo dõi các khối lệnh lồng nhau

    KẾT LUẬN

    Hôm nay chúng ta đã học được cách “dạy” cho chương trình biết suy nghĩ thông qua cấu trúc rẽ nhánh. Đây là bước tiến quan trọng từ việc tạo chương trình chạy tuần tự sang chương trình thông minh, có khả năng đưa ra quyết định.

    “Lập trình không chỉ là ra lệnh, mà là dạy máy tính cách tự đưa ra quyết định thông minh dựa trên các điều kiện cụ thể.”

    Ở bài tiếp theo, chúng ta sẽ học về VÒNG LẶP – công cụ giúp tự động hóa các công việc lặp đi lặp lại, tiết kiệm thời gian và công sức!

    Hãy thực hành thật nhiều và nhớ: mỗi lần gặp lỗi là một lần các em đang tiến gần hơn đến thành công!

    The Coding Monkey!

    Comments are closed.