Trình tự, lựa chọn và vòng lặp
Đằng sau tất cả phần mềm (software) chúng ta sử dụng hàng ngày, có một đoạn mã (code) đang được chạy với đủ loại thuật ngữ và ký hiệu. Dù thường khá phức tạp nhưng nó thường có thể được chia thành ba cấu trúc lập trình đơn giản được gọi là trình tự (sequence), lựa chọn (selection) và vòng lặp (loop). Chúng kết hợp với nhau để tạo thành các hướng dẫn và thuật toán cơ bản nhất cho tất cả các loại phần mềm.
*** Bài viết này được dịch theo nội dung trong video tuyệt vời bên trên.
Trình tự
Một trình tự (sequence) là một loạt các hành động được hoàn thành theo một thứ tự cụ thể . Hành động 1 được thực hiện, sau đó Hành động 2 rồi Hành động 3 được thực hiện, v.v., cho đến khi tất cả các hành động trong chuỗi đã được hoàn thành.
Ví dụ, một trình tự chúng ta hay làm hàng ngày có thể kể đến là một thói quen vào buổi sáng. Bạn thức dậy, uống một chút nước, đánh răng, đi tắm, ăn sáng, v.v. Thói quen của mỗi người là khác nhau, nhưng tất cả đều được tạo thành từ một chuỗi các hành động khác nhau.
Lựa chọn
Các lựa chọn (selections) có một chút khác biệt so với trình tự. Thay vì tuân theo một thứ tự cụ thể, một lựa chọn sẽ được thực hiện khi một điều kiện nào đó được thỏa mãn, hay nói cách khác, một lựa chọn sẽ được thực hiện khi có một đáp án đúng ứng với câu hỏi đặt ra.
Giả sử bạn đi đánh răng, bạn thấy rằng mình đã hết kem đánh răng. Sau đó, bạn sẽ tự hỏi, "Tôi còn tuýp kem đánh răng nào nữa không?". Nếu câu trả lời là không, thì bạn sẽ thêm nó vào danh sách mua sắm của mình. Nhưng nếu câu trả lời là có, bạn sẽ chỉ cần lấy tuýp kem đánh răng đó ra. Đây thực sự là tất cả những gì mà một lựa chọn đang làm: trả lời cho một câu hỏi đã đặt.
Vòng lặp
Cấu trúc lập trình thứ ba là vòng lặp . Giống như các lựa chọn, các vòng lặp đặt câu hỏi. Tuy nhiên, điểm khác biệt là chúng hỏi đi hỏi lại cùng một câu hỏi , cho đến khi hoàn thành xong một nhiệm vụ nào đó .
Ví dụ, thực hiện hành động đóng đinh. Mặc dù bạn có thể không nhận ra, nhưng bạn vẫn liên tục tự hỏi mình, "Có phải cây đinh đã vào trong hết không?". Khi câu trả lời là không , bạn lại đóng đinh tiếp. Bạn tiếp tục lặp lại câu hỏi này cho đến khi câu trả lời là có , và sau đó bạn dừng lại . Vòng lặp cho phép các lập trình viên viết mã cho một tác vụ được lặp đi lặp lại nhiều lần một cách hiệu quả (một lần duy nhất) thay vì phải viết đi viết lại các đoạn mã giống nhau.
Ba cấu trúc lập trình này có vẻ khá đơn giản, nhưng khi kết hợp với nhau, chúng có thể tạo ra những phần mềm từ đơn giản như điều khiển một nhân vật trên màn hình di chuyển theo một quỹ đạo hình vuông cho đến các tác vụ phức tạp mà một hệ điều hành thực hiện. Nó cũng là nền tảng tư duy để bạn có thể làm quen nhanh chóng với bất kỳ loại ngôn ngữ lập trình nào.