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

skkn lựa chọn một số dạng bài tập kiểu xâu kí tự để bồi dưỡng cho học sinh đội tuyển môn tin học ở trường THPT hoằng hóa 3

22 257 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

Định dạng
Số trang 22
Dung lượng 179,5 KB

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

Nội dung

Một vấn đề gặp phải khi lựa chọn và bồi dưỡngđội tuyển đó là điểm tuyển sinh đầu vào của học sinh lớp 10 thấp so với cáctrường trong huyện, đa số các em có tư duy toán học tốt thì đều nằ

Trang 1

MỤC LỤC

Trang

1 Mở đầu 1

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

1.2 Mục đích nghiên cứu 2

1.3 Đối tượng nghiên cứu 2

1.4 Phương pháp nghiên cứu 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 vấn đề trước khi áp dụng sáng kiến kinh nghiệm 2

2.3 Các giải pháp đã sử dụng để giải quyết vấn đề 3

2.3.1 Xác định tiêu chí để xây dựng dạng bài tập phù hợp với năng lực học sinh của trường THPT Hoằng Hóa 3 3

2.3.2 Lựa chọn một số dạng bài tập phù hợp với năng lực học sinh đội tuyển môn Tin học ở trường THPT Hoằng Hóa 3 4

2.4 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, đồng nghiệp và nhà trường 19

3 Kết luận, kiến nghị 19

Trang 2

1 Mở đầu

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

Trong quá trình giảng dạy, tôi được nhà trường tin tưởng giao cho giảngdạy và thành lập được đổi tuyển HSG môn Tin học của Nhà trường, đối tượngđược lựa chọn chủ yếu là học sinh khá, giỏi môn Tin học Chính vì vậy ngoàiviệc giúp các em nắm chắc kiến thức cơ bản tôi còn phải bồi dưỡng các em thamgia kỳ thi học sinh giỏi cấp tỉnh Một vấn đề gặp phải khi lựa chọn và bồi dưỡngđội tuyển đó là điểm tuyển sinh đầu vào của học sinh lớp 10 thấp so với cáctrường trong huyện, đa số các em có tư duy toán học tốt thì đều nằm trong độituyển các môn Toán, Lý, Hóa, Sinh nên việc tìm kiếm và lựa chọn rất khó khăn,

do đó các học sinh có lựa chọn được vào đội tuyển môn tin học thì chủ yếu làcác học sinh có kiến thức và tư duy toán học ở mức trung bình khá và khá, hiếmhoi lắm mới chọn lựa được một em có mức độ tư duy toán học trên khá một tí,

vì vậy công tác bồi dưỡng cũng gặp không ít khó khăn Chính vì vậy để có thể

có được giải trong kỳ thi thì khi bồi dưỡng giáo viên cần phải lựa chọn đượcnhững dạng bài tập vừa sức với tư duy các em, từ đó có thể phát triển thêm chocác em để các em rèn luyện và nâng cao tư duy lập trình cho bản thân thì mới hyvọng được

Trong kỳ thi HSG môn tin học ở hầu khắp các tỉnh thành thì các bài tậpphần kiểu xâu kí tự có vai trò quan trọng Kiểu dữ liệu xâu kí tự là phần rấtnhiều vấn đề và rất nhiều bài tập phong phú, nếu giáo viên không lựa chọn mà

cứ dạy tràn lan hoặc lựa chọn những bài khó vượt quá mức độ tư duy của các emngay từ đầu thì với các em có mức độ tư duy trung bình khá hoặc khá sẽ khó cóthể hiểu và học tốt được, dễ dẫn đến việc các em chán nãn Với chất lượng đầuvào của học sinh thấp như ở trường tôi thì việc lựa chọn và xây dựng các dạngbài tập để giúp học sinh ôn tập hiệu quả các bài tập liên quan đến kiểu dữ liệuxâu kí tự là một vấn đề cần phải suy nghĩ và tính toán, bởi vì việc lựa chọn cácdạng bài tập đó phải thỏa mãn phù hợp với năng lực của các em đồng thời phảithuận tiện để các em ôn tập khi ở nhà vì thời gian mà các em dành cho môn họcnày là khiêm tốn

Từ thực tiễn giảng dạy và bồi dưỡng học sinh giỏi, cùng với kinh nghiệmtrong quá trình giảng dạy, bồi dưỡng học sinh Tôi đã tổng hợp, khai thác để xây

