1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(SKKN 2022) Một số lưu ý khi dạy câu lệnh lặp while trong nội dung phần 3, Bài 10 Cấu trúc lặp – Tin học 11

24 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề (SKKN 2022) Một số lưu ý khi dạy câu lệnh lặp while trong nội dung phần 3, Bài 10 Cấu trúc lặp – Tin học 11
Tác giả Nguyễn Trung Linh
Trường học Trường Trung Học Phổ Thông Triệu Sơn 1
Chuyên ngành Tin học
Thể loại Sáng kiến kinh nghiệm
Năm xuất bản 2022
Thành phố Thanh Hoá
Định dạng
Số trang 24
Dung lượng 242,44 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 10 Cấu trúc lặp chương trình tin học 11 là một bài học mang tính thực tiễn cao nhưng mục 3 “Lặp với số lần chưa biết trước và câu lệnh while” là một nội dung kiến thức trừu tượng và

Trang 1

TRƯỜNG THPT TRIỆU SƠN 1

SÁNG KIẾN KINH NGHIỆM

THANH HOÁ NĂM 2022

Trang 2

MỤC LỤC

1 PHẦN MỞ ĐẦU 3

1.1 Lý do chọn đề tài 3

1.2 Mục đích nghiên cứu 4

1.3 Đối tượng nghiên cứu 4

1.4 Phương pháp nghiên cứu 4

2 NỘI DUNG 5

2.1 Cơ sở lý luận của sáng kiến kinh nghiệm 5

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến 5

2.3 Các giải pháp đã sử dụng để giải quyết vấn đề 6

2.3.1 Lưu ý về Phương pháp 6

2.3.2 Lưu ý về Nội dung kiến thức 6

2.4 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, với đồng nghiệp 19

2.4.1 Năm học chưa áp dụng SKKN 19

2.4.2 Năm học áp dụng SKKN 20

3 KẾT LUẬN - KIẾN NGHỊ 20

3.1 Những mặt đạt được và chưa đạt được 20

3.2 Nguyên nhân 21

TÀI LIỆU THAM KHẢO 22

DANH MỤC SÁNG KIẾN KINH NGHIỆM ĐÃ ĐƯỢC HỘI ĐỒNG SÁNG KIẾN KINH NGHIỆM NGÀNH GIÁO DỤC VÀ ĐÀO TẠO HUYỆN, TỈNH VÀ CÁC CẤP CAO HƠN XẾP LOẠI TỪ C TRỞ LÊN……… 23

Trang 3

1 PHẦN MỞ ĐẦU

1.1 Lý do chọn đề tài

Chương trình Tin học 11 là chương trình khó trong 3 năm của cấp họcTrung học phổ thông Là môn học thuộc khối tự nhiên, ngoài việc phải học lýthuyết và tư duy, sáng tạo các em học sinh phải có kĩ năng thực hành, viếtchương trình để thực thi, sửa lỗi trên máy tính, bên cạnh đó các kiến thức tạothành một mạch xuyên suốt nên để học tốt được bộ môn, học sinh phải xâuchuỗi các kiến thức lại với nhau một cách hệ thống và thực hành chăm chỉ

Học tốt môn Tin học sẽ giúp học sinh thích ứng nhanh với cuộc sống,với sự phát triển của thời đại 4.0, hỗ trợ cho việc học và thực hiện công việcrất hiệu quả, do đó Ban dự thảo thay sách của Bộ Giáo dục xác định Tin họcgiữ vai trò chủ đạo trong việc chuẩn bị cho học sinh khả năng tiếp nhận, mởrộng tri thức và sáng tạo trong thời đại thông tin, kết nối và toàn cầu hóa.Thay vì môn học tự chọn như hiện nay vai trò môn tin học được nâng lên, trởthành môn bắt buộc có phân hóa xuyên suốt từ lớp 3 đến lớp 12 và là môn thituyển sinh đại học như những môn Toán, Lí, Hóa, khác Do đó để đáp ứngđược xu thế mới mỗi giáo viên cần phải chuẩn bị trước tâm thế, cập nhật kịpthời kiến thức và kĩ năng của chương trình mới để hiệu quả giáo dục đạt mứccao nhất

Bài 10 Cấu trúc lặp chương trình tin học 11 là một bài học mang tính thực tiễn cao nhưng mục 3 “Lặp với số lần chưa biết trước và câu lệnh while”

là một nội dung kiến thức trừu tượng và khi tiếp cận các em học sinh còn gặpnhiều vướng mắc

