Bài 14: Bài toán và thuật toán

Nội dung lý thuyết

1. Bài toán, thuật toán và cách biểu diễn thuật toán

a) Bài toán và thuật toán

  • Khái niệm bài toán: Một yêu cầu cần giải quyết cụ thể (ví dụ: tính diện tích mảnh vườn hình thang ở Hình 1a) được gọi là bài toán.

Hình 1a
Hình 1a
  • Bài toán có:

    • Đầu vào (input): Thông tin đã biết trước (ví dụ: độ dài 2 đáy và chiều cao).

    • Đầu ra (output): Kết quả cần tìm (ví dụ: diện tích mảnh vườn).

  • Khái niệm thuật toán: Là dãy hữu hạn các thao tác được sắp xếp theo thứ tự nhằm giải một bài toán.

  • Những vấn đề cần giải quyết trong đời sống hàng ngày cũng có thể được trình bày theo các bước thực hiện như một thuật toán.

  • Ví dụ: Hướng dẫn thực hiện nấu cơm bằng nồi cơm điện (Hình 2).

Hình 2. Hướng dẫn nấu cơm
Hình 2. Hướng dẫn nấu cơm

b) Cách biểu diễn thuật toán

  • Có thể dùng nhiều cách: diễn đạt bằng lời, sơ đồ khối, ngôn ngữ lập trình.

Bảng 1. Quy ước mô tả thuật toán bằng sơ đồ khối

 

Hình 3. Mô tả thuật toán pha trà mời khách bằng sơ đồ khối
Hình 3. Mô tả thuật toán pha trà mời khách bằng sơ đồ khối

2. Thuật toán có cấu trúc tuần tự

Là cấu trúc phổ biến, các bước được thực hiện lần lượt từ trên xuống.

Hình 4. Thuật toán tính diện tích thửa ruộng hình chữ nhật
Hình 4. Thuật toán tính diện tích thửa ruộng hình chữ nhật 

3. Chương trình máy tính

  • Chương trình là dãy các lệnh điều khiển máy tính thực hiện thuật toán. Nói cách khác, chương trình là bản mô tả thuật toán bằng ngôn ngữ mà máy tính có thể "hiểu" và thực hiện được.
  • Ngôn ngữ lập trình là công cụ tạo chương trình gồm các lệnh chỉ dẫn cho máy tính hiểu, thực hiện được thuật toán.
  • Hình 5 là chương trình Scratch chỉ dẫn máy tính thực hiện thuật toán tính diện tích mảnh vườn hình thang và là chương trình có cấu trúc tuần tự.
Hình 5. Chương trình Scratch tính diện tích mảnh vườn hình thang
Hình 5. Chương trình Scratch tính diện tích mảnh vườn hình thang