(SKKN 2022) 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 18 0
(SKKN 2022) 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

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 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 MỤC LỤC Mở đầu .1 1.1 Lý chọn đề tài 1.2 Phạm vi đối tượng đề tài .1 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 2.1 Cơ sở lý luận của 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 của vấn đề Nội dung nghiên cứu 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 .9 Hiệu của sáng kiến Kết luận, kiến nghị .9 5.1 Kết luận 5.2 Kiến nghị .10 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 của độ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 thì 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 của thân Python 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 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 của 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” Sáng kiến kinh nghiệm Bộ môn Tin học 1.4 Điểm 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 quát ngôn ngữ lập trình Python Hiện với đặc điểm tính vượt trội thì đ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 của Python dễ hiểu, dễ học Trong việc phát triển ứng dụng thì 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 hoặc 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? Sáng kiến kinh nghiệm Bợ mơn Tin học • Dễ học Code của 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 của 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 của ngôn ngữ, tốc độ xử lý tính Machine Learning cung cấp libraries scikit-learn, Keras, 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 Hố (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 của Tỉnh Thanh Hóa hưởng chế độ sách của nhà nước của Tỉnh 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 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 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 quan tâm của Sở Giáo dục & Đào tạo, nhà trường 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 tồn Q́c, phù hợp với thay đổi của 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 người dân tộc thiểu số, thuộ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 vì mục tiêu của đề 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 của 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 Sáng kiến kinh nghiệm Bợ mơn Tin học Vịng lặp for của Python hoạt động cách lặp qua chuỗi của mảng (array) Về bản, hữu ích xử lý chuỗi, danh sách, từ điển, tập hợp hoặc 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ự của 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 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 gì 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 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: 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 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 của 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 tồn sớ ngun 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 tồn sớ lẻ 100 for x in range(1, 101): 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 của đ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 của string lệnh: a = "How to use a for loop in Python" for i in a: print(i) Chúng ta đếm sớ của 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 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ừ đơ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: Sáng kiến kinh nghiệm Bộ môn Tin học 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 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” 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 toà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": print("Quarantine", sheeps["name"]) Sáng kiến kinh nghiệm Bộ môn Tin học 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 ḿ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 while có tầm ảnh hưởng riêng ngôn ngữ Python Hiệu sáng kiến Từ thực tế dạy học của 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 thì việc tiếp cận ngôn ngữ Python cần thiết, viết sách giáo khoa mà cịn vì ngơn ngữ ứng dụng phổ biến lĩnh vực lập trình Khi quen với Python thì 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 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 thì Python ngôn ngữ Sáng kiến kinh nghiệm Bộ môn Tin học đị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 của 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 của mình viết, không chép nội dung của người khác Xác nhận lãnh đạo nhà trường Tác giả Trương Văn Phát 10 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 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 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ử dụng đồ tư dạy học chương trình tin học THPT Vận dụng kỹ tạo lập nhóm 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 ) hoặc C) Sở GD&ĐT Thanh Hóa Sở GD&ĐT Thanh Hóa B 2013-2014 B 2014-2015 B 2015-2016 C 2018-2019 C 2019-2020 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 Sở GD&ĐT Thanh Hóa THPT Dân tộc nội trú Tỉnh Vận dụng mô hình dạy học kết Sở GD&ĐT hợp Blended Learning (BL) Thanh Hóa 12 Sáng kiến kinh nghiệm Bộ môn Tin học dạy học môn tin học cấp THPT 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 B 2020-2021 thi học sinh giỏi 13 ... nghiên cứu 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... thức liên quan ? ?phương thức làm việc của 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? ?? Sáng kiến kinh nghiệm Bộ môn Tin. .. 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 thì Python ngôn ngữ Sáng kiến kinh nghiệm Bộ môn Tin

Ngày đăng: 08/06/2022, 10:27

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

  • Đang cập nhật ...

Tài liệu liên quan