Khi học phần “2.Lặp với số lần biết trước và câu lệnh for” học sinh chỉ

cần xác định rõ giá trị đầu, giá trị cuối, bước nhảy của biến điều khiển các emhoàn toàn có thể viết được lệnh Còn với câu lệnh while các em cần phải xácđịnh được các giá trị khởi tạo ban đầu, điều kiện lặp, câu lệnh lặp, câu lệnhlàm thay đổi giá trị của biến trong điều kiện lặp để không bị lặp vô hạn vàchương trình cho kết quả chính xác

Trang 4

Chính vì những lí do đó tôi viết đề tài “Một số lưu ý khi dạy câu lệnh

lặp while trong nội dung phần 3, Bài 10: Cấu trúc lặp – Tin học 11” để

phân tích và giải quyết những điểm khó của học sinh một số lớp 11 trường

THPT Triệu Sơn 1 khi dạy nội dung “Lặp với số lần chưa biết trước và câu lệnh while” của bài 10 Cấu trúc lặp, những điểm lưu ý khi giải bài tập sử

dụng lệnh while trong Bài 12 Kiểu xâu - SGK Tin học 11

1.2 Mục đích nghiên cứu

 Nâng cao chất lượng giảng dạy nội dung kiến thức lặp với số lần chưabiết trước (Câu lệnh lặp while) ở bài 10 Cấu trúc lặp và cách giải một

số bài tập sử dụng lệnh while trong Bài 12 Kiểu xâu - SGK Tin học 11

 Tạo sự hứng thú, chủ động tiếp thu kiến thức cho học sinh với mônhọc, rèn luyện kĩ năng lập trình, yêu thích lập trình

 Đổi mới phương pháp dạy học và kiểm tra đánh giá nhằm đáp ứng kịpthời những thay đổi về bộ môn do Bộ Giáo dục và đào tạo đề xuất

1.3 Đối tượng nghiên cứu

 Khách thể nghiên cứu và đối tượng nghiên cứu của đề tài là việc họcnội dung lý thuyết và thực hành câu lệnh lặp while của học sinh một sốlớp 11 trường THPT Triệu Sơn 1

 Ngôn ngữ lập trình sử dụng trong đề tài là Ngôn ngữ lập trình C++

1.4 Phương pháp nghiên cứu

Để thực hiện tốt việc nghiên cứu đề tài, tôi sử dụng các phương phápsau:

- Phương pháp so sánh, phân tích, tổng hợp dữ liệu;

- Phương pháp quan sát hành vi, thái độ học tập;

- Kiểm tra đánh giá.

Trang 5

2 NỘI DUNG

2.1 Cơ sở lý luận của sáng kiến kinh nghiệm

- Phương pháp dạy học ngôn ngữ lập trình phân tích hoạt động thành cáchoạt động thành phần tương thích nhỏ hơn để học sinh có thể dễ hiểu;

- Phương pháp phát vấn;

- Phương pháp quy nạp;

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến

Khi dạy “Bài 10 - Mục 3 - Tin học 11” tại trường THPT Triệu Sơn 1 tôinhận thấy các em học sinh thường lúng túng và mắc lỗi khi làm bài tậpcâu lệnh lặp while Các em không hiểu được bản chất, hoạt động của câulệnh nên khi viết chương trình thường mắc lỗi

Thực tế giảng dạy đặt ra vấn đề: làm thế nào để học sinh hiểu bài vàtránh được những sai lầm thường gặp là điều quan trọng Tuy nhiên, đểgiải quyết vấn đề này là không đơn giản Nên tôi đã áp dụng SKKN:

“Một số lưu ý khi dạy câu lệnh lặp while trong nội dung phần 3, Bài

10: Cấu trúc lặp – Tin học 11” vào giảng dạy.

Sau một thời gian giảng dạy, từ thực tế có thể đưa ra một số nguyênnhân dẫn đến các lỗi thường gặp của học sinh:

- Học sinh chưa biết viết biểu thức điều kiện lặp, câu lệnh lặp tổngquát hoặc thiếu lệnh thay đổi giá trị của biến trong Điều kiện để dừngvòng lặp, thiếu cặp dấu { và } để gộp nhiều câu lệnh, chưa hình dung rađược cách hoạt động của câu lệnh như thế nào dẫn đến ít HS làm đượcbài tập hoặc không làm được bài tập, nhất là những bài tập đã đổi dạng

