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

(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 20 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề 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 THPT 2018
Tác giả Trương Văn Phát
Trường học Trường THPT Dân Tộc Nội Trú Tỉnh Thanh Hóa
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 Hóa
Định dạng
Số trang 16
Dung lượng 152 KB

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

Nội dung

SÁNG KIẾN KINH NGHIỆMPHƯƠ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

Trang 1

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 HOÁ, NĂM 2022

Trang 2

STT Từ Từ viết tắt Nghĩa từ viết tắt

4 CNTT & TT Công nghệ thông tin và truyền thông

Trang 3

1 Mở đầu 1

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

1.2 Phạm vi và đối tượng đề tài 1

1.3 Mục đích đề tài 1

1.4 Điểm mới của sáng kiến 2

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

1.5.1 Phương pháp nghiên cứu lý thuyết 2

1.5.2 Phương pháp tham vấn chuyên gia 2

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.2 Thực trạng chất lượng giảng dạy môn tin học tại trường THPT Dân tộc nội trú tỉnh Thanh Hoá (cơ sở thực nghiệm) 3

2.2.1 Đặc điểm tình hình 3

2.2.2 Thực trạng của vấn đề 4

3 Nội dung nghiên cứu 4

3.4 Sử dụng ngôn ngữ Python để tạo vòng lặp với một array 8

3.5 Sử dụng Nested cho vòng lặp trong ngôn ngữ Python 9

4 Hiệu quả của sáng kiến 9

5 Kết luận, kiến nghị 9

5.1 Kết luận 9

5.2 Kiến nghị 10

Trang 4

1 Mở đầu

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

Năm học 2022 - 2023 chương trình giáo dục phổ thông 2018 chính thức áp dụng cho khối 10 Với định hướng ngay từ chương trình lớp 10 học sinh đã được học về ngôn ngữ lập trình, cụ thể là định hướng sử dụng ngôn ngữ lập trình Python Tuy nhiên, rất nhiều trường đã và đang sử dụng ngôn ngữ lập trình pascal, C/C++ như là công cụ để giảng dạy cho học sinh, đặc biệt là học sinh của đội tuyển dự thi học sinh giỏi các cấp môn tin học

Hầu hết chúng ta đã quá quen với việc sử dụng ngôn ngữ lập trình Pascal, gần đây là bắt đầu tiếp cận ngôn ngữ lập trình C/C++ Tuy nhiên, sách giáo khoa mới thì ngôn ngữ Python lại được đưa vào chương trình giáo dục môn tin học ngay từ lớp 10 Điều này làm cho đội ngũ giáo viên tin học phải tự tìm hiểu và 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 bản thân Python là ngôn ngữ lập trình khá phổ biến hiện nay, được rất nhiều lập trình viên sử dụng Ngôn ngữ này không khó viết, nhưng do tiếp cận mới nên sẽ gặp những khó khăn riêng Xuất phát từ lý do này và qua kiến thức tự học tự nghiên

cứu trong quá trình dạy học Tôi xin đề cập tới đề tài: “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”.

1.2 Phạm vi và đối tượng đề tài

- Phạm vi: Nghiên cứu thực tế trong công tác dạy học tại 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 bộ 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 và nêu các kiến thức liên quan về “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”

Trang 5

1.4 Điểm mới của sáng kiến

Đề xuất các kiến thức cơ bản về vòng lặp for trong 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 và các công trình khoa học liên quan đến kiến thức lập trình trong 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

2 Nội dung sáng kiến kinh nghiệm

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

* Khái quát về ngôn ngữ lập trình Python

Hiện nay với những đặc điểm và tính năng vượt trội thì đa phần lập trình viên chọn lựa Python là ngôn ngữ lập trình chính

2.1.1 ngôn ngữ lập trình Python là gì?

Là ngôn ngữ mã nguồn mở đa mục đích, một loại ngôn ngữ bậc cao, thông dịch và hướng đối tượng

2.1.2 Python có gì đặc biệt?

Đó chính là cú pháp của Python rất dễ hiểu, dễ học Trong việc phát triển ứng dụng thì ngôn ngữ này cũng rất 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 và mệnh lệnh hoặc là những phong cách lập trình theo thủ tục

Python không chỉ làm việc trên lĩnh vực đặc biệt như lập trình Web, 3D CAD… mà còn là ngôn ngữ lập trình động, nên bạn không cần phải sử dụng các kiểu dữ liệu khai báo Ngôn ngữ Python giúp cho việc phát triển ứng dụng và debug trở nên nhanh chóng hơn rất nhiều

2.1.3 Tại sao nên học lập trình Python?

Trang 6

Dễ học

Code của Python dễ đọc, ngắn gọn (ngắn hơn code Java 3-5 lần, và C++ 5-10 lần)

Bước đệm để học các ngôn ngữ lập trình khác

Python là ngôn ngữ hướng đối tượng được ứng dụng rất đa dạng Vì vậy, những hiểu biết về cấu trúc và kiến trúc Python sẽ là nền tảng tham chiếu rất tốt khi bạn muốn chuyển sang học các ngôn ngữ lập trình khác

Được trả lương cao

Cùng với Ruby, Python là 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) tại Mỹ

