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

pdf20 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 3419 | Lượt tải: 1download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 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:

  • pdfSá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
Tài liệu liên quan