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

SKKN phương pháp giải một số dạng bài tập về kiểu dữ liệu xâu trong đề thi học sinh giỏi môn tin học

33 160 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 33
Dung lượng 484 KB

Nội dung

Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học MỤC LỤC TÀI LIỆU THAM KHẢO BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN .3 LỜI GIỚI THIỆU .3 1.1 Lí chọn đề tài 1.2 Mục tiêu nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp thực TÊN SÁNG KIẾN: .4 TÁC GIẢ SÁNG KIẾN: .4 CHỦ ĐẦU TƯ TẠO RA SÁNG KIẾN 5 LĨNH VỰC ÁP DỤNG SÁNG KIẾN NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN CHƯƠNG I: CƠ SỞ LÍ LUẬN CỦA ĐỀ TÀI CHƯƠNG II: THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU CHƯƠNG III: NỘI DUNG CỦA ĐỀ TÀI Lý thuyết kiểu xâu 1.1 Khái niệm .6 1.2 Khai báo 1.3 Các thao tác xử lý xâu: Các dạng tập kiểu xâu 10 Dạng 1: Kiểm tra xâu thỏa mãn tính chất 10 Dạng 2: Đếm số lần xuất kí tự xâu 15 Dạng 3: Mã hóa giải mã 18 Dạng 4: Xóa thay 21 Dạng 5: Chuyển số sang xâu ngược lại 23 NHỮNG THƠNG TIN CẦN ĐƯỢC BẢO MẬT (NẾU CĨ): .30 CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN: 30 10 ĐÁNH GIÁ LỢI ÍCH THU ĐƯỢC 30 KẾT LUẬN 31 DANH SÁCH NHỮNG TỔ CHỨC/CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG THỬ HOẶC ÁP DỤNG SÁNG KIẾN LẦN ĐẦU (NẾU CÓ): 31 11 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học TÀI LIỆU THAM KHẢO 1.Sách giáo khoa tin học 11 Hồ Sĩ Đàm chủ biên Sách giáo viên tin học 11 chủ biên Hồ Sĩ Đàm Sách tập tin học lớp 11 Một số đề thi học sinh giỏi tỉnh Vĩnh Phúc Lập trình Pascal Khoa CNTT trường ĐHSPHN Một số sáng kiến kinh nghiệm ý kiến đồng nghiệp Một số trang web Internet Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN LỜI GIỚI THIỆU 1.1 Lí chọn đề tài Mơn tin học đặc biệt nội dung tin học lập trình mơn học lạ học sinh phổ thông nên đa số em bỡ ngỡ tiếp cận nội môn học Trong thực tiễn liệu vào toán liên quan đến kiểu liệu khác nhau, để tiện cho việc lập trình xử lý liệu thường đưa liệu dạng kiểu liệu chuẩn kiểu liệu có cấu trúc, kiểu liệu kiểu xâu Qua q trình tham gia giảng dạy mơn tin học trường THPT Đồng Đậu bồi dưỡng học sinh giỏi nhận thấy liệu kiểu xâu gặp nhiều toán để học sinh vận dụng linh hoạt thao tác xử lý kiểu liệu vào toán dễ Với mong muốn hệ thống toán dạng số dạng tập thường gặp giúp cho giáo viên học sinh phần nhận dạng giải số tập liên quan tới kiểu liệu xâu dễ dàng hơn, xin đưa “PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN HỌC” 1.2 Mục tiêu nghiên cứu o Đề tài thực nhằm giúp cho giáo viên học sinh hệ thống lại kiến thức thao tác kiểu liệu xâu từ áp dụng cho toán cụ thể o Giới thiệu số phép toán kiểu liệu xâu, đặc biệt phần có cung cấp thêm số hàm, thủ tục chưa giới thiệu 12 sách giáo khoa Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học tin học 11, đồng thời đưa số ví dụ tương ứng để học sinh dễ dàng sử dụng o Hệ thống toán dạng số dạng tập thường gặp giúp cho giáo viên học sinh phần nhận dạng giải số tập liên quan o Giúp học sinh khơng nhàm chán với mơn tin học nói chung kiểu liệu xâu nói riêng 1.3 Đối tượng nghiên cứu o Học sinh: học sinh học chương trình học sinh đội tuyển học sinh giỏi tin học o Số lượng: 120 học sinh o Số lớp thực hiện: lớp o Khối lớp: 11 1.4 Phương pháp thực Để hoàn thành SKKN sử dụng phối kết hợp nhiều phương pháp, phương pháp chủ yếu là: o Nghiên cứu tài liệu o Thực nghiệm o Tham khảo ý kiến cấp đồng nghiệp TÊN SÁNG KIẾN: “PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN HỌC” TÁC GIẢ SÁNG KIẾN: o Họ tên: Bùi Thị Phương o Địa tác giả sáng kiến: THPT Đồng Đậu o Số điện thoại:0383797818 o E_mail: buithiphuongc3dongdau.vinhphuc.edu.vn Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học CHỦ ĐẦU TƯ TẠO RA SÁNG KIẾN LĨNH VỰC ÁP DỤNG SÁNG KIẾN Đề tài sử dụng để vận dụng giải toán kiểu liệu xâu sách tập tin học lớp 11 đề thi học sinh giỏi tỉnh môn tin học Khi vận dụng đề tài để giải toán kiểu liệu xâu giúp: o Học sinh sau giới thiệu cách hệ thống dạng tập xâu quy trình giải dạng nhận biết yêu cầu toán cách thức giải chúng cách hiệu o Hình thành HS kỹ phân tích, xử lý vấn đề liên quan đến tập kiểu xâu, sử dụng thành thạo vòng lặp biết trước, thủ tục chuẩn vào/ra đơn giản, bước đầu làm quen với số chương trình dạng thủ tục tạo điều kiện thuận lợi cho việc tiếp thu kiến thức cách viết chương trình có cấu trúc o Mở rộng số tập kiểu xâu để học sinh thấy ứng dụng quan trọng kiểu liệu xâu lập trình NGÀY SÁNG KIẾN ĐƯỢC ÁP DỤNG LẦN ĐẦU HOẶC ÁP DỤNG THỬ Đề tài áp dụng vào ngày 20 tháng 02 năm 2019 MÔ TẢ BẢN CHẤT CỦA SÁNG KIẾN: NỘI DUNG SÁNG KIẾN CHƯƠNG I: CƠ SỞ LÍ LUẬN CỦA ĐỀ TÀI Trong bối cảnh toàn ngành GD-ĐT nỗ lực đổi phương pháp dạy học theo hướng phát huy tính tích cực chủ động học sinh hoạt động học tập Điều 24.2 Luật giáo dục nêu rõ: “Phương pháp giáo dục phổ thơng phải phát huy tính tích cực, tự giác, chủ động, sáng tạo học sinh, phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh ” Như vậy, thấy định hướng đổi phương pháp dạy học khẳng Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học định, khơng vấn đề tranh luận Cốt lõi việc đổi phương pháp dạy học trường phổ thông giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động Với số nội dung đề tài này, học sinh tự học, tự rèn luyện thơng qua số tập, dạng tập cụ thể CHƯƠNG II: THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU Qua thực tế giảng dạy trường THPT Đồng Đậu nhận thấy học đến chương trình tin học lớp 11 đa số học sinh cho mơn học khó mơn học, nhiều em sợ mơn học Khi học sinh học học Bài 12 “Kiểu xâu”, học sinh có nhiều khó khăn, nhầm lẫn việc xử lý liệu em quen với tốn xử lý liệu kiểu số, toán quen thuộc tính tổng tích dãy số thoả mãn điều kiện đó… Khi gặp toán phải sử dụng kiểu liệu lớn nhiều em lúng lúng Việc giải toán với kiểu liệu lớn thực cần thiết cho em làm tốn lập trình chương trình Tin học phổ thơng nói riêng việc giải tốn thực tế nói chung CHƯƠNG III: NỘI DUNG CỦA ĐỀ TÀI Lý thuyết kiểu xâu 1.1 Khái niệm o Xâu dãy kí tự mã ASCII, kí tự gọi phần tử xâu o Số lượng kí tự xâu gọi độ dài xâu o Xâu có độ dài gọi xâu rỗng o Có thể coi xâu mảng chiều, kí tự xâu phần tử, Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học đánh số Do vậy, để tham chiếu đến phần tử xâu ta viết [chỉ số kí tự]; Ví dụ: s = ‘Tin hoc’ Muốn truy cập đến kí tự ‘i’ viết s[2] = ‘i’; 1.2 Khai báo Var : string [ độ dài lớn xâu ]; Ví dụ: var hoten : string[30]; Chú ý: Độ dài lớn xâu bỏ qua Khi độ dài lớn xâu nhận giá trị ngầm định 255 Ví dụ var s : string; 1.3 Các thao tác xử lý xâu: 1.3.1 Phép ghép xâu Kí hiệu dấu (+), sử dụng để ghép nhiều xâu thành Có thể thực phép ghép xâu biến xâu Ví dụ: ‘Tin’ + ‘ Hoc’ = ‘Tin Hoc’; ‘6’ + ‘7’ = ‘67’; 1.3.2 Phép so sánh o Sử dụng phép so sánh = , , , = có thứ tự ưu tiên thấp phép ghép xâu o Quy tắc so sánh:  Xâu A lớn xâu B kí tự khác chúng kể từ trái sang xâu A có mã ASCII lớn Ví dụ: ‘207’ > ‘2007’; Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học  Nếu A B xâu có độ dài khác A đoạn đầu B A nhỏ B Ví dụ: ‘Tin’ < ‘Tin hoc’  Hai xâu coi chúng giống hồn tồn Ví dụ: ‘Tin hoc’ = ‘Tin hoc’ 1.3.3 Các hàm thủ tục xử lý xâu  Thủ tục Delete (st, vt, n) Thực xóa n kí tự biến xâu st vị trí vt Giá trị st Thao tác Kết ‘Tin hoc’ Delete(st,5,3); ‘Tin’ ‘Song Hong’ Delete(st,1,5); ‘Hong’  Thủ tục Insert (s1, s2, vt) Chèn xâu s1 vào xâu s2 bắt đầu vị trí vt Giá trị s1 Giá trị s2 Thao tác Kết ‘PC’ ‘IBM486’ insert(s1, s2, 4); ‘IBM PC 486’ ‘1’ ‘Hinh 2’ Insert(s1,s2,6); ‘Hinh 1.2’  Hàm copy (s, vt, n) Tạo xâu gồm n kí tự liên tiếp vị trí vt xâu s Giá trị s Thao tác Kết ‘Tin hoc’ copy(s, 1, 3); ‘Tin’ ‘Bai hoc thu 9’ Copy(s,9,5); ‘thu 9’ Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học  Hàm length(s) Cho giá trị độ dài xâu s Giá trị s Thao tác Kết ‘Tin hoc’ Length(s); ‘500 ky tu’ Length(s);  Hàm pos (s1, s2) Cho vị trí xuất xâu s1 xâu s2  Giá trị s2 Thao tác Kết ‘Tin hoc’ Pos(‘oc’,s2); ‘abcdef’ Pos(‘k’,s2); Hàm upcase(ch) Cho chữ in hoa ứng với chữ ch Giá trị ch Thao tác Kết ‘a’ Upcase(ch); ‘A’ ‘A’ Upcase(ch); ‘A’  Thủ tục chuyển xâu sang số val (s, v, c) Chuyển xâu s thành giá trị số lưu vào v, c vị trí gây lỗi trình chuyển đổi, c = chuyển đổi thành cơng Giá trị s Thao tác Kết ‘1234’ Val(s,i,c); i = 1234; c=0 ‘12c’ Val(s,i,c); Cho c=3 vị trí ký tự c khơng hợp lệ Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học  Thủ tục chuyển số sang xâu str(x, s) Chuyển giá trị kiểu số x thành chuỗi biểu diễn lưu s Giá trị x Thao tác Kết 1234 Str(x,s); S=’1234’ 1.1:0:2 Str(x,s); S=’1.10’ Các dạng tập kiểu xâu 2.1 Dạng 1: Kiểm tra xâu thỏa mãn tính chất Phương pháp chung dạng sử dụng thao tác xử lý xâu vào yêu cầu cụ thể, thường vận dụng câu lệnh for to để duyệt phần tử xâu Bài 1(sgk): Nhập vào hai xâu họ tên đưa hình xâu có độ dài dài Nếu hai xâu có độ dài đưa xâu nhập sau * Ý tưởng: để lấy độ dài xâu sử dụng hàm length(s), So sánh độ dài hai xâu câu lệnh if If length(s1) > length(s2) then write(s1) else write(s2); Bài 2(sgk): Kiểm tra xem kí tự xâu a có trùng với kí tự cuối xâu b khơng? * Ý tưởng: Kí tự xâu a: a[1] kí tự cuối xâu b: b[length(b)] sử dụng câu lệnh if để so sánh If a[1] = b[length(b)] then write (‘Trung nhau’) else write (‘khong trung’); Bài (sgk): Đưa xâu theo thứ tự ngược lại 10 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học * Đoạn chương trình: { Khởi tạo mảng d} a:=0; For c:=’A’ to ‘Z’ begin d[c]:= a+1; a:=d[c]; end; { Tính hàm f} For i:=1 to length(s) begin For c:=’A’ to ‘Z’ if s[i]=c then f[i]:=(d[c] + k) mod 26; if s[i] = ‘ ‘ then f[i]=27; { Trường hợp gặp dấu cách} end; {Mã hóa} For i:=1 to length(s) begin For c:=’A’ to ‘Z’ if f[i]=d[c] then write (c); if f[i] = 27 then write(‘ ‘); end; Bài (Đề hsg lớp 10 năm 2009 – 2010- Mã hóa caesar): Cho xâu s mã hóa xâu s theo nguyên tắc f[p] = a*p + k; Cho trước a, k P xây dựng p[A]=1, p[B] = p[Z]=26 Cách làm tương tự ví dụ 19 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học Bài (Đề hsg lớp 11 năm 2010 – 2011- Đi hay lại): Cho hai chuỗi in hoa Hai chuỗi chuyển thành số theo quy tắc ví dụ ‘USACO’= 21*19*1*3*15=17955 (A có giá trị 1, B có giá trị 2, , Z có giá trị 26) Nếu số hai chuỗi mod 47 ’GO’ ngược lại ‘STAY’ Cách làm hồn tồn tương tự khác cách tính hàm f công thức nhân Không làm phần mã hóa mà kiểm tra điều kiện f1 mod 47 = f2 mod 47 thi GO ngược lại STAY Bài (Đề hsg lớp 11 năm 2008 – 2009- Thứ tự từ điển): Cho bảng thứ tự từ a b z aa ab .az ba bb bc bz .aaa aab aaaa .abcd 26 27 28 52 53 54 55 78 703 704 18279 Cho xâu s( nhiều kí tự) Chỉ số thứ tự s bảng thứ tự Ví dụ, ad vị trí 30 * Ý tưởng: - Sử dụng mảng gán giá trị ban đầu cho kí tự từ A đến Z đến 26 - Xây dựng hàm tính f trường hợp n=1, 2, 3, 4( n độ dài xâu) * Đoạn chương trình: a:=0; for c:=’a’ to ‘z’ begin f[c]:=a+1; a:= f[c]; end; if n= then tt:= f[c]; if n=2 then tt:= 26 * f[s[1]] +f[s[2]]; if n=3 then tt:= 26* 26* f[s[1]]+26*f[s[2]]+f[s[3]]; if n=4 then tt:= 26* 26*26* f[s[1]]+26*26*f[s[2]]+26*f[s[3]]+f[s[4]]; 20 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG mơn tin học Dạng 4: Xóa thay Ý tưởng chung dạng lặp lặp lại (câu lệnh lặp while) cơng việc: tìm vị trí, xóa thay Bài (sgk): Nhập vào từ bàn phím xâu Thay tất cụm kí tự ‘anh’ cụm từ ‘em’ * Ý tưởng: Muốn thay cụm từ ‘anh’ phải biết vị trí cụm từ xâu s, từ xóa cụm từ ‘anh’ chèn cụm từ ‘em’ vào vị trí vừa xóa cụm từ ‘anh’ + vị trí xuất cụm từ anh xâu s(sử dụng hàm POS) + Xóa cụm kí tự anh(sử dụng thủ tục delete) + Chèn cụm kí tự em vào vị trí vừa xóa cụm kí tự anh(sử dụng thủ tục Insert) => công việc lặp lại đến khơng tìm thấy vị trí xuất cụm từ anh xâu s * Đoạn chương trình: while pos(‘anh’,s)0 begin i:=pos(‘anh’,s); delete(s,i,3); insert(‘em’,s,i); end; writeln(s); Bài ( Đề hsg lớp 12 năm 2012 – 2013 - Giải mã): Cho xâu s mã hóa theo quy tắc nguyên âm a, e, i, o, u viết thêm chữ p đằng sau thêm ngun âm đằng sau chữ p Đưa xâu sau giải mã Ví dụ, từ ‘welcome’sẽ mã hóa thành ‘wepelcopomepe’ 21 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học * Ý tưởng: Sử dụng ý tưởng chung dạng tập tìm vị trí xuất hiện, xóa hai kí tự từ vị trí tìm +1 Bình thường tìm vị trí xuất có xâu x xâu s có trường hợp => sử dụng mảng để duyệt trước hợp * Đoạn chương trình: x[1]:=’apa’; x[2]:=’epe’; x[3]:=’ipi’; x[4]:=’opo’; x[5]:=’upu’; for i:=1 to while pos(x[i], s) 0 begin vt:= pos(x[i], s); delete(s,vt+1, 2); end; Bài (Bài 4.40 sách tập): Nhập xâu từ bàn phím Chuẩn hóa xâu theo quy tắc: Xóa dấu cách đầu xâu có; Xóa dấu cách cuối xâu có; Thay dãy nhiều dấu cách liên tiếp dấu cách Đưa kết chuẩn hóa hình * Ý tưởng: - Khi vị trí xuất hai dấu cách liền xóa dấu cách vị trí => công việc lặp lặp lại không tìm thấy vị trí xuất hai dấu cách liền - Nếu kí tự dấu cách xóa Kí tự cuối dấu cách xóa * Đoạn chương trình: while pos(‘ ‘,s) begin vt:= pos(‘ ‘, s); delete(s, vt, 1); 22 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học end; if s[1] = ‘ ‘ then delete(S, 1, 1); if s[length(s)] = ‘ ‘ then delete(s, length(s), 1); write(s); Bài (Bài 4.41 sách tập): Xâu khơng chứa kí tự phân cách ‘.’ (dấu chấm), ‘,’ (dấu phẩy), ‘ ‘ (dấu cách) gọi từ Câu xâu bao gồm nhiều từ, xâu có nhiều từ từ phân cách kí tự phân cách Tính số lượng từ câu? Ví dụ, ‘Tin’ câu có từ, ‘Tin hoc 11’ câu có từ, ‘Co anh ban xa nha, co co ban nho cha.’ Câu có 10 từ * Ý tưởng: Lần lượt thực việc sau: + Chuẩn hóa xâu S theo cách làm +Đếm số lượng dấu cách câu.( không cần đếm số dấu ngắt câu theo qui ước gõ văn dấu ngắt câu phải đặt sát vào từ đằng trước) + Số từ số lượng dấu cách +1 * Đoạn chương trình: d:=1; for i:=2 to length(s) if (s[i] = ‘ ‘) then d:=d+1; write(d); Dạng 5: Chuyển số sang xâu ngược lại Với số lớn, số cần xếp lại vị trí, cần xóa k chữ số ta chuyển sang xâu để áp dụng thao tác xử lý xâu mà số ta không làm 23 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học Bài 1(Bài 7.30 sách tập): Với số nguyên N cho trước hệ thập phân tạo số nguyên khác b ằng cách hoán vị chữ số n Ví dụ, n=133 ta thể có số 313 331 có xác định số lớn tạo được? Hãy * Ý tưởng: - Đọc N dạng xâu; - Chuyển phần tử xâu sang mảng số - Sắp xếp mảng theo thứ tự giảm dần - Đưa mảng xếp số lớn cần tìm * Đoạn chương trình: str(n, s); l:=length(s); for i:=1 to l val (s[i],a[i], c); for i:=l downto for j:=1 to i-1 if a[j+1] > a[j] then begin tg:=a[j]; a[j]:= a[j+1]; a[j+1]:=tg; end; for i:=1 to l write(a[i]); Bài (Đề hsg lớp 11 năm 2011 – 2012 – Số nhỏ nhất): Cho số nguyên X Đổi chỗ chữ số X ta thu số nguyên Y Tìm số Y nhỏ lớn X * Ý tưởng: (Thuật toán sinh) - Đọc X vào theo kiểu xâu 24 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học - Đẩy phần tử xâu theo thứ tự vào mảng số - Đi từ cuối mảng đến đầu mảng so sánh số bên phải lớn số bên trái tráo đổi vị trí, ghi nhận vị trí tráo đổi khỏi lặp nhảy xuống câu lệnh (bằng break) - Sắp xếp lại mảng theo thứ tự tăng dần từ vị trí tráo đổi đến cuối mảng * Đoạn chương trình: {Các cơng việc giống tác giả khơng trình bày trình bày phần tìm vị trí mà số bên phải lớn bên trái tráo đổi} If n=1 then write(S); if n= then if s[2] > s[1] then write(s[2], s[1]) else write(S); if n>=3 then begin {chuyển sang mảng} I:=n; while i>=1 begin if a[i] > a[i-1] then begin tg:=a[i]; a[i]:= a[i+1]; a[i+1]:=tg; vt:=i; break; end; i:=i-1; end; Bài (Bài 7.40 sách tập): Cho số nguyên N, tạo N1 cách viết liên tiếp từ đến N.Ví du, với N = 11 ta có N1=1234567891011 Thu gọn N1 cách xóa 25 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG mơn tin học chữ số vị trí chẵn, sau xóa chữ số vị trí lẻ, lại xóa chữ số vị trí chẵn, lại chữ số * Ý tưởng: - Để tạo xâu: chuyển số từ đến N sang xâu Tạo xâu s gồm kí tự - Để thu gọn xâu: thực thao tác sau lặp lặp lại length(s)=1 + Tạo xâu s2 cách lấy ký tự vị trí lẻ s + gán s = s2 vừa tạo + Tạo xâu s2 cách lấy ký tự vị trí chẵn S + gán s= s2 vừa tạo lẻ, gán lại độ dài xâu Đưa xâu lại * Đoạn chương trình: s:=’’; for i:= to N begin str(i, s1); s:=s+s1; end; l:= length(s); lan1:=1; while l1 begin s2:=’’; if lan mod = then for i:=1 to l if i mod = then s2:=s2+s[i]; if lan mod = then for i:=1 to l if i mod = then s2:=s2+s[i]; 26 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học s:=s2; inc(lan); l:=length(s); end; write(S); Bài (Đề hsg lớp 10 năm 2011 – 2012): Cho số nguyên dương gồm N chữ số, tìm số lớn sau gạch bỏ k chữ số số N chữ số cho Ví dụ, với N = 3; k = số 991 số lại sau xóa 99 Với N = 4; k = số 1782 số lại sau xóa 82 *Phân tích đề: xóa k chữ số thu số có N-k chữ số Muốn thu số lớn cần xóa k số cho chữ số lại đứng vị trí từ trái qua phải phải số lớn * Ý tưởng: - Đọc số vào dạng xâu S - Duyệt từ đầu xâu, xét ký tự liền kề s[i]0 xâu S lại xâu gồm ký tự số theo thứ tự giảm dần, cần xóa từ cuối xâu k ký tự * Đoạn chương trình: For i:= to length(s)-1 begin 27 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học If s[i]0 then delete(s, length(s)-k, k); Bài (Xóa k chữ số để số nhỏ nhất): Cho xâu gồm N chữ số Xóa k chữ số để số nhỏ Ví dụ, s = ‘869357495356872’ k=9 xâu lại s=’335672’ * Phân tích: Bài phát triển từ so sánh ký tự liền kề ký tự đứng trước lớn ký tự đứng sau xóa ký tự đứng trước 28 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học CHƯƠNG IV: KẾT QUẢ THỰC HIỆN SAU ĐỀ TÀI Tiến hành khảo sát học sinh PHIẾU PHẢN HỒI CỦA HỌC SINH SAU KHI THỰC HIỆN ĐỀ TÀI I Phần chung Họ tên: II Phần trả lời Câu 1: Qua học, em có nắm kiến thức học hay khơng? Có Khơng Câu 2: Em có thấy hứng thú với nội dung kiến thức khơng? Có Khơng Câu 3: Qua học, em thấy phát triển thêm kỹ gì? Kỹ thu thập thơng tin Kỹ phân tích Kỹ giải vấn đề Câu 4: Sau học xong học, mức độ hứng thú với môn Tin học em nào? Rất thích thú Thích Khơng thích Chán ngán Tình cảm khác: 29 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học Kết học sinh Bảng số liệu kết đạt học sinh hai lớp 11 năm học 2018-2019 không thực đề tài: STT Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu 11A2 40 73% 27% 11A3 40 65% 35% - Bảng số liệu kết đạt học sinh hai lớp 11 năm học 2019-2020 sau thực đề tài: STT Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu 11A1 44 95% 5% 11A4 40 88% 12% Trong trình trao đổi, thảo luận, trình bày, em HS thể khả vận dụng, hiểu biết nên em tỏ hăng hái việc giơ tay phát biểu tranh luận Đồng thời tiết học trở nên sinh động GV khơng đóng vai trò người xây dựng lý luận mà học sinh người chủ động để giải vấn đề NHỮNG THƠNG TIN CẦN ĐƯỢC BẢO MẬT (NẾU CĨ): CÁC ĐIỀU KIỆN CẦN THIẾT ĐỂ ÁP DỤNG SÁNG KIẾN:  Học sinh: học sinh lớp 11, học sinh giỏi môn tin học lớp 10, 11, 12  Giáo viên: Đã tập huấn phương pháp dạy học tích cực  Cơ sở vật chất: có máy tính, máy chiếu 10 ĐÁNH GIÁ LỢI ÍCH THU ĐƯỢC o Đối với giáo viên: nâng cao kiến thức lực giảng dạy o Đối với học sinh: Phát huy hứng thú học tập học sinh Rèn luyện cho học sinh lực tự học, lực phân tích, lực giải vấn đề 30 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học KẾT LUẬN Ngơn ngữ lập trình nói chung đóng vai trò quan trọng việc xây dựng chương trình ứng dụng để phục vụ cho sống Nhờ phát triển tin học nhà lập trình chun nghiệp đóng vai trò khơng nhỏ mà hầu hết lĩnh vực xã hội ứng dụng tin học để giải công viêc nhanh, hiệu xác Trong q trình giảng dạy thầy đưa vấn đề lập trình tốn lớn thực tế liên quan đến xâu,…để em chứng tỏ khả làm cho học sinh u thích mơn học, ham học hỏi tìm tòi sáng tạo Đề tài mang tính thực tiễn cao cụ thể là: học sinh không sợ học lập trình, học sinh có mẫu, hướng cụ thể để giải tốn Trong q trình giải vấn đề, giáo viên sai lầm mà em học sinh mắc phải hiểu không rõ vấn đề giúp cho em hiểu rõ cách làm lập trình kiểu liệu xâu 11 DANH SÁCH NHỮNG TỔ CHỨC/CÁ NHÂN ĐÃ THAM GIA ÁP DỤNG THỬ HOẶC ÁP DỤNG SÁNG KIẾN LẦN ĐẦU (NẾU CÓ): Số Tên tổ Địa Phạm vi/Lĩnh vực TT chức/cá nhân áp dụng sáng kiến Dạy 12: “Kiểu xâu” Lớp 11A1, Trường THPT Đồng Đậu 11A4 chương trình tin học 11 Đội tuyển học Trường THPT Đồng Đậu Chữa tập kiểu sinh giỏi lớp liệu xâu đề thi HSG 10, 11, 12 31 Phương pháp giải số dạng tập kiểu liệu xâu đề thi HSG môn tin học , ngày tháng năm , , Thủ trưởng đơn vị/ ngày tháng năm ngày tháng năm Chính quyền địa phương CHỦ TỊCH HỘI ĐỒNG Tác giả sáng kiến (Ký tên, đóng dấu) SÁNG KIẾN CẤP CƠ SỞ (Ký, ghi rõ họ (Ký tên, đóng dấu) tên) 32 ... hơn, xin đưa “PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN HỌC” 1.2 Mục tiêu nghiên cứu o Đề tài thực nhằm giúp cho giáo viên học sinh hệ thống lại... KIẾN Đề tài sử dụng để vận dụng giải toán kiểu liệu xâu sách tập tin học lớp 11 đề thi học sinh giỏi tỉnh môn tin học Khi vận dụng đề tài để giải toán kiểu liệu xâu giúp: o Học sinh sau giới thi u... Nghiên cứu tài liệu o Thực nghiệm o Tham khảo ý kiến cấp đồng nghiệp TÊN SÁNG KIẾN: “PHƯƠNG PHÁP GIẢI MỘT SỐ DẠNG BÀI TẬP VỀ KIỂU DỮ LIỆU XÂU TRONG ĐỀ THI HỌC SINH GIỎI MÔN TIN HỌC” TÁC GIẢ SÁNG

Ngày đăng: 31/05/2020, 07:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w