dựng đề tài: ‘‘Lựa chọn một số dạng bài tập kiểu xâu kí tự để bồi dưỡng cho học sinh đội tuyển môn Tin học ở trường THPT Hoằng Hóa 3’’.

Qua nội dung đề tài này tôi mong muốn cung cấp cho học sinh một sốdạng bài toán cơ bản về kiểu dữ liệu xâu kí tự, phương pháp và các kỹ năng cơbản để học sinh có thể giải quyết chúng, tránh tình trạng khi các em gặp phảicác bài toán tương tự hoặc bài toán đảo của bài toán đã làm liên quan đến kiểu

dữ liệu xâu lại suy diễn, thường làm phức tạp vấn đề hay không giải được Vàtrên cơ sở đó với tinh thần tự học một cách nghiêm túc thì các em có thể pháttriển thêm tư duy của mình Hy vọng kinh nghiệm nhỏ này sẽ giúp các học sinh

có cái nhìn linh hoạt và chủ động khi gặp một số dạng bài toán liên quan đếnkiểu xâu kí tự

Trang 3

1.2 Mục đích nghiên cứu

Nghiên cứu một số vấn đề lý thuyết và thực tiễn việc rèn luyện cho họcsinh các kỹ năng giải một số dạng bài toán về kiểu dữ liệu xâu kí tự nhằm bồidưỡng năng lực tư duy cũng như kỹ năng lập trình cho các học sinh đội tuyểnmôn tin học ở một trường có điểm thi đầu vào thấp và có mức độ tư duy trungbình khá và khá, góp phần nâng cao chất lượng bồi dưỡng học sinh giỏi môn Tinhọc ở trường phổ thông Hoằng Hóa 3

1.3 Đối tượng nghiên cứu

Đối tượng nghiên cứu: một số dạng bài tập về kiểu dữ liệu xâu kí tự trong môn

tin học 11 của học sinh THPT

Khách thể nghiên cứu: Học sinh thuộc đội tuyển học sinh giỏi môn Tin học

của trường THPT Hoằng Hóa 3

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

- Phương pháp nghiên cứu lý luận: Nghiên cứu các tài liệu, sách báo trên mạngInternet

- Phương pháp điều tra thực tiễn: Quan sát việc học của học sinh trong quá trìnhkhai thác các bài tập sách giáo khoa, sách bài tập và các đề thi học sinh giỏi

- Phương pháp thực nghiệm sư phạm

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

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

- Cơ sở tâm lý học:

+ Đặc điểm nhận thức của học sinh đối với môn Tin học:

Phần lớn học sinh coi bộ môn Tin học là môn học phụ, không quan tâmcho lắm, môn Tin học lớp 11 là môn học khó, trừu tượng, lại phải nhớ các từkhóa tiếng anh, tuy nhiên với sự nhiệt tình giảng dạy của giáo viên thì vẫn còn

có một vài học sinh có hứng thú với môn Tin học Từ số lượng ít ỏi đó vẫn có cơhội để người giáo viên tìm ra các học sinh cho đội tuyển học sinh giỏi của mình.+ Tư duy của học sinh:

Thông thường những học sinh có kỹ năng lập trình khá, giỏi là những em

có tư duy và kiến thức Toán học trên khá hoặc giỏi Nhưng thông thường nhữnghọc sinh này môn tin không chọn được vì các em đã nằm trong đội tuyển cácmôn Toán, Lý, Hóa, Sinh Vì vậy ở một trường mà đầu vào thấp như trường tôithì phần lớn các em nằm trong đội tuyển môn Tin là những em có tư duy và kiếnthức trung bình khá và khá về toán học Do đó điều mà giáo viên được giaotrách nhiệm bồi dưỡng mong muốn đó là niềm đam mê ở các em đối với mônTin học cùng với đó là người thầy phải xây dựng được hệ thông bài tập vừa sứcvới tư duy của các em, để từ đó bồi dưỡng và rèn luyện tư duy lập trình cho cácem

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm

- Thực trạng công tác bồi dưỡng học sinh giỏi môn Tin học hiện nay.

Thực tế một số học sinh có thể tự làm hoặc tham khảo thuật toán và codetrong sách giáo khoa, sách bài tập, cũng như tài liệu trên mạng cũng có thể vậndụng, tự làm được một số bài tập cơ bản về kiểu dữ liệu xâu kí tự, nhưng đôi khicách hiểu và vận dụng của các em còn hình thức và máy móc, dẫn đến khi gặplại dạng bài đó ở đề thi khác đã được thay đổi ít nhiều về ngữ cảnh hoặc bài toán

