Giải bài 8: Câu lệnh lặp - Sách tin học 10 cánh diều. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học..

KHỞI ĐỘNG

Nếu em kiểm tra tuần tự từng dòng trong bảng điểm thi môn Tin học của lớp để biết tên các bạn đã được điểm 10 thì hành động nào được lặp lại và số lần lặp là bao nhiêu? Nếu chỉ cần tìm được tên của một bạn được điểm 10 thì số lần lặp là bao nhiêu?

Trả lời:

  • Hành động được lặp lại là hành động kiểm tra điểm từng học sinh bằng 10.
  • Số lần lặp lại bằng số học sinh của lớp.
  • Nếu chỉ cần tìm được tên của một bạn được điểm 10 thì số lần lặp bằng số thứ tự của học sinh đó.

 

B. Bài tập và hướng dẫn giải

HOẠT ĐỘNG

1. Với hai mẫu mô tả cấu trúc lặp ở Hình 1, em hãy mô tả hai thuật toán ở Ví dụ 1 và Ví dụ 2.

Ví dụ 1: Thuật toán của việc in ra màn hình máy tính 10 dòng “Xin chào Python” là thuật toán có cấu trúc lặp với số lần biết trước.

Ví du 2: Khi mô tả thuật toán cho máy tính hỏi và kiểm tra mật khẩu thì ta không tính trước được số lần máy tính yêu cầu nhập lại mật khẩu, bởi vì chừng nào mật khẩu nhập vào chưa đúng thì máy tính còn hỏi lại. Đây là thuật toán có cấu trúc lặp với số lần không biết trước.

HOẠT ĐỘNG

2. Trong chương trình ở Ví dụ 6, em có thể dùng câu lệnh for thay cho câu lệnh white để chương trình khi chạy vẫn cho cùng kết quả được không?

Ví dụ 6. Chương trình ở Hình 6 khi thực hiện sẽ in ra màn hình các số từ 1 đến 6. Điều kiện lặp là sodem <= 6. Khi điều kiện lặp đúng thì sodem được in ra màn hình và được tăng lên 1 đơn vị, rồi điều kiện lặp được kiểm tra lại. Quá trình trên được lặp lại cho đến khi sodem > 6 thì vòng lặp kết thúc.

LUYỆN TẬP

Bài 1. Em hãy dự đoán chương trình hình bên đưa ra màn hình những gì.

Bài 2. Trong các chương trình trò chơi truyền hình, người dẫn chương trình thường đếm ngược để bắt đầu trò chơi. Em hãy viết chương trình nhập một số nguyên n, sau đó in ra các giá trị từ n về 1 để mô phỏng quá trình đếm ngược (hình 7).

VẬN DỤNG

Mẹ em dự định gửi tiết kiệm một khoản tiền tại một ngân hàng có lãi suất 5% một năm, nghĩa là sau mỗi năm tiền lãi nhận được là 5% số tiền gửi. Hết một năm, nếu mẹ không rút tiền thì cả vốn lẫn lãi sẽ tự động được gửi tính cho năm tiếp theo. Em hãy viết chương trình nhập vào số tiền T (đơn vị triệu đồng) sau đó tính và đưa ra 10 dòng, mỗi dòng ghi số tiền sau mỗi năm trong 10 năm gửi liên tiếp cả gốc lẫn lãi để mẹ tham khảo.

TỰ KIỂM TRA

Trong các câu sau đây, những câu nào đúng?

1) Trong các ngôn ngữ lập trình bậc cao đều có câu lệnh thể hiện cấu trúc lặp.

2) Trong Python chỉ có câu lệnh lặp white để thể hiện cấu trúc lặp.

3) Trong Python chỉ có câu lệnh lặp for để thể hiện cấu trúc lặp.

4) Có thể sử dụng câu lệnh while để thể hiện cấu trúc lặp với số lần lặp biết trước.

5) Có thể sử dụng câu lệnh for để thể hiện cấu trúc lặp với số lần lặp chưa biết trước.