skkn một số PHƯƠNG PHÁP tìm HIỂU về KIỂU xâu - Pdf 37

Một số phương pháp tìm hiểu về kiểu xâu

MỘT SỐ PHƯƠNG PHÁP TÌM HIỂU VỀ KIỂU XÂU
I/ LÍ DO CHỌN ĐỀ TÀI
Ngày nay, trên thế giới nói chung và Việt Nam nói riêng đang diễn ra quá trình
tin học hoá trên nhiều lĩnh vực hoạt động của xã hội loài người và đem lại nhiều
hiệu quả to lớn. Việc sử dụng máy tính không còn chỉ bó hẹp trong viện nghiên
cứu, các trường đại học, các trung tâm máy tính mà còn mở rộng ra mọi cơ quan, tổ
chức kinh tế,.. và trong các gia đình. Song song với quá trình trên, việc giảng dạy
Tin học trong các trường đại học, THPT cũng được đẩy mạnh đi đôi với việc tăng
cường trang bị máy vi tính. Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng
của ngành Tin học và đã đưa môn học này vào trường phổ thông như những môn
học khác bắt đầu từ năm học 2006-2007.
Chính vì vậy, đối với mỗi giáo viên giảng dạy môn Tin học ở các trường phổ
thông, việc tìm hiểu, nghiên cứu các vấn đề về Tin học, cùng với việc tìm các biện
pháp giảng dạy Tin học trong các trường phổ thông là một công việc cần phải làm
thường xuyên, nhằm đáp ứng với sự đòi hỏi ngày càng cao của xã hội.
Trong nghiệp vụ của người thầy (cô) giáo có hai vấn đề quan trọng: thứ nhất
là thực tiễn về tiềm năng - những kiến thức lý thuyết mà họ được học rất cơ bản.
Thứ hai là thực tiễn về nghiệp vụ - thầy (cô) giáo phải biết cách truyền thụ kiến
thức phù hợp với trình độ của học sinh. Trong đó, thực tiễn thứ hai là điều quyết
định trong nghiệp vụ của thầy (cô) giáo, nó đánh giá chất lượng giảng dạy của thầy
(cô) giáo. Hai thực tiễn trên vừa mâu thuẫn với nhau, lại vừa thống nhất với nhau.
Thầy (cô) giáo không thể mang hết các kiến thức lý thuyết cao xa và trừu tượng
dạy cho học sinh, nhưng cũng không thể dạy tốt cho học sinh nếu thầy (cô) giáo
hiểu biết quá ít.
Trong bối cảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mới phương
pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh trong hoạt
động học tập. Điều 24.2 của 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 của học sinh, phù hợp
với đặc điểm của từng khu vực, lớp học và môn học; bồi dưỡng phương pháp tự

đặt ra và tạo được động lực bên trong thúc đẩy bản thân họ hoạt động để đạt các
mục tiêu đó.
Các cách thiết kế bài giảng hiện nay nhằm mục đích áp dụng phương pháp
hiện đại để bồi dưỡng cho học sinh năng lực ham muốn học hỏi, tư duy sáng tạo,
năng lực tự giải quyết vấn đề, rèn luyện và phát triển năng lực tự học sáng tạo,
nghiên cứu, nghĩ và làm việc một cách tự chủ… Đồng thời để thích ứng với sự phát
triển tư duy của học sinh trong xã hội mới và tiếp cận với các công nghệ tiên tiến
trên thế giới. Bên cạnh đó, trong các kỹ thuật dạy học mới, vai trò của người thầy
2

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

có sự thay đổi là: “hướng dẫn học sinh biết tự mình tìm ra hướng giải quyết những
vấn đề nảy sinh trong quá trình học tập, biết cách làm việc độc lập, làm việc tập
thể. Thầy là người định hướng, là người cố vấn giúp học sinh tự đánh giá, cũng như
giúp học sinh luôn đi đúng con đường tìm hiểu, lĩnh hội kiến thức…”.
Xuất phát từ thực tiễn giảng dạy tại trường THPT Thanh Bình 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 đố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 (nếu có).
Trong thời đại thông tin bùng nổ ngày nay, việc lập được các chương trình tự
hoạt động cho máy tính, máy gia dụng là cần thiết và để làm được việc đó cần có
một quá trình nghiên cứu, học tập về ngôn ngữ lập trình lâu dài, qua đó người lập