Trang 4

ngược của bài đã làm thì các em lại lúng túng, nhìn chung các em chưa có thểtổng hợp và khái quát hóa để có cái nhìn hệ thống hơn về các dạng bài tập vềkiểu xâu kí tự Trong các đề thi học sinh giỏi thì gần như đề nào ít nhiều cũng cóbài tập liên quan đến kiểu dữ liệu xâu kí tự và để viết được chương trình thì họcsinh có thể phải kết hợp một vài thuật toán hoặc mở rộng thuật toán từ các bàitoán quen thuộc đã được làm, vì vậy việc trang bị cho ác em một số dạng bài tậpkiểu xâu cơ bản sẽ giúp các em rèn luyện được kỹ năng lập trình và tư duy thuậttoán khi viết chương trình cho một số dạng bài toán cơ bản về kiểu xâu.

Qua những năm gần đây khi bồi dưỡng học sinh giỏi môn Tin học tôi nhậnthấy mảng kiến thức về kiểu dữ liệu xâu kí tự có rất nhiều vấn dề, các dạng bàitập phong phú, đa dạng và là loại bài tập khá thú vị Do đó tôi lựa chọn đề tàinày để nghiên cứu và trình bày Bởi việc giúp các em hệ thống thành các dạngbài tập giúp các em rất tốt trong quá trình học và rèn luyện kỹ năng lập trình,đặc biệt là các em có tư duy toán học trung bình khá như ở trường tôi

- Những thuận lợi và khó khăn:

* Thuận lợi:

- Công tác bồi dưỡng học sinh giỏi hiện nay đối với môn Tin học đã đượcnhà trường quan tâm chỉ đạo sát sao đặc biệt là đã có những phần thưởng có tínhkhích lệ đối với giáo viên và học sinh hơn trước

2.3 Các giải pháp đã sử dụng để giải quyết vấn đề

2.3.1 Xác định tiêu chí để xây dựng dạng bài tập phù hợp với năng lực học sinh của trường THPT Hoằng Hóa 3

Để xây dựng các dạng bài tập về kiểu xâu nhằm giúp học sinh ôn tập hiệu quảthì tôi đưa ra tiêu chí lựa chọn các bài tập để xếp vào cùng một dạng như sau:

- Chọn các bài toán có cùng đặc điểm nhưng ngữ cảnh có thể khác nhau, hoặcbài toán đảo ngược của nó, hoặc cùng có sử dụng chung một thuật toán nào đótrong thuật toán để giải quyết bài toán

- Lựa chọn thuật toán phù hợp, dễ hiểu, dễ cài đặt so với tư duy của học sinh

- Chỉ hướng dẫn học sinh viết chương trình hoàn chỉnh 1 bài trong mỗi dạng, cácbài còn lại học sinh vận dụng thuật toán tương tự, có thể bổ sung hoặc sửa đổi ítnhiều để viết và hoàn thành chương trình, trường hợp cần thiết thì giáo viên mớiđưa ra các gợi ý để học sinh hoàn thành việc viết chương trình của mình, có nhưthế học sinh mới nắm chắc được kiến thức

- Mỗi dạng bài tập chỉ đưa ra 3 đến 5 bài để học sinh rèn luyện Việc này giúpcác em đỡ nhàm chán khi ôn tập, cũng như giảm bớt căng thẳng và áp lực khicác em nhìn thấy bài tập giáo viên ra nhiều quá

Trang 5

2.3.2 Lựa chọn một số dạng bài tập phù hợp với năng lực học sinh đội tuyển môn Tin học ở trường THPT Hoằng Hóa 3

Qua tìm hiểu các đề thi, nghiên cứu các tài liệu tham khảo về kiểu dữ liệu xâu

kí tự, tôi thấy có một số dạng bài tập về kiểu xâu thường gặp trong các đề thihọc sinh giỏi, do giới hạn của sang kiến về số trang nên ở đây tôi xin trình bày

4 dạng bài tập kiểu xâu kí tự cơ bản nhất, thường gặp và có các phương phápgiải vừa sức với mức độ tư duy của học sinh trường tôi như sau:

DẠNG 1: BÀI TOÁN SẮP XẾP TRONG XÂU

Phương pháp chung cơ bản để giải quyết các bài toán dạng này là:

- Tách các xâu kí tự hoặc xâu kí tự số là xâu con của xâu đầu vào rồi đưavào mảng xâu (nếu có);

