b Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay cha, cßn trong c©u lÖnh lÆp víi sè lÇn lÆp chưa biết [r]
(1)Ngµy so¹n: 07/03/2010 Ngµy d¹y: 10/03/2010 tiÕt theo ppct: 53 Tiết 53 BÀI TẬP I.Mục tiêu:: + KiÓm tra vËn dông cấu trúc lặp với số lần chưa biết trước ngôn ngữ lập trình; + Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while do… Pascal II Chuẩn bị GV: SGK HS: Xem trước bài nhà III Tiến trình bài giảng Ổn định ớp Kiểm tra bài cò Nêu cấu trúc lệnh với số lần chưa biết trước? Bài Hoạt động thầy và trò Ghi bảng 1) ¤n tËp lý thuyÕt: + Gv : Nh¾c l¹i cú pháp lệnh while … ….; Lu ý hs c¸ch thùc hiÖn Lu ý tr¸nh lÖnh lÆp v« h¹n lÇn while <điều kiện> <câu lệnh>; đó: - điều kiện thường là phép so sánh; câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép Câu lệnh lặp này thực sau: Bước : Kiểm tra điều kiện - Bước : Nếu điều kiện SAI, câu lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh và quay lại bước 2) Bµi tËp: Lop7.net (2) Yªu cÇu hs lµm bµi tËp SGK: H·y ph¸t biÓu sù kh¸c biÖt gi÷a c©u lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước HS ph¸t biÓu GV nhận xét, đánh giá Hs đọc bài tập Bµi tËp H·y t×m hiÓu c¸c thuËt to¸n sau ®©y vµ cho biÕt thùc hiÖn thuËt to¸n, m¸y tÝnh sÏ thùc hiÖn bao nhiªu vßng lÆp? Khi kÕt thóc, gi¸ trÞ cña S b»ng bao nhiªu? ViÕt chương trình Pascal thể các thuật toán đó a) ThuËt to¸n Bước S 10, x 0.5 Bước Nếu S 5.2, chuyển tới bước Bước S S x và quay lại bước Bước Thông báo S và kết thúc thuËt to¸n b) ThuËt to¸n Bước S 10, n Bước Nếu S ≥ 10, chuyển tới bước Bước n n + 3, S S n quay lại bước Bước Thông báo S và kết thúc thuật to¸n Bµi 2: Sù kh¸c biÖt gi÷a c©u lÖnh lÆp víi sè lÇn lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước là các điểm sau đây: a) Nh tªn gäi cña nã, c©u lÖnh lÆp víi sè lÇn lặp cho trước thị cho máy tính thực lệnh nhóm lệnh với số lần đã xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa xác định trước b) Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị biến đếm có giá trị nguyên đã đạt giá trị lớn hay cha, cßn c©u lÖnh lÆp víi sè lÇn lÆp chưa biết trước, Trong câu lệnh lặp với số lần cho trước, câu lệnh thực ít lần, sau đó kiểm tra ®iÒu kiÖn Trong c©u lÖnh lÆp víi sè lÇn cha x¸c định trước, trước hết điều kiện kiểm tra NÕu ®iÒu kiÖn ®îc tho¶ m·n, c©u lÖnh míi ®îc thực Do đó có thể có trường hợp câu lệnh hoµn toµn kh«ng ®îc thùc hiÖn Bµi a) ThuËt to¸n 1: 10 vßng lÆp ®îc thùc hiÖn Khi kÕt thóc thuËt to¸n S = 5.0 §o¹n chương trình Pascal tương ứng: S:=10; x:=0.5; while S>5.2 S:=S-x; writeln(S); b) ThuËt to¸n 2: Kh«ng vßng lÆp nµo ®îc thực vì từ đầu điều kiện đã không thỏa mãn nên các bước và bÞ bá qua S = 10 kÕt thóc thuËt to¸n Đoạn chương trình Pascal tương ứng: S:=10; n:=0; while S<10 begin n:=n+3; S:=S-n end; writeln(S); Củng cố: HS đọc ghi nhớ SK ================================================== Lop7.net (3) Ngµy so¹n: 09/03/2010 Ngµy d¹y: 11/03/2010 tiÕt theo ppct: 54 TiÕt 54 BÀI TẬP I.Mục tiêu: + KiÓm tra vËn dông cấu trúc lặp với số lần chưa biết trước ngôn ngữ lập trình; + Hiểu hoạt động câu lệnh lặp với số lần chưa biết trước while do… Pascal II Chuẩn bị GV: SGK HS: Xem trước bài nhà III Tiến trình bài giảng Ổn định ớp Kiểm tra bài cò Nêu cấu trúc lệnh với số lần chưa biết trước? Bài Hoạt động thầy và trò Ghi bảng 1) ¤n tËp lý thuyÕt: + Gv : Nh¾c l¹i cú pháp lệnh while … ….; Lu ý hs c¸ch thùc hiÖn Lu ý tr¸nh lÖnh lÆp v« h¹n lÇn while <điều kiện> <câu lệnh>; đó: - điều kiện thường là phép so sánh; câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép Câu lệnh lặp này thực sau: Bước : Kiểm tra điều kiện - Yªu cÇu hs lµm bµi tËp SGK: Bước : Nếu điều kiện SAI, câu lệnh bị bỏ qua và việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh và quay lại bước H·y t×m hiÓu mçi ®o¹n lÖnh sau đây và cho biết với đoạn lệnh đó chương trình thực bao nhiêu Lop7.net (4) vßng lÆp? H·y rót nhËn xÐt cña em a) S:=0; n:=0; while S<=10 begin n:=n+1; S:=S+n end; b) S:=0; n:=0; while S<=10 n:=n+1; S:=S+n; GV yªu cÇu hs tr×nh bµy Yªu cÇu hs lµm bµi tËp 2) Bµi tËp: Bµi 4: a) Chương trình thực vòng lặp b) Vòng lặp chương trình thực v« tËn v× sau c©u lÖnh n:=n+1; c©u lÖnh lÆp kÕt thóc nªn ®iÒu kiÖn S=0 lu«n lu«n ®îc tháa m·n NhËn xÐt: Trong c©u lÖnh thùc hiÖn, ®iÒu kiÖn cần phải thay đổi để sớm hay muộn chuyển sang trạng thái không thỏa mãn Khi đó vòng lặp kết thúc sau hữu hạn bước Để làm ®îc ®iÒu nµy, c©u lÖnh c©u lÖnh lÆp while thường là câu lệnh ghép H·y chØ lçi c¸c c©u lÖnh sau ®©y: Bµi 5: a) X:=10; while X:=10 a) Thõa dÊu hai chÊm ®iÒu kiÖn; X:=X+5; b) ThiÕu dÊu hai chÊm c©u lÖnh g¸n; b) X:=10; while X=10 c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, đó vòng X=X+5; c) S:=0; n:=0; while lÆp trë thµnh v« tËn S<=10 n:=n+1; S:=S+n; Cñng cè: HS đọc ghi nhớ SK Lop7.net (5)