Sáng kiến kinh nghiệm Một số phương pháp giúp học sinh giải bài tập về kiểu xâu
MỤC LỤC
A- MỞ ĐẦU ----------------------------------------------------------------------------------- 1
I/ Lý do chọn đề tài . . 1
II/ Thực trạng của vấn đề nghiên cứu . 4
1/ Tình trang thực tế khiu chưa thực hiện đề tài . 4
2/ Khảo sát thực tế . 4
3/ Mục đích của sáng kiến kinh nghiệm. 5
B- NỘI DUNG -------------------------------------------------------------------------------- 6
I/ Chuẩn bị . . . 6
1/ Về phương pháp . 6
2/ Về phương tiện. . 6
II/ Các bước thực hiện bài giảng. . 6
C- KẾT LUẬN ------------------------------------------------------------------------------ 16
D- KIẾN NGHỊ ----------------------------------------------------------------------------- 17
E- TÀI LIỆU THAM KHẢO ------------------------------------------------------------ 18
sinh theo dõi kết quả thực hiện trên màn hình sự hứng thú cho học sinh khi học bài kiểu xâu và kết hợp với các thủ tục tưởng chừng như đã rất quen thuộc nhưng khi vận dụng thì các em thấy được sự kì diệu của tin học. Chương trình bài tập 4: Program baitap3; Uses Crt; Var St: String[25]; i:Byte; Begin Write(‘Nhap xau St: ‘); Readln(St); Write(‘ket qua la: ‘); For i:=1 to length(St) do writeln(St[i]:15); Readln; End. Bài tập 5: Nhập 1 xâu St từ bàn phím (St<=25), đưa ra màn hình xâu st nhưng mỗi kí tự viết trên 1 dòng ngược lại với xâu St VD: Input: ‘Hello’ Output: o l l e H Khi tôi nêu bài toán và hỏi học sinh: bạn nào xung phong lên bảng viết chương trình thì đã có khá nhiều cách tay giơ lên. Chương trình mà em học sinh đã sửa như sau: Program baitap5; Uses Crt; Var St: String[25]; i:Byte; Begin Write(‘Nhap xau St: ‘); Readln(St); Write(‘ketqua la:’); For i:= length(St) downto 1 do writeln(St[i]:15); Readln; End. Khi giáo viên chạy chương trình cho các em học sinh theo dõi kết quả trên màn hình máy chiếu mà mình đã sửa thì các em ngạc nhiên và rất hào hứng: đơn giản chỉ sửa chương trình có 1 ít mà đã có kết quả rất thú vị, các em thấy tin học 11 không khó lắm. Giáo viên: Vậy chúng ta có thể tô màu cho chữ được không? Chẳng hạn xâu S đưa ra có màu xanh hoặc đỏ hoặc mỗi kí tự có một màu khác nhau? Giáo viên làm mẫu cho học sinh để các em thấy được kết quả cho các kí tự hiện ra có màu xanh lá. Tất cả học sinh trong lớp đều thấy phấn chấn và hào hứng học tập. Chương trình: Program baitap5; Uses Crt; Var St: String[25]; i:Byte; Begin Write(‘Nhap xau St: ‘); Readln(St); Write(‘ketqua la:’); Textcolor(2); For i:= length(St) downto 1 do writeln(St[i]:15); Readln; End. Giáo viên: giới thiệu cho học sinh về nhà tham khảo bài 19 “Thư viện chương trình con chuẩn” – phần kiến thức giảm tải và nêu thêm 1 số yêu cầu coi như bài tập ở nhà. Giáo viên: Vậy làm thế nào để chúng ta có thể tạo ra được các dòng chữ chạy trên các biển hiệu quảng cáo, hoặc khi các em không sử dụng máy tính vài phút thì trên màn hình hiện ra các dòng chữ chuyển động từ trái sang hoặc từ trên xuống, kiểu chữ, màu chữ… trông rất đẹp. Khi nêu bài tập 5, tôi đã đặt câu hỏi như trên sau đó tôi mới nêu bài toán: Bài tập 6: Nhập 1 xâu từ bàn phím, đưa xâu đó ra giữa màn hình, chuyển động dần về bên trái, các ký tự đầu xâu sẽ lần lượt mất đi nhưng lại xuất hiện lần lượt ở cuối xâu. Tô màu cho xâu xuất hiện trên màn hình. Giáo viên: Chạy thử chương trình cho học sinh quan sát kết quả thực hiện, sau đó GV hướng dẫn học sinh viết chương trình có sử dụng 2 thủ tục chữ chay và cắt dán ở bài tập và thực hành số 6, giải thích các câu lệnh trong 2 thủ tục. procedure catdan(s1:st79; var s2:st79); begin s2:=copy(s1,2,length(s1)-1)+s1[1]; end; procedure cangiua(var s:st79); var i,n:integer; begin n:=length(s); n:=(80-n) div 2; for i:=1 to n do s:=s+ ‘ ‘; end; Chương trình giải bài toán này như sau (giáo viên đã cài sẵn trên máy) program chuchay; uses Crt; type st79=string[79]; var s1,s2: st79; stop:bolean; procedure catdan(s1:st79; var s2:st79); begin s2:=copy(s1,2,length(s1)-1)+s1[1]; end; procedure cangiua(var s:st79); var i,n:integer; begin n:=length(s); n:=(80-n) div 2; for i:=1 to n do s:=s+ ‘ ‘; end; begin clrscr; write(‘Nhap xau s1: ‘); readln(s1); stop:=false; while not(stop) do begin gotoxy(1,12); write(s1); delay(600); catdan(s1,s2); s1:=s2; stop:=keypressed end; readln; end. Bài tập 7: Viết chương trình nhập vào một chuỗi, đổi các ký tự chữ hoa trong chuỗi thành ký tự chữ thường, và các ký tự chữ thường trong chuỗi thành ký tự hoa Ví dụ: Nhập ‘tHAO 12a3’ đổi thành ‘Thảo 12A3’ Giáo viên đặt vấn đề: Ta biết ký tự ‘A’ có số thứ tự trong bảng mã ASCII bằng 65, ‘a’ bằng 97, nghĩa là ORD(‘A’)+32 = 65 + 32 = 97. Tương tự với các ký tự chữ cái còn lại. - Nêu để đổi một ký tự chữ thường ra hoa ta dùng công thức ORD(kytu)-32. - Nêu để đổi một ký tự chữ hoa ra thường ta dùng công thức ORD(kytu)+32. Giáo viên gơi ý và yêu cầu học sinh thảo luận và viết chương trình. Chương trình đổi chữ hoa ra chữ thường và ngược lại. Program BT7; Uses CRT; Var s: String; i: integer; Begin Clrscr; Writeln(‘Chuong trinh doi chu hoa ra thuong va nguoc lai’); Write (‘Nhap vao chuoi s=’); Readln(s); For i:= 1 to length(s) do If(s[i]=’A’) then S[i]:= CHR(ord(s[i])+32); Else If(s[i]=’a’) then S[i]:= CHR(ord(s[i])-32); Writeln(‘Chuoi da doi s=’,s); Readln; End. Giáo viên giải thích: Hai cách viết sau sẽ cho kệt quả hoàn toàn khác nhau: Cách 1: If(s[i]=’A’) then S[i]:= CHR(ord(s[i])+32); Else If(s[i]=’a’) then S[i]:= CHR(ord(s[i])-32); Cách 2: If(s[i]=’A’) then S[i]:= CHR(ord(s[i])+32); Else S[i]:= CHR(ord(s[i])-32); Với cách 1 được hiểu như sau: Nếu là chữ thường đổi thành chữ hoa, nếu là chữ hoa đổi thành chữ thường, nếu là chữ số hay ký tự khác thì không làm gì cả. Với cách 2 được hiểu như sau: Nếu là chữ hoa đổi thành chữ thường, nếu là chữ thường đổi thành chữ hoa, nếu là chữ số hay ký tự khác thì đổi thành ký tự có số thứ tự trong bảng mà ASCII nhỏ hơn nó 32 đơn vị. Ví dụ: Ký tự ‘]’ có số thứ tự 92 giảm đi 32 đổi thành ký tự ’<’ có số thứ tự 60 là sai. Trong quá trình thảo luận để giải thích, chứng minh vấn đề “khả năng chuyển đổi qua lại giữa hai câu lệnh lặp” bắt buột học sinh phải nắm vững cú pháp, cũng như ý nghĩa của hai câu lệnh trên. Dẫn đến việc các em thấy được sự giống và khác nhau của hai câu lệnh một cách rõ ràng hơn. C. KẾT LUẬN Trong quá trình trao đổi, thảo luận, trình bày học sinh được thể hiện khả năng vận dụng, hiểu biết của mình nên các em tỏ ra hăng hái trong việc giơ tay phát biểu tranh luận. Đồng thời tiết học trở nên sinh động hơn và giáo viên không đóng vai trò là người xây dựng lý luận mà học sinh là người chủ động để giải quyết các vấn đề. So sánh, đối chứng tỉ lệ % kết quả của học sinh trước và sau khi thực hiện đề tài ta thấy rõ ràng kết quả của học sinh sau khi được học bằng giáo án điện tử trên máy chiếu kết hợp mô phỏng trực quan, lấy dẫn chứng thực tế …cao hơn hẳn so với khi chưa thực hiện đề tài. Cụ thể kết quả thực tế đối với lớp 11a8 có 45 học sinh (với đề kiểm tra giống lớp 11A3 ở trên) sau khi thực hiện đề tài như sau: Điểm Số học sinh Tỉ lệ 3 0 0% 4 0 0% 5 7 15,56% 6 10 33,33% 7 15 40% 8 5 11,11% 9 5 11,11% 10 3 6,67% Ngôn ngữ lập trình nói chung đóng vai trò rất quan trọng trong việc xây dựng các chương trình ứng dụng để phục vụ cho cuộc sống. Nhờ sự phát triển của tin học trong đó các nhà lập trình chuyên nghiệp đóng vai trò không nhỏ mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải quyết công viêc nhanh, hiệu quả và chính xác hơn. Hiện nay, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới sử dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy các thầy cô có thể đưa ra các vấn đề như lập trình các game nhỏ…để các em có thể chứng tỏ được khả năng của mình làm cho học sinh yêu thích môn học, ham học hỏi và tìm tòi sáng tạo. Đề tài này mang tính thực tiển rất cao cụ thể là: trong tiết học các em học sinh đã chủ động để tìm tòi lại kiến thức đã học qua đó giải quyết được vấn đề do giáo viên đặt ra. Trong quá trình giải quyết vấn đề, giáo viên chỉ ra những sai lầm mà các em học sinh mắc phải do hiểu không rỏ vấn đề giúp cho các em hiểu rỏ hơn về câu lệnh. Kết quả là có rất nhiều em đã dể dàng vận dụng được câu lệnh lặp để giải các vấn bài toán lặp do giáo viên đặt ra. D - NHỮNG KIẾN NGHỊ - Sau khi thực hiện đề tài, tôi xin có một vài ý kiến sau: - Đề nghị cấp trên tạo điều kiện hơn nữa về cơ sở vật chất nhất là các trường ở vùng sâu, vùng xa có hoàn cảnh khó khăn để các em học sinh có điều kiện tiếp xúc với máy tính nhiều hơn. Thanh Bình, Ngày 18 tháng 05 năm 2013 NGƯỜI THỰC HIỆN Nguyễn Quang Hưng E. TÀI LIỆU THAM KHẢO 1.Sách giáo khoa tin học 11 Hồ Sĩ Đàm chủ biên 2. Sách giáo viên tin học 11 Hồ Sĩ Đàm chủ biên 3. Lý thuyết và Bài tập lập trình Pascal 5.5-6.0 Nguyễn Thị Kiều Duyên 4. Lý thuyết và bài tập Pascal Hạnh Nguyên. 5. Một số sáng kiến kinh nghiệm và ý kiến của đồng nghiệp. 6. Một số bài tập tham khảo trên Internet. MỤC LỤC A- MỞ ĐẦU ----------------------------------------------------------------------------------- 1 I/ Lý do chọn đề tài ................................................................................................. 1 II/ Thực trạng của vấn đề nghiên cứu ...................................................................... 4 1/ Tình trang thực tế khiu chưa thực hiện đề tài .............................................. 4 2/ Khảo sát thực tế ......................................................................................... 4 3/ Mục đích của sáng kiến kinh nghiệm........................................................... 5 B- NỘI DUNG -------------------------------------------------------------------------------- 6 I/ Chuẩn bị .............................................................................................................. 6 1/ Về phương pháp .......................................................................................... 6 2/ Về phương tiện............................................................................................ 6 II/ Các bước thực hiện bài giảng.............................................................................. 6 C- KẾT LUẬN ------------------------------------------------------------------------------ 16 D- KIẾN NGHỊ ----------------------------------------------------------------------------- 17 E- TÀI LIỆU THAM KHẢO ------------------------------------------------------------ 18
File đính kèm:
- Sáng kiến kinh nghiệm Một số phương pháp giúp học sinh giải bài tập về kiểu xâu.pdf