1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Skkn 2023) hướng dẫn các phương pháp giải bài tập python trong tin học 10

27 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 đề Hướng Dẫn Các Phương Pháp Giải Bài Tập Python Trong Tin Học 10
Tác giả Nguyễn Trí Quyền, Nguyễn Thị Thu Huyền
Trường học Trường THPT 1-5
Chuyên ngành Tin học
Thể loại Hướng dẫn
Năm xuất bản 2023
Thành phố Nghệ An
Định dạng
Số trang 27
Dung lượng 1,14 MB

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

Nội dung

Python là ngôn ngữ được dùng để phát triển các ứng dụng web, game, khoa học dữ liệu tính toán, phân tích, khai thác dữ liệu, trí tuệ nhân tạo… Nên việc tìm ra những phương pháp dạy giúp

Trang 1

ĐỀ TÀI:

HƯỚNG DẪN CÁC PHƯƠNG PHÁP GIẢI BÀI TẬP PYTHON TRONG

TIN HỌC 10

Lĩnh vực: Tin học

Trang 2

SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN

TRƯỜNG THPT 1-5

ĐỀ TÀI:

HƯỚNG DẪN CÁC PHƯƠNG PHÁP GIẢI BÀI TẬP PYTHON TRONG

TIN HỌC 10 Lĩnh vực: Tin học

Tên tác giả 1: Nguyễn Trí Quyền

Trang 3

DANH MỤC CÁC TỪ VIẾT TẮT VÀ Ý NGHĨA

Trang 4

MỤC LỤC

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

2 Tính mới của đề tài 1

PHẦN II NỘI DUNG NGHIÊN CỨU 2 1 Cơ sở khoa học 2

1.1 Cơ sở lý luận 2

1.2 Cơ sở thực tiễn 3

2 Nội dung giải pháp 8

2.1 Giải pháp chung 9

2.2 Giải pháp cụ thể 3

2.2.1 Một số phương pháp hướng dẫn bài tập sử dụng “Câu lệnh lặp For” trong Python 3

2.2.2 Một số phương pháp hướng dẫn bài tập sử dụng “Dữ liệu kiểu xâu” trong Python 7

2.2.3 Một số phương pháp hướng dẫn bài tập sử dụng Hàm trong Python 13 3 3 Kết quả thực hiện 19

PHẦN III KẾT LUẬN VÀ KIẾN NGHỊ 20 1 Quá trình nghiên cứu 20

2 Ý nghĩa của đề tài 20

3 Đề xuất và kiến nghị 20

Trang 5

TÀI LIỆU THAM KHẢO

[1]- Sách Giáo khoa Tin học10 (Kết nối tri thức với cuộc sống) NXB Giáo dục Việt Nam

[2]- Sách bài tập Tin học10 (Kết nối tri thức với cuộc sống) NXB Giáo dục Việt Nam

[3]- Sách giáo viên Tin học10 (Kết nối tri thức với cuộc sống) NXB Giáo dục Việt Nam

[4]- Các nguồn tài liệu khác từ mạng Internet

Trang 6

PHẦN I ĐẶT VẤN ĐỀ

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 Nhưng hầu hết chúng ta đã quá quen với việc sử dụng ngôn ngữ lập trình Pascal và gần đây đã bắt đầu tiếp cận với ngôn ngữ lập trình C/C++ Tuy nhiên, sách giáo khoa mới thì ngôn ngữ lập trình 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ụ cho công các giảng dạy của bản thân

Xuất phát từ thực tiễn giảng dạy tại trường THPT 1-5 tôi thấy rằng, để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học phải phù hợp với từng bài dạy, từng đối tượng học sinh Để qua mỗi phần học, tiết học học sinh thích thú với kiến thức mới, qua đó hiểu được kiến thức đã học trên lớp, đồng thời học sinh thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết để đáp ứng những yêu cầu của môn học, sau đó là việc ứng dụng của nó vào các công việc thực tiễn trong đời sống xã hội

Tuy nhiên làm cách nào để giúp học sinh tiếp thu kiến thức mới tốt nhất cũng

là vấn đề mà tôi nhận thấy bản thân cũng như các đồng nghiệp của mình trăn trở Trong chương trình Tin học 10 “chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính” Kiến thức học sinh được giới thiệu về ngôn ngữ lập trình bậc cao nói chung

và cụ thể ngôn ngữ lập trình Python Python là ngôn ngữ lập trình bậc cao có thế mạnh là rất gần gũi với ngôn ngữ tự nhiên, hiện nay là ngôn ngữ lập trình phổ biến rộng rãi ở Châu Âu, châu Mỹ và được coi như ngôn ngữ lập trình trường học Dù là ngôn ngữ có cấu trúc rõ ràng, dễ đọc, dễ học nhưng đối với học sinh lớp 10 các em còn nhiều khó khăn khi bắt đầu học Python là ngôn ngữ được dùng để phát triển các ứng dụng web, game, khoa học dữ liệu (tính toán, phân tích, khai thác dữ liệu), trí tuệ nhân tạo… Nên việc tìm ra những phương pháp dạy giúp các em học tốt phần kiến thức này tôi thấy là vấn đề cần thiết Sau khi nghiên cứu phần kiến thức của chủ

đề 5 tôi đưa ra sáng kiến với đề tài: “Hướng dẫn các phương pháp giải bài tập Python trong Tin học 10”

2 TÍNH MỚI CỦA ĐỀ TÀI

Python là ngôn ngữ lập trình lần đầu tiên được đưa vào giảng dạy tại trường THPT 1-5, nên học sinh còn nhiều bỡ ngỡ khi mới được làm quen với ngôn ngữ lập trình Python Những phương pháp mà tôi đưa ra giúp học sinh giải bài tập là mới

Nó góp phần giúp các em yêu thích môn học và có thành tích cao hơn với môn học,

là tiền đề giúp các em yêu thích lập trình và tham dự các kỳ thi học sinh giỏi Tin học các cấp Giúp các đồng nghiệp có thêm những phương pháp để vận dụng vào giảng dạy khi cần

Trang 7

PHẦN II NỘI DUNG NGHIÊN CỨU

1 CƠ SỞ KHOA HỌC

1.1 Cơ sở lý luận

Phương pháp dạy học chính là cách thức hoạt động giữa thầy và trò để nhằm đạt được mục tiêu dạy học xác định đồng thời phù hợp với nội dung và các điều kiện dạy học cụ thể

Một số phương pháp dạy học cụ thể:

a Phương pháp dạy học gợi mở - vấn đáp

Là quá trình tương tác giữa giáo viên và học sinh được thực hiện thông qua

hệ thống câu hỏi và câu trả lời tương ứng về một chủ đề nhất định được giáo viên đặt ra Qua việc trả lời hệ thống câu hỏi dẫn dắt của giáo viên, học sinh thể hiện được suy nghĩ, ý tưởng của mình, từ đó khám phá và lĩnh hội đối tượng học tập

b Phương pháp dạy học phát hiện và giải quyết vấn đề

Là giáo viên tạo ra những tình huống có vấn đề, điều khiển học sinh phát hiện vấn đề, hoạt động tự giác, tích cực, chủ động, sáng tạo để giải quyết vấn đề và thông qua đó chiếm lĩnh tri thức, rèn luyện kĩ năng và đạt được những mục đích học tập khác

c Phương pháp dạy học hợp tác trong nhóm nhỏ

Là “Học sinh được phân chia thành từng nhóm nhỏ riêng biệt, chịu trách nhiệm về một mục tiêu duy nhất, được thực hiện thông qua nhiệm vụ riêng biệt của từng người Các hoạt động cá nhân riêng biệt được tổ chức lại, liên kết hữu cơ với nhau nhằm thực hiện một mục tiêu chung”

Phương pháp hợp tác nhóm nhỏ được sử dụng nhằm giúp cho mọi người có thể tham gia chủ động vào quá trình học tập, tạo cơ hội cho các em có thể chia sẻ kiến thức, kinh nghiệm, ý kiến giải quyết các vấn đề liên quan đến nội dung bài hoc, tạo cơ hội cho học sinh được giao lưu học hỏi, cùng hợp tác giải quyết những nhiệm

vụ chung

d Phương pháp dạy học trực quan

Là “phương pháp sử dụng những phương tiện trực quan, phương tiện kỹ thuật dạy học trước, trong và sau khi nắm tài liệu mới, khi ôn tập, củng cố, hệ thống hóa

và kiểm tra tri thức, kĩ năng, kĩ xảo”

Phương pháp trực quan được thể hiện dưới hai hình thức là minh họa và trình bày Minh họa thường trình bày những đồ dùng trực quan (bản mẫu, bản đồ, bức tranh,…) Trình bày thường gắn với việc trình bày thí nghiệm, thiết bị kĩ thuật, chiếu phim đèn chiếu, phim điện ảnh, vi deo,…

e Phương pháp dạy học luyện tập, thực hành

