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

(Skkn 2023) hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh thpt

55 6 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 đề Hệ Thống Bài Tập Rèn Luyện Kĩ Năng Sử Dụng Cấu Trúc Lặp Trong Dạy Học Lập Trình Cho Học Sinh THPT
Tác giả Nguyễn Thị Hằng, Nguyễn Thị Thu Hương, Nguyễn Ngọc Anh
Trường học Trường THPT chuyên Lương Văn Tụy
Chuyên ngành Tin học
Thể loại Sáng Kiến
Năm xuất bản 2023
Thành phố Ninh Bình
Định dạng
Số trang 55
Dung lượng 1,69 MB

Nội dung

Tên sáng kiến, lĩnh vực áp dụngTên sáng kiến: “HỆ THỐNG BÀI TẬP RÈN LUYỆN KĨ NĂNG SỬDỤNG CẤU TRÚC LẶP TRONG DẠY HỌC LẬP TRÌNH CHO HỌCSINH THPT”Lĩnh vực áp dụng: giảng dạy môn Tin học lớp

Trang 1

- -ĐƠN ĐỀ NGHỊ CÔNG NHẬN SÁNG KIẾN

Tên sáng kiến: “HỆ THỐNG BÀI TẬP RÈN LUYỆN KĨ NĂNG SỬ DỤNG CẤU TRÚC LẶP TRONG DẠY HỌC LẬP TRÌNH CHO HỌC SINH THPT”

Trang 2

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

-o0o -ĐƠN YÊU CẦU CÔNG NHẬN SÁNG KIẾN

Kính gửi: Sở giáo dục và đào tạo Ninh Bình

Chúng tôi gồm các thành viên:

TT Họ và tên Ngày sinh Nơi công tác Chức

danh

Trình độ chuyên môn

Tỷ lệ (%) đóng góp vào việc tạo ra sáng kiến

1 Nguyễn Thị Hằng 17/07/1983

Trường THPT chuyên Lương văn Tụy

Giáo viên THPT hạng 3

2 Nguyễn Thị Thu Hương 29/09/1986

Trường THPT chuyên Lương văn Tụy

Giáo viên THPT hạng 3

2 Nguyễn Ngọc Anh 14/08/1996

Trường THPT chuyên Lương văn Tụy

Giáo viên THPT hạng 3

1 Tên sáng kiến, lĩnh vực áp dụng

Tên sáng kiến: “HỆ THỐNG BÀI TẬP RÈN LUYỆN KĨ NĂNG SỬ

DỤNG CẤU TRÚC LẶP TRONG DẠY HỌC LẬP TRÌNH CHO HỌC SINH THPT”

Lĩnh vực áp dụng: giảng dạy môn Tin học lớp 10, 11 cho học sinh THPT

2 Nội dung

a Giải pháp cũ thường làm

Lập trình C++ là một môn học mới, là môn khoa học tự nhiên không dễ đốivới học sinh Hơn nữa, đó là môn không thi tốt nghiệp và đại học nên chưa đượccác nhà trường, phụ huynh và học sinh quan tâm đúng mức Với các em học lậptrình còn khó hơn học toán, lí, hóa Thời lượng dạy Tin học trong trường THPTtrong một tuần chỉ 1 đến 2 tiết, lại không có thời gian học phụ đạo buổi chiều

n

Trang 3

Thời gian quá ít để các em có thể thành thạo một ngôn ngữ lập trình Hơn thếCấu trúc lặp lại là một phần kiến thức căn bản cốt lõi của mọi ngôn ngữ lậptrình, đây là một phần trong chương trình lập trình của bộ môn Tin học lớp 11thậm trí cũng là chương trình lớp 10-11-12 theo chương trình GDPT 2018.

Cấu trúc lặp là một trong ba cấu trúc cơ bản trong lập trình có cấu trúc Tuynhiên trước một bài toán lập trình tin học có các thao tác lặp đi lặp lại nhiều họcsinh thường lúng túng, không biết nên lựa chọn và sử dụng câu lệnh lặp nào chophù hợp với yêu cầu bài toán và tối ưu hóa thuật toán Để đạt được điểm khágiỏi, học sinh cần được rèn luyện làm bài tập về vòng lặp đầy đủ và sâu hơn Bàitập Tin học liên quan tới cấu trúc lặp trong các đề thi học sinh giỏi cấp tỉnhthường đa dạng Để có tài liệu dạy đội tuyển, giáo viên thường phải dày côngtìm tòi từ nhiều nguồn tư liệu Khi soạn giảng, giáo viên bắt buộc phải thamkhảo rất nhiều tài liệu từ nhiều phương tiện, do đó mất rất nhiều thời gian vàcông sức, tốn kém nhiều tiền bạc

Trong các sách giáo khoa lý thuyết và bài tập Tin học, phần bài tập về cấutrúc lặp chỉ dừng lại ở mức độ củng cố cơ bản, ít dạng bài tập, ít kiến thức đượcvận dụng Trong các tài liệu tham khảo môn Tin học THPT hiện nay, bài tập vềcấu trúc lặp cũng chỉ rời rạc, vụn vặt, chưa có tài liệu nào xây dựng hệ thống bàitập đó một cách đầy đủ

Bài tập thiếu tính hệ thống, thông thường các giáo viên chỉ giải thích lýthuyết và cung cấp một số ví dụ để học sinh có thể hiểu và áp dụng vào thực tế.Tuy nhiên, điều này khiến cho học sinh gặp khó khăn trong việc nắm vững kiếnthức và áp dụng vào các bài tập thực tế

Bài tập Tin học liên quan vòng lặp trong chương trình cơ bản, nâng cao vàcác đề thi học sinh giỏi cấp tỉnh thường đa dạng Để có tài liệu dạy chương trình

cơ bản và đội tuyển, giáo viên thường phải dày công tìm tòi từ nhiều nguồn tưliệu Khi soạn giảng, giáo viên bắt buộc phải tham khảo rất nhiều tài liệu từnhiều phương tiện, do đó mất rất nhiều thời gian và công sức, tốn kém nhiều tiềnbạc

Đối với học sinh thì chưa đủ kĩ năng và kinh nghiệm để hệ thống và phânloại kiến thức nên các em khó có thể hiểu được một cách bao quát, đầy đủ cácdạng bài tập về cấu trúc lặp

n

Trang 4

Hơn nữa vẫn còn một số học sinh chưa có ý thức tự giác học tập do bị chiphối bởi các hình thức giải trí ngoài học tập như sử dụng điện thoại thông minh,chơi game online….

Trình độ và năng lực học tập của học sinh không đồng đều dẫn đến việctriển khai một số biện pháp nhằm nâng cao chất lượng giảng dạy chưa thực sự

có hiệu quả cao nhất

Do đặc thù trường chuyên với chương trình chuyên sâu rất nặng nên cũnggây khó khăn cho giáo viên trong triển khai nhằm nâng cao chất lượng giáo dục

vì ảnh hưởng đến thời gian học môn Chuyên của học sinh

Học sinh muốn giỏi lập trình thì thường phải tự học Nguồn tài liệu rấtnhiều trên Internet nhưng rời rạc, thiếu động bộ Những bộ giáo trình hoàn chỉnhthì cũng chỉ dạy đến bước nhập môn là cùng, còn về sau là hoàn toàn lạc lối, dẫnđến học sinh chán nản

Học sinh tiếp nhận một cách thụ động trong việc tiếp cận kiến thức, kĩ năngmôn học Cụ thể qua ghi chép, sau các buổi học lí thuyết là có các buổi thựchành kiểm chứng lại phần kiến thức được học

b Giải pháp mới cải tiến:

Việt Nam là quốc gia đang trong quá trình công nghiệp hóa, hiện đại hóa

và hội nhập quốc tế, cuộc Cách mạng 4.0 mở ra nhiều cơ hội trong việc nângcao trình độ công nghệ thông tin, nâng cao năng lực sản xuất và cạnh tranh sảnphẩm đồng thời là cơ hội lớn cho sản xuất công nghiệp với trình độ và côngnghệ tiên tiến

Tuy nhiên, nếu không bắt nhịp được với tốc độ phát triển của thế giới vàkhu vực, Việt Nam sẽ phải đối mặt những thách thức, tác động tiêu cực như: Sựtụt hậu về công nghệ dẫn đến suy giảm sản xuất kinh doanh; dư thừa lao động có

kĩ năng và trình độ thấp gây phá vỡ thị trường lao động truyền thống, ảnh hưởngtới tình hình kinh tế xã hội đất nước.”

Chúng ta đang tích cực thực hiện đổi mới căn bản toàn diện giáo dục đàotạo theo tinh thần của Nghị quyết 29-BCHTW, đổi mới phương pháp dạy, hìnhthức tổ chức dạy học để chuyển từ chủ yếu quan tâm đến việc cung cấp kiếnthức sang việc quan tâm hình thành, phát triển các năng lực, phẩm chất người

n

Trang 5

học, phát huy tính tích cực, chủ động, sáng tạo của học sinh, tăng cường kĩ năngthực hành…

“Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh THPT” đưa ra hệ thống các bài tập về cấu trúc lặp giúp

học sinh lĩnh hội tri thức, giúp các em tích cực, chủ động tích lũy kiến thức Qua

đó, học sinh phát triển được tư duy logic, rèn luyện được tính tự giác, tính kỉluật, thói quen tự học đó là những đức tính rèn luyện tốt của học sinh

Nhóm tác giả sử dụng hệ thống kiến thức thông qua việc phân loại cácdạng bài tập ứng dụng Do đó hệ thống bài tập được xây dựng là rất logic, đadạng, phong phú, thể hiện kiến thức bao chùm từ cơ bản đến phức tạp, từ dễ đếnkhó, phù hợp với trình độ nhận thức của học sinh, có thể dành cho nhiều đốitượng học sinh dự thi học sinh giỏi THPT Từ đó sẽ giúp học sinh lần lượt giảitừng bài tập góp phần tạo hứng thú học tập môn Tin học cho học sinh, giúp GVphân loại học sinh, lựa chọn HS tham gia thi đội tuyển HSG học sinh giỏi, cóhướng bồi dưỡng HS yếu kém

Khi tham gia các kì thi lập trình thi đấu, các thí sinh sử dụng ngôn ngữ C++hoặc Python là một lựa chọn hàng đầu cấu trúc lặp là một trong những cấu trúcđiều khiển quan trọng của mọi ngôn ngữ lập trình Nhưng có rất nhiều học sinhgặp phải một số khó khăn khi học cấu trúc lặp, thậm chí còn mắc sai lầm khi lậptrình giải các bài toán có sử dụng cấu trúc lặp Vì những lý do trên nhóm tác giả

đã đưa ra “Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy

học lập trình cho học sinh THPT” nhằm rèn luyện kỹ năng lập trình cho học

sinh thông qua các bài tập ứng dụng cụ thể

Hệ thống bài tập lựa chọn đưa vào trong nội dung nghiên cứu này được sưutầm nguồn trên SPOJ, VNOI và một số các tài liệu cùng sự tích lũy kinh nghiệmtrong quá trình giảng dạy để thuận tiện cho học sinh luyện tập Code mẫu mộtphần là của chính nhóm tác giả, một phần được tham khảo trên nguồn internet

Hệ thống bài tập được xây dựng theo các mức độ nhận thức: nhận biết, thônghiểu, vận dụng và vận dụng cao

3 Hiệu quả kinh tế, xã hội dự kiến đạt được

Trên thế giới, các hoạt động giáo dục nhằm phát triển năng lực, sự sángtạo, phẩm chất và kĩ năng, giáo dục sự nhân văn… được rất nhiều quốc gia quan

n

Trang 6

tâm đặc biệt là các quốc gia tiếp cận chương trình giáo dục phổ thông theohướng phát triển năng lực.

Một số quốc gia gọi đó là hoạt động giáo dục ngoài trời, hoạt động ngoàigiờ lên lớp hay hoạt động trải nghiệm Các hoạt động này thường được xâydựng dựa trên các chủ đề rất đa dạng, một trong số đó liên quan đến khám pháthế giới tự nhiên, khoa học trái đất, tìm hiểu Công nghệ, Kĩ thuật… Tuy tên gọi,nội dung khác nhau nhưng nhìn chung các hoạt động trên đều hướng tới việccung cấp cho học sinh các tình huống, bối cảnh đa dạng và phong phú đòi hỏi sựphát triển, vận dụng nhiều tri thức kĩ năng, cho phép học sinh tư duy sáng tạo vàgiải quyết vấn đề theo các cách khác nhau nhằm đạt được kết quả tốt hơn; cungcấp cho học sinh cơ hội sáng tạo, dám nghĩ, dám làm Bên cạnh đó tại nhiềuquốc gia, giáo dục không chỉ phó mặc cho nhà trường mà còn có sự tham giacủa các cá nhân, tổ chức nhằm thúc đẩy sự chung tay góp sức của toàn xã hộitrong việc chia sẻ sứ mệnh giáo dục Đây là những điều kiện thuận lợi để giáodục kỹ năng cũng như tư duy lập trình cho học sinh

Hoạt động này không mang tính đại trà mà dành cho những học sinh cónăng lực, sở thích và hứng thú với các hoạt động tìm tòi, khám phá khoa học, kĩthuật giải quyết các vấn đề thực tiễn

Tổ chức tốt hoạt động sáng tạo nghiên cứu khoa học là tiền đề triển khaicác dự án nghiên cứu trong khuôn khổ các cuộc thi khu vực, tin học trẻ, khoahọc kĩ thuật dành cho học sinh trung học được tổ chức thường niên Do vậy nộidung nghiên cứu đã đạt được những kết quả nhất định sau:

