F13. Em có đồng ý với các ý kiến sau đây không? Giải thích tại sao.
1) Trong cấu trúc lặp, mỗi bước phải được thực hiện nhiều hơn một lần.
2) Cấu trúc lặp với số lần lặp đã biết trước luôn có thể chuyển thành cấu trúc lặp với kiểm tra điều kiện lặp.
Trả lời:
1) Không. Vì điều kiện lặp có thể không đúng ngay từ đầu.
2) Đúng. Dùng biến đếm. Bắt đầu với đếm = 0. Lặp khi đếm < n. Cuối vòng lặp có thao tác "tăng đếm lên 1".
F14. Cho một câu trong văn bản chữ. Em hãy viết thuật toán đém xem trong câu có bao nhiêu từ:
1) Trường hợp đơn giản: hai từ luôn cách nhau chỉ một dấu cách.
2) Tổng quát hơn: hai từ có thể cách nhau hơn một dấu cách.
Trả lời:
1) Hướng dẫn: Dùng cấu trúc lặp khi chưa biết số lần lặp. Điều kiện để tiếp tục lặp là chưa đến cuối câu (kết thúc bằng dấu chấm, nếu muốn cụ thể). Điều kiện để tăng biến đếm đã rõ ràng; mô tả bằng cấu trúc rẽ nhánh khuyết.
2) Hướng dẫn: Trường hợp này, điều kiện để tăng biến đếm là chuyển từ kí tự khác dấu cách sang kí tự tiếp theo là dấu cách. Dùng cặp hai kí tự liền nhau c1, c2; đếm số lần chuyển từ "khác dấu cách" sang "bằng dấu cách".
Thuật toán: Đếm số từ trong câu.
1) Chuẩn bị rước vòng lặp: d = 0 (đếm số từ); xuất phát từ c = kí tự đầu tiên.
2) Lặp khi (chưa đến cuối câu): {ví dụ c ≠ dấu chấm}
a) Nếu (c = dấu cách): tăng d lên 1
Hết nhánh
b) Dịch c sang kí tự tiếp theo
Hết lặp
F15. Robot trong bài tập vận dụng hiểu các lệnh sau: Nhấc bút; Hạ bút; Di chuyển (d): đi thẳng hướng trước mặt một đoạn d cm và Quay phải (g): quay tại chỗ sang phải g độ.
1) Bằng cách liệt kê các bước hoặc bằng sơ đồ khối, hãy mô tả thuật toán để robot này vẽ được một hình thoi (khác hình vuông) cạnh a cm.
2) Em hãy mô tả thuật toán để robot này vẽ được một hình sao năm cánh, ghép từ năm hình thoi.
Trả lời:
Hướng dẫn:
1) Vẽ hình thoi khác với vẽ hình vuông chỉ ở góc quay. Góc quay phải khác 90 độ.
2) Góc nhọn hình thoi thích hợp sẽ tạo thành hình sao 5 cánh.
Thuật toán: Vẽ hình thoi (Hình 27).
Lặp với i từ 1 đến 2:
a) Di chuyển (a); Quay phải (108) {góc quay khác 90 độ}
b) Di chuyển (a); Quay phải (72) {góc bù của 108 độ}
Hết lặp
Thuật toán: Vẽ hình sao (Hình 28).
Lặp với i từ 1 đến 5:
a) Lặp voiwsk từ 1 đến 2:
i) Di chuyển (a); Quay phải (108) {góc quay khác 90 độ}
ii) Di chuyển (a); Quay phải (72) {góc bù của 108 độ}
Hết lặp
b) Quay phải (360)
Hết lặp