Trang 8

Luyện tập là việc lặp lại với mục đích học thuộc những đoạn thông tin, đoạn văn, thơ, bài hát, kí hiệu, quy tắc, công thức, định lí, khái niệm,…đã học làm cho việc sử dụng kĩ năng được thực hiện một cách tự động, thành thục

Luyện tập và thực hành nhằm củng cố, bổ sung vừa làm vững chắc thêm các kiến thức lí thuyết vừa phát triển được kĩ năng cho học sinh

1.2 Cơ sở thực tiễn:

Năm học 2022-2023 là năm đầu tiên thay đổi chương trình dạy học Đối với môn Tin học, trong quá trình giảng dạy tôi thấy chủ đề 5 “Giải quyết vấn đề với sự trợ giúp của máy tính” là phần nội dung kiến thức mới với cả giáo viên và học sinh

Trên thực tế việc học ngôn ngữ lập trình là môn học mới với các em, để tiếp cận nắm vững kiến thức và vận dụng giải quyết tốt các bài toán là nhiệm vụ sẽ gặp khó khăn với giáo viên và học sinh

Nhằm nâng cao chất lượng giảng dạy môn Tin học, giúp các em yêu thích môn học, tạo hứng thú học tập cho các em Tôi đã sử dụng kết hợp các phương pháp dạy học để hướng dẫn hệ thống bài tập theo từng phần giúp các em học tốt hơn Nâng cao chất lượng bộ môn

2 NỘI DUNG GIẢI PHÁP

2.1 Giải pháp chung

- Sử dụng linh hoạt và kết hợp các phương pháp dạy học tích cực;

- Xây dựng hệ thống bài tập từ dễ đến khó, luyện tập được hết các mục tiêu của từng bài học

2.2 Giải pháp cụ thể

Trong quá trình giảng dạy tôi thấy với cấu trúc lặp for, cách sử dụng hàm trong Python là học sinh khó hiểu bài và vận dụng để làm tốt các bài tập Tôi đã đưa các phương pháp dạy học đa dạng vào từng nội dung kiến thức để giúp các em dễ dàng tiếp thu kiến thức, đạt được mục tiêu bài học

2.2.1 Một số ví dụ phương pháp hướng dẫn bài tập sử dụng “Câu lệnh lặp for” trong Python

Hoạt động 1: lệnh for, lệnh range

- Mục Tiêu: Biết viết và sử dụng câu lệnh for

- Nội dung:

Lệnh range (n) trả lại vùng giá trị gồm n số từ 0 đến n-1

Cú pháp của lệnh lặp với số lần biết trước For trong Python như sau:

For <i> in range (n):

<khối lệnh>

- Sản phẩm: HS hoàn thành tìm hiểu kiến thức

Trang 9

- Tổ chức thực hiện:

Phương pháp: Hợp tác nhóm nhỏ, trò chơi (Trò chơi ô số may mắn)

+ GV: Giới thiệu trò chơi: Trò chơi gồm có nhiều ô số; trong các ô số có thể chứa câu hỏi hoặc những phần quà hấp dẫn Lần lượt các nhóm sẽ được chọn một ô

số bất kỳ

+ HS: Tham gia trò chơi theo sự hướng dẫn của giáo viên

Các ô số may mắn (Mỗi ô số có thể là câu hỏi hoặc phần quà)

Phần quà GV có thể chuẩn bị là đồ dùng học tập như bút, sách…; Tràng pháo tay giúp không khí lớp học sôi nổi hơn

Ví dụ về câu hỏi trong các ô số

Trang 10

Phương pháp hoạt động nhóm và trò chơi giúp học sinh hứng thú trong tiết học, dễ ghi nhớ kiến thức và yêu thích môn học hơn Để hoàn thành được mục tiêu bài học giáo viên cần chuẩn bị chu đáo về nội dung, cách thực hiện, quản lý và dẫn dắt các em

Hoạt động 2: Luyện tập lệnh lặp for và lệnh range ()

a) Mục tiêu: rèn luyện kĩ năng lập trình

b) Nội dung: Hướng dẫn học sinh làm các bài tập sau:

Bài 1: Viết chương trình tính tổng các số từ 1 đến 100

Bài 2: Viết chương trình tính tổng các số chẵn từ 1 đến 100

Bài 3: Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là tổng sau:

Phương pháp: Dạy học trực quan, luyện tập thực hành

Bài 1: Viết chương trình tính tổng các số từ 1 đến 100