a Hiệu quả kinh tế.

“Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học

lập trình cho học sinh THPT” không gây tốn kém về kinh tế của phụ huynh học

sinh và nhà trường, vì vậy nó có thể áp dụng thường xuyên, liên tục ở các tiếthọc trên lớp; góp phần tích cực chuyển biến cách dạy, học của giáo viên và họcsinh trong toàn trường

b Hiệu quả xã hội.

- Đa số học sinh đã tránh được các lỗi thường gặp trong khi viếtchương trình bằng ngôn ngữ lập trình C++ hay Python

n

Trang 7

- Nhiều học sinh đã tự giải được các bài tập trong sách giáo khoa tinhọc lớp 11 và một số bài tập mở rộng từ các bài tập trong sách giáo khoa.Một số em đã có thể tự tìm được lời giải cho các bài toán khó.

- Nhiều học sinh đã thực sự yêu thích, đam mê môn Tin học Qua đócác em có định hướng nghề nghiệp sau này

- Kết quả thu được thể hiện qua các bài kiểm tra rất khả quan Ở các tiếtkiểm tra chúng tôi đã ra đề đối với tất cả các lớp là tương đương nhau về độkhó Nhưng kết quả ở các lớp không được triển khai đề tài thấp hơn so vớicác lớp được triển khai đề tài Cụ thể:

- Kết quả kiểm tra giữa học kì II năm học 2021 – 2022 của lớp thựcnghiệm (11 Anh 1, 11 Anh 2) và đối chứng (11 Văn 1)

Số lượng %

Số lượng %

n

Trang 8

hệ thống bài tập rèn luyện kỹ năng lập trình Trong đó, Hệ thống bài tập rènluyện kỹ năng sử dụng cấu trúc lặp trong lập trình C++ hay Pyhon là một trongnhững hệ thống được đánh giá cao bởi tính hiệu quả và tính ứng dụng.

Tuy nhiên, để học sinh có thể áp dụng tốt hệ thống bài tập này, có một sốđiều kiện cần phải đáp ứng Đầu tiên, học sinh cần có kiến thức cơ bản về lậptrình C++ hay Python, đặc biệt là kiến thức về cấu trúc lặp Thứ hai, học sinhcần có tư duy logic tốt để có thể giải quyết các bài toán lập trình Nếu không có

đủ kiến thức và tư duy logic, học sinh sẽ gặp khó khăn trong việc hiểu và giảiquyết các bài tập trong hệ thống

Tuy nhiên, nếu học sinh đã đáp ứng đủ các điều kiện trên, hệ thống bài tậprèn luyện kỹ năng sử dụng cấu trúc lặp trong lập trình C++ hay Python sẽ giúphọc sinh phát triển kỹ năng lập trình một cách hiệu quả Hệ thống này cung cấpcho học sinh một loạt các bài tập lập trình có độ khó tăng dần, từ những bài đơngiản đến những bài phức tạp hơn, giúp học sinh rèn luyện và nâng cao khả nănggiải quyết các bài toán lập trình

Hơn nữa, hệ thống bài tập cũng cung cấp cho học sinh các giải pháp mẫu

và hướng dẫn giải quyết bài tập, giúp học sinh có thể hiểu rõ hơn về cách giảiquyết các bài toán lập trình và nâng cao khả năng lập trình của mình

Ngoài ra, hệ thống bài tập còn giúp học sinh rèn luyện khả năng tư duylogic và khả năng giải quyết vấn đề Các bài tập trong hệ thống đòi hỏi học sinhphải suy nghĩ và giải quyết các vấn đề một cách logic và có cấu trúc, giúp họtrau dồi và phát triển kỹ năng này

Học sinh cần có động lực học tập và muốn nâng cao kỹ năng lập trình củamình

Trên cơ sở đó, hệ thống bài tập rèn luyện kỹ năng sử dụng cấu trúc lặptrong lập trình C++ hay Python là một công cụ hữu ích để giúp học sinh THPTnâng cao kỹ năng lập trình và phát triển khả năng tư duy logic Tuy nhiên, để đạtđược hiệu quả tối đa từ hệ thống này, học sinh cần đáp ứng đủ các điều kiện và

có thời gian và nỗ lực để rèn luyện và phát triển kỹ năng của mình

* Về khả năng áp dụng:

n

Trang 9

