Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
221,41 KB
Nội dung
Giáo án tin học 9 BÀI CÂU LỆNH LẶP KIẾN THỨC YÊU CẦU: Biết xác định vấn đề nào có sử dụng đến câu lệnh lặp, cách dùng câu lệnh lặp nào cho phù hợp. Biết cách thoát khỏi các vòng lặp khi cần, biết tránh làm vòng lặp vô tận. KIẾN THỨC ĐẠT ĐƯỢC Biết và nắm vững các câu lệnh lặp trong Pascal, cách dùng câu lệnh cho phù hợp, khi nào nên dùng câu lệnh FOR, WHILE và REPEAT. Biết số lần lặp của từng câu lệnh. Biết tránh những trường hợp sẽ làm cho vòng lặp vô tận. Biết dùng các câu lệnh để thoát khỏi vòng lặp khi cần thiết. I/ Câu lệnh FOR Ta dùng câu lệnh lặp For khi biết trước số lần lặp. Câu lệnh For có 2 dạng: Dạng 1: For … to … do … Dạng 2: For … downto … do … 1. Câu lệnh For … to … do … FOR i:= bieuthuc1 TO bieuthuc2 DO Caulenh; i gọi là biến điều khiển, thuộc kiểu rời rạc. Biểu thức 1 phải nhỏ hơn hoặc bằng biểu thức 2. Ví dụ: Program Vonglap_FOR1; Var x : integer; Begin For x := 1 To 12 Do Writeln(‘Day la thang: ‘, x); Readln; End. Chạy thử chương trình, bạn sẽ có kết quả sau: Đây là tháng: 1 Đây là tháng: 2 Đây là tháng: 3 Đây là tháng: 4 Đây là tháng: 5 Đây là tháng: 6 Đây là tháng: 7 Đây là tháng: 8 Đây là tháng: 9 Đây là tháng: 10 Đây là tháng: 11 Đây là tháng: 12 Ghi chú: Không nên thay đổi trị của biến điều khiển i bên trong phát biểu Caulenh. Ví dụ: Phát biểu sau sẽ chạy vô tận For i:= 1 to 8 do Begin Writeln(i); i := 12; End; 2. Câu lệnh For … Dowto … Do … FOR i:= Bieuthuc1 DOWNTO bieuthuc2 DO Caulenh; i gọi là biến điều khiển, thuộc kiểu rời rạc. Biểu thức 1 phải lớn hơn hoặc bằng biểu thức 2. Ví dụ: Program Vonglap_FOR2; Var x : integer; Begin For x := 12 Downto 1 Do Writeln(‘Day la thang: ‘, x); Readln; End. Chạy thử chương trình, bạn sẽ có kết quả sau: Đây là tháng: 12 Đây là tháng: 11 Đây là tháng: 10 Đây là tháng: 9 Đây là tháng: 8 Đây là tháng: 7 Đây là tháng: 6 Đây là tháng: 5 Đây là tháng: 4 Đây là tháng: 3 Đây là tháng: 2 Đây là tháng: 1 II/ Câu lệnh WHILE 1. Câu lệnh WHILE … DO …; Dùng để lặp đi lặp lại một công việc trong khi một điều kiện còn được thoả Phát biểu While có dạng: WHILE Dieukien DO Caulenh; Dieukien: Biểu thức logic. Trước hết điều kiện được xét, nếu giá trị là False, vòng lặp While sẽ kết thúc, nếu là True thì phát biểu caulenh được thực hiện, sau khi thực hiện xong, quay lại kiểm tra điều kiện, công việc cứ tiếp tục như lập luận ở trên cho đến khi điều kiện có giá trị là False. Ví dụ: Program Vonglap_While; Var x : integer; Begin x := 1; While (x<=12) Do Begin Writeln(‘Day la thang: ‘,x); x := x +1; End; Readln; End. Bạn thấy kết quả như ví dụ trong vòng lặp For … to … do …; Ví dụ: Tính tổng các số nguyên nhập vào cho đến khi nhập vào số 0. Program TinhTong; Var So : integer; Tong : Longint; Begin Tong := 0; Write(‘Ban nhap vao so nguyen bat ky, nhap 0 de ket thuc. ‘); Readln(So); While So <> 0 do Begin Tong := Tong + So; Readln(So); End; Writeln(‘Tong cac so vua nhap vao la: ‘, Tong); Readln; End. 2. Lưu ý trong vòng lặp While Khác với vòng lặp For, trong vòng lặp While, số lần lặp không xác định được, nó tuỳ thuộc vào người sử dụng, ví dụ như ở chương trình trên, số lần lặp thực hiện mãi khi bạn chưa nhập vào số 0. Bạn cần chú ý khi dùng điều kiện trong vòng lặp While, nếu chọn điều kiện luôn luôn đúng thì vòng lặp sẽ thực hiện vô tận, không thoát ra được, trừ khi Caulenh có chứa một phát biểu Goto nhảy khỏi vòng lặp While. Ví dụ : While True do Writeln(‘Se lap vo tan’); Bạn thử thêm vào đoạn chương trình trên một biến Dem có kiểu nguyên, gán cho biến này bằng 0, cứ mỗi lần điều kiện While đúng biến đếm sẽ tăng lên 1 (kiểm tra điều kiện trước, thực hiện biến dem nếu điều kiện thoả). Bạn sẽ thấy số lần vòng lặp While thực hiện sẽ bằng biến đếm. bạn xem ví dụ sau: Program TinhTong; Var So : integer; Tong : Longint; Dem : integer; [...]... Goto nhảy khỏi vòng lặp Repeat Trong câu lệnh Repeat …Until, hành động được thực hiện rồi mới xét điều kiện lặp IV/ So sánh đặc điểm của các vòng lặp For, While, Repeat 1 Điều kiện lặp Với vòng lặp FOR thì điều kiện lặp đã biết trước, còn vòng lặp While và Repeat thì chưa biết trước So sánh While với Repeat Với vòng lặp While, điều kiện lặp được xét trước hành động Với vòng lặp Repeat thì hành... Khi chưa biết trước số lần lặp, chúng ta sẽ dùng vòng lặp While hoặc Repeat, cân nhắc để sử dụng vòng lặp nào Cần nhớ vòng lặp While sẽ xét điều kiện lặp trước, đúng thì thực hiện Còn vòng lặp Repeat thì điều kiện lặp sẽ xét sau, đúng thì dừng Bạn nhớ điều này để tránh sai lầm khi viết chương trình Cần chú ý điều kiện, sử dụng câu lệnh để tăng biến đếm, nếu không có thì sẽ lặp vô tận PHẦN THỰC HÀNH:... với vòng lặp While, kiểm tra điều kiện ngay từ đầu 3 Điều kiện thoát Đối với vòng lặp FOR: Khi giá trị của biến điều khiển bằng bieuthuc2, thực hiện xong rồi thoát Với vòng lặp WHILE: Khi điều kiện sai sẽ thoát khỏi vòng lặp Với vòng lặp REPEAT: Khi điều kiện đúng thì sẽ thoát khỏi vòng lặp TÓM LƯỢC Khi biết trước số lần lặp, chúng ta sẽ dùng vòng lặp FOR Nếu biểu thức 1 nhỏ hơn biểu thức 2,... 3 4 5 Ghi chú: Nếu bỏ câu lệnh x:= x+1; trong vòng lặp, chương trình sẽ bị lặp vô tận Bạn thử suy nghĩ tại sao như vậy? Đối với vòng lặp REPEAT, bạn xem ví dụ sau: Ví dụ: Program Vonglap_Repeat; Var x:integer; Begin x:=1; Repeat Begin Write(x, ‘ ‘); x:=x+1; End; Until x = 6; Readln; End Chạy thử chương trình bạn thấy: 1 2 3 4 5 Nếu bỏ câu lệnh x := x+1; chương trình cũng bị lặp vô tận Bạn xem ví... nữa, số dư còn lại sẽ là ước số lẻ lớn nhất của n 8 Viết chương trình đọc số tự nhiên n và in ra n! Sử dụng câu lệnh While 9 Viết chương trình in ra các kí tự từ A đến Z và từ a đến z như dạng sau: Kí tự Mã ASCii của kí tự A: 65 B: 66 … … Z: 90 a: 97 b: 98 … … z: 122 10 Viết chương trình lặp đi lặp lại nhiều lần một công việc sau: Đọc một kí tự và in ra mã ASCii của nó Chương trình kết thúc khi phím... Tong cac so vua nhap vao la: 12 Bien dem luc nay bang: 5 III/ Câu lệnh Repeat … Until 1 Câu lệnh Repeat … Until; Dùng để lặp đi lặp lại một công việc cho đến khi nào một điều kiện được thoả REPEAT Caulenh 1; Caulenh 2; ………… ………… Caulenh n; UNTIL Đieukien; Các phát biểu bên trong thân Repeat được thực hiện, sau đó sẽ kiểm tra biểu thức logic điều kiện, nếu trị là True thì phát biểu Repeat thực hiện... hiện rồi mới xét điều kiện lặp FOR: Thực hiện cho đến điều kiện biết trước WHiLE: Điều kiện lặp xét trước, đúng thì thực hiện REPEAT: Điều kiện lặp xét sau, đúng thì dừng Chú ý: Khi viết vòng lặp, cần cân nhắc giữa While và repeat để chọn cho phù hợp 2 Số lần lặp Đối với vòng lặp FOR … TO … DO … số lần thực hiện sẽ bằng (bieuthuc2 – bieuthuc 1) + 1 Đối với vòng lặp FOR … DOWNTO … DO … số... Writeln(n, ‘ giai thua = ‘, n); Readln; End 2 Lưu ý vòng lặp Repeat Khác với vòng lặp For, trong vòng lặp Repeat, số lần lặp không xác định được, nó tuỳ thuộc vào người sử dụng, ví dụ như ở chương trình trên, số lần lặp thực hiện mãi khi i còn nhỏ hơn n Bạn cần chú ý khi dùng điều kiện trong vòng lặp Repeat, nếu chọn điều kiện luôn luôn sai thì vòng lặp sẽ thực hiện vô tận, không thoát ra được, trừ khi... ………………… ’); End; khong la: Readln; End Bạn đoán xem chương trình trên muốn thực hiện điều gì, bạn thêm gì vào chỗ … để người xem dễ hiểu 5 Bạn xem chương trình sau: Program Baitap; Var gt, i, n : integer; Begin gt:= 1; i:= 0; Write(‘Ban nhap vao so n = ‘); Readln(n); Repeat i := i + 1; gt := gt * i; Until i = n; Writeln(gt); Readln; End Giải thích từng câu lệnh trong chương trình, cho biết chương trình... lệnh x := x+1; chương trình cũng bị lặp vô tận Bạn xem ví dụ sau để biết thêm về vòng lặp While và Repeat Program Vonglap_While; Var i : integer; Begin i := 10; While i 10 do Writeln(i); Readln; End Chạy thử chương trình bạn sẽ không được gì hết, vì vòng lặp While không thực hiện Cũng ví dụ trên, nhưng dùng vòng lặp Repeat Program Vonglap_Repeat; Var i : integer; Begin i := 10; Repeat Writeln(i); . Giáo án tin học 9 BÀI CÂU LỆNH LẶP KIẾN THỨC YÊU CẦU: Biết xác định vấn đề nào có sử dụng đến câu lệnh lặp, cách dùng câu lệnh lặp nào cho phù hợp. Biết cách thoát khỏi các vòng lặp. lần lặp của từng câu lệnh. Biết tránh những trường hợp sẽ làm cho vòng lặp vô tận. Biết dùng các câu lệnh để thoát khỏi vòng lặp khi cần thiết. I/ Câu lệnh FOR Ta dùng câu lệnh lặp. tháng: 1 Đây là tháng: 2 Đây là tháng: 3 Đây là tháng: 4 Đây là tháng: 5 Đây là tháng: 6 Đây là tháng: 7 Đây là tháng: 8 Đây là tháng: 9 Đây là tháng: 10 Đây là tháng: 11 Đây là tháng: