Câu lệnh lặp với số lần biết trước trong Pascal có dạng như thế nào

CHỦ ĐỀ 8 LẶP VỚI SỐ LẦN BIẾT TRƯỚC Thế nào là lệnh lặp với số lần biết trước? Sử dụng vòng lặp for...do như thế nào?

Khởi Động Lập trình với cấu trúc lặp khi biết trước số lần lặp như thế nào?

Khám phá Nhận biết bài toán lặp với số lần biết trước Sử dụng vòng lặp for ... do

1. Nhận biết bài toán lặp với số lần biết trước STT Tình huống Số lần lặp Lặp với số lần biết trước? 1  Kim giây quay 60 vòng. [Mỗi vòng tương ứng với một phút] 2  Trong nhà máy, robot tự động đóng nắp chai nước trên băng chuyền. 3 Sáng thứ hai hàng tuần, trường An chào cờ lúc 7 giờ. 60  Không biết  Không biết 

1. Nhận biết bài toán lặp với số lần biết trước STT Tình huống Số lần lặp Lặp với số lần biết trước? 4  Mỗi sáng, gà trống đập cánh gáy vang ò ó o. 5  Hằng ngày, bạn Long chạy bộ quanh công viên 10 vòng. 6  Mỗi sáng, đồng hồ báo thức lúc 6 giờ. Không biết  10  Không biết 

2. Sử dụng vòng lặp for ... do Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh for…do có dạng như sau: for:=todo; Trong đó: for, to, do là các từ khóa là biến kiểu nguyên và là các giá trị nguyên ≤ có thể là câu lệnh đơn hay câu lệnh ghép.

Ví dụ 1: Câu lệnh lặp in ra màn hình 20 ngôi sao. biến đếm giá trị đầu giá trị cuối câu lệnh

Ví dụ 2: Cho câu lệnh lặp mô tả quá trình robot nhổ 100 củ cải.

Ví dụ 3: Câu lệnh lặp mô tả quá trình robot nhổ N củ cải. k

Ví dụ 4: Thỏ con bỏ ống heo em hãy giúp Thỏ viết câu lệnh lặp tính tổng: S = 1 + 2 + 3 + ... + 10 S := S + i;

Trải nghiệm Anh em Gấu gấp hạc giấy Cậu bé chăn cừu Ý nghĩa câu lệnh lặp Vạch lá tìm sâu Thỏ con làm quen bạn mới Đố em

1. Anh em Gấu gấp hạc giấy

2. Cậu bé chăn cừu 6 5 3 1 4

3. Ý nghĩa câu lệnh lặp

4. Vạch lá tìm sâu

5. Thỏ con làm quen bạn mới

6. Đố em

6. Đố em

Ghi nhớ Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh for…do. Giống như các câu lệnh rẽ nhánh if…then, các câu lệnh for…do cũng có thể lồng trong nhau. Khi đó các biến đếm trong câu lệnh lặp phải khác nhau.

5 -THDCTHCSQ3- A BÀI 8 LẶP VỚI SỐ LẨN CHƯA BIẾT TRƯỚC Các hoạt động lặp với số lần chưa biết trước Trong bài trước chúng ta đã làm quen với các hoạt động lặp và cách chỉ thị cho máy tính thực hiện các hoạt động lặp với số lần đã được xác định trước. Chẳng hạn, để tính tổng các số nguyên từ 1 đến 100, ta có thể viết câu lệnh lặp để máy tính thực hiện phép cộng 1 00 lần. Trong thực tế có nhiều hoạt động được thực hiện lặp đi lặp lại với số lần chưa được biết trước. Ví dụ 1. Một ngày chủ nhật, bạn Long gọi điện cho Tuấn. Không có ai nhấc máy. Long quyết định gọi thêm hai lần nữa. Nếu vẫn không có ai nhấc máy thì chắc là không có ai ở nhà. Như vậy Long đã biết trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần. Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Tuấn cho đến khi nào có người nhấc máy. Lần này Long sẽ lặp lại hoạt động gọi điện mấy lần? Chưa thể biết trước được, có thể một lần, có thể hai hoặc nhiều hon nữa. Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy. Ví dụ 2. Nếu cộng lần lượt n số tự nhiên đầu tiên [/7=1,2, 3,...], ta sẽ được các kết quả T, =1, r2 =1 + 2, T3 =1 + 2 + 3,... tăng dần. cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000 ? Trong trường hợp này, để quyết định thực hiện phép cộng với số tiếp theo hay dừng, trong từng bước cần phải kiểm tra tổng đã lớn hơn 1000 hay chưa. Chúng ta hãy tìm hiểu các bước của thuật toán trong ví dụ này một cách cụ thể hơn. Kí hiệu s là tổng cần tìm và ta có thuật toán như sau: Bước 7. s = sai_so do begin x:= 1/n; n:= n + 1 end; writeln['So ụ nho nhat de 1/n < sai_so:6:5, 'la ',n-lj; readln end. Nếu chạy chương trình này, ta sẽ nhận được kết quả n = 334 [và sai số là 0.00299]. Thay điều kiện sai_so = 0.003 lần lượt bằng các điểu kiện sai_so = 0.002 và sai_so = 0.001, ta nhận được các kết quả n = 501 và n = 1 001. Có thể kiểm tra các kết quả này bằng một phép chia đơn giản. Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật toán tính tổng n số trong ví dụ 2: var s, n: integer; begin S:= 0; n: = 1; while s 1000 la S]; readln end. Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng đầu tiên lớn hơn 1000 la 1035. Ví dụ 5. Đê’ viết chương trình tính tổng T = 1 + y + y + ... + ta có thể sử dụng lệnh lặp với số lần lặp biết trước for...do: T: = 0; for ỉ:= 1 to 100 do T:= T + 1/i; writeln[T]; Nếu sử dụng lệnh lặp while...do, đoạn chương trình dưới đây cũng cho cùng một kết quả: T: = 0; i: = 1; while i

Chủ Đề