Giáo viên có thể sử dụng các bài tập trong hệ thống này để đưa vào giảngdạy môn tin học hoặc lập trình cho học sinh, giúp họ có thể rèn luyện và pháttriển kỹ năng lập trình của mình một cách có hệ thống và hiệu quả.

Học sinh cũng có thể sử dụng hệ thống bài tập để ôn tập và rèn luyện kỹnăng của mình ngoài giờ học, từ đó nâng cao thành tích học tập và chuẩn bị tốthơn cho kỳ thi đại học

Ngoài ra, hệ thống bài tập cũng có thể được sử dụng để tự học cho nhữngngười có nhu cầu, giúp họ tự rèn luyện kỹ năng lập trình một cách có hệ thống

và chuyên sâu hơn

Chúng tôi xin cam đoan mọi thông tin nêu trong đơn là trung thực, đúng sựthật, nếu sai chúng tôi xin hoàn toàn chịu trách nhiệm

Trang 10

I Khái niệm LẶP

Lặp (loop) là một cấu trúc rất quan trọng trong lập trình, cho phép lặp lạimột đoạn mã nhiều lần mà không cần phải viết lại các lệnh đó Có hai loại cấutrúc lặp chính trong lập trình C++ hay Python, đó là cấu trúc lặp while và cấutrúc lặp for

Cấu trúc lặp while sẽ lặp lại một đoạn mã cho đến khi một điều kiện nhấtđịnh được thỏa mãn Cấu trúc này thường được sử dụng khi số lần lặp chưa biếttrước và phụ thuộc vào một điều kiện nào đó trong quá trình lặp

Ví dụ:

for (int i = 0; i < 10; i++) {

cout << i << " ";

}

Đoạn mã trên sẽ lặp lại việc in ra giá trị của biến i từ 0 đến 9

Cấu trúc lặp rất hữu ích trong việc giải quyết các bài toán lập trình, giúp rútngắn đoạn mã và tăng tính hiệu quả của chương trình

II Mục tiêu của hệ thống bài tập

Mục tiêu chính của lặp trong lập trình là thực hiện một tác vụ nào đó một

số lần nhất định hoặc cho đến khi một điều kiện nào đó được thỏa mãn Các tác

vụ này có thể là in ra thông tin, tính toán, thay đổi giá trị của biến, hoặc bất kỳhành động nào khác mà cần được lặp lại một số lần nhất định

n

Trang 11

Ví dụ, trong lập trình game, ta có thể sử dụng cấu trúc lặp để lặp lại việccập nhật trạng thái của game một số lần mỗi giây, để đảm bảo game chạy mượt

mà và không bị lag Hoặc trong lập trình web, ta có thể sử dụng cấu trúc lặp đểtạo ra các bản ghi dữ liệu từ cơ sở dữ liệu và hiển thị chúng trên trang web.Mục tiêu của lặp là giúp chương trình thực hiện các tác vụ lặp lại một cách

tự động, nhanh chóng và hiệu quả, giảm thiểu sự mắc công của người lập trình,đồng thời tăng tính linh hoạt và khả năng tái sử dụng của mã lập trình

III Cơ sở lí luận và thực tiễn của việc triển khai “Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh THPT”

1 Cơ sở lí luận:

Cấu trúc lặp là một trong những khái niệm quan trọng trong lập trình và rấtcần thiết trong việc rèn luyện kĩ năng lập trình cho học sinh THPT Việc sửdụng cấu trúc lặp giúp cho việc lặp lại một đoạn mã trở nên đơn giản và dễ dànghơn, giúp cho chương trình trở nên gọn gàng và tiết kiệm thời gian

Trong lập trình C++, có ba loại cấu trúc lặp chính là cấu trúc for, while vàdo-while Các cấu trúc lặp này đều có cách sử dụng khác nhau và phù hợp vớicác tình huống lập trình khác nhau

Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong ngôn ngữ C++ cho học sinh THPT sẽ tập trung vào việc giảng dạy các cấu trúc lặp này, cách

sử dụng chúng trong các tình huống lập trình khác nhau, cùng với các bài tậpthực hành để học sinh có thể rèn luyện và nâng cao kĩ năng lập trình của mình

2 Thực tiễn triển khai

Để triển khai hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trongdạy học lập trình cho học sinh THPT cho học sinh THPT, có thể áp dụng cácphương pháp và công cụ như sau:

+ Lựa chọn một môi trường học tập phù hợp: Trong quá trình học tập, họcsinh cần được hỗ trợ với môi trường lập trình phù hợp và dễ sử dụng để thựchành các bài tập Một số môi trường lập trình C++ hay Python phổ biến và dễ sửdụng có thể kể đến như Code::Blocks, Dev-C++, Visual Studio, hoặc CodeLite,Python,…