thanh… được xử lý như thế nào. Kiến thức mới và khó, học sinh sợ học môn Tin
học 11, kết quả giảng dậy thấp, nhất là ở các lớp học sinh yếu về môn tự nhiên, ít
có điều kiện sử dụng máy tính. Người thầy phải làm gì để khắc phục được điều
này?
II/ CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN
1/ Cơ sở lí luận
- Nhiều gia đình và học sinh chưa có điều kiện trang bị máy tính cho học sinh
vì đời sống gia đình còn gặp nhiều khó khăn.
- Nhiều gia đình còn ngại cho học sinh sử dụng máy tính vì sợ con em mình
ham mê các trò chơi điện tử . . .
- Một số học sinh chưa thực sự số gắng tự học, tự nâng cao khả năng tư duy
về toán học cũng như các tư duy về ngôn ngữ lập trình.
- Một số học sinh chưa hiểu hết tầm quan trong của lập trình và chưa ứng
dụng môn học này vào quá trình giải quyết một số bài toán bằng máy tính điện tử.
- Tình hình ứng dụng tin học nói chung và ngôn ngữ lập trình đã góp phần
không nhỏ trong việc học tập của học sinh trong một vài năm gần đây cùng với xu
hướng đổi mới phương pháp giảng dạy, học sinh đã không ngừng ứng dụng thành
quả của lập trình vào học tập.
- Trong giáo dục phổ thông cần phải phát huy tính tích cực, tự giác, chủ động
sáng tạo của học sinh phù hợp với từng lớp học, môn học, tác động đến tình cảm
đem lại niềm vui, hứng thú trong khi học môn tin học.

4

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

- Phương pháp tích cực là phương pháp giáo dục, dạy học theo hướng phát

Số học sinh
5
7
10
12
4
1
1

Tỉ lệ
12.5%
17.5%
25%
30%
10%
2.5%
2.5%

Đối với hai ví dụ trên hấu hết các em chưa hình dung ra được thuật toán cũng
như các bước để viết chương trình
Để khắc phục được điều đó, theo tôi chúng ta cần phải tìm tòi, nghiên cứu
tìm ra những phương pháp phù hợp, kích thích tính tích cực của học sinh trong học
tập. Học sinh có thể tự mình tìm ra được những ý tưởng sáng tạo vận dụng thiết
5

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu


- Đưa ra 1 số bài tập để học sinh thảo luận qua đó nắm vững được kiểu dữ
liệu có cấu trúc: kiểu xâu. Hình thành ở học sinh kỹ năng phân tích, xử lý các vấn
đề liên quan đến bài 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 1 số chương trình con 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 về cách viết chương trình có cấu
trúc.
b/ Về phương tiện:
- Giáo viên chuẩn bị máy tính “để bàn hoặc xách tay”, một máy chiếu, một
màn chiếu, bút chỉ laze, bảng phụ …
- Học sinh cần có đầy đủ sách bút, vở ghi…
2/ Các bước thực hiện bài giảng.
Bài tập 1: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó
sang chữ in hoa rồi in kết quả ra màn hình.
Ví dụ : Input:

‘abcdAbcD’

Output: ‘ABCDABCD’
Giáo viên nêu câu hỏi:
Ứng dụng của viết chữ in hoa các em gặp trong những trường hợp nào?
Học sinh: Khi đi làm giấy khai sinh, kê khai lý lịch, làm hồ sơ thi tốt nghiệp, ĐHCĐ…
Giáo viên: Làm thế nào để khi ta nhập họ tên vào máy là chữ thường thì khi hiện
lên trên màn hình là chữ in hoa có dấu?
Học sinh: Sử dụng hàm upcase(ch)
Giáo viên: Nhưng hàm upcase(ch) chỉ đổi được 1 kí tự thành ký tự in hoa, ở đây
chúng ta đổi cả 1 xâu kí tự? vậy chúng ta xử lý vấn đề này như thế nào?
Học sinh: Đưa ra cách xử lý.
7

Người thực hiện: Nguyễn Quang Hưng

chuỗi:
Giáo viên gợi ý:
Khi nhập vào một chuỗi bất kỳ, có thể có khoảng trống sau từ cuối chuỗi. để
xác định từ cuối của chuỗi, trước tiên phải cắt bỏ các khoảng trống ở cuối chuỗi.
sau đó xác định vị trí (vitri) khoảng trống đầu tiên tính từ cuối trở về đầu. Từ cuối
cùng chính là: các ký tự bắt đầu từ vị trí (vitri+1) đến cuối chuỗi.
Ví dụ: s=’N Thanh Huong ’, length(s) trả về giá trị 16, Sau khi cắt khoảng
trống cuối s=’N Thanh Huong’, length(s) trả về giá trị 13. vị trí khoảng trống tìm
8

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

thấy đầu tiên trong chuỗi tính từ cuối lên là vitri = 8. Vậy ký tự từ vị trí đến cuối
chuỗi tạo thành từ cuối là Huong.
Chương trình bài tập 2
Program BT2;
Uses crt;
Var

s: String;
i, vitri: byte;

Begin
Clrscr;
Writeln(‘chuong trinh in tu cuoi cung cua chuoi’);
Write(‘Nhap vao chuoi s=’);
Readln(s);