- Trong giờ thực hành, học sinh chỉ gõ được vài dòng hoặc lập trìnhnhưng kết quả chương trình chưa chính xác hoặc có rất nhiều lỗi,không hoàn thiện được bài tập theo yêu cầu của giáo viên trong tiếthọc

- Khi gặp lỗi lặp vô hạn học sinh không biết cần phải sửa ở đâu dokhông hiểu rõ bản chất thao tác lặp và câu lệnh nào dẫn đến hiện tượngđó?

- Từ đó dẫn đến tình trạng học sinh ngại học, có thái độ uể oải khôngmuốn học nội dung lập trình Và điểm kiểm tra sau nội dung lặp thườngkhông cao

Trang 6

2.3 Các giải pháp đã sử dụng để giải quyết vấn đề

Sau một thời gian giảng dạy tôi rút ra được một số lưu ý để tạo sự hứngthú, chủ động cho học tích cực tìm hiểu nội dung kiến thức và giải được bàitập vận dụng câu lệnh lặp while như sau:

2.3.1 Lưu ý về Phương pháp

1 Cần vận dụng linh hoạt và sáng tạo các biện pháp đổi mới phương pháp

dạy học, kiểm tra đánh giá; khai thác triệt để cơ sở vật chất thiết bị dạy học

đã có như: máy chiếu, ti vi, phòng máy, các phần mềm hỗ trợ giảng dạy,mạng Internet; tạo các Group, các Website trao đổi học tập qua mạng, đăngtải những tài liệu - bài tập, link học, bài giảng, bài giảng Elearning, nhằmtạo sự kết nối giữa giáo viên và học sinh ngoài thời gian trên lớp và thôngqua đó giáo viên sẽ biết được những nội dung kiến thức nào học sinh khótiếp thu để điều chỉnh phương pháp giảng dạy - đánh giá cho phù hợp

2 Giáo viên tích cực tìm hiểu nội dung bài giảng và phương pháp giảng

dạy bằng cách tăng cường dự giờ các đồng nghiệp; tham gia các buổi hộigiảng để trải nghiệm, nhận xét, góp ý chuyên môn; tham khảo nhiều nguồntài liệu hữu ích trên mạng Internet; tham gia vào các Group, Website liênquan để trao đổi chuyên môn - nghiệp vụ và cập nhật kiến thức mới; viếtsáng kiến kinh nghiệm hoặc nghiên cứu khoa học sư phạm ứng dụng,

2.3.2 Lưu ý về Nội dung kiến thức

1 Thay các ví dụ khó trong sách giáo khoa thành các ví dụ dễ hơn, tăng

dần độ khó theo mức tiếp thu của lớp để tạo hứng thú học tập cho học sinh

2 Phân tích nhu cầu lặp trong cuộc sống và dẫn dắt học sinh phân biệt rõ

và nhận dạng được lặp với số lần lặp biết trước và chưa biết trước

Lặp với số lần lặp chưa biết trước thường có 2 dạng đó là lặp ẩn hoặchiện rõ ở đề bài ví dụ:

VD1: Viết chương trình tính tổng S = 1 + 2 + 3 + cho đến khi S > 50.

Trang 7

Dấu hiệu nhận biết thể hiện rõ đó chính là: + và cho đến khi S > 50(điều kiện dừng lặp)

VD2: Viết chương trình nhập xâu s từ bàn phím Xóa tất cả các dấu

cách có trong s Thông báo xâu sau khi loại bỏ dấu cách ra màn hình

(Ví dụ 4, Bài 12: Kiểu xâu, trang 72, SGK Tin học 11)

Công việc lặp tại một thời điểm là xóa một dấu cách trong xâu,cho đến khi xâu không còn dấu cách nữa thì dừng (chưa biết trước sốdấu cách trong xâu) Dạng lặp ẩn với số lần lặp chưa biết trước

VD3: Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo

ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trong S (không

phân biệt chữ hoa hay chữ thường) (Bài 2, Bài tập và thực hành 5, trang 73, SGK Tin học 11)

Để đếm số lần xuất hiện của chữ cái tiếng Anh trong S, trướctiên ta sẽ loại bỏ các kí tự không phải chữ cái ra khỏi xâu và in hoa cảxâu lên (Vì không phân biệt chữ hoa hay thường) sau đó tiến hành đếm

số lượng từng kí tự bằng mảng đánh dấu Trong quá đó thì công việclặp: loại bỏ kí tự thừa, và in hoa từng kí tự chữ cái lên, là dạng lặp ẩnvới số lần lặp chưa biết trước

