Bài 13. Quy trình giao bài toán cho máy tính giải quyết

Khởi động (SGK Chân trời sáng tạo - Trang 78)

Hướng dẫn giải

Máy tính chưa hiểu hiểu để thực hiện. Tại vì máy tính thực hiện các nhiệm vụ dựa trên mã lệnh.

(Trả lời bởi Người Già)
Thảo luận (1)

Khám phá mục 1 (SGK Chân trời sáng tạo - Trang 79)

Hướng dẫn giải

Sau khi mô tả thuật toán, để máy tính thực hiện được, chúng ta cần chuyển đổi mô tả thuật toán thành mã lệnh trong một ngôn ngữ lập trình cụ thể mà máy tính có thể hiểu và thực thi. Việc này thường được thực hiện bằng cách viết mã lệnh theo ngôn ngữ lập trình và sử dụng trình biên dịch hoặc trình thông dịch để chuyển đổi mã lệnh thành mã máy để máy tính có thể thực thi.

Ví dụ, giả sử chúng ta đã mô tả thuật toán tính tổng của hai số nguyên dương a và b như sau:

1. Bắt đầu: Thuật toán bắt đầu.

2. Nhập a và b: Người dùng nhập giá trị của a và b.

3. Tính tổng: Tính tổng của a và b.

4. Xuất kết quả In ra kết quả tổng

(Trả lời bởi Người Già)
Thảo luận (1)

Khám phá mục 2 (SGK Chân trời sáng tạo - Trang 79)

Hướng dẫn giải

Để giao bài toán tìm ƯCLN (ước chung lớn nhất) của hai số nguyên dương a và b cho máy tính giải quyết, chúng ta cần thực hiện các bước sau:

1. Thu thập dữ liệu: Nhập giá trị của hai số nguyên dương a và b từ người dùng hoặc từ một nguồn dữ liệu khác.

2. Viết thuật toán: Mô tả thuật toán tìm ƯCLN của hai số nguyên dương a và b. Có nhiều thuật toán khác nhau để tìm ƯCLN, như thuật toán Euclid hay thuật toán tìm ước số chung.

3. Chọn ngôn ngữ lập trình: Chọn một ngôn ngữ lập trình để viết mã lệnh thực hiện thuật toán. Có nhiều ngôn ngữ lập trình phổ biến như Python, C++, Java, JavaScript, v.v.

4. Viết mã lệnh: Sử dụng ngôn ngữ lập trình đã chọn, viết mã lệnh thực hiện thuật toán tìm ƯCLN. Mã lệnh sẽ bao gồm các phép toán và lệnh điều khiển cần thiết để thực hiện thuật toán.

(Trả lời bởi Người Già)
Thảo luận (1)

Khám phá mục 2 (SGK Chân trời sáng tạo - Trang 80)

Hướng dẫn giải

a) Quy trình giao bài toán cho máy tính giải quyết đã được thực hiện đến bước viết chương trình tính chỉ số BMI và đưa ra lời khuyên dựa trên kết quả BMI.

b) Sản phẩm của mỗi bước đã thực hiện như sau:

- Bước 1: Thu thập dữ liệu - Chương trình đã yêu cầu người dùng nhập chiều cao và cân nặng để tính toán chỉ số BMI.

- Bước 2: Tính chỉ số BMI - Chương trình đã tính toán chỉ số BMI bằng cách sử dụng công thức BMI = cân nặng / (chiều cao * chiều cao).

- Bước 3: Đưa ra lời khuyên - Chương trình đã dựa vào kết quả BMI để đưa ra lời khuyên về tình trạng cơ thể của người dùng.

c) Bước cần thực hiện tiếp theo là thêm phần kiểm tra và xử lý lỗi. Điều này đảm bảo rằng chương trình có thể xử lý các tình huống không mong muốn hoặc dữ liệu không hợp lệ từ người dùng. Ví dụ: kiểm tra xem chiều cao và cân nặng có lớn hơn không hay không, hoặc kiểm tra xem dữ liệu đầu vào có phải là số hay không trước khi thực hiện tính toán. Nếu dữ liệu không hợp lệ, chương trình nên cung cấp thông báo lỗi thích hợp cho người dùng và yêu cầu nhập lại dữ liệu.