n

Trang 12

+ Tạo bộ bài tập thực hành: Các bài tập được thiết kế phù hợp với trình độcủa học sinh THPT, từ cơ bản đến nâng cao, với các bài tập áp dụng cấu trúc lặp

và phù hợp với mục tiêu học tập Các bài tập có thể được lựa chọn từ các nguồntài liệu khác nhau, bao gồm các sách giáo khoa, các trang web và các bộ đề thimẫu

+ Xây dựng hệ thống đánh giá kết quả học tập: Sau khi học sinh thực hiệncác bài tập, cần có hệ thống đánh giá kết quả để đánh giá kết quả học tập củahọc sinh Hệ thống này có thể bao gồm các tiêu chí đánh giá như độ chính xáccủa kết quả, thời gian thực hiện, độ phức tạp của thuật toán và các yếu tố khác.+ Cung cấp các tài liệu học tập và hướng dẫn: Để giúp học sinh tiếp cậncác bài tập và rèn luyện kỹ năng sử dụng cấu trúc lặp, cần cung cấp cho họ cáctài liệu học tập và hướng dẫn thực hành chi tiết Các tài liệu này có thể bao gồmcác hướng dẫn video, bài giảng, tài liệu văn bản, ví dụ minh họa và các tàinguyên khác

+ Tạo một môi trường học tập tích cực: Môi trường học tập tích cực giúphọc sinh có động lực để tham gia vào việc rèn luyện kỹ năng sử dụng cấu trúclặp trong lập trình Và cũng để tạo ra môi trường học tập tích cực, giáo viên cóthể sử dụng các phương pháp như tạo ra các bài tập thú vị, thực hành qua các ví

dụ thực tế, sử dụng các trò chơi giáo dục để tăng tính thú vị và tạo ra sự cạnhtranh giữa các học sinh Ngoài ra, giáo viên cũng có thể thường xuyên độngviên, khích lệ học sinh trong quá trình học tập để giúp họ có thêm động lực vàtinh thần tự tin hơn khi đối mặt với các bài tập khó khăn

3 Vai trò và ý nghĩa của hệ thống bài tập

Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lậptrình cho học sinh THPT có vai trò và ý nghĩa quan trọng trong quá trình giảngdạy và học tập của học sinh THPT

Trước hết, Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trongdạy học lập trình cho học sinh THPT Học sinh sẽ được trang bị kiến thức và kỹnăng cần thiết để có thể tạo ra các chương trình lặp trong lập trình một cách hiệuquả và chính xác

Hơn nữa, hệ thống bài tập còn giúp học sinh củng cố kiến thức, nâng cao

kỹ năng và trau dồi kinh nghiệm trong quá trình lập trình Thông qua việc thực

n

Trang 13

hiện các bài tập rèn luyện, học sinh có thể tiếp cận với nhiều dạng bài tập khácnhau, đồng thời hiểu rõ hơn về các lỗi phổ biến khi lập trình và cách sửa chúng.Điều này giúp học sinh trở nên tự tin và thành thạo hơn trong việc giải quyết cácvấn đề lập trình.

Thêm vào đó, hệ thống bài tập còn giúp giáo viên đánh giá kết quả học tậpcủa học sinh một cách chính xác và nhanh chóng Nhờ vào đó, giáo viên có thểđưa ra các phương pháp giảng dạy, tài liệu học tập phù hợp và hỗ trợ học sinhtrong quá trình học tập

Tóm lại, hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạyhọc lập trình cho học sinh THPT có vai trò và ý nghĩa quan trọng trong việcnâng cao kiến thức và kỹ năng lập trình của học sinh, cũng như hỗ trợ giáo viêntrong quá trình giảng dạy và đánh giá kết quả học tập của học sinh

IV Cơ hội thực hiện của việc triển khai “Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh THPT”

Trong môn học Tin học của THPT, việc triển khai "Hệ thống bài tập rènluyện kĩ năng sử dụng cấu trúc lặp trong ngôn ngữ lập trình cho học sinh THPT"

sẽ mang lại nhiều cơ hội thực hiện cho học sinh như sau:

+ Nâng cao kiến thức và kỹ năng lập trình: Hệ thống bài tập giúp học sinhnắm vững các cấu trúc lặp cơ bản trong lập trình, từ đó nâng cao khả năng lậptrình của học sinh

+ Phát triển tư duy logic và khả năng giải quyết vấn đề: Việc làm bài tậpgiúp học sinh rèn luyện tư duy logic và phát triển khả năng giải quyết vấn đề, từ

