Sử dụng ví dụ thực tế, hệ thống câu hỏi và bài tập khi dạy bài cấu trúc lặp tạo hứng thú học lập trình cho học sinh trường THPT DTNT Ngọc Lặc 1 SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH[.]
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT DTNT NGỌC LẶC SÁNG KIẾN KINH NGHIỆM SỬ DỤNG VÍ DỤ THỰC TẾ, HỆ THỐNG CÂU HỎI VÀ BÀI TẬP KHI DẠY BÀI CẤU TRÚC LẶP TẠO HỨNG THÚ HỌC LẬP TRÌNH CHO HỌC SINH TRƯỜNG THPT DTNT NGỌC LẶC Người thực hiện: Dương Thị Lan Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học THANH HỐ, NĂM 2019 SangKienKinhNghiem.net MỤC LỤC Mở đầu 1.1 Lý chọn đề tài : .2 1.2 Mục đích nghiên cứu: 1.3 Đối tượng nghiên cứu: 1.4 Phương pháp nghiên cứu: Nội dung 2.1 Cơ sở lí luận: 2.2 Thực trạng vấn đề:……………………………………………… … 2.3 Sử dụng ví dụ thực tế, hệ thống câu hỏi tập dạy Cấu trúc lặp – Tin học lớp 11 2.3.1 Đối với việc dạy học sinh khái niệm: Lặp gì? : 2.3.2 Lệnh for để mô tả lặp biết trước số lần 13 2.3.3 Lặp với số lần chưa biết trước câu lệnh While –Do:…………10 2.3.4 Cách chuyển đổi qua lại câu lệnh lặp while for:… 12 2.4 Hiệu sáng kiến kinh nghiệm: 16 Kết luận .16 SangKienKinhNghiem.net Mở đầu 1.1 Lý chọn đề tài Chúng ta sống kỉ XXI kỉ Công nghệ thông tin truyền thông Sự phát triển mạnh mẽ vũ bão tin học làm cho xã hội có nhiều nhận thức cách tổ chức hoạt động, Tin học góp phần vào chuyển biến mạnh mẽ cách mạng công nghiệp 4.0 Vì việc trang bị kiến thức Tin học vấn đề có ý nghĩa tầm quan trọng lớn trình đào tạo nhân lực, bồi dưỡng nhân tài cho đất nước Xác định tầm quan trọng nên từ năm 2006 môn Tin học Giáo dục-Đào tạo đưa vào giảng dạy cấp học, nhằm trang bị cho học sinh kiến thức bản, phổ thông ngành khoa học Tin học Đặc biệt chương trình sách giáo khoa (SGK)Tin học lớp11 bậc trung học phổ thông (THPT), nhà biên soạn sách đưa vào chương giúp học sinh tiếp cận với ngơn ngữ lập trình bậc cao Qua giúp em hình dung đời, cấu tạo, hoạt động ích lợi chương trình hoạt động máy tính Từ khơi gợi em niềm đam mê môn Tin học, tạo niềm tin để em dễ dàng tự định hướng, lựa chọn nghề nghiệp sau Trong thời đại thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Để làm việc cần có q trình nghiên cứu, học tập ngơn ngữ lập trình lâu dài, qua nhà lập trình chọn ngơn ngữ lập trình thích hợp Tuy nhiên thứ có điểm khởi đầu nó, với học sinh việc học Pascal khởi đầu cho việc tiếp cận ngơn ngữ lập trình bậc cao ngơn ngữ tảng cho việc học ngôn ngữ bậc cao khác Vậy để em viết tốt chương trình pascal? Một yếu tố quan trọng em phải nắm vững cấu trúc câu lệnh biết vận dụng chúng vào toán cụ thể, đặc biệt hai cấu trúc câu lệnh lặp Nó Xun suốt chương trình Tin học 11 hai cấu trúc áp dụng vào hầu hết tập chương lại Là giáo viên Tin học phân công dạy trường THPT Dân tộc nội trú (DTNT) Ngọc Lặc trăn trở làm giúp học sinh – em đồng bào dân tộc thiểu số có trình độ định tin học đam mê Tin học biết lập trình, ươm mầm cho em sau trở thành nhà lập trình viên chun nghiệp, để làm điều tơi ln phải đổi phương pháp giảng dạy cho phù hợp với học, tiết học, đối tượng học sinh Xuất phát từ thực tiễn dạy học trường THPT DTNT Ngọc Lặc, học Tin học 11 em biết thể thuật tốn thành chương trình, biết máy tính thực chương trình nên em hứng thú muốn khám phá Nhưng dạy đến Bài10 : “Cấu trúc lặp”, học sinh thấy nội dung kiến thức mới, rộng, trừu tượng khó hiểu nhiều so với học trước Nên tơi sử dụng ví dụ thực tế, hệ thống câu hỏi tập phù hợp để giảng dạy 10 – cấu trúc lặp (Sách giáo khoa Tin học 11) SangKienKinhNghiem.net vào giảng dạy thấy kết tốt hẳn, vận dụng tốt cấu trúc lặp vào để giải toán Thái độ học tập học sinh hăng hái, tích cực, chủ động sáng tạo Vì lí mạnh dạn đưa sáng kiến kinh nghiệm “ Sử dụng ví dụ thực tế, hệ thống câu hỏi tập dạy Cấu trúc lặp tạo hứng thú học lập trình cho học sinh trường THPT DTNT Ngọc Lặc” 1.2 Mục đích nghiên cứu Giúp học sinh (đặc biệt học sinh trường THPT DTNT Ngọc Lặc) hiểu rõ câu lệnh lặp: lặp với số lần biết trước, chưa biết trước tự tin làm tập có niềm đam mê hứng thú học lập trình Pascal – Tin học 11; từ chỗ em cịn mơ hồ khái niệm lặp gì? sử dụng lệnh lặp For, while, nguyên tắc hoạt động loại vv Giờ (sau áp dụng SKKN) em hiểu lặp gì, dùng làm nhiều tập có liên quan tới cấu trúc lặp đặc biệt em có niềm tin u thích học lập trình Pascal nói riêng mơn Tin học 11 nói chung 1.3 Đối tượng nghiên cứu Học sinh lớp 11A1, 11A2 trường THPT DTNT Ngọc Lặc năm học 2018- 2019 học 10 - Cấu trúc lặp – Sách giáo khoa Tin học 11 1.4 Phương pháp nghiên cứu Trong đề tài sử dụng số phương pháp nghiên cứu chính: + Phương pháp nghiên cứu tài liệu + Phương pháp quan sát + Phương pháp vấn + Phương pháp so sánh Nội dung 2.1 Cơ sở lí luận Pascal ngơn ngữ lập trình bậc cao giáo sư Niklaus Wirth (trường đại học kỹ thuật , Zurich, Thụy sĩ) sáng tác công bố vào đầu năm 1970, với tên Pascal để kỷ niệm nhà toán học người Pháp Blaise Pascal kỷ 17 Lúc đầu, ngơn ngữ lập trình sáng tác nhằm giúp cho người học lập trình có thói quen viết chương trình có cấu trúc sáng sủa, rõ ràng, dễ hiểu dễ đọc cho người Giáo sư Wirth thấy tránh nhiều lỗi lập trình với ngơn ngữ có cấu trúc khối có kiểm tra kỹ lưỡng tương thích kiểu liệu Mà Pascal ngôn ngữ thế: biến kiểu liệu tự đem trộn lẫn với biến kiểu liệu khác Ngôn ngữ Pascal tách thơng tin liệu (biến, hằng,…) lệnh cần dùng cho nhiệm vụ xác định thành khối riêng, tách khỏi phần lại chương trình để người lập trình giải dần phần một, khối chí cho nhiều người tham gia lập trình, người phụ trách vài khối Từ tính ưu việt ngơn ngữ lập trình Pascal mà ngôn ngữ sử dụng rộng dãi Pascal thích hợp dùng để giảng dạy nhà trường cho người bắt đầu học lập trình Do trường THPT SangKienKinhNghiem.net DTNT Ngọc Lặc chọn ngơn ngữ lập trình để dạy học sinh giải tốn máy tính Mặc dù mục tiêu chương trình giáo dục Tin học Bộ GD & ĐT không quy định phải dạy học sinh ngơn ngữ lập trình cụ thể Pascal ngôn ngữ khởi đầu, hành trang cho em tiếp cận ngôn ngữ bậc cao khác dễ dàng Nhưng để làm em phải hiểu vận dụng viết chương trình pascal cách linh hoạt Muốn em phải nắm vững cú pháp, ngữ nghĩa pascal, sử dụng thành thạo câu lệnh ngôn ngữ có câu lệnh lặp Nhưng thực tế học sinh gặp nhiều khó khăn, nhầm lẫn việc xác định vòng lặp xác định điều kiện dừng vòng lặp, câu lệnh nằm vòng lặp Từ nảy sinh cho giáo viên học sinh nhu cầu giải vấn đề 2.2 Thực trạng vấn đề: Qua thực tế giảng dạy lớp mà phân công chuyên môn trường THPT DTNT Ngọc Lặc, nhận thấy học đến chương III cấu trúc lặp - Tin học lớp 11 đa số học sinh nhận xét học khó khơng hứng thú là: - Bởi học đầu sách giáo khoa em thấy kiến thức nhẹ nhành, học đến đâu làm tốt tập ngay, với hầu hết em thấy kiến thức nhiều nhiều, trừu tượng - Bài học khơng có ví dụ liên quan đến thực tiễn đời sống nên khó hiểu; - Khi đưa ví dụ áp cho câu lệnh For…Do, While…Do tương ứng với ví dụ sách giáo khoa Tong-1a, Tong -1b giới thiệu học sinh khơng hình dung hoạt động câu lệnh đa phần em có học lực trung bình thấy khó (như sử dụng for do, dùng While Do; lúng túng sử dụng : câu lệnh for –do sử dụng câu lệnh tác động lên biến điều khiển; khó khăn xác định biểu thức điều kiện trog câu lệnh while –do; khơng sử dụng (begin end;) có câu lệnh ghép sau Do - Nguyên tắc hoạt động câu lệnh lặp giới thiệu vài dịng khơng giúp học sinh hiểu rõ chế hoạt động for…do gì? while gì? 2.3 Sử dụng ví dụ thực tế, hệ thống câu hỏi tập dạy Cấu trúc lặp – Tin học lớp 11: 2.3.1 Đối với việc dạy học sinh khái niệm: Lặp gì? *Giáo viên đưa ví dụ câu hỏi : Ví dụ 1: Thầy giáo dạy thể dục yêu cầu bạn Giàng A Dế chạy quanh sân trường sau: Trường hợp 1: bạn Dế chạy 10 vòng quanh sân trường Trường hợp 2: bạn Dế chạy quanh sân trường đến mệt (việc mệt hiểu thoog qua hỏi bạn mệt hay chưa? ) Câu hỏi 1: - Việc chạy bạn Dế có lặp ko? Khi học sinh trả lời là: việc chạy quanh sân trường bạn lặp - lặp lần? Học sinh trả lời được: trường hợp Bạn chạy quanh sân trường 10 vòng nên lặp 10 lần; cịn trường hợp có SangKienKinhNghiem.net bạn chạy vòng mệt vòng mệt nên số vịng chạy bạn khơng biết dẫn đến trước lặp lần => từ giáo viên nhấn mạnh: việc chạy quanh sân trường bạn Giàng A Dế trường hợp biết trước số vòng chạy hay lặp biết trước số lần cịn trường hợp khơng biết trước số vịng chạy hay lặp khơng biết trước số lần Ví dụ 2: Cơng việc hàng ngày sáng em múc nước giếng đổ vào bể Cơ quản lí kí túc xá u cầu bạn Thao Đắc Di dùng xô (mỗi xô chứa 10 lít) múc đổ đầy bình trường hợp sau: a Đổ nước vào Bể chứa 100 lít nước b khơng biết bình chứa lít nước mà yêu cầu bạn Di múc nước đổ vào bể đầy Câu hỏi 2: - Việc dùng xô múc nước đổ vào bể bạn Thao Đắc Di có lặp khơng em? Khi học sinh dễ dàng trả lời là: Việc dùng xô 10 lit múc nước đổ vào bể bạn Di lặp - Các em có biết bạn phải xách xô nước không (tức lặp lần) ? Khi học sinh suy nghĩ trả lời là: trường hợp a bạn phải xách 10 xơ tức 10 lần bể 100 lit =10x10 lít; trường hợp b khơng biết trước bạn Di phải xách xô nước (bao nhiêu lần) bình chưa biết chứa thể tích lít biết bạn dừng xách nước đổ đầy bể => Từ qua ví dụ giáo viên khẳng định : việc thực lại nhiều lần công việc gọi lặp GV hỏi lại : Vậy lặp ? Học sinh dễ dàng trả lời : Lặp việc thực lại nhiều lần cơng việc Giáo viên đưa khái nệm : Lặp công việc, thao tác, phép tốn, câu lệnh….nào thực lại nhiều lần Nếu biết trước số lần lặp gọi lặp với số lần biết trước ngược lại gọi lặp với số lần chưa biết trước Câu hỏi : em kể tên tượng gọi lặp thực tế sống mà em biết ? Sau hiểu lặp qua ví dụ, học sinh dễ dàng lấy ví dụ liên quan tới công việc, hoạt động hàng ngày em : - Lặp với số lần định biết trước : Đánh ngày hai lần ; ăn cơm ngày lần nhà ăn… - Lặp với số lần không xác định trước : Học thuộc bài, nhặt cọng rau xong… 2.3.2 Lệnh for để mô tả lặp biết trước số lần: Câu hỏi 4: Viết chương trình đưa hình số nguyên dương từ đến10 Các số viết dòng, số cách dấu cách - Học sinh dễ dàng viết sau: SangKienKinhNghiem.net Begin Write (1,’ ‘);Write (2,’ ‘);Write (3,’ ‘);Write (4,’ ‘);Write (5,’ ‘); Write (6,’ ‘);Write (7,’ ‘);Write (8,’ ‘);Write (9,’ ‘);Write (10,’ ‘); Readln End; Câu hỏi 5: Từ chương trình câu hỏi em sửa lại chương trình để thực đưa hình số nguyên từ đến 100 Lúc giáo viên quan sát gương mặt học sinh lớp thấy băn khoăn nhiều em lí viết nhiều tới 100 câu lệnh write, số khác lại hăng say viết nghĩ nhiều câu lệnh phải làm cho nhanh xong ? Em cho biết ý tưởng để viết chương trình câu hỏi Đúng dự đoán em trả lời phải viết 100 câu lệnh write thấy dài dòng, nhàm chán GV: (dẫn dắt) để khắc phục dài dòng nhàm chán phải viết câu lệnh chương trình Ngơn ngữ lập trình Pascal cung cấp cho ta câu lệnh lặp với số lần biết trước For Do, sau chiếu lên hình đoạn câu lệnh For i:=1 to 100 write(i, ‘ ‘); Khi quan sát gương mặt em học sinh nhẹ nhõm hứng khởi để học câu lệnh for 2.3.2.1 Câu lệnh for dạng tiến: *) Cú pháp: For := To Do ; Trong đó: biến đơn, thường nguyên , biểu thức kiểu với biến đếm, giá trị đầu nhỏ giá trị cuối (nếu giá trị đầu lớn giá trị cuối vịng lặp khơng thực hiện) Ví dụ: Ta quay lại ví dụ Thầy giáo dạy thể dục yêu cầu bạn Giàng A Dế chạy 10 vòng quanh sân trường Các em coi việc thầy giáo đứng đếm (tiến) 1: bạn Dế chạy vòng thứ 1; 2: bạn Dế chạy vòng thứ 2; ……………………… 10: bạn Dế chạy vòng thứ 10, kết thúc giống giá trị , 10 , chạy Việc nhắc lại lần ví dụ giúp học sinh hiểu rõ thành phần câu lệnh for…to…do từ học sinh hình dung phần nguyên tắc hoạt động câu lệnh *) Nguyên tắc hoạt động: viết sau từ khóa Do thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ đến ; Lưu ý: - tự động tăng giá trị nên sau từ khóa Do khơng có câu lệnh làm thay đổi giá trị SangKienKinhNghiem.net - câu lệnh đơn câu lệnh ghép (đặt cặp begin…end;) Câu hỏi 6: Cho biết giá trị biến s bao nhiêu? sau thực đoạn câu lệnh sau : S:=0; For i:=1 to Do s:= s + ; a s=1 b s=2 c s =0 d s=5 Với câu hỏi 6, giáo viên trực tiếp hướng dẫn theo nguyên tắc hoạt động câu lệnh for dạng tiến cụ thể sau: Với i:=1, câu lệnh sau Do thực s= s+1=0+1=1 Với i:=2, câu lệnh sau Do thực s=s+1=1+1=2 Với i:=3, câu lệnh sau Do thực s=s+1= 2+1=3 Với i:=4, câu lệnh sau Do thực s=s+1=3+1=4 Với i:=5, câu lệnh sau Do thực s=s+1 = 4+1= => Sau thực đoạn chương trình s=5 (đáp án d) Câu hỏi 7: Cho đoạn chương sau : T:=1; For i:=1 to Do T:=T*i; Hãy cho biết giá trị biến T sau thực câu lệnh trên? a T=1 b T=120 c.T=20 d T=100 Gv gợi ý nhắc lại em vận dụng nguyên tắc hoạt động câu lệnh “chạy bộ” ứng với giá trị i câu lệnh sau từ khóa Do thực có giá trị T Đúng dự đoán em nhanh chóng tìm giá trị T= 120 (=1* 1* * * * 5) Câu hỏi 8: cho biết đoạn chương trình câu hỏi thực cơng việc gì? Với câu hỏi em nhìn lại phần giấy nháp câu hỏi em hồn tồn trả lời : đoạn chương trình thực việc tính tích số tự nhiên từ đến 5, T= 120 (=1* 1* * * * 5) ? thao tác lặp câu hỏi thao tác lặp lần => em nhìn vào biểu thức nhận thao tác lặp phép nhân (*) lặp lần Từ câu hỏi 8, GV nhấn mạnh để mô tả thao tác mà lặp lặp lại với số lần biết trước ta sử dụng câu lệnh lặp For dạng tiến Bài tốn 1: Tính tổng S với a số nguyên a >2 S 1 1 a a 1 a a 100 - Gv đưa vài câu hỏi nhỏ để học sinh tiếp cận gần với toán : (Gv liên hệ thực tế: ta coi S gống thùng chứa nước, ban đầu đựng giá trị 1/a, số hạng 1/(a+i) cộng vào S giống lượng nước xô đổ vào thùng) SangKienKinhNghiem.net ? thao tác lặp toán => thao tác lặp phép + ? Sau lần thực giá trị tổng S tăng thêm bao nhiêu=> tăng thêm 1/(a+i) với i = 1,2, 100 ? Việc tăng giá trị cho tổng S lặp lặp lại lần=> 100 lần Với trả lời 3câu hỏi em học sinh hồn tồn xác định , cần thực câu lệnh for …do - Giáo viên yêu cầu em xem thuật toán (SGK –Tr43 ) viết hoàn chỉnh đoạn câu lệnh lặp giấy nháp kết mong đợi: s:=1/a; for i:=1 to 100 s = s + 1/(a+i); - Giáo viên chiếu chương trình hồn chỉnh chạy chương trình cho học sinh quan sát Program tong_1a; Var i: byte; S : real; Begin Writeln(‘Nhap so a: ’); Readln(a); S:=1/a; For i:= to 100 S:= S+1/(a+i); Writeln(‘Tong S la : ‘,S:8:3); Readln End Câu hỏi 9: Ta quay trở lại ví dụ ban đầu, thầy giáo yêu cầu bạn Dế chạy 10 vòng quanh sân trường Thầy khơng đứng đếm số vịng chạy bạn từ 1-.10 mà thầy lại đếm số vòng chạy bạn từ 10 có khơng em? => học sinh trí hồn tồn số vịng chạy lặp khơng đổi 10 Giáo viên gợi mở để dạy câu lệnh lặp dạng lùi 2.3.2.2 Lệnh lặp for dạng lùi: *) Cú pháp: For := Downto Do < câu lệnh>; Trong đó: biến đơn, thường nguyên , biểu thức kiểu với biến đếm, lớn (nếu giá trị cuối nhỏ giá trị đầu vịng lặp khơng thực hiện) Câu hỏi 10: Các em có nhận xét cú pháp câu lệnh For dạng tiến dạng lùi? Khi học sinh dễ dàng trả lời được: mô tả việc lặp sau từ khóa Do; với số lần lặp : - ; khác biến đếm nhận giá trị giảm từ SangKienKinhNghiem.net GV: sau học sinh trả lời câu hỏi 10 đến việc nắm nguyên tắc hoạt động câu lệnh for dạng lùi dễ hiểu là: sau từ khóa Do thực với nhận giá trị liên tiếp giảm từ đến Câu hỏi 11: Cho biết giá trị biến s bao nhiêu? sau thực đoạn câu lệnh sau : S:=0; For i:=5 downto Do s:= s + 1; a s=1 b s=2 c s =0 d s=5 Với câu hỏi 11, giáo viên trực tiếp hướng dẫn “ chạy bộ” câu lệnh theo nguyên tắc hoạt động câu lệnh for dạng lùi cụ thể sau: Với i:=5, câu lệnh sau Do thực s= s+1=0+1=1 Với i:=4, câu lệnh sau Do thực s=s+1=1+1=2 Với i:=3, câu lệnh sau Do thực s=s+1= 2+1=3 Với i:=2, câu lệnh sau Do thực s=s+1=3+1=4 Với i:=1, câu lệnh sau Do thực s=s+1 = 4+1= => Sau thực đoạn chương trình s=5 (đáp án d) Câu hỏi 12: Cho đoạn chương trình sau : T:=1; For i:=5 downto Do T:=T*i; Hãy cho biết giá trị biến T sau thực câu lệnh trên? a T=1 b T=120 c.T=20 d T=100 Gv gợi ý nhắc lại em vận dụng nguyên tắc hoạt động câu lệnh for dạng lùi “chạy bộ” ứng với giá trị i câu lệnh sau từ khóa Do thực có giá trị T Đúng dự đốn em nhanh chóng tìm giá trị T= 120 (=1* 5* * * * 1) Câu hỏi 13: Khi em sử dụng câu lệnh lặp for dạng lùi? Học sinh suy nghĩ trả lời giáo viên khẳng định lại: dùng cần mơ tả thao tác lặp lặp lại với số lần biết trước khác for dạng tiến biến đếm nhận giá trị liên tiếp giảm từ đến - Gv yêu cầu xem thuật tốn Tong_1b Sgk – Tr43, học sinh hình dung thuật toán sử dụng câu lệnh for dạng lùi để viết chương trình giải Bài tốn chương trình mong đợi Program tong_1b; Var i : byte; S : real; Begin Writeln(‘Nhap so a: ’); Readln(a); 10 SangKienKinhNghiem.net S:=1/a; For i:= 100 downto S:= S+1/(a+i); Writeln(‘Tong S la : ‘, S:8:3); Readln End 2.3.3 Lặp với số lần chưa biết trước câu lệnh While –Do: Tình huống: Giả sử tài khoản sim điện thoại bạn Thao Đắc Di có 100.000 Di thực gọi , em cho Cô biết bạn thực gọi? Học sinh thảo luận để đưa nhận định: chưa biết bạn Di thực điện thoại ng hoạt động gọi điện dừng lại tài khoản khơng cịn đủ tiền Khi giáo viên giải thích thêm: Mỗi lần bạn Di thực gọi, hệ thống nhà mạng kiểm tra tiền tài khoản Nếu hệ thống thực việc kết nối (đổ chng) khơng hệ thống báo “tài khoản bạn không đủ để thực gọi này” Hoặc gọi hết tiền tài khoản gọi dừng Từ giáo viên dẫn dắt tới câu lệnh lặp với số lần chưa biết trước câu lệnh while …do *) Cú pháp: While Do ; Trong đó: biếu thức logic 1câu lệnh đơn câu lệnh ghép *) Nguyên tắc hoạt động: Bước 1: Tính kiểm tra giá trị biểu thức Bước 2: Nếu biểu thức nhận giá trị false bị bỏ qua kết thúc lệnh lặp lệnh> không thựchiện nhận giá trị True < câu lệnh> sau Do thực quay lại bước điều kiện S Đ Câu lệnh Câu hỏi 14: Cho biết giá trị biến S sau thực đoạn chương trình sau: S:=1; i:=1; While i đúng, nên ta khơng xác định đến vịng lặp thứ để sai ta khơng thể dùng vịng lặp for…do để thực tính tổng S cho Giáo viên khẳng định vấn đề: toán dùng lệnh lặp với số lần chưa biết trước While khơng sử dụng for 2.3.4 Cách chuyển đổi qua lại câu lệnh lặp while for: Câu hỏi 17: Các em nêu toán dùng hai cấu trúc lặp for While? Học sinh suy nghĩ trả lời được: Lớp toán lặp với số lần lặp biết trước Câu hỏi 18: Những toán dùng While do? Học sinh suy nghĩ trả lời được: lớp toán lặp với số lần lặp chưa biết trước Giáo viên kết luận: Mọi toán lặp dùng while-do 2.3.4.1 Cách chuyển từ câu lệnh For –do sang While –do (Mọi toán lặp chuyển được) Giáo viên: yêu cầu em phải nhớ cấu trúc , thành phần cấu tạo nên để xác định chúng: Ví dụ: cho câu lệnh for -do sau, chuyển sang While-do: S:=0; For i:=1 to 100 s:=s+i; Gv: Em xác định biến đếm, giá trị đầu, giá trị cuối, câu lệnh sau Hs: Biến đếm là: i ;Giá trị đầu : 1; Giá trị cuối : 100; Câu lệnh sau do: s:=s+i; =>Vậy i [1 100] cịn lặp, điều kiện While Nhưng (biến đếm:=1) điều kiện while (biến đếm