Câu 15.1. Thuật toán là gì?
A. Các mô hình và xu hướng được sử dụng để giải quyết vấn đề.
B. Một dãy các chỉ dẫn từng bước để giải quyết vấn đề.
C. Một ngôn ngữ lập trình.
D. Một thiết bị phần cứng lưu trữ dữ liệu.
Trả lời
Chọn đáp án B
Câu 15.2. Thuật toán có thể được mô tả theo hai cách nào?
A. Sử dụng các biến và dữ liệu.
B. Sử dụng đầu vào và đầu ra.
C. Sử dụng ngôn ngữ tự nhiên và sơ đồ khối.
D. Sử dụng phần mềm và phần cứng.
Trả lời
Chọn đáp án C
Câu 15.3. Phát biểu nào sau đây là đúng?
A. Mỗi bài toán chỉ có duy nhất một thuật toán để giải.
B. Trình tự thực hiện các bước trong thuật toán không quan trọng.
C. Trong thuật toán, với dữ liệu đầu vào luôn xác định được kết quả đầu ra.
D. Một thuật toán có thể không có đầu vào và đầu ra.
Trả lời
Chọn đáp án C
Câu 15.4. Bạn Tuấn nghĩ về những công việc sẽ thực hiện sau khi thức dậy vào buổi sáng. Bạn ấy viết một thuật toán bằng cách ghi ra từng bước, từng bước một. Bước đầu tiên bạn ấy viết ra là: "Thức dậy". Em hãy cho biết bước tiếp theo là gì?
A. Đánh răng.
B. Thay quần áo.
C. Đi tắm.
D. Ra khỏi giường.
Trả lời
Chọn đáp án D
Câu 15.5. Cho các câu lệnh Scratch sau đây, câu lệnh nào thực hiện nhập dữ liệu đầu vào, câu lệnh nào thực hiện thông báo kết quả đầu ra của thuật toán?
Trả lời
Câu lệnh 1, 2 thực hiện nhập dữ liệu đầu vào, câu lệnh 3, 4 thực hiện thông báo kết quả đầu ra của thuật toán.
Câu 15.6. Sơ đồ khối là gì?
A. Một sơ đồ gồm các hình khối, đường có mũi tên chì hướng thực hiện theo từng bước của thuật toán.
B Một ngôn ngữ lập trình.
C. Cách mô tả thuật toán bằng ngôn ngữ tự nhiên.
D. Một biểu đồ hình cột.
Trả lời
Chọn đáp án A
Câu 15.7. Mục đích của sơ đồ khối là gì?
A. Để mô tả chi tiết một chương trình.
B. Để mô tả các chỉ dẫn cho máy tính “hiểu" về thuật toán.
C. Để mô tả các chỉ dẫn cho con người hiểu về thuật toán.
D. Để chỉ dẫn cho máy tính thực hiện thuật toán.
Trả lời
Chọn đáp án C
Câu 15.8. Lợi thế của việc sử dụng sơ đồ khối so với sử dụng ngôn ngữ tự nhiên để mô tả thuật toán là gì?
A. Sơ đồ khối tuân theo một tiêu chuẩn quốc tế nên con người dù ở bất kể quốc gia nào cũng có thể hiểu.
B. Sơ đồ khối dễ vẽ.
C. Sơ đồ khối dễ thay đổi.
D. Vẽ sơ đồ khối không tốn thời gian.
Trả lời
Chọn đáp án A
Câu 15.9. Trong các ví dụ sau, ví dụ nào là thuật toán?
A. Một bản nhạc hay.
B. Một bức tranh đầy màu sắc.
C. Một bản hướng dẫn về cách nướng bánh với các bước cần làm.
D. Một bài thơ lục bát.
Trả lời
Chọn đáp án C
Câu 15.10. Bạn Thành viết một thuật toán mô tả việc đánh răng. Bạn ấy ghi các bước như sau:
(1) Rửa sạch bàn chải.
(2) Súc miệng.
(3) Chải răng.
(4) Cho kem đánh răng vào bàn chải.
Em hãy sắp xếp lại các bước cho đúng thứ tự thực hiện.
Trả lời
Ta sắp xếp như sau:
(4) - (3) - (2) - (1)
Câu 15.11. Cho biết đầu vào, đầu ra của các thuật toán sau đây:
a) Thuật toán nhân đôi số a.
b) Thuật toán tìm số lớn hơn trong hai số a, b.
c) Thuật toán hoán đổi vị trí chỗ ngồi cho hai bạn trong lớp.
d) Thuật toán tìm một cuốn sách có trên giá sách hay không.
Trả lời
a) Thuật toán nhân đôi một số a.
Đầu vào: số a.
Đầu ra: giá trị 2 X a.
b) Thuật toán tìm số lớn hơn trong hai số a, b.
Đầu vào: hai số a, b.
Đầu ra: số lớn hơn.
c) Thuật toán hoán đổi vị trì chỗ ngồi cho hai bạn trong lớp.
Đầu vào: vị trí chỗ ngồi của hai bạn a, b trong lớp.
Đầu ra: vị trí chỗ ngồi mới của hai bạn a, b sau khi hoán đổi.
d) Thuật toán tìm một cuôn sách có trên giá sách hay không?
Đầu vào: tên cuốn sách cần tìm, giá sách.
Đầu ra: thông báo cuốn sách có trên giá hay không, nếu có chỉ ra vị trí của nó trên giá sách.
Câu 15.12.
a) Chương trình Scratch Hình 16 thực hiện thuật toán gi? Hãy xác định đầu vào, đầu ra của thuật toán.
b) Em hãy mô tả thuật toán bằng ngôn ngữ tự nhiên và sơ đồ khối.
Trả lời
a) Chương trình thực hiện thuật toán tính tổng hai số.
Đầu vào: hai số x, y.
Đầu ra: Tồng hai số
b) Mô tả thuật toán bằng ngôn ngữ tự nhiên:
1. Thông báo “Mình cùng làm toán nhé” trong 2 giây.
2. Nhập số thứ nhất.
3. Gán giá trị trả lời vào biến X.
4. Nhập số thứ hai.
5. Gán giá trị trả lời vào biến y.
6. Gán tổng X + y vào biến kq.
7. Thông báo Tổng hai số trong 10 giây.
Mô tả thuật toán bằng sơ đồ khối (Hình 32).
Câu 15.13. Trong Hình 17, Rô-bốt cần tìm đường đí từ vị trí bắt đầu đến vị trí kết thúc. Biết Rô-bốt chỉ thực hiện được các hành động quay trái, quay phải và tiến 1 bước, lùi 1 bước. Ban đầu Rô-bốt đứng ờ ô bắt đầu và quay mặt theo hướng mũi tên trong Hình 17. Dưới đây là một cách đi của Rô-bốt từ ô bắt đầu đến ô kết thúc:
1. Bắt đầu
2. Tiến lên 1 bước
3. Quay phải
4. Tiến 1 bước
5. Tiến 1 bước
6. Quay phải
7. Tiến 1 bước
8. Kết thúc
Em hãy tỉm những cách đi khác cho Rô-bốt và chỉ ra cách nào là nhanh nhất. Tại sao?
Trả lời
Hai cách đi khác của Rô-bốt
Cách 1. Hình 33
1. Bát đầu
2. Quay phải
3. Tiến 1 bước
4. Tiến 1 bước
5. Kết thúc
Cách 2. Hình 34
1. Bắt đầu
2. Tiến 1 bước
3. Quay phải
4. Tiến 1 bước
5. Quay phải
6. Tiến 1 bước
7. Quay trái
8. Tiến 1 bước
9. Kết thúc
Cách đi theo Hình 33 nhanh hơn vì số bước thực hiện ít hơn
Câu 15.14. Cho chương trinh Scratch như Hình 18:
a) Chương trình thực hiện thuật toán gì? Em hãy xác định đầu vào, đầu ra của thuật toán.
b) Em hãy viết lại thuật toán mà chương trình thực hiện theo cách liệt kê từng bước bằng ngôn ngũ’ tự nhiên.
c) Với số thứ nhất là 25, số thứ hai là 8 và nhập lựa chọn trả lời là 2, em hãy thực hiện từng bước của thuật toán trong bảng mô tả bằng ngôn ngữ tự nhiên ở câu b).
Trả lời
a) Chương trình thực hiện thuật toán tính tổng hoặc tích của hai số.
Đầu vào: hai số x, y.
Đầu ra: tổng hoặc tích hai số.
b) Chương trình thực hiện theo cách liệt kê từng bước bằng ngôn ngữ tự nhiên như sau:
1. Thông báo “Mình cùng làm toán nhé” trong 2 giây.
2. Nhập số thứ nhát.
3. Gán giá trị trả lời vào biến x.
4. Nhập số thứ hai.
5. Gán giá trị trả lời vào biến y.
6. Nhập lựa chọn tính tổng hay tích.
7. Nếu trả lời bằng 1 thì gán tổng x + y vào biến kq và thông báo Tổng hai số là kq.
8. Nếu trả lời bằng 2 thì gán tích x * y vào biến kq và thông báo Tích hai số là kq.
c) Với số thứ nhất là 25, số thứ hai là 8 nhập lựa chọn trả lời là 2 thực hiện từng bước của thuật toán trong bảng mô tả liệt kê từng bước bằng ngôn ngũ’ tự nhiên ở câu b) như sau:
1. Thông báo “Mình cùng làm toán nhé" trong 2 giây.
2. Nhập số thứ nhất là 25.
3. Gán giá trị 25 vào biến x. Vì vậy xbằng 25.
4. Nhập số thứ hai là 8.
5. Gán giá trị 8 vào biến y. Vì vậy y bằng 8.
6. Nhập lựa chọn là 2.
Nếu trả lời bằng 2 thì gán tích x * y vào biến kq nên kq là 200. Thông báo Tích hai số là 200.