Cấu trúc lặp

Đối với học sinh:

• Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;

• Hiểu được cấu trúc lặp với số lần cho trước, cấu trúc lặp kiểm tra điều kiện trước;

• Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể;

pdf25 trang | Chia sẻ: zimbreakhd07 | Lượt xem: 1946 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Cấu trúc lặp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TIN HỌC LỚP 11 Sinh viên thực hiện: Phương Thị Chang Lớp: K56A-CNTT BÀI 10 CẤU TRÚC LẶP (3 tiết) I. MỤC ĐÍCH, YÊU CẦU CHUNG: Đối với học sinh: • Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán; • Hiểu được cấu trúc lặp với số lần cho trước, cấu trúc lặp kiểm tra điều kiện trước; • Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể; I. MỤC ĐÍCH, YÊU CẦU CHUNG: • Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp; • Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước; • Viết được thuật toán của bài toán đơn giản. Cấu trúc lặp (Tiết 1) I. Mục đích và yêu cầu • Hiểu về nhu cầu của cấu trúc lặp trong biểu diễn thuật toán; • Hiểu được cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước; I. Mục đích và yêu cầu • Biết cách vận dụng đúng đắn cấu trúc lặp trước vào tình huống phù hợp; • Viết đúng lệnh với số lần lặp biết trước; • Mô tả được thuật toán của một số bài toán đơn giản có sử dụng câu lệnh lặp với số lần biết trước. II . MỞ ĐẦU • Trong một số thuật toán có những thao tác phải lặp đi lặp lại nhiều lần. Nếu ta phải viết đi viết lại các thao tác đó thì rõ ràng không thuân tiện, nó mất thời gian và lại dễ dẫn tới nhàm chán. II . MỞ ĐẦU • Ví dụ: Chương trình tính điểm cho một lớp học sinh thì ta phải lặp lại nhiều lần một số thao tác: Nhập họ tên học sinh, nhập điểm các môn, tính tổng điểm cho từng môn hoặc trung bình chung. II . MỞ ĐẦU • Nếu cứ mỗi lần nhập thông tin cho một học sinh ta lại phải viết lại các thao tác đó thì chương trình cồng kênh, không thuận tiện trong việc xem xét, sửa đổi đồng thời mất rất nhiều thời gian, công sức. II . MỞ ĐẦU • Vì thế ngôn ngữ lập trình đã đưa ra cấu trúc lặp, chỉ cần viết các câu lệnh thực hiện các thao tác trên một lần, sau đó sử dụng câu lệnh lặp cho chương trình tự thực hiện lặp lại các thao tác đó. Bài hôm nay chúng ta tìm hiểu vể cấu trúc lặp. III. Nội dung 1. Câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước: Xét hai bài toán sau: Với a là số nguyên và a >= 2 Hai bài toán Bài 1: Tính tổng và đưa kết quả ra màn hình: Bài 2: Tính tổng và đưa kết quả ra màn hình tổng: cho đến khi Hai bài toán • Việc tính tổng s ở hai bài toán lặp lại một số lần xác định • Ở bài 1: số lần lặp là 100 và việc cộng vào tổng sẽ kết thúc khi đã thực hiện việc cộng 100 lần. Đây là lặp với số lần biết trước. Hai bài toán • Ở bài 2: số lần lặp chưa biết trước nhưng cộng vào tổng S sẽ kết thúc khi điều kiện 1/a+N < 0.0001 được thoả mãn. Đây là lặp với số lần chưa biết trước nhưng có điều kiện nào đó cho trước để dừng lặp. Câu lệnh lặp với số lần biết trước và câu lệnh for-do: Xem xét bài 1, có hai thuật toán như sau: Thuật toán Tong_1a • Bước 1. S 1/a; N 0; {khởi tạo s và N} • Bước 2. N N + 1; • Bước 3. Nếu N > 100 thì chuyển đến B5; • Bước 4. S S + 1/(1 + N) rồi quay lại B2; • Bước 5. Đưa S ra màn hình, rồi kết thúc. Thuật toán tong_1b: Thuật toán tong_1b: • Bước 1. S 1/a; N 101; {khởi tạo S và N} • Bước 2. N N – 1; • Bước 3. Nếu N < 1 thì chuyển đến B5; • Bước 4. S S + 1/(a + N) rồi quay lại B2; • Bước 5. Đưa S ra màn hình rồi kết thúc. Nhận xét về hai thuật toán Cả hai thuật toán trên đều là biết trước số lần lặp là 100 lần. • Thuật toán tong _1a, giá trị bắt đầu tham gia vòng lặp là 1 và sau mỗi lần lặp giá trị của N tăng lên 1 cho đến khi N > 100 (N=101) thì kết thúc lặp; Nhận xét thuật toán tong_1b: • Thuật toán tong_1b, giá trị ban đầu của N là 100 và sau mỗi lần lặp N giảm đi cho đến khi N < 1 (N=0) thì kết thúc lặp. • Ta nói cách khác là lặp trong thuật toán tong_1a là dạng tiến, trong thuật toán tong_1b là dạng lùi. Kết luận • Như vậy dạng lặp với số lần biết trước được dùng để thực hiện câu lệnh một số lần xác định. Dạng này dùng biến điều khiền để điều khiển vòng lặp. Mỗi lần thực hiện câu lệnh thì biến điều khiển được tự động tăng hoặc giảm . Đến khi biến điều khiển đạt giá trị xác định thì dừng vòng lặp. Cấu trúc lặp for-do Lặp với số lần biết trước thể hiện qua câu lệnh for-do,có hai dạng: Dạng lặp tiến: For := to do ; Cấu trúc lặp for-do Dạng lặp lùi: For := downto do ; Một số lưu ý về biến đếm Biến đếm là biến đơn, thường có kiểu nguyên. • Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm. Giá trị các biểu thức này đã được xác định trước và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Một số lưu ý về biến đếm • Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến điều khiển, giá trị của biến đếm sẽ tự động được điều chỉnh. Nếu ta thay đổi thì gây ra tình trạng khó theo dõi và quản lý vòng for. Một số lưu ý về biến đếm • Sau khi ra khỏi vòng for giá trị của biến điều khiển là không xác định. Vì vậy không thể sử dụng giá trị của biến điều khiển sau khi thực hiện xong vòng for vào câu lệnh tiếp theo. Hoạt động của lệnh for-do: • Đầu tiên máy sẽ kiểm tra giá trị của biến đếm. Nếu điều kiện nhận của biến đếm thoả mãn thì vào vòng for thực hiện tuần tự các câu lệnh sau do. • Ở dạng tiến, biến đếm lần lượt nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối. Hoạt động của lệnh for-do: • Ở dạng lùi, biến đếm lượt lần nhận các giá trị liên tiếp giảm từ giá tri cuối đến giá trị đầu. • Ở cả hai dạng tiến và lùi thì mỗi lần biến đếm thay đổi là một lần các câu lệnh sau do được thực hiện hay nói cách khác là số lần lặp công việc đã đươc xác định

Các file đính kèm theo tài liệu này:

  • pdftin_hoc_lop_11_7424.pdf
Tài liệu liên quan