Qua bài toán này giúp học sinh hiểu rõ hơn về cấu trúc lặp với số lần biết trước Nắm vững cú pháp câu lệnh for

Bài 2: Viết chương trình tính tổng các số chẵn từ 1 đến 100

Cách 1:

Trang 11

Qua bài toán này giúp học sinh hiểu rõ hơn về cấu trúc lặp với số lần biết trước Nắm vững cú pháp câu lệnh for kết hợp lệnh if

Cách 2:

Cách này giới thiệu thêm cho các em về câu lệnh range(start,end,step) Trong

đó star=khởi đầu dãy, end=kết thúc dãy, step= bước nhảy (nếu bỏ trống thì mặc định bước nhảy bằng 1)

Bài 3: Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là tổng sau:

Hướng dẫn Tương tự như chương trình ở nhiệm vụ 1, điểm khác là cần đếm

số các ước số này và không tính n Tạo một biển có tên count để đếm số các ước số thực sự của n

Trang 12

Cách 2: Thuật toán tối ưu hơn Đếm các ước chỉ cần kiểm tra từ 1 đến phần nguyên căn bậc 2 của số đó

2.2.2 Một số ví dụ phương pháp hướng dẫn bài tập sử dụng “dữ liệu kiểu xâu” trong Python

Trong quá trình dạy Tôi thấy các em dễ mắc sai lầm khi lập trình giải quyết các bài toán trong đó có kiểu dữ liệu xâu Nguyên nhân dẫn đến những khó khăn mà học sinh thường gặp là:

+ Gặp khó khăn khi xác định bài toán đặc biệt là xác định dạng bài toán về kiểu dữ liệu xâu

+ Khó liên hệ phương pháp giải một bài toán trong toán học với thuật toán trong tin học

Với mong muốn phần nào giúp học sinh trong việc tìm ra lời giải cho một số bài toán liên quan tới kiểu dữ liệu xâu dễ dàng hơn Về bài tập kiểu xâu Tôi chủ yếu dùng hệ thống bài tập để giúp các em luyện tập và nắm được kiến thức

Hoạt động 1: Tìm hiểu kiến thức cơ bản về xâu

- Mục Tiêu: Biết và hiểu các kiến thức cơ bản về xâu

- Nội dung:

- Python là một ngôn ngữ lập trình bậc cao được dùng phổ biết trong nghiên cứu và giáo dục

- Tên kiểu dữ liệu: str

- Các ký tự của xâu được đặt trong cặp nháy đơn hoặc kép Xâu trên nhiều dòng được đặt trong cặp 3 nháy đơn hoặc 3 nháy kép

Trang 13

- Các ký tự trong xâu được đánh chỉ số từ trước ra sau bắt đầu từ 0 và đảo chiều âm từ sau về trước bắt đầu từ -1

- Khai báo: Trong Python không cần khai báo, để tạo biến xâu ta chỉ cần gán xâu cho biến đó

- Trong Python, xâu là bất biến, không thể thực hiện các thao tác làm thay đổi giá trị của xâu

- Python không có kiểu dữ liệu ký tự, một ký tự cũng thuộc kiểu xâu

- Không thể thực hiện xóa, chèn ký tự theo chỉ số nhưng vẫn cho phép truy xuất ký thự theo chỉ số

- Cho phép thực hiện phép nhân xâu với một số nguyên

* Một số thao tác cơ bản với xâu trong Python

- Hàm lấy độ dài xâu s: len(s);

- Sao chép trong xâu s: ta sử dụng thao tác cắt trích xâu để gán cho biến khác

- Chèn và xóa xâu: Trong Python không cho phép chèn vào xâu Ta có thể sử dụng hàm replace() hoặc thao tác cắt trích kết hợp ghép nối để xử lý

- Hàm tìm kiếm: tìm vị trí đầu tiên xuất hiện xâu x trong xâu s: s.find(x) Nếu xâu x không có trong xâu S thì kết quả = -1

- Hàm tìm kiếm ngược: tìm vị trí cuối cùng xuất hiện xâu x trong xâu s: s.rfind (x) Nếu xâu x không có trong xâu S thì kết quả = -1

- Hàm thay thế: s.replace (s1, s2) thay thế xâu con s1 của xâu s bởi xâu s2 trả

về một xâu mới

- Hàm ord(ch): cho mã ASCII thập phân của ký tự ch

- Hàm chr(x): cho ký tự có mã ASCII là x

- Hàm tạo xâu in hoa từ xâu s: s.upper()

- Hàm tạo xâu in thường từ xâu s: s.lower()