- Thực hiên việc sắp xếp mảng các xâu kí tự hoặc xâu kí tự số đó theoyêu cầu đề bài

Bài 1 Sắp xếp xâu.

Người ta định nghĩa: Từ là một nhóm ký tự đứng liền nhau

Cho một xâu St gồm các ký tự lấy từ tập ‘a’ ‘z’ và dấu cách Xâu khôngquá 20 từ, mỗi từ dài không quá 10 ký tự

Yêu cầu: Sắp xếp các từ của xâu ký tự theo thứ tự không giảm của độ dài các từ

trong xâu St

Dữ liệu vào: Cho trong file văn bản SAPXAU.INP, có cấu trúc:

- Dòng 1: Ghi một xâu ký tự St (có ít nhất 1 từ)

Dữ liệu ra: Ghi ra file văn bản SAPXAU.OUT, theo cấu trúc:

- Dòng 1: Ghi các từ của xâu ký tự sau khi được sắp xếp Các từ được ghi cách

Bước 1 Đọc và tách các xâu kí tự con từ xâu ban đầu vào mảng lưu các xâu conBước 2 Thực hiện việc sắp xếp các xâu con tăng dần theo độ dài của các xâu.Chương trình tham khảo:

Trang 6

while s[length(s)] =' ' do delete(s,length(s),1);

while pos(' ',s)<>0 do delete(s,pos(' ',s),1);

Bài 2 Viết chương trình đọc dữ liệu từ tệp SXX.INP gồm một dòng duy nhất

chứa xâu kí tự S không vượt quá 255 kí tự bao gồm số và các kí tự “a”

Yêu cầu: Ghi ra tệp SXX.OUT xâu S sau khi đã sắp xếp các số trong xâu

theo thứ tự tăng dần còn vị trí các kí tự chữ cái vẫn giữ nguyên [2]

Ví dụ:

Sau khi đã làm bài 1 ở trên, khi làm bài này học sinh nhận ngay ra là cầnphải tách lấy các số trong xâu, sắp xếp lại các số theo thứ tự tăng dần rồi chènlại các số đã sắp xếp vào vị trí các số đã cho trong xâu ban đầu Tuy nhiên họcsinh có thể sẽ làm như sau:

- Học sinh sẽ thực hiện tách cả xâu con số và tách cả các xâu con kí tự xen kẽ vàđưa vào 2 mảng là mảng số và mảng xâu kí tự;

- Thực hiện việc sắp xếp tăng dần đối với xâu số;

aaa6aaa776aaaaa2823aaaa95aaa aaa6aaa95aaaaa776aaaa2823aaa

Trang 7

- Đổi các số trong mảng số thành xâu và thực hiện việc ghép 2 mảng lại vớinhau để thu được kết quả

Nhận xét: Học sinh sẽ gặp phải các tình huống đó là ghi nhớ xâu số tách trướchay xâu kí tự tách trước, dẫn đến học sinh phải đi tìm cách biện luận cho 2trường hợp này;

Để học sinh đỡ lúng túng, khỏi phải mất công biện luận giáo viên có thể hướngdẫn học sinh như sau:

- Thực hiện tách các xâu số, đổi xâu số đó thành số rồi đưa vào mảng số, tại mỗi

vị trí tách lấy số ta chèn dấu ‘*’ vào vị trí đó để thuận tiện cho việc chèn lại sauđó;

- Thực hiện việc sắp xếp tăng dần đối với xâu số;

- Đổi các số trong mảng số thành xâu và thực hiện việc chèn các số đã sắp xếpvào vị trí dấu ‘*’ để thu được kết quả

Sau đó giáo viên để cho học sinh tự viết chương trình

Chương trình tham khảo có thể như sau:

Trang 8

số cần sắp là 25 Nếu số nguyên đó chỉ là một dãy gồm một hoặc nhiều chữ số 0thiò chỉ giữ lại một chữ số 0, ví dụ nếu gặp “số nguyên” 00000 hoặc 0 thì số cầnsắp lại là 0.

Dữ liệu vào: cho từ tệp văn bản XAU.INP gồm một dòng ghi xâu kí tự S

Kết quả: Ghi ra tệp văn bản XAU.OUT gồm một dòng ghi xâu S sau khi đã sắpxếp các “số nguyên” có trong xâu [3]

Bài 4 SortString

