intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

§10 CẤU TRÚC LẶP

Chia sẻ: Paradise3 Paradise3 | Ngày: | Loại File: PDF | Số trang:7

86
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán .  Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước .  Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể .  Mô tả 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 kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước .  Viết được thuật toán của một số bài toán đơn giản ....

Chủ đề:
Lưu

Nội dung Text: §10 CẤU TRÚC LẶP

  1. §10 CẤU TRÚC LẶP I. MỤC ĐÍCH YÊU CẦU  Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán .  Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước .  Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể .  Mô tả 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 kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước .  Viết được thuật toán của một số bài toán đơn giản . II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC :  Phương pháp : Thuyết trình, vấn đáp .  Phương tiện : Máy chiếu, máy tính, phòng chiếu hoặc bảng . III. LƯU Ý SƯ PHẠM :  Cần tổng kết 3 loại cấu trúc điều khiển: tuần tự, rẽ nhánh và lặp  Bước đầu hình thành khái niệm lập trình có cấu trúc cho học sinh.  Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinh đạt được những kỹ năng theo yêu cầu  Khi dạy lệnh lặp, với mỗi một dạng lệnh lặp, tốt nhất viết một ví dụ cụ thể, với số lần lặp nhỏ rồi viết mô tả việc hoạt động của vòng lặp bằng cấu trúc tuần tự (thể hiện sự tương đương trong công việc nhưng lệnh lặp diễn tả ngắn hơn nhiều) điều đó cũng giúp học sinh hiểu hơn về vòng lặp) IV. NỘI DUNG BÀI GIẢNG :
  2. Hoạt động của Giáo viên và Học sinh Nội dung Ổn định lớp:  Chào thầy cô.  Cán bộ lớp báo cáo sỉ số  Chỉnh đốn trang phục 1. Khái niệm lặp GV : Đưa ra bài toán, yêu cầu học sinh - Xét 2 bài toán như sau với a > 2 là số tìm cách để lập trình giải các bài toán này nguyên cho trước : . Bài toán 1 : Tính tổng HS : Đưa ra cách giải của mình, học sinh 1 1 1 1 S1=    ...  a 1 a  2 a  100 a có thể đưa ra những cách giải khác nhau . Bài toán 2 : Tính Tổng GV : Đưa ra cách giải cho bài toán . 1 1 1 1 S2=    ...   ... Giải theo các lệnh tuần tự a 1 a  2 aN a S1:=0; 1 Với điều kệin  0.0001 aN If (1/a>0.0001) then S1:=S1+ 1/a; If (1/(a+1)>0.0001) then S1:=S1+ 1 Cách giải : /(a+1); If (1/(a+2)>0.0001) then S1:=S1+ 1 - Bắt đầu S được gán giá trị 1/a. /(a+2); - Tiếp theo mỗi lần cộng thêm vào S If (1/(a+3)>0.0001) then S1:=S1+ 1 là 1/(a+N) với N = 1, 2, 3, … /(a+3);
  3. - Với bài toán 1, việc cộng thêm … dừng khi 1/(a+N) < 0.0001, => số HS : Nhận xét với việc giải bài toán theo lần lặp chưa biết. cách đó ? - Với bài toán 2, việc cộng thêm Với N = 100 thì lặp 100 lần như thế dừng khi N = 100, => số lần lặp đã nhưng theo việc kiểm tra điều kiện thì biết trước. không biết phải làm theo cách nào? Theo cả hai trường hợp thì đều quá dài. Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp. Lặp thường có 2 loại :  Lặp với số lần biết trước .  Lặp với số lần không biết trước . Để học sinh hiểu được khái niệm lặp, NNLT nào cũng cung cấp một số câu giáo viên đưa ra một số ví dụ trong thực lệnh để mô tả các cấu trúc lặp như trên. tế được tính toán lặp đi lặp lại nhiều lần. Sau đây chúng ta sẽ tìm hiểu các câu VD1 : Bài toán gửi tiền vào ngân hàng. lệnh trong ngôn ngữ Pascal. Hằng tháng phải tính lãi và cộng thêm vào gốc đang gửi hay nói cách khác gốc của tháng sau = gốc + lãi tháng trước. 2. Lặp có số lần biết trước và câu Tính tổng của một đoạn số lệnh for – do VD 2: nguyên mà không được dùng công thức. Trong Pascal, có 2 lọai câu lệnh lặp có số lần biết trước :
  4. - Lặp dạng tiến: For := to GV : Đưa ra ví dụ: do ; So sánh hai thuật toán sau: - Lặp dạng lùi Thuật toán Thuật toán For := Tong_1a Tong_1b downto do ; B1: S:=1/a; B1: S:=1/a; N:=0; N:=101; Trong đó: B2: N:=N+1; B2: N := N -1;  Biến đếm thường là biến kiểu số B3: Nếu N >100 B3: Nếu N < 1 nguyên. thì chuyển sang thì chuyển sang  Giá trị đầu, giá trị cuối là các bước 5; bước 5; biểu thức cùng kiểu với biến B4: S:= S + B4: S:= S+ đếm. Giá trị đầu phải nhỏ hơn rồi 1/(a+N) rồi quay 1/(a+ N) hay bằng giá trị cuối. quay lại B2; lại B2;  Ở dạng lặp tiến: Biến đếm tự B5: Đưa ra S rồi B5: Đưa ra S rồi tăng dần từ giá trị đầu đến giá trị kết thúc. kết thúc. cuối.  Ở dạng lặp lùi: Biến đếm tự GV : Gọi một số học sinh nhận xét về 2 giảm dần từ giá trị cuối đến giá thuật toán trên về một số vấn đề : trị đầu.  Thuật toán có lặp không?  Tương ứng với mỗi giá trị của  Lặp bao nhiêu lần?  Hai thuật toán giống và khác nhau biến đếm, câu lệnh sau do thực hiện 1 lần như thế nào?  Cái gì thay đổi trong thuật toán này?
  5. Ví dụ 1 : Hai chương trình cài đặt thuật Sau khi so sánh hai thuật toán trên, giáo toán tong_1a và tong_1b . viên đưa ra hai cách lặp trong ngôn ngữ Pascal, giải thích ý nghĩa của các thành phần trong câu lệnh . Ví dụ 2 : Tính tổng các số nguyên chia GV : Lấy ví dụ minh họa trong Pascal để hết cho 3 hoặc 5 trong phạm vi từ M các em thấy được sự thay đổi giá trị của đến N (M A thì cần gửi trong bao lâu với lãi suất là k%. Bước 3: N :=N +1; Yêu cầu học sinh đưa ra cách giải Bước 4: S := S+ 1/(a+N) rồi quay lại
  6. bước 2; cho bài toán này . Bước 5: Đưa kết qủa S ra màn hình rồi GV : Phân tích phương án trả lời của học kết thúc sinh sau đó đưa ra lời giải cho bài toán. - Từ bước 2 đến bước 4 được lặp lại nhiều lần nếu điều kiện 1/(a+N) < GV : Đưa ra cấu trúc câu lệnh While – 0.0001 chưa được thỏa mãn. Do Trong Pascal, giải thích ý nghĩa các _ Pascal sử dụng câu lệnh lặp While thành phần. - Do để tổ chức lặp với số lần chưa viết HS : Lắng nghe và ghi chép. như sau While Do ; Trong đó - Điều kiện là biểu thức quan hệ hoặc logic. - Câu lệnh là một câu lệnh trong Pascal. Ý nghĩa : Khi điều kiện còn đúng thì GV: Nên gõ sãn những ví dụ này để học còn thực hiện câu lệnh sau Do sau đó sinh có thể quan sát chương trình, giáo lại quay lại kiểm tra điều kiện. viên chạy thử chương trình trong Pascal. Riêng với VD 2, trước khi đưa ra thuật Ví dụ 1 : Chương trình của bài toán 1. toán, GV nên cho học sinh xây dựng thuật toán tìm ước chung lớn nhất (đã
  7. học ở lớp 10) Ví dụ 2 : Tìm ước chung lớn nhất của Chạy chương trình với nhiều cặp M, N M và N. khác nhau. Thuật toán : Tốt nhất chạy từng bước, cho học sinh B1: Nếu M = N thì ƯCLN := M; thấy sự thay đổi của các biến. Kết thúc. B2: Nếu M > N thì M := M – N rồi quay lại B1, ngược lại N := N – M rồi quay lại B1 Sau đây là chương trình tìm UCLN; V. CỦNG CỐ , DẶN DÒ:  Nhắc lại một số khái niệm mới  Nhắc lại cấu trúc câu lệnh.  Cho bài tập về nhà
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2