VD4: Nhập vào từ bàn phím một xâu Thay thế tất cả các cụm kí tự

anh bằng cụm kí tự em (Bài 3, Bài tập và thực hành 5, trang 73,

SGK Tin học 11)

Việc thay xâu anh bằng xâu em được thực hiện lặp đi lặp lại

cho đến khi không còn xâu anh trong xâu nữa thì dừng (chưa biết

trước xâu anh xuất hiện mấy lần) Dạng lặp ẩn với số lần lặp chưa biếttrước

3 Trình bày rõ hơn kiến thức phần cú pháp của câu lệnh và phân tích

những nội dung đó:

Trang 8

*Cú pháp:

< Phần khởi tạo giá trị ban đầu>

while <Điều kiện lặp>

Điều kiện Lặp: là biểu thức Lôgic nhận giá trị true hoặc false.

 Khối lệnh: thường là câu lệnh ghép dạng:

{

<Câu lệnh làm thay đổi giá trị của biến trong Điều kiện lặp>;

<Câu lệnh>;

}

Phân tích nội dung: minh họa với ví dụ sau:

Ví dụ: Viết CT tính tổng S = 1 + 2 + 3 + cho đến khi S > 50

Giáo viên dùng các phương pháp nêu vấn đề, vấn đáp, minh họa trực quantrên máy, hướng dẫn học sinh xác định:

- Input, Output, nhận dạng dạng lặp với số lần biết trước hay chưa biết

trước, dạng lặp ẩn hay hiện rõ, điều kiện dừng lặp, công việc lặp

- Phần khởi tạo giá trị ban đầu: để tạo giá trị ban đầu cho biến trong câu

lệnh lặp và giá trị ban đầu cho biến đếm điều khiển vòng lặp

Lưu ý:

+ Giá trị khởi tạo ban đầu thường là giá trị khi cộng, trừ hoặc nhân vào không làm thay đổi giá trị gốc của biến trong khối lệnh

 Bài toán cộng dồn: Thường gán giá trị ban đầu là 0

 Bài toán nhân dồn: Thường gán giá trị ban đầu là 1

Trang 9

+ Có thể gán giá trị khác nhưng làm sai đi số lần lặp hoặc giá trị cuối cùng của bài toán.

Giá trị khởi tạo ban đầu của bài toán trên:

S= 0; để sau đó thực hiện lệnh lặp cộng dồn: S := S + i;

i= 0; khi chưa lặp thì số lần lặp = 0, để sau đó thực hiện

lệnh cộng dồn i = i +1; tăng số lần lặp

- Xác định được trong cú pháp câu lệnh while:

 Điều kiện lặp: là phủ định của điều kiện dừng lặp

Trong VD, điều kiện dừng lặp là S > 50 vậy điều kiện lặp là:

 Câu lệnh thực hiện thao tác tính toán:

Công việc lặp ở mỗi lần lặp là tính tổng 2 số

Trang 10

Ta có:

Sban đầu = 0, iban đầu = 0

i = i +1 = 0 + 1 = 1

Do đó câu lệnh thực hiện thao tác tính toán cần lặp lại là: S = S + i;

Đoạn câu lệnh while:

Giá trị S được cộng dồn thêm i đơn vị (i tăng thêm 1 đơn vị sau mỗilần lặp) đến lúc nào đó S sẽ lớn hơn 50 và việc lặp sẽ dừng lại

0

Strước Ssau

i = N  S = S + N Với: lần lặp

 Tổng quát: S = S + i

Trang 11

Chương trình tham khảo:

- Chạy toàn bộ chương trình của ví dụ cho học sinh hiểu rõ hoạt động của

câu lệnh Xuất thêm kết quả biến i để học sinh thấy được sau bao nhiêulần thì lệnh lặp while sẽ dừng

Kết quả sau khi thực hiện chương trình:

Biểu thức 1< 2 luôn luôn đúng do đó giá trị của biểu thức không

bao giờ nhận giá trị False để dừng câu lệnh lặp cout<< "*";

Ví dụ 2: int i= 0;

while (i < 20) cout<< "Xin Chao";

Trang 12

Phần câu lệnh không có câu lệnh nào làm thay đổi giá trị củabiến i trong Điều kiện Lặp nên giá trị của i không bao giờ lớn hơnhoặc bằng 20 để dừng lặp.

đổi được giá trị biến trong điều kiện và cũng không lặp công việc gìcả

Một số dấu hiệu nhận biết Lặp vô hạn và cách thoát:

 CT sẽ xuất giá trị không dừng nếu trong khối lệnh có lệnh