Thiết thực trong thiết kế web/ứng dụng web

Django, web framework được viết bởi Python sẽ 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 và ổn định hơn nhiều, đồng thời tiết kiệm hàng tấn thời gian lập trình

Là tương lai của trí tuệ nhân tạo

Nhờ tính linh hoạt của ngôn ngữ, tốc độ xử lý và các tính năng Machine Learning được cung cấp bởi các libraries như scikit-learn, Keras, và TensorFlow Đây thực sự là một 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 rất ngắn gọn Python với tốc độ xử lý cực nhanh, ngôn ngữ này có thể tạo

ra các chương trình từ những script siêu nhỏ tới những phần mềm cực lớn như Biender 3D

2.2 Thực trạng chất lượng giảng dạy môn tin học tại 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 là một trường chuyên biệt, 100% học sinh là người dân tộc thiểu số, sinh sống tại 11 Huyện miền núi của Tỉnh Thanh Hóa được hưởng chế độ chính sách của nhà nước và của Tỉnh

Trang 7

Cơ sở vật chất nhà trường được cấp, cơ 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, năng động, nhiệt tình trong công tác cùng với hơn 540 học sinh toàn trường được chia làm 18 lớp thuộc 3 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 của 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 và phương tiện hỗ trợ ứng dụng CNTT trong giảng dạy

Chương trình giáo dục phổ thông 2018 được thực hiện đồng bộ trên toàn Quốc, phù hợp với sự thay đổi của nền giáo dục nước nhà

b Khó khăn:

Sự đa dạng về trình độ học sinh trong các lớp tại trường THPT Dân tộc nội trú nói riêng và các trường THPT trong tỉnh nói chung có sự phân hoá nhất đị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 đây phần đa chưa được tiếp xúc nhiều với bộ môn tin học và các phương tiện CNTT hiện đại, thiếu

kỹ năng sử dụng máy tính

Chính vì vậy mục tiêu của đề tài này là 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 sự thay đổi của chương trình giáo dục

3 Nội dung nghiên cứu

3.1 Phương thức làm việc của vòng lặp for trong ngôn ngữ lập trình Python

Trang 8

Vòng lặp for của Python hoạt động bằng cách lặp qua chuỗi của một mảng (array) Về cơ bản, nó hữu ích khi xử lý các chuỗi, danh sách, từ điển, tập hợp

hoặc bộ giá trị Từ khóa in thường theo sau vòng lặp for trong Python.

Một vòng lặp for có đặc điểm tương tự trong tất cả ngôn ngữ lập trình Ví

dụ, dù có sự khác biệt về 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 như 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 hơn nên nó cung cấp

nhiều quyền kiểm soát luồng hơn

Cụ thể, một vòng for giống như 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 này giống như một hướng dẫn đơn giản, cho bạn biết bạn cần viết tên từng nam sinh đã gặp trong một lớp học cụ thể Nó là một 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 một 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 trên không có điều kiện else, bạn sẽ không cần phải viết thêm

bất cứ điều gì sau đó Điều này đồng nghĩa với việc nó là một mảng trống

3.2 Ví dụ thực tế về cách sử dụng vòng lặp for của ngôn ngữ Python

Giờ hãy xét một số ví dụ thực tế về cách sử dụng vòng lặp for trong

Python Đoạn mã sau đây xuất ra từng mục trong danh sách:

items = ["shoe", "bag", "shirts", "lamp"]

for i in items:

print(i) Bạn cũng có thể chỉnh sửa đoạn code trên để xuất bất kỳ mục có chữ cái

“a” trong danh sách:

items = ["shoe", "bag", "shirts", "lamp"]

for i in items:

Trang 9

if "a" in i:

print(i)

Một vòng lặp for trong Python cũng 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 có thể dùng lệnh break để thay đổi quy trình của một vòng lặp:

b=[2, 3, 5, 6]

for i in b:

if i>3:

break print(i)

Bạn cũng có thể sử dụng từ khóa continue với một 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 và String trong ngôn ngữ Python

Giờ chúng ta hãy quan sát đoạn code dưới đây, đoạn code này cho phép xuất toàn bộ các số nguyên dưới từ 1 tới 100 Để thực hiện việc này, đầu tiên tạo một danh sách các số trong phạm vi từ 1 đến 100 bằng việc sử dụng

hàm range của Python.

for x in range(1, 101):

print(x) Bạn có thể chỉnh sửa khối code bằng cách giới thiệu một lệnh điều kiện để xuất toàn bộ số lẻ giữa 1 và 100

for x in range(1, 101):

Trang 10

if x%2==1:

print(x) Hoặc bạn cũng có thể tạo bảng cửu chương nhân 2 theo đầu ra của đoạn mã trên Để làm việc này, bạn chỉ cần thêm một 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 một danh sách các số nguyên Tiếp theo, chúng ta hãy tìm hiểu cách sử dụng vòng lặp for với các chuỗi.

Đoạn code bên dưới trả về một chuỗi của mỗi string trong một lệnh:

a = "How to use a for loop in Python"

for i in a:

print(i) Chúng ta cũng có thể đếm số của chuỗi (bao gồm khoảng cách) trong

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 cũng có thể đặt một vòng lặp for trong một biến riêng và

nhận kết quả tương tự bằng cách điều chỉnh đoạn code trên như sau:

a=["How to use a for loop in Python"]

c=[b.count('') for b in a]

print(c) Output: [32]

Chú ý: Để có được số lượng ký tự, đảm bảo không có khoảng cách giữa

các dấu ngoặc kép trong ngoặc đơn theo sau từ khóa count Bạn cũng có thể

chỉnh sửa từng code trong hai đoạn mã gần nhất ở trên để tạo ra một bộ đếm từ

đơn giản bằng vòng lặp for Lúc này, toàn bộ việc bạn cần làm trong trường hợp

này là chèn thêm một khoảng trắng giữa mỗi dấu ngoặc kép trong dấu ngoặc đơn:

Trang 11

a=["How to use a for loop in Python"]

for i in a:

print(i.count(' ') + 1) Output: 8

Giống như đã từng làm ở bộ đếm ký tự, bạn cũng có thể chỉnh lại code đếm

từ ở trên bằng cách đặt vòng lặp for trong một biến như sau:

a = ["How to use a for loop in Python"]

c=[b.count(' ') + 1 for b in a]

print(c) Output: [8]

Chú ý tới khoảng trắng duy nhất nằm ở giữa các trích dẫn trong ngoặc đơn

3.4 Sử dụng ngôn ngữ Python để tạo vòng lặp với một array

Bạn cũng có thể dùng vòng lặp for để có một nhân tố cụ thể trong một array Giải sử bạn có một mảng dữ liệu Sheep với các giá trị Yes cho động vật

“healthy” và No cho “unhealthy” Mỗi con cừu đều có tên riêng và bạn muốn

cách ly tất cả những con bị bệnh

Bạn có thể dùng vòng lặp for để xuất toàn bộ cừu bị bệnh, chẳng hạn như

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"])

Trang 12

3.5 Sử dụng Nested cho vòng lặp trong ngôn ngữ Python

Một vòng lặp for lồng nhau rất hữu ích khi bạn muốn xuất từng nhân tố

trong một dãy phần tử phức tạp hay được lồng nhau Nó hoạt động bằng cách đặt một vòng lặp bên trong 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 đề, mỗi vòng lặp for và while có tầm ảnh hưởng riêng

trong ngôn ngữ Python

4 Hiệu quả của sáng kiến

Từ thực tế dạy học của bản thân trong những năm học vừa qua Tôi nhận thấy việc dùng ngôn ngữ C/C++ trong dạy học tin học cũng như bồi dưỡng học sinh giỏi vẫn có nhiều ưu điểm Tuy nhiên, với chương trình giáo dục phổ thông

2018 mới thì việc tiếp cận ngôn ngữ Python là cần thiết, không phải bởi được viết trong sách giáo khoa mà còn vì đây là ngôn ngữ đang được ứng dụng rất phổ biến trong lĩnh vực lập trình

Khi đã quen với Python thì việc viết chương trình sẽ trở nên đơn giản hơn rất nhiều so với việc sử dụng các ngôn ngữ khác như Pascal và C/C++

Các kỹ thuật lập trình được hỗ trợ tốt hơn, khả năng phát triển ứng dụng và debug nhanh hơn

Học sinh có thể dễ dàng tiếp cận hơn do Python không cần sử dụng các kiểu dữ liệu khai báo

5 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 nào trong dạy học bộ môn tin học hiện nay đang rất mở, không bắt buộc cụ thể với loại ngôn ngữ nào Tuy nhiên, theo chương trình giáo dục mới và theo Sách giáo khoa mới thì Python là ngôn ngữ

Trang 13

được chỉ định Đề tài này đã góp một phần trong việc giúp các trường, Thầy cô giáo và học sinh tiếp cận được với ngôn ngữ lập trình mới, nâng cao chất lượng giảng dạy và phù hợp với sự tiến bộ của lĩnh vực CNTT

5.2 Kiến nghị

Đề tài có thể được viết chuyên sâu hơn nhằm cung cấp tài liệu tham khảo cho các trường THPT trong việc dạy và học bộ 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 đây là SKKN của mình viết, không sao chép nội dung

của người khác

Xác nhận của lãnh đạo nhà trường Tác giả

Trương Văn Phát

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

TỪ KHÓA LIÊN QUAN

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