đó hỗ trợ học sinh trong học tập các môn khoa học khác

+ Tạo cơ hội tương tác giữa học sinh và giáo viên: Hệ thống bài tập cungcấp cho giáo viên và học sinh một công cụ để tương tác với nhau, từ đó giúpgiáo viên có thể giúp đỡ học sinh trong quá trình học tập

+ Hỗ trợ học sinh tự học và tự rèn luyện: Hệ thống bài tập cho phép họcsinh có thể tự học và tự rèn luyện tại nhà một cách hiệu quả, từ đó giúp học sinh

tự tin và chủ động trong quá trình học tập

+ Cung cấp kiến thức và kỹ năng cần thiết cho công việc sau này: Kiếnthức và kỹ năng lập trình là rất cần thiết trong các ngành công nghiệp hiện đại,

n

Trang 14

vì vậy việc rèn luyện kỹ năng lập trình sẽ giúp học sinh có thể chuẩn bị tốt hơncho công việc sau này.

V Xây dựng, tổ chức việc thực hiện áp dụng “Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh THPT” trong giảng dạy môn Tin học

Để xây dựng, tổ chức và thực hiện áp dụng " Hệ thống bài tập rèn luyện kĩnăng sử dụng cấu trúc lặp trong dạy học lập trình cho học sinh THPT " tronggiảng dạy, có thể thực hiện các bước sau:

- Tìm hiểu và nghiên cứu về " Hệ thống bài tập rèn luyện kĩ năng sử dụngcấu trúc lặp trong dạy học lập trình cho học sinh THPT " để hiểu rõ về mục đích,cách thức hoạt động và ý nghĩa của hệ thống

- Xác định đối tượng học sinh mục tiêu của hệ thống và đánh giá trình độkiến thức cũng như nhu cầu học tập của học sinh

- Lên kế hoạch sử dụng " Hệ thống bài tập rèn luyện kĩ năng sử dụng cấutrúc lặp trong dạy học lập trình cho học sinh THPT " trong giảng dạy bằng cáchtạo ra các bài tập phù hợp với trình độ của học sinh, đồng thời sắp xếp thời gian

và phương pháp thực hiện bài tập

- Sử dụng các phương tiện hỗ trợ giảng dạy, như máy tính, phần mềm lậptrình, hình ảnh, video, để giúp học sinh hiểu rõ hơn về cấu trúc lặp trong lậptrình và áp dụng được vào thực tế

- Thực hiện giám sát, đánh giá kết quả học tập của học sinh thông qua việckiểm tra, đánh giá bài tập và nhận xét, đánh giá kết quả của từng học sinh

- Điều chỉnh và cập nhật hệ thống bài tập để phù hợp với nhu cầu và trình

độ học sinh

- Tạo sự động viên, khuyến khích học sinh tham gia tích cực vào quá trìnhhọc tập và rèn luyện kĩ năng sử dụng cấu trúc lặp trong ngôn ngữ C++ hayPython

- Tổ chức áp dụng " Hệ thống bài tập rèn luyện kĩ năng sử dụng cấu trúclặp trong dạy học lập trình cho học sinh THPT " trong giảng dạy sẽ giúp chogiáo viên có thêm một công cụ hỗ trợ trong việc giảng dạy, giúp học sinh hiểu rõhơn về cấu trúc lặp

n

Trang 15

Ngoài ra, việc sử dụng hệ thống bài tập này cũng giúp tăng cường tínhtương tác giữa giáo viên và học sinh, giúp học sinh có thể tiếp cận kiến thức mộtcách trực quan và thú vị hơn thông qua các bài tập thực hành Đồng thời, hệthống cũng giúp giáo viên có thể đánh giá được mức độ hiểu biết của học sinh

và cung cấp phản hồi kịp thời để hỗ trợ cho việc học tập của học sinh Tất cảnhững điều này sẽ tạo ra một môi trường học tập tích cực, nâng cao hiệu quảgiảng dạy và học tập của học sinh trong môn Tin học

n

Trang 16

HỆ THỐNG BÀI TẬP RÈN LUYỆN KĨ NĂNG SỬ DỤNG CẤU TRÚC LẶP TRONG DẠY HỌC LẬP TRÌNH CHO HỌC SINH THPT

1 MỨC ĐỘ NHẬN BIẾT: Dạng bài tập vòng lặp cơ bản

Bài toán 1: Chương trình sử dụng vòng lặp for để in ra các số từ 1 tới 5:

Trang 17

6 for (int i=10;i>0;i )

Kết luận nội dung kiến thức:

