Trang: 1/2
Bà i tà p
Lặp với số lần chưa biết trước – Câu lệnh while-do Tóm tắt nội dung:
Để mô tả cấu trúc lặp với số lần lặp chưa biết trước, Pascal dùng câu lệnh lặp while-do như sau:
while <điều kiện> do <câu lệnh>;
Trong đó: điều kiện: là biểu thức logic.
Hoạt động của câu lệnh while-do: trong khi điều kiện có giá trị true thì câu lệnh được viết sau từ khóa do thực hiện.
Học lại đầy đủ ở đây: https://elearning.moet.edu.vn/elearning/Cau-lenh-while-l1633/scorm1/
Một số ví dụ
Ví dụ 1: Nhập số nguyên dương 𝑚. Tìm số nguyên 𝑛 nhỏ nhất sao cho tổng các số từ 1 đến 𝑛 không bé hơn 𝑚.
Ví dụ:
Nhập 𝑚 = 11.
Kết quả: Số 𝑛 là: 5.
Ý tưởng thuật toán:
Gọi 𝑠 là tổng các số từ 1 đến 𝑛: ban đầu 𝑛 = 0, 𝑠 = 0.
Trong khi 𝑠 < 𝑚 thì thực hiện: tăng 𝑛 lên 1 đơn vị và cộng 𝑛 và tổng 𝑠.
Chương trình:
Ví dụ 2: Nhập số nguyên dương 𝑛. Tìm số chữ số của số 𝑛.
Ví dụ:
Nhập 𝑚 = 120.
Kết quả: Số chữ số là: 3.
Nhật xét: nếu 𝑛 có 𝑑 chữ số thì sau 𝑑 lần 𝑑𝑖𝑣 10 thì 𝑛 = 0. Ví dụ với 𝑛 = 120 khi đó 120 𝑑𝑖𝑣 10 = 12, 12 𝑑𝑖𝑣 10 = 1, 1 𝑑𝑖𝑣 10 = 0.
Trang: 2/2 Ý tưởng thuật toán:
Gọi 𝑑 là số chữ số của 𝑛 ; ban đâu 𝑑 = 0.
Trong khi 𝑛 > 0 thì thực hiện: tăng 𝑑 lên 1 đơn vị và cộng 𝑛 được gán lại bằng 𝑛 𝑑𝑖𝑣 10.
Chương trình:
Bài tập: Viết các chương trình thực hiện:
Câu 1: Nhập số nguyên dương 𝑚. Tìm số nguyên dương 𝑛 nhỏ nhất sao cho tổng các số chẵn trong đoạn từ 1 đến 𝑛 không bé hơn 𝑚.
Ví dụ:
Nhập 𝑚 = 15.
Kết quả: Số 𝑛 là: 8.
Câu 2: Nhập số nguyên dương 𝑛. Tính tổng các chữ số của 𝑛.
Ví dụ :
Nhập 𝑛 = 15.
Kết quả: Tổng các chữ số là: 6.
Câu 3: Nhập hai số nguyên dương 𝑎, 𝑏. Tìm ước chung lớn nhất của 𝑎 và 𝑏.
Ví dụ 1:
Nhập 𝑎 = 5 𝑏 = 13
Kết quả: Ước chung lớn nhất là: 1.
Ví dụ 2:
Nhập 𝑎 = 18 𝑏 = 15
Kết quả: Ước chung lớn nhất là: 3.
Câu 4: Nhập hai số nguyên dương 𝑎, 𝑏. Tìm bội số chung nhỏ nhất của 𝑎 và 𝑏.
Ví dụ:
Nhập 𝑎 = 10 𝑏 = 12
Kết quả: Bội chung nhỏ nhất là : 60 Lưu ý: Các em nộp bài cho thầy qua mail.