(Trả lời bởi Người Già)
Thảo luận (1)

Luyện tập 1 (SGK Chân trời sáng tạo - Trang 80)

Hướng dẫn giải

Chúng ta phải chuyển thuật toán thành chương trình cho máy tính vì máy tính chỉ có thể thực thi các lệnh và phép tính cụ thể được viết bằng một ngôn ngữ lập trình. Thuật toán, mặc dù đã mô tả các bước cần thiết để giải quyết một vấn đề, không thể được máy tính hiểu trực tiếp.

(Trả lời bởi Người Già)
Thảo luận (1)

Luyện tập 2 (SGK Chân trời sáng tạo - Trang 80)

Hướng dẫn giải

Quy trình:

- Xác định bài toán

- Xây dựng thuật toán

- Lập trình

- Kiểm thử và chạy chương trình

(Trả lời bởi Người Già)
Thảo luận (1)

Thực hành 1 (SGK Chân trời sáng tạo - Trang 80)

Hướng dẫn giải

when green flag clicked

ask "Nhập chiều cao (m):" and wait

set [height v] to (answer)

ask "Nhập cân nặng (kg):" and wait

set [weight v] to (answer)

set [BMI v] to (weight) / ((height) * (height))

say (join "Chỉ số BMI của bạn là " (BMI))

if <(BMI) < (18.5)> then

  say "Bạn đang gầy, hãy tăng cân!"

else

  if <(BMI) < (24.9)> then

    say "Bạn có cân nặng bình thường, hãy duy trì!"

  else

    if <(BMI) < (29.9)> then

      say "Bạn bị thừa cân, hãy giảm cân!"

    else

      say "Bạn bị béo phì, hãy giảm cân!"

    end

  end

end

(Trả lời bởi Người Già)
Thảo luận (1)

Thực hành 2 (SGK Chân trời sáng tạo - Trang 80)

Hướng dẫn giải

Bước 1: Xác định bài toán - Bài toán là tìm bội số chung nhỏ nhất của hai số nguyên dương a và b.

Bước 2: Xây dựng thuật toán - Một thuật toán phổ biến để tìm bội số chung nhỏ nhất là sử dụng thuật toán Euclid mở rộng hoặc sử dụng phép nhân của hai số để tìm ra kết quả. Bạn có thể chọn thuật toán mà bạn muốn sử dụng.

Bước 3: Lập trình - Chọn một ngôn ngữ lập trình và viết mã lệnh thực hiện thuật toán đã chọn. Bạn có thể sử dụng ngôn ngữ lập trình như Python, C++, Java, JavaScript, v.v.

Bước 4: Kiểm thử và chạy chương trình - Nhập giá trị của a và b từ người dùng hoặc sử dụng các giá trị mẫu để kiểm thử chương trình. Chạy chương trình và kiểm tra kết quả để đảm bảo rằng nó trả về bội số chung nhỏ nhất của a và b.

(Trả lời bởi Người Già)
Thảo luận (1)

Vận dụng (SGK Chân trời sáng tạo - Trang 81)

Hướng dẫn giải

when green flag clicked

set [Trả lời v] to "Có"

repeat until <(Trả lời) = "Không">

  ask "Tên sách muốn mượn:" and wait

  set [sachmuon v] to (answer)

  if <(sachmuon) = [Tên sách]> then

    set [soluong v] to [Số lượng]

    if <(soluong) = [0]> then

      say "Cuốn sách đã được mượn hết"

    else

      say (join "Vị trí của cuốn sách: " (Vị trí))

      change [soluong] by (-1)

    end

  end

  ask "Tiếp tục (Có/Không)?" and wait

  set [Trả lời v] to (answer)

end

(Trả lời bởi Người Già)
Thảo luận (1)