Mỗi xâu kí tự St được lấy từ tập các ký tự ’a’ ’z’, ’0’ ’9’ và có độ dàitối đa là 255 kí tự Cho N xâu kí tự St1, St2 StN (0 < N ≤ 200)

Yêu cầu: Thực hiện sắp xếp N xâu kí tự St theo thứ thự không giảm của số

lượng các kí tự chữ số có trong mỗi xâu St

Dữ liệu vào: Cho trong file văn bản BAI2.INP có cấu trúc như sau:

Trang 9

- Dòng 1: Ghi số nguyên N.

- N dòng tiếp theo: Mỗi dòng ghi một xâu St

Kết quả: Ghi ra file văn bản BAI2.OUT theo cấu trúc như sau:

- Ghi N dòng: Mỗi dòng ghi một xâu St, các xâu được ghi theo thứ tự đãsắp xếp [4]

Ví dụ:

3abc1x2y3zcb1

1cd7hd

cb11cd7hdabc1x2y3z

Nhận xét: Bài này thì ngữ cảnh khác so với các bài trước là không phải táchcác xâu con từ xâu ban đầu mà là đọc từng xâu ở mỗi hàng đã cho vào mảngxâu, mục đích đưa ra bài này ra để xem học sinh có vận dụng linh hoạt cáchlàm của dạng này hay không, từ cách làm các bài trên thì học sinh sẽ tìm đượccách làm cho bài này một cách nhanh chóng và nhận thấy bài nay cách làmcòn đơn giản hơn các bài trước, học sinh sẽ hình dung ra các bước cần làmnhư sau:

Bước 1: Đọc từng xâu ở mỗi hàng vào mảng xâu;

Bước 2: Viết một hàm đếm số lượng chữ số có trong một xâu để sử dụng;Bước 3: Dùng hàm đã viết để thực hiện việc sắp xếp xâu;

Bước 4: Ghi kết quả sau khi sắp xếp vào tệp

Và từ đó học sinh sẽ tự mình hoàn thiện được chương trình

DẠNG 2: BÀI TOÁN VỀ TẦN XUẤT CỦA KÍ TỰ

Phương pháp chung cơ bản để giải quyết các bài toán loại này:

+ Dùng mảng đếm để lưu số lần xuất hiện của các kí tự chữ cái hoặc chữ số+ Xử lý và ghi kết quả theo yêu cầu của đề bài

Bài 1 Liệt kê chữ cái

Cho một văn bản chứa trong một text file Bạn hãy viết chương trình liệt kê cácchữ cái chỉ có mặt trong văn bản đúng một lần theo thứ tự của bảng chữ cái(không phân biệt chữ hoa và chữ thường)

Dữ liệu vào: file DEMCHU.INP gồm nhiều dòng chứa các kí tự trong file

Dữ liệu ra: file DEMCHU.OUT mỗi dòng ghi các kí tự chỉ xuất hiện đúng mộtlần trong file theo yêu cầu đề ra [5]

Ví dụ:

IOPU

Trang 10

Nhận xét: Từ hướng dẫn chung, khi gặp bài này học sinh sẽ nghĩ ngay đến việcdùng mảng đếm để đếm tần số xuất hiện của các kí tự, sau đó in ra các kí trự cótần số là 1.

Chương trình tham khảo:

Bài 2 Tỷ lệ nguyên âm

Cho một văn bản chứa trong một text file Bạn hãy viết chương trình tính tỷ lệcác nguyên âm có mặt trong văn bản theo thứ tự của bảng chữ cái

Định nghĩa các nguyên âm là: A, E, I, O, U, Y

Dữ liệu vào: file NGUYENAM.INP gồm nhiều dòng chứa các kí tự của file vănbản

Dữ liệu ra: file NGUYENAM.OUT

Mỗi dòng ghi ký tự và tỷ lệ (lấy đên 4 chữ số thập phân) của các nguyên âm [6]

Ví dụ:

E: 5.8824 I: 2.9412 O: 8.8235 U: 5.8235 Y: 5.8824 

Trang 11

Nhận xét: Khi gặp bài này học sinh sẽ nghĩ ngay đến việc dùng mảng đếm tần sốxuất hiện của các kí tự, sau đó in ra tần số của 6 kí trự nguyên âm theo yêu cầucảu đề bài, tuy nhiên phải yêu học sinh ghi cho chính xác kết quả (đây là lỗi mà

đa số học sinh hay sai)

Chương trình tham khảo:

Ngày đăng: 05/09/2018, 07:48

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