While
Sau lệnh {2}, s = ‘N Thanh Huong ’ , length(s)=15, s[15]= #32 → tiếp tục lặp
Sau lệnh {2}, s = ‘N Thanh Huong ’, length(s)=14, s[14]= #32 → tiếp tục lặp
Sau lệnh {2}, s = ‘N Thanh Huong’ , length(s)=13, s[13]= ‘g’#32 → thoát lặp
{3} →{9}: Bắt đầu vòng lặp, biến xác định vị trí tìm thấy khoảng trống đầu
tiên bằng 0. Vòng lặp {4} lần lượt duyệt từ vị trí cuối đến vị trí đầu của chuỗi s.
nếu ký tự i khác trống thì giảm i để xét ký tự trước nó, nếu là khoảng trống {5}, thí
cất vị trí này vào biến vitri{7} và kết thúc ngay vòng lặp for {4} mà không cần đợi
i giảm đến 1.
Trường hợp chuỗi s chỉ có một từ, không có khoảng trống (ví dụ: ‘Xuan’) thì
vòng lặp for sẽ kết thúc khi i giảm tới 1 và vị trí vẫn dữ nguyên giá trị 0 gán ở câu
lệnh{3}. Khi đó từ cuối bắt đầu bằng các ký tự (vitri+1) = 0+1=1 đến cuối chuỗi s.
{11} Vòng lặp for in các ký tự trong chuỗi s từ vị trí sau khoảng trống tìm được
(vitri+1) đến cuối chuỗi. Với length(s) trả về số ký tự thực có trong chuỗi s sau khi
đã cắt bỏ những khoảng trống ở cuối chuỗi.
Bài tập 3: Nhập 1 xâu St từ bàn phím (St
Input:

‘Hello’

Output: H
e
l
l
o
Phần lớn học sinh vẫn chưa biết khi nào thì sử dụng write, khi nào dùng
writeln. Mục đích của bài tập này tôi đưa ra để nhằm củng cố cho học sinh việc sử
dụng thành thạo thủ tục write và writeln, sự khác biệt giữa 2 thủ tục này.
Giáo viên: gọi học sinh nhắc lại sự khác biệt giữa 2 thủ tục, sau đó gọi học sinh lên
bảng viết chương trình.
Giáo viên chạy chương trình hoặc sửa chương trình của bài tập 4, học 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

11

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

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 baitap4;
Uses Crt;
Var

St: String[25];
i:Byte;
12

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

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


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;
14

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

procedure catdan(s1:st79; var s2:st79);


Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

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]<=’Z’) and (s[i]>=’A’) then
S[i]:= CHR(ord(s[i])+32);
Else
If(s[i]<=’z’) and (s[i]>=’a’) then

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.
Bài tập 8: Nhập chuỗi s, cắt bỏ các khoảng trống ở đầu và cuối chuỗi, Nếu các từ
trong chuỗi cách nhau với hai khoảng trống trở lên thì bỏ bớt khỏang để các từ
trong chuỗi chỉ cách nhau một khoảng trống mà thôi.
Ý tưởng: Trong một chuỗi s, ngoại trừ từ đấu tiên, các từ đều phải có một
khoảng trống trước nó nghĩa là nếu s[i]=#32và s[i+1]#32 thì bắt đầu một từ
mới.
Chương trình:
Program BT8;
Uses CRT;
Var

s: String;
i, word: Integer;

Begin
Clrscr;
Writeln(‘Nhap vao chuoi s:=’);
17

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

Readln(s);
{Vòng lặp xóa các khoảng trống đầu chỗi s}
While s[1]=#32 do delete(s,1,1);

kiểm tra điều kiện.
Pos (‘ ‘,s)=5 → delete(s,pos(‘ ‘,s),1) xóa một khoảng trống tại vị trí thứ 5
trong chuỗi s → s = ‘Dinh Xuan’, length(s) = 9, s[6]=’X’ → kiểm tra điều kiện.
Pos (‘ ‘,s)=0 vì không còn tìm thấy hai khoảng trống trong chuỗi nữa →
thoát lặp → kết quả s = ‘Dinh Xuan’, nghia là đã bỏ số khoảng trống lớn hơn một
giữa các từ.

18

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

IV/ HIỆU QUẢ CỦA ĐỀ TÀI
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 11a5 có 40 học sinh (với đề kiểm tra giống
lớp 11A8 ở trên) sau khi thực hiện đề tài như sau:
Điểm
3
4
5

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.
19

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

Đề 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.

20

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

V/ NHỮNG KIẾN NGHỊ
1/ Đề xuất


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.

22

Người thực hiện: Nguyễn Quang Hưng


Một số phương pháp tìm hiểu về kiểu xâu

MỤC LỤC
I/ LÍ DO CHỌN ĐỀ TÀI-------------------------------------------------------------------1
II/ CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN--------------------------------------------------4

Người thực hiện: Nguyễn Quang Hưng




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status