Trang 14

* Một số thao tác mở rộng với xâu trong Python:

- Hàm tìm kiếm: s.find sub, [start], [end]), với ý nghĩa tìm xâu con sub trong xâu s, vị trí bắt đầu tìm kiếm là start và vị trí kết thúc tìm kiếm là end, nếu vắng start thì mặc định bắt đầu tìm là vị trí 0 (cận trái) và nếu vắng end thì mặc định vị trí kết thúc tìm kiếm là cuối xâu Nếu không tìm thấy thì kết quả = -1

- s.rfind(x, [start], [end]): Tìm kiếm vị trí cuối cùng xuất hiện xâu x trong xâu

s bắt đầu từ vị trí end-1, trở về vị trí start

- Hàm thay thế: s.replace(s1, s2) để thay thế phần xâu con s1 bằng một xâu s2, trả về một xâu mới

- Hàm capitalize() viết hoa ký tự đầu tiên trong xâu, các chữ còn lại viết thường

- Hàm s.strip(ch): trả về xâu mới có giá trị bằng xâu s đã xóa ký tự ch bên trái, bên phải hoặc xóa ký tự bên trái, bên phải

- Hàm s.startswith(x) Dùng để kiểm tra chuỗi s có bắt đầu bằng chuỗi con x hay không

- Hàm s.endswith(x) Dùng để kiểm tra chuỗi s có kết thúc bằng chuỗi con x hay không

- Hàm s.count(x) sẽ trả về số lần xuất hiện của chuỗi con x trong chuỗi mẹ s

- Hàm ds = s.split(x): cắt xâu s thành nhiều chuỗi con, dựa vào tiêu chí ngăn cách để cắt là xâu x lưu vào list có tên ds Nếu vắng mặt xâu x thì việc cắt dựa vào xâu con các dấu cách

- Hàm s=x.join(ds): nối các xâu trong list ds thành xâu s bởi xâu gắn kết x

- Sản phẩm: Hs hoàn thành tìm hiều kiến thức

- Tổ chức thực hiện:

Phương pháp: Gợi mở vấn đáp, phát hiện giải quyết vấn đề

Hoạt động 2: Luyện tập với bài tập dữ liệu kiểu xâu cơ bản

- Mục Tiêu: Làm được các bài tập đơn giản với dữ liệu kiểu xâu

- Nội dung: Hướng dẫn học sinh làm các bài tập

Bài 1: Viết chương trình nhập vào một xâu ký tự S, đưa ra xâu đó nhưng được

viết theo chiều ngược lại

Trang 15

Bài 4: Đếm số lần xuất hiện mỗi loại ký tự

- Sản phẩm: HS hoàn thành tìm hiểu kiến thức

- Tổ chức thực hiện:

Phương pháp: Dạy học trực quan, thực hành luyện tập

Bài 1: Viết chương trình nhập vào một xâu ký tự S, đưa ra xâu đó nhưng được

viết theo chiều ngược lại

Ý tưởng giải thuật:

Cách 1: Sử dụng phép toán ghép nối (+):

Khởi tạo biến kq= “”

Duyệt lần lượt các chỉ số của xâu ghép nối vào xâu kq (việc duyệt và ghép nối

có thể có rất nhiều cách diễn đạt)

Cách 2: Sử dụng phép toán ghép nối (+):

Khởi tạo biến kq= “”

Duyệt lần lượt các ký tự của xâu ghép nối vào xâu kq

Cách 3: Sử dụng hàm đảo Xâu: dùng thao tác cắt trích s[start : end : step]

Chương trình tham khảo viết bằng Python:

* Ý tưởng: Thông qua các chương trình nhấn mạnh cho học sinh các thao tác đã

được vận dụng trong bài toán này và ý nghĩa, kỹ thuật sử dụng các thao tác trong

Python

- Hàm len (): lấy độ dài xâu s

- Phép cộng (+): Ghép nối xâu

- Thao tác Cắt trích: s[start : end : step]

Ý nghĩa là, lần lượt duyệt và trích các phần tử thuộc phạm vi từ vị trí start đến vị trí end-1 sau mỗi lần lấy một phần tử trong phạm vi thì di chuyển con trỏ với bước nhảy có độ rộng step Các tham số trên có thể vắng mặt: nếu thiếu start thì mặc định là bắt đầu từ đầu xâu, nếu thiếu end thì mặc định đến hết xâu, nếu thiếu step thì mặc định

là 1

Ngày đăng: 27/07/2023, 07:56

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