OLHub

Rẽ nhánh & lặp

Hai cấu trúc còn lại sau 'tuần tự': chọn đường và làm lại. Điều kiện là một biểu thức cho ra đúng hoặc sai; vòng lặp cần biết cái gì đổi mỗi vòng và khi nào dừng. Module này cũng dạy các lỗi điều kiện kinh điển và lỗi lệch một đơn vị — hai thứ người mới mất nhiều giờ nhất mà không nhận ra. Quy ước xuyên khoá: mỗi mini challenge mở đầu bằng một câu bình thường-hoá việc làm sai — framing chống bỏ cuộc phải rải đều, không dồn vào M4.

8 bài · ~85 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Tổng quan module — rẽ nhánh và lặp

    Máy đã biết chạy tuần tự từng dòng. Module này thêm hai việc còn lại: chọn đường đi và làm lại nhiều lần — cùng hai loại lỗi ngốn nhiều giờ nhất của người mới.

    ~8 phút
  2. 02

    Rẽ nhánh — điều kiện là một biểu thức đúng hoặc sai

    Lần đầu tiên thứ tự trên xuống bị bẻ. Máy tính điều kiện ra đúng hoặc sai, đi đúng một nhánh, và bỏ qua hoàn toàn các nhánh còn lại — kể cả nhánh trông có vẻ cũng hợp.

    ~10 phút
  3. 03

    Điều kiện phức hợp — and, or, not

    Ghép nhiều điều kiện lại là chỗ ba cái bẫy kinh điển nằm chờ. Chúng không báo lỗi, chương trình vẫn chạy — chỉ là chạy sai, và người mới mất hàng giờ mới thấy.

    ~11 phút
  4. 04

    Vòng lặp while — cái gì đổi mỗi vòng, khi nào dừng

    Làm lại một việc cho tới khi điều kiện hết đúng. Muốn nó dừng thì phải có thứ gì đó đổi mỗi vòng — quên đúng một dòng là máy chạy mãi không thôi.

    ~12 phút
  5. 05

    for và danh sách — lặp qua một tập dữ liệu

    Khi đã biết trước cần duyệt qua những gì, for gọn hơn while nhiều. Đây cũng là chỗ gặp biến tích luỹ: một ô nhớ lớn dần qua từng vòng để giữ tổng, đếm, hoặc lớn nhất.

    ~12 phút
  6. 06

    Lặp lồng nhau và lỗi lệch một đơn vị

    Một vòng lặp nằm trong một vòng lặp khác: thân trong chạy n nhân m lần, không phải n cộng m. Và chỉ cần lệch một đơn vị ở điều kiện dừng là thừa hoặc thiếu đúng một vòng.

    ~12 phút
  7. 07

    Mini challenge — trace một vòng lặp lồng

    Lấy giấy ra. Một vòng lặp lồng mười dòng, không giảng gì trước, không gợi ý sẵn: kẻ bảng trace và nói đúng dãy số nó in ra.

    ~12 phút
  8. 08

    Tổng kết module — bạn đã có đủ ba cấu trúc

    Tuần tự, rẽ nhánh, lặp — ba thứ này ghép lại đủ viết mọi chương trình. Nhìn lại sáu bài, và tự chấm trước khi bước sang phần khó nhất của khoá.

    ~8 phút