Làm hết bài toán này, học sinh cũng đã hiểu sơ qua về cách sử dụng vònglặp for Vòng lặp được hiểu đơn giản là lặp lại 1 đoạn code

Vòng lặp for sẽ hoạt động theo thứ tự như sau:

Bước 1 Tạo ra biến i kiểu nguyên và gán giá trị cho i = 1

Bước 2 Nếu i <= 5 thì thực hiện khối lệnh bên trong vòng for

n

Trang 18

(chính là đoạn code cout<<i<< " ";)

Ngược lại nếu i > 5 thì dừng không chạy tiếp bước 3

Bước 3 Tăng i lên 1 đơn vị và quay lại bước 2 (i++ tương đương với i = i +

Trang 19

 Dạng bài đọc hiểu chương trình

Trang 20

Chương trình trên in ra các ước số của n.

Bài toán 10: Tìm lỗi sai trong chương trình sau:

Chương trình in ra các số chẵn nằm trong khoảng (a, b)

2 print("Cac so chan trong (a,b):", end=" ")

2 print("Cac so chan trong (a,b):", end=" ")

3 for i in range(a+1, b):n

Trang 21

Bài toán 11: Tìm lỗi sai trong chương trình sau:

Chương trình: Đếm số ước chung của 2 số a và b

Bài tập 12: Tìm lỗi sai trong chương trình sau:

Chương trình: In ra các số nằm trong đoạn từ 1 đến 100 thoả mãn điều kiệnchia hết cho 3 và không chia hết cho 6

n

Trang 22

5 for (int i=1; i<=100;

Chương trình trên sai ở bước nhảy của vòng lặp for Cần sửa lại thành i =

i+1 hoặc i++, nếu không chương trình sẽ bị lặp vô hạn

Bài tập 13: Tìm lỗi sai trong chương trình sau:

Chương trình: In ra số nguyên nhỏ nhất lớn hơn n cho trước và chia 7 dư 1

Chương trình bị lặp vô hạn Khi

gặp số đầu tiên lớn hơn n và chia 7 dư

Biến i được khởi tạo bằng n + 1.

Vòng lặp while sẽ lặp vô hạn, tìm số nguyên đầu tiên sau n mà chia hết cho 7 và có số dư bằng 1 Khi tìm được, sẽ in ra số đó và tăng biến i lên 1 để tiếp tục tìm kiếm.

Để tránh lặp vô hạn, ta thêm điều kiện i > n +

14 vào vòng lặp, vì tất cả các số chia hết cho

7 và có số dư bằng 1 cách nhau ít nhất 7 đơn

vị Do đó, nếu đã kiểm tra tất cả các số từ n+1 đến n+14 mà không tìm thấy kết quả thì có thể kết thúc vòng lặp.

n

Trang 25

Bài toán 19: Tìm lỗi sai trong chương trình sau:

Chương trình sử dụng vòng lặp while tính tổng các số chẵn nằm trong đoạn

7 cout<<"Tong cac so chan

trong doan [a,b]:";

 Nếu a chẵn thì khởi tạo i = a;

 Nếu a lẻ khởi tạo i = a+1;

Trang 26

7 cout << "Tong cac so

chan trong doan [" << a

17 cout << "Tong cac so

chan trong doan [" << a

Một số có tổng các ước thực sự là các ước không kể chính nó bằng chính

nó được gọi là số hoàn chỉnh Ví dụ: Số nguyên 6 có các ước thực sự là 1, 2, 3

n

Trang 27

Tổng là 1+ 2+ 3 = 6 Viết chương trình xét xem một số n (n<1018) được nhập từbàn phím có phải là số hoàn chỉnh không

Ý tưởng

- Dùng biến n lưu số cần xét

- Biến s lưu trữ tổng các ước thực sự, khởi tạo s= 0;

- Sử dụng vòng lặp for với biến đếm i chạy từ 1 đến n-1, nếu i là ước của nthì cộng thêm i vào S

- Nếu s = n thì đưa ra thông báo n là số hoàn chỉnh, ngược lại đưa ra thôngbáo n không là số hoàn chỉnh

5 else:

print("n khong la so hoan chinh")

Nhận xét cải tiến

Ước lớn nhất của số nguyên n không kể chính nó luôn <= n/2 Vì vậy, thay

vì duyệt i từ 1 đến n-1 ta chỉ cần duyệt i từ 1 đến n / 2, việc làm này sẽ làm giảmđáng kể số lần lặp do đó có thể tiết kiệm thời gian chạy chương trình (nhất là với

Ngày đăng: 30/01/2024, 04:58

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

TÀI LIỆU LIÊN QUAN

w