Skkn phương thức làm việc của vòng lặp for trong ngôn nghữ lập trình python, hỗ trợ giảng dạy môn tin học 10 theo chương trình giáo dục thpt 2018

16 155 2
Skkn phương thức làm việc của vòng lặp for trong ngôn nghữ lập trình python, hỗ trợ giảng dạy môn tin học 10 theo chương trình giáo dục thpt 2018

Đ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

PhÇn I phÇn më ®Çu SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT DÂN TỘC NỘI TRÚ TỈNH SÁNG KIẾN KINH NGHIỆM PHƯƠNG THỨC LÀM VIỆC CỦA VÒNG LẶP FOR TRONG NGÔN NGỮ LẬP TRÌNH PYTHON, HỖ TRỢ GIẢNG DẠY MÔN T[.]

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT DÂN TỘC NỘI TRÚ TỈNH SÁNG KIẾN KINH NGHIỆM PHƯƠNG THỨC LÀM VIỆC CỦA VỊNG LẶP FOR TRONG NGƠN NGỮ LẬP TRÌNH PYTHON, HỖ TRỢ GIẢNG DẠY MƠN TIN HỌC 10 THEO CHƯƠNG TRÌNH GIÁO DỤC PHỔ THƠNG 2018 Người thực hiện: Trương Văn Phát Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học THANH HỐ, NĂM 2022 skkn DANH MỤC CHỮ VIẾT TẮT STT Từ Từ viết tắt Nghĩa từ viết tắt GD ĐT Giáo dục Đào tạo CNTT Công nghệ thông tin THPT Trung học phổ thông CNTT & TT Công nghệ thông tin truyền thông HS Học sinh GV Giáo viên SGK Sách giáo khoa PPCT Phân phới chương trình LT Lập trình 10 CTGD Chương trình giáo dục skkn MỤC LỤC Mở đầu 1.1 Lý chọn đề tài .1 1.2 Phạm vi đối tượng đề tài 1.3 Mục đích đề tài 1.4 Điểm của sáng kiến 1.5 Phương pháp nghiên cứu 1.5.1 Phương pháp nghiên cứu lý thuyết 1.5.2 Phương pháp tham vấn chuyên gia 2 Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm 2.2 Thực trạng chất lượng giảng dạy môn tin học trường THPT Dân tộc nội trú tỉnh Thanh Hoá (cơ sở thực nghiệm) 2.2.1 Đặc điểm tình hình 2.2.2 Thực trạng vấn đề .4 Nội dung nghiên cứu 3.1 Phương thức làm việc vòng lặp for ngơn ngữ lập trình Python 3.2 Ví dụ thực tế cách sử dụng vòng lặp for ngôn ngữ Python 3.3 Sử dụng vịng lặp for với List String ngơn ngữ Python 3.4 Sử dụng ngôn ngữ Python để tạo vòng lặp với array 3.5 Sử dụng Nested cho vòng lặp ngôn ngữ Python Hiệu quả của sáng kiến Kết luận, kiến nghị 10 5.1 Kết luận 10 5.2 Kiến nghị, đề xuất 10 TÀI LIỆU THAM KHẢO .11 skkn Sáng kiến kinh nghiệm Bộ môn Tin học Mở đầu 1.1 Lý chọn đề tài Năm học 2022 - 2023 chương trình giáo dục phổ thơng 2018 thức áp dụng cho khối 10 Với định hướng từ chương trình lớp 10 học sinh học ngôn ngữ lập trình, cụ thể định hướng sử dụng ngơn ngữ lập trình Python Tuy nhiên, nhiều trường sử dụng ngơn ngữ lập trình pascal, C/C++ công cụ để giảng dạy cho học sinh, đặc biệt học sinh đội tuyển dự thi học sinh giỏi cấp môn tin học Hầu hết quen với việc sử dụng ngôn ngữ lập trình Pascal, gần bắt đầu tiếp cận ngơn ngữ lập trình C/C++ Tuy nhiên, sách giáo khoa ngơn ngữ Python lại đưa vào chương trình giáo dục mơn tin học từ lớp 10 Điều làm cho đội ngũ giáo viên tin học phải tự tìm hiểu nghiên cứu thêm ngơn ngữ mới, nhằm phục vụ tốt công tác dạy học thân Python là ngơn ngữ lập trình phổ biến nay, nhiều lập trình viên sử dụng Ngơn ngữ khơng khó viết, tiếp cận nên gặp khó khăn riêng Xuất phát từ lý qua kiến thức tự học tự nghiên cứu q trình dạy học Tơi xin đề cập tới đề tài: “Phương thức làm việc vịng lặp for ngơn ngữ lập trình Python, hỗ trợ giảng dạy mơn tin học 10 theo chương trình giáo dục phổ thông 2018” 1.2 Phạm vi đối tượng đề tài - Phạm vi: Nghiên cứu thực tế công tác dạy học trường THPT Dân tộc nội trú tỉnh Thanh Hóa - Đới tượng: Nghiên cứu giải pháp nhằm nâng cao chất lượng dạy học mơn tin học trường THPT theo chương trình giáo dục phổ thơng 2018 1.3 Mục đích đề tài Tìm hiểu nêu kiến thức liên quan “phương thức làm việc vịng lặp for ngơn ngữ lập trình Python, hỗ trợ giảng dạy mơn tin học 10 theo chương trình giáo dục phổ thơng 2018” skkn Sáng kiến kinh nghiệm Bộ môn Tin học 1.4 Điểm của sáng kiến Đề xuất kiến thức vịng lặp for ngơn ngữ lập trình Python 1.5 Phương pháp nghiên cứu 1.5.1 Phương pháp nghiên cứu lý thuyết  Nghiên cứu tài liệu cơng trình khoa học liên quan đến kiến thức lập trình Python  Nghiên cứu cấu trúc, nội dung sách giáo khoa tin học THPT theo chương trình giáo dục phổ thông 2018 1.5.2 Phương pháp tham vấn chuyên gia Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm * Khái qt ngơn ngữ lập trình Python Hiện với đặc điểm tính vượt trội đa phần lập trình viên chọn lựa Python ngơn ngữ lập trình 2.1.1 ngơn ngữ lập trình Python gì? Là ngơn ngữ mã nguồn mở đa mục đích, loại ngơn ngữ bậc cao, thơng dịch hướng đối tượng 2.1.2 Python có đặc biệt? Đó cú pháp Python dễ hiểu, dễ học Trong việc phát triển ứng dụng ngơn ngữ linh hoạt Python hỗ trợ mẫu đa lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm mệnh lệnh phong cách lập trình theo thủ tục Python khơng làm việc lĩnh vực đặc biệt lập trình Web, 3D CAD… mà cịn ngơn ngữ lập trình động, nên bạn không cần phải sử dụng kiểu liệu khai báo Ngôn ngữ Python giúp cho việc phát triển ứng dụng debug trở nên nhanh chóng nhiều 2.1.3 Tại nên học lập trình Python? skkn Sáng kiến kinh nghiệm Bộ môn Tin học  Dễ học Code Python dễ đọc, ngắn gọn (ngắn code Java 3-5 lần, C++ 5-10 lần)  Bước đệm để học ngơn ngữ lập trình khác Python ngôn ngữ hướng đối tượng ứng dụng đa dạng Vì vậy, hiểu biết cấu trúc kiến trúc Python tảng tham chiếu tốt bạn muốn chuyển sang học ngơn ngữ lập trình khác  Được trả lương cao Cùng với Ruby, Python ngơn ngữ lập trình giúp developer nhận mức lương cao thứ nhì (khoảng $107,000/năm) Mỹ  Thiết thực thiết kế web/ứng dụng web Django, web framework viết Python làm cho việc lập trình web trở nên đơn giản hơn, giúp code bạn nhanh ổn định nhiều, đồng thời tiết kiệm hàng thời gian lập trình  Là tương lai trí tuệ nhân tạo Nhờ tính linh hoạt ngôn ngữ, tốc độ xử lý tính Machine Learning cung cấp libraries như scikit-learn, Keras, và TensorFlow Đây thực ngôn ngữ lập trình có hình thức sáng sủa, cấu trúc rõ ràng, cú pháp ngắn gọn Python với tốc độ xử lý cực nhanh, ngơn ngữ tạo chương trình từ script siêu nhỏ tới phần mềm cực lớn Biender 3D 2.2 Thực trạng chất lượng giảng dạy môn tin học trường THPT Dân tộc nội trú tỉnh Thanh Hoá (cơ sở thực nghiệm) 2.2.1 Đặc điểm tình hình Trường THPT Dân tộc nội trú tỉnh Thanh Hóa trường chuyên biệt, 100% học sinh người dân tộc thiểu số, sinh sống 11 Huyện miền núi Tỉnh Thanh Hóa hưởng chế độ sách nhà nước Tỉnh skkn Sáng kiến kinh nghiệm Bộ môn Tin học Cơ sở vật chất nhà trường cấp, quan quản lý trang bị đầy đủ, bao gồm trang bị máy chiếu, máy tính, phòng tin học phục vụ cho công tác dạy và học của nhà trường Đội ngũ giáo viên tâm huyết, động, nhiệt tình công tác cùng với 540 học sinh toàn trường chia làm 18 lớp thuộc khối Khối 10: 06 lớp với 180 học sinh Khối 11: 06 lớp với 180 học sinh Khối 12: 06 lớp với 180 học sinh 2.2.2 Thực trạng vấn đề a Thuận lợi: Được sự quan tâm của Sở Giáo dục & Đào tạo, nhà trường được trang bị 03 phòng máy tính thực hành, 100% phịng học có máy chiếu phương tiện hỗ trợ ứng dụng CNTT giảng dạy Chương trình giáo dục phổ thơng 2018 thực đồng toàn Quốc, phù hợp với thay đổi giáo dục nước nhà b Khó khăn: Sự đa dạng trình độ học sinh lớp trường THPT Dân tộc nội trú nói riêng trường THPT tỉnh nói chung có phân hố định Trường THPT Dân tộc nội trú Tỉnh với gần 100% đối tượng học sinh là người dân tộc thiểu số, thuộc các xã đặc biệt khó khăn Trước phần đa chưa tiếp xúc nhiều với môn tin học phương tiện CNTT đại, thiếu kỹ sử dụng máy tính Chính mục tiêu đề tài hỗ trợ giáo viên tin học có thêm thơng tin, giúp truyền đạt kiến thức đến học sinh tốt nhất, bắt kịp với thay đổi chương trình giáo dục Nội dung nghiên cứu 3.1 Phương thức làm việc vịng lặp for ngơn ngữ lập trình Python skkn Sáng kiến kinh nghiệm Bợ mơn Tin học Vòng lặp for Python hoạt động cách lặp qua chuỗi mảng (array) Về bản, hữu ích xử lý chuỗi, danh sách, từ điển, tập hợp giá trị Từ khóa in thường theo sau vịng lặp for Python Một vịng lặp for có đặc điểm tương tự tất ngơn ngữ lập trình Ví dụ, dù có khác biệt cú pháp, đặc điểm vòng lặp for của Java tương tự Python Cú pháp Python cho vòng lặp for sau: for new_variable in parent_variable: execute some statements Như nói từ đầu, khác while, vịng lặp for mạnh nên cung cấp nhiều quyền kiểm sốt luồng Cụ thể, vịng for giống câu lệnh: “for every male student you meet in a class, write down one, else, write down it’s a class of females only.” Câu lệnh giống hướng dẫn đơn giản, cho bạn biết bạn cần viết tên nam sinh gặp lớp học cụ thể Nó vịng lặp liên tục Tuy nhiên, để bắt đầu vòng lặp for trong trường hợp này, bạn phải gặp học sinh nam Nếu khơng, sau đó, bạn phải viết câu lệnh else (nếu không) Nếu câu lệnh khơng có điều kiện else, bạn khơng cần phải viết thêm điều sau Điều đồng nghĩa với việc mảng trống 3.2 Ví dụ thực tế cách sử dụng vòng lặp for ngơn ngữ Python Giờ xét số ví dụ thực tế cách sử dụng vòng lặp for trong Python Đoạn mã sau xuất mục danh sách: items = ["shoe", "bag", "shirts", "lamp"] for i in items: print(i) Bạn chỉnh sửa đoạn code để xuất mục có chữ “a” danh sách: items = ["shoe", "bag", "shirts", "lamp"] for i in items: skkn Sáng kiến kinh nghiệm Bộ mơn Tin học if "a" in i: print(i) Một vịng lặp for trong Python dùng câu lệnh else trực tiếp: b=[2, 3, 5, 6] for i in b: print(i) else: print("Loop has ended") Bạn dùng lệnh break để thay đổi quy trình vòng lặp: b=[2, 3, 5, 6] for i in b: if i>3: break print(i) Bạn sử dụng từ khóa continue với loop for: b=[2, 3, 5, 6] for i in b: if i>3: continue print(i) 3.3 Sử dụng vịng lặp for với List String ngơn ngữ Python Giờ quan sát đoạn code đây, đoạn code cho phép xuất toàn số nguyên từ tới 100 Để thực việc này, tạo danh sách số phạm vi từ đến 100 việc sử dụng hàm range của Python for x in range(1, 101): print(x) Bạn chỉnh sửa khối code cách giới thiệu lệnh điều kiện để xuất toàn số lẻ 100 for x in range(1, 101): skkn Sáng kiến kinh nghiệm Bộ môn Tin học if x%2==1: print(x) Hoặc bạn tạo bảng cửu chương nhân theo đầu đoạn mã Để làm việc này, bạn cần thêm vài câu lệnh đơn giản: for x in range(1, 101): if x%2==1: print(x, "x", 2, "=", x * 2) Giờ bạn biết cách vòng lặp for hoạt động với danh sách số nguyên Tiếp theo, tìm hiểu cách sử dụng vòng lặp for với chuỗi Đoạn code bên trả chuỗi string lệnh: a = "How to use a for loop in Python" for i in a: print(i) Chúng ta đếm số chuỗi (bao gồm khoảng cách) biến a sử dụng vòng lặp for: a = ["How to use a for loop in Python"] for i in a: print(i.count('')) Output: 32 Tuy nhiên, bạn đặt vịng lặp for trong biến riêng nhận kết tương tự cách điều chỉnh đoạn code sau: a=["How to use a for loop in Python"] c=[b.count('') for b in a] print(c) Output: [32] Chú ý: Để có số lượng ký tự, đảm bảo khơng có khoảng cách dấu ngoặc kép ngoặc đơn theo sau từ khóa count Bạn chỉnh sửa code hai đoạn mã gần để tạo đếm từ skkn Sáng kiến kinh nghiệm Bợ mơn Tin học đơn giản vịng lặp for Lúc này, toàn việc bạn cần làm trường hợp chèn thêm khoảng trắng dấu ngoặc kép dấu ngoặc đơn: a=["How to use a for loop in Python"] for i in a: print(i.count(' ') + 1) Output: Giống làm đếm ký tự, bạn chỉnh lại code đếm từ cách đặt vòng lặp for trong biến sau: a = ["How to use a for loop in Python"] c=[b.count(' ') + for b in a] print(c) Output: [8] Chú ý tới khoảng trắng nằm trích dẫn ngoặc đơn 3.4 Sử dụng ngơn ngữ Python để tạo vịng lặp với array Bạn dùng vịng lặp for để có nhân tố cụ thể array Giải sử bạn có mảng liệu Sheep với giá trị Yes cho động vật “healthy” và No cho “unhealthy” Mỗi cừu có tên riêng bạn muốn cách ly tất bị bệnh Bạn dùng vịng lặp for để xuất tồn cừu bị bệnh, chẳng hạn sau: array = [{"name":"Sheep1", "healthy":"Yes"}, {"name":"Sheep3", "healthy":"No"}, {"name":"Sheep4", "healthy":"Yes"}, {"name":"Sheep5", "healthy":"Yes"}, {"name":"Sheep8", "healthy":"No"}, {"name":"Sheep7", "healthy":"No"}, {"name":"Sheep9", "healthy":"No"} ] for sheeps in array: if sheeps["healthy"]=="No": skkn Sáng kiến kinh nghiệm Bộ môn Tin học print("Quarantine", sheeps["name"]) 3.5 Sử dụng Nested cho vịng lặp ngơn ngữ Python Một vịng lặp for lồng hữu ích bạn muốn xuất nhân tố dãy phần tử phức tạp hay lồng Nó hoạt động cách đặt vịng lặp bên vịng lặp khác Ví dụ: nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}] for dict in nested_list: for i in dict: print(i) Tùy thuộc vào vấn đề, vịng lặp for và while có tầm ảnh hưởng riêng ngơn ngữ Python Hiệu quả của sáng kiến Từ thực tế dạy học thân năm học vừa qua Tôi nhận thấy việc dùng ngôn ngữ C/C++ dạy học tin học bồi dưỡng học sinh giỏi có nhiều ưu điểm Tuy nhiên, với chương trình giáo dục phổ thơng 2018 việc tiếp cận ngôn ngữ Python cần thiết, viết sách giáo khoa mà cịn ngôn ngữ ứng dụng phổ biến lĩnh vực lập trình Khi quen với Python việc viết chương trình trở nên đơn giản nhiều so với việc sử dụng ngôn ngữ khác Pascal C/C++ Các kỹ thuật lập trình hỗ trợ tốt hơn, khả phát triển ứng dụng debug nhanh Học sinh dễ dàng tiếp cận Python không cần sử dụng kiểu liệu khai báo skkn Sáng kiến kinh nghiệm Bộ môn Tin học Kết luận, kiến nghị 5.1 Kết luận Việc ứng dụng ngôn ngữ lập trình dạy học mơn tin học mở, không bắt buộc cụ thể với loại ngôn ngữ Tuy nhiên, theo chương trình giáo dục theo Sách giáo khoa Python ngơn ngữ định Đề tài góp phần việc giúp trường, Thầy cô giáo học sinh tiếp cận với ngơn ngữ lập trình mới, nâng cao chất lượng giảng dạy phù hợp với tiến lĩnh vực CNTT 5.2 Kiến nghị Đề tài viết chuyên sâu nhằm cung cấp tài liệu tham khảo cho trường THPT việc dạy học mơn tin học theo chương trình giáo dục phổ thơng 2018 Tơi xin chân thành cảm ơn! Thanh Hóa, ngày 26 tháng 04 năm 2022 Tôi xin cam đoan SKKN viết, khơng chép nội dung người khác Xác nhận lãnh đạo nhà trường Tác giả Trương Văn Phát 10 skkn Sáng kiến kinh nghiệm Bộ môn Tin học TÀI LIỆU THAM KHẢO [1] Hồ Sĩ Đàm (CB) – Hồ Cẩm Hà (CB) cộng sự, (2022) Tin học 10 (Bản mẫu - Cánh Diều), Nhà xuất Đại học sư phạm [2] Phạm Thế Long (TCB) – Đào Kiến Quốc (CB) cộng sự, (2022) Tin học 10 (Bản mẫu – Kết nối chi thức với sống), Nhà xuất giáo dục Việt Nam [3] Võ Duy Tuấn, (2018) Kỹ thuật lập trình Python 11 skkn Sáng kiến kinh nghiệm Bộ môn Tin học 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 Họ tên tác giả: Trương Văn Phát Chức vụ: Giáo viên đơn vị công tác:Trường THPT Dân tộc nội trú Tỉnh TT Tên đề tài SKKN Cấp đánh giá Kết xếp loại đánh giá Năm học (Ngành GD cấp xếp loại đánh giá huyện/tỉnh; (A, B, xếp loại Tỉnh ) C) Một số phương pháp rèn luyện kỹ lập trình Pascal cho học sinh lớp 11 Sở GD&ĐT Thanh Hóa Sử dụng đồ tư dạy Sở GD&ĐT học chương trình tin học THPT Thanh Hóa B 2013-2014 B 2014-2015 B 2015-2016 C 2018-2019 Vận dụng kỹ tạo lập nhóm mơ hình trường học VNEN vào dạy học theo định Sở GD&ĐT hướng phát triển lực học Thanh Hóa sinh môn tin học trường THPT Một số giải pháp nâng cao chất lượng dạy học tin học 10 trường THPT Dân tộc nội trú Tỉnh Sở GD&ĐT Thanh Hóa 12 skkn Sáng kiến kinh nghiệm Bợ mơn Tin học Vận dụng mơ hình dạy học kết hợp Blended Learning (BL) dạy học mơn tin học cấp THPT Sở GD&ĐT Thanh Hóa C 2019-2020 B 2020-2021 Một số kiến thức chuổi (String) C/C++ nhằm giúp học sinh tiếp cận với ngơn ngữ lập trình C/C++ ơn luyện Sở GD&ĐT Thanh Hóa thi học sinh giỏi 13 skkn ... nghiên cứu q trình dạy học Tơi xin đề cập tới đề tài: ? ?Phương thức làm việc vòng lặp for ngơn ngữ lập trình Python, hỗ trợ giảng dạy mơn tin học 10 theo chương trình giáo dục phổ thông 2018? ?? 1.2... kiến thức liên quan ? ?phương thức làm việc vịng lặp for ngơn ngữ lập trình Python, hỗ trợ giảng dạy mơn tin học 10 theo chương trình giáo dục phổ thơng 2018? ?? skkn Sáng kiến kinh nghiệm Bộ môn Tin. .. đổi chương trình giáo dục Nội dung nghiên cứu 3.1 Phương thức làm việc vịng lặp for ngơn ngữ lập trình Python skkn Sáng kiến kinh nghiệm Bộ môn Tin học Vòng lặp for Python hoạt động cách lặp

Ngày đăng: 02/02/2023, 08:54

Tài liệu cùng người dùng

Tài liệu liên quan