cout VD: Trong các ví dụ trên lệnh cout<< "Xin Chao"; bị

Trang 13

5 Lưu ý về cú pháp lệnh có thể thay đổi trong một số bài tập sử dụng lệnh

lặp while trong và sau bài 12 Kiểu xâu chương IV - SGK 11

Bài tập 1: Viết chương trình nhập xâu s từ bàn phím Xóa tất cả các

dấu cách có trong s Thông báo xâu sau khi loại bỏ dấu cách ra màn

hình (Ví dụ 4, bài 12 Kiểu xâu – SGK tin học 11)

Giáo viên vận dụng các phương pháp như nêu vấn đề, vấn đáp,minh họa trực quan trên máy, hướng dẫn học sinh phân tích, xác địnhInput, Output, dạng lặp, công việc lặp, điều kiện lặp, tìm dấu cách nhưthế nào?

tự dấu cách bằng kí tự rỗng: s.replace(k,1,"") )một dấu

cách tại vị trí tìm thấy được thực hiện

 Lỗi sai học sinh thường mắc là điều kiện lặp, các emthường viết:

while (s.find(" ")!=0)Lệnh s.find(" ") tìm vị trí dấu cách sẽ trả về vị trí nếu tìmthấy, ngược lại nếu không tìm thấy dấu cách trong xâu thìlệnh s.find(" ") sẽ trả về giá trị 264 – 1 Do đó điều kiện

Trang 14

lặp viết như trên là sai Vậy nếu trong xâu có dấu cách thìs.find(" ") phải trả về giá trị trong phạm vi từ 0 đếns.size() -1.

Cách 3:

 Trong khi chưa duyệt hết xâu s, nếu kí tự s[i] khác dấucách thì cộng dồn các kí tự đó vào xâu s1 Cách làm nàytạo ra một xâu mới không chứa dấu cách

 Lỗi sai thường gặp của học sinh là viết điều kiện lặp:while (i<=s.size())

Do xâu được đánh chỉ số từ 0 trở đi nên số lượng kí tựtrong xâu là s.size() thì kí tự cuối cùng sẽ có chỉ số làs.size()-1 Nếu viết điều kiện là i<=s.size() thì đoạn lệnhsau khi thực hiện sẽ bị thừa 1 dấu cách cuối cùng

Trang 15

Chương trình tham khảo:

Cả ba cách trên sau khi thực hiện trả về kết quả như sau:

Bài tập 2: Viết chương trình nhập từ bàn phím một xâu kí tự S và

thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anhtrong S (không phân biệt chữ hoa hay chữ thường)

Giáo viên vận dụng các phương pháp như nêu vấn đề, vấn đáp,minh họa trực quan trên máy, hướng dẫn HS xác định: Input,Output, dạng lặp, công việc lặp, điều kiện lặp, cách đếm số lần xuấthiện của các chữ cái trong xâu?

Trang 16

Gợi ý: Đầu tiên sẽ loại bỏ các kí tự không phải là chữ cái, sau đó sẽ

in hoa hoặc in thường toàn bộ xâu kí tự (Vì không phân biệt chữ hoachữ thường) Tiếp theo đó là dùng mảng đánh dấu để đếm số lần xuấthiện các kí tự chữ cái có trong xâu

 Câu lệnh lặp while:

 Trong khi chưa duyệt hết xâu s, nếu kí tự s[i] in thườngthì chuyển sang in hoa và cộng dồn các kí tự đó vào xâu s1.Cách làm này tạo ra một xâu mới là xâu in hoa của xâu banđầu

 Do bài trước đã làm quen với duyệt xâu nên ở bài này,học sinh đã khắc phục được lỗi sai trong điều kiện lặp:

i<s.size()

Chương trình tham khảo:

Trang 17

Kết quả sau khi thực hiện chương trình:

Bài tập 3: Nhập vào từ bàn phím một xâu Thay thế tất cả các cụm

kí tự anh bằng cụm kí tự em (Bài 3 Bài tập và thực hành 5, trang

73, SGK Tin học 11)

Giáo viên vận dụng các phương pháp như nêu vấn đề, vấn đáp,minh họa trực quan trên máy, hướng dẫn HS xác định: Input,Output, dạng lặp, công việc lặp, điều kiện lặp, tìm xâu anh như thếnào, thay xâu anh bằng xâu em như thế nào?

 Câu lệnh lặp while:

Ngày đăng: 06/06/2022, 07:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w