SKKN Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con - Pdf 26

Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
A. PHẦN MỞ ĐẦU
I. Lý do chọn đề tài:
Thế kỷ XXI là thế kỷ của nền kinh tế tri thức. Nói đến tri thức, sáng tạo tri thức, phổ
biến, truyền thụ tri thức, học tập và lĩnh hội tri thức không thể không nói đến khoa học -
công nghệ và giáo dục - đào tạo. Sự nghiệp giáo dục phải đáp ứng những đòi hỏi của cách
mạng khoa học và công nghệ. Đó là một yêu cầu có tích chất nguyên tắc. Chính vì vậy, sự
hiểu biết nhất định về máy tính điện tử, công nghệ thông tin không phải chỉ là vốn riêng
của một số người chuyên nghiệp mà phải trở thành học vấn phổ thông của tất cả mọi người
trong xã hội, nhất là thế hệ trẻ. Chính vì vậy, từ năm 1993 Bộ Giáo dục và Đào tạo đã quyết
định đưa môn Tin học vào giảng dạy trong các trường phổ thông.
Tin học là một môn học công cụ, có tính trừu tượng và tính thực tiễn phổ dụng.
Những tri thức và kỹ năng Tin học cùng với phương pháp làm việc trong Tin học đã trở
thành công cụ để học tập những môn học khác trong nhà trường, là công cụ của nhiều
ngành khoa học khác cũng như hoạt động trong đời sống thực tế. Bởi vậy, dạy Tin học
không chỉ đơn thuần là tạo điều kiện cho học sinh chiếm lĩnh những tri thức và kỹ năng Tin
học mà còn phải góp phần phát triển năng lực trí tuệ chung cho học sinh, trong đó có vấn
đề dạy học tư duy lập trình mà ngôn ngữ lập trình Pascal là một ví dụ.
Tuy nhiên, hầu hết học sinh rất khó khăn để tiếp thu kiến thức của môn học này vì
nhiều lý do như: Phải có tư duy thuật toán tốt, đòi hỏi tư duy nhiều, bài học khô khan, khó
hiểu, các thuật ngữ bằng tiếng Anh… làm cho môn học pascal trở nên không hứng thú đối
với các em. Vấn đề này thật sự thể hiện rất rõ nét đối với những học sinh vùng nông thôn
như học sinh trường THPT Nông Cống 4.
Hiện nay, tôi nhận thấy trong lý luận dạy học sử dụng khá nhiều phương pháp như:
Phương pháp thảo luận, phương pháp đặt câu hỏi, phương pháp chia nhóm … Theo các
phương pháp trên cũng có nhiều cách thiết kế bài giảng nhằm mục đích bồi dưỡng và tạo
cảm hứ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, làm việc một cách tư duy tự chủ.
Bên cạnh đó, trong các kỹ thuật dạy học mới, vai trò của người thầy 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à

- Nghiên cứu các tài liệu liên quan đến thuật toán và ngôn ngữ lập trình Pascal.
- Nghiên cứu một số tài liệu về đổi mới phương pháp giáo dục.
- Nghiên cứu hoạt động dạy và học của giáo viên và học sinh ở trường THPT.
Phạm vi nghiên cứu:
2
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Là giáo viên Tin học mới vào ngành, thời gian hạn chế nên trong đề tài này tôi xin
nêu lên một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con, SGK lớp 11.
IV. Nhiệm vụ nghiên cứu
Nhằm đạt được mục đích nghiên cứu đã nêu, cần phải thực hiện các nhiệm vụ sau:
- Nghiên cứu tình hình dạy và học Tin học ở trường THPT hiện nay. Trao đổi, tìm
hiểu kinh nghiệm của giáo viên phổ thông, tiếp cận học sinh khi học ngôn ngữ lập trình
Pascal về năng lực và trí tuệ.
- Nghiên cứu những cơ sở về lý luận dạy học.
- Áp dụng vào thực tiễn nhằm rèn luyện các thao tác tư duy, hình thành và phát triển
tư duy logic, suy đoán trừu tượng nhằm giúp các em giải các bài tập Pascal.
- Đưa ra các phương pháp, động cơ trong dạy học, xây dựng hệ thống bài tập có
chuyên đề cụ thể để học sinh dễ tiếp cận bài học.
V. Phương pháp nghiên cứu
1. Nghiên cứu lý thuyết:
- Nghiên cứu các tài liệu, bài giảng về phương pháp dạy học Tin học.
- Nghiên cứu các tài liệu về phương pháp dạy học môn Toán, các tài liệu giáo dục
học, tâm lý học
- Nghiên cứu vị trí, khối lượng kiến thức về ngôn ngữ lập trình Pascal trong chương
trình THPT.
- Nghiên cứu các tài liệu về ngôn ngữ lập trình Pascal.
- Nghiên cứu các công văn hướng dẫn của Bộ Giáo dục và Đào tạo, Sở Giáo dục và
Đào tạo về vấn đề đưa Tin học vào chương trình THPT cũng như các vấn đề về yêu cầu
chất lượng giáo dục.
2. Thực nghiệm sư phạm:

cảnh và thời gian thực tế diễn ra.
- Quan sát gián tiếp: Không quan sát trực tiếp hành vi mà đi thu thập các dấu vết của
hành vi con sót lại như: Lịch hoạt động của phòng đa năng của các giờ học bằng máy
Projecter, phòng thực hành Tin học…
Qua các phương pháp này nhằm điều tra, dõi hiện tượng giáo dục theo trình tự thời
gian, phát hiện những biến đổi số lượng, chất lượng gây ra do tác động giáo dục. Từ đó
thấy được những vấn đề thời sự cấp bách đòi hỏi phải nghiên cứu hoặc góp phần giải quyết
nhiệm vụ nghiên cứu.
3. Tổng kết kinh nghiệm:
Tổng kết kinh nghiệm là đánh giá và khái quát hóa những kinh nghiệm đã thu thập
được trong hoạt động thực tiễn, từ đó phát hiện ra những vấn đề cần khẳng định để đưa ra
áp dụng rộng rãi hoặc cần tiếp tục nghiên cứu hay loại bỏ. Nó có nguồn gốc từ kinh
nghiệm, mang tính khoa học, được lĩnh hội, kiểm chứng từ quá trình hoạt động thực tiễn
5
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
sinh động. Bài học kinh nghiệm là sự cụ thể hóa một cách sáng tạo tư tưởng, luận điểm, lý
luận giáo dục đã đi vào cuộc sống. Trong quá trình nghiên cứu tổng kết kinh nghiệm, có
khi người ta khám phá ra những mối liên hệ có tính quy luật của những hiện tượng giáo
dục.
6
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
II. Thực trạng của vấn đề nghiên cứu:
* Một số thuận lợi và khó khăn khi thực hiện nghiên cứu đề tài:
1. Thuận lợi:
- Đối với nhà trường:
Được sự quan tâm của Ban giám hiệu, tổ chuyên môn của nhà trường, trong những
năm học gần đây luôn tạo điều kiện tốt nhất trong khả năng kinh tế của nhà trường để giúp
giáo viên và học sinh tham gia dạy - học có hiệu quả.
Phát triển công nghệ thông tin, đặc biệt là kết nối Internet để cán bộ giáo viên và học
sinh tham khảo tài liệu trên mạng.

hoạt động và của đối tượng hoạt động. Theo đó, gợi động cơ hoạt động cũng là mục tiêu sư
phạm biến thành những mục tiêu của cá nhân học sinh, chứ không phải chỉ là sự vào bài,
đặt vấn đề một cách hình thức.
Thông thường, giáo viên khuyến khích các em học tập tốt thường dùng những cách
như cho điểm, khen thưởng, thông báo cho gia đình kết quả học tập của các em, Tuy
nhiên, càng lên lớp cao, cùng với sự trưởng thành của học sinh, với trình độ nhận thức và
giác ngộ chính trị ngày càng cao những cách gợi động cơ xuất phát từ nội dung hướng và
những nhu cầu nhận thức, nhu cầu đời sống, trách nhiệm đối với xã hội ngày càng trở nên
quan trọng.
Vì vậy những phương pháp truyền thống trên áp dụng cũng có hiệu quả nhưng chỉ
tạo cho các em về quyền lợi trước mắt, chưa định hướng về nhiệm vụ lâu dài.
Gợi động cơ là kinh nghiệm mà tôi đã kiểm nghiệm trong thời gian thực tập sư
phạm cũng như giảng dạy trên lớp rất hiệu quả. Với mỗi bài học các em đều có hứng thú
mà không quan trọng về điểm đánh giá của bản thân, các em hứng thú khi mình đã hiểu bài
và áp dụng cho các tiết học, các bài tập tiếp theo. Gợi động cơ gồm 3 bước: Gợi động cơ
mở đầu, gợi động cơ trung gian và gợi động cơ kết thúc.
1. Gợi động cơ mở đầu:
Gợi động cơ mở đầu được xuất phát từ các vấn đề thực tiễn, có thể nêu lên thực tiễn
của Tin học, góp phần hình thành thế giới duy vật biện chứng. Cách đặt vấn đề mở đầu
phải đảm bảo tính chân thực, không đòi hỏi quá nhiều các kiến thức bổ sung, con đường từ
lúc nêu cho tới lúc giải quyết vấn đề càng ngắn càng tốt. Nhờ đó, học sinh nhận rõ việc
nhận thức và cải tạo thế giới đã đòi hỏi phải suy nghĩ và giải quyết những vấn đề Tin học
như thế nào, tức là nhận rõ Tin học bắt nguồn từ những nhu cầu của đời sống thực tế. Vì
vậy, ta cần khai thác triệt để mọi khả năng để gợi động cơ xuất phát từ thực tế.
8
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Khi gắn nội dung bài học với sự xuất phát từ thực tiễn, thì trong dạy học Tin học
chúng ta cần phải gợi động cơ từ nội bộ Tin học, đó là nêu vấn đề Tin học xuất phát từ nhu
cầu Tin học. Gợi động cơ theo cách này là cần thiết vì:
- Việc gợi động cơ xuất phát từ thực tế không phải bao giờ cũng thực hiện được.

Writeln('- Dien tich bang : ',S2:8:2);
Writeln('Hinh tam giac thu ba co:');
Writeln('- Chu vi bang : ',C3:8:2);
Writeln('- Dien tich bang : ',S3:8:2);
Readln
End.
Theo yêu cầu của đề bài, chương trình trên đã thực hiện đúng, tuy nhiên các thao tác
thực hiện phải lặp đi lặp lại 3 lần để tính chu vi và diện tích 3 hình tam giác. Giả sử nếu
phải tính chu vi và diện tích cho N hình tam giác thì làm thế nào? Nếu áp dụng phương
pháp trên thì quá phức tạp, chương trình dài dòng và sẽ không thật sự phù hợp, đó là chưa
10
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
kể trong mỗi hình khi nhập các giá trị của các cạnh chúng ta cần kiểm tra các giá trị nhập
đều phải thỏa mãn giá trị cạnh của tam giác vuông. Đó thật sự là hạn chế của chương trình
này. Vậy làm thế nào để khắc phục các hạn chế trên? Trong mở bài để chúng ta có thể áp
dụng để vào bài cho phương pháp ứng dụng chương trình con. Thay vì phải viết nhiều lần
lệnh nhập, tính đi tính lại cho từng hình ta có thể viết 2 thủ tục:
1. Thủ tục nhập hai cạnh của tam giác vuông.
2. Thủ tục tính chu vi và diện tích cho mỗi hình.
Var a, b: Real;
i,N: Byte;
Procedure Nhap(Var x, y: Real; k: Byte);
Begin
Writeln('Nhap hai cạnh cua hinh tam giac thu ',k,':');
Repeat
Write('Canh thu nhat: '); Readln(x);
Write('Canh thu hai : '); Readln(y);
If (x <= 0) Or (y <= 0) Then Writeln('Nhap lai!');
Until (x > 0) And (y > 0);
End;

Repeat
Write('Nhap ban kinh cua duong tron thu ',i,': ');
Readln(r);
If r <= 0 Then Writeln('Nhap lai!');
Until r > 0;
End;
Begin
Nhap(r1, 1);
Nhap(r2, 2);
Nhap(r3, 3);
Writeln('Duong tron 1 Chu vi bang:',2 * pi * r1:8:2,' Dien tich bang: ',pi * sqr(r1):8:2);
Writeln('Duong tron 2 Chu vi bang:',2 * pi * r2:8:2,' Dien tich bang:',pi * sqr(r2):8:2);
Writeln('Duong tron 3 Chu vi bang:',2 * pi * r3:8:2,' Dien tich bang:',pi * sqr(r3):8:2);
Readln
End.
Sau khi học sinh chạy thử chương trình trên, các em sẽ phát hiện ra kết quả không
như mong muốn vì kết quả chu vi và diện tích của cả ba đường tròn đều bằng 0. Vậy
chương trình sai ở chỗ nào? Lúc này ta có thể khẳng định sự phân biệt giữa tham biến và
tham trị, các giá trị của tham biến được lưu giữ khi ra ngoài chương trình con, còn giá trị
của tham trị chỉ lưu giữ khi thực hiện chương trình con, nếu ra khỏi chương trình con nó sẽ
12
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
không còn lưu giữ giá trị đó. Điều này sẽ giúp cho chúng ta đưa ra các ví dụ cụ thể nhằm
chứng minh cho khái niệm tham biến và tham trị cho học sinh thấy rõ. Chương trình trên
được sửa lại như sau:
Var r1, r2, r3: Real;
Procedure Nhap(Var r: Real; i:Byte);
Begin
Repeat
Write('Nhap ban kinh cua duong tron thu ',i,': ');

Write('Nhap so phan tu: '); Readln(n);
Writeln('Nhap cac phan tu cua day’);
For k := 1 to n do Begin
Repeat
Write('A[',k,'] = ');Readln(A[k]);
If A[k] < 2 Then Writeln('Ban can nhap A[k] > 2. Vui long nhap lai!');
Until A[k] >= 2;
End;
Writeln('Cac so nguyen to cua day so tren la:');
For k := 1 to n do
If NgTo(A[k]) Then Write(A[k]:6);
Readln
End.
Giả sử chương trình trên nếu viết theo chương trình thông thường thì mỗi phần tử
khi kiểm tra sẽ là 1 dãy câu lệnh, như phân tích ở trên rõ ràng việc sử dụng chương trình
con có thể hợp lý hóa, tiết kiệm công sức lập trình. Đồng thời, chương trình con giúp cho
người lập trình dễ sửa chữa, dễ kiểm tra. Cụ thể là với bài toán trên chúng ta có thể sửa
chữa thành bài toán: “Viết ra màn hình tất cả các số của dãy thỏa mãn điều kiện là hợp
số” chỉ bằng hai câu lệnh phủ định:
- Dòng lệnh Writeln(‘Cac so nguyen to cua day so tren la:’); Sửa thành:
Writeln(‘Cac so la hop so cua day so tren la:’);.
- Dòng lệnh : If NgTo(A[k]) Then Write(A[k]:6) ta thay bằng dòng lệnh If Not
NgTo(A[k]) Then Write(A[k]:6).
14
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
d) Xây dựng hệ thống chi tiết chương trình con:
Để có thể giúp học sinh nắm bắt được các kiến thức về chương trình con một cách
có hệ thống . Sau khi học xong về chương trình con, chúng ta có thể đưa ra sơ đồ sau:
Bài tập sau đây sẽ giúp học sinh nhận biết cụ thể hơn về các khái niệm biến toàn
cục, biến cục bộ, cách sử dụng các tham biến, tham trị… Cách gọi chương trình con thực

có nhiều hướng để giải quyết vấn đề. Bài tập ví dụ sau sẽ giải quyết 2 vấn đề cơ bản của bài
toán:
1. Viết chương trình chuyển đổi xâu ký tự bất kỳ thành xâu ký tự in hoa.
2. Viết chương trình chuyển đổi xâu ký tự in hoa thành ký tự thường.
TH1: Chuyển đổi xâu ký tự bất kỳ thành xâu ký tự in hoa.
Var st: String;
Procedure Doi(st: String);
Var i: Integer;
Begin
Write('Xau ky tu in hoa la: ');
For i := 1 to Length(st) Do
Write(Upcase(st[i]));
End;
Begin
Write('Nhap xau: '); Readln(st);
Doi(st);
Readln
End.
TH2: Chuyển đổi xâu ký tự in hoa thành xâu ký tự thường.
16
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Học sinh đã biết trong bảng mã ASCII mỗi ký tự viết hoa A, B, C, , Z được mã
hóa bằng các con số từ 65 đến 90. Còn các ký tự thường a, b, c, z được mã hóa bằng các
con số từ 97 đến 122. Ta thấy rõ mỗi ký tự viết hoa và viết thường của một chữ cách nhau
32 đơn vị. Chính vì vậy, ta có thể sử dụng quy luật này để đổi một xâu ký tự viết HOA
thành xâu ký tự viết thường bằng cách dùng một vòng For chạy từ đầu xâu đến cuối xâu và
đổi từng ký tự thành mã ASCII, nếu gặp ký tự viết hoa, ta cộng mã ASCII của nó thêm 32
đơn vị. Chương trình như sau:
Var st: String;
Procedure Doi(st: String);

For i:=1 To x Do P:=P*i;
End;
GiaiThua:=P;
End;
BEGIN
write('nhap n= '); readln(n);
write(N,'! = ',giaithua(n));
readln
END.
Tiếp theo, giáo viên cho học sinh xét bài toán sau: “Viết chương trình tính giá trị x
n
”. Lưu ý với học sinh công thức tính N giai thừa và tích của n lần giá trị x. Từ đó suy ra
tính tương tự của bài toán thứ 2 với bài toán 1.
Var x:byte;
n:byte;
Function XMU(x:byte;n:Byte):longint;
Var i:Byte; S:longint;
18
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Begin
S:=1;
For i:=1 To n Do S:=S*x;
XMU:=S;
End;
Begin
Write('Nhap x='); Readln(x);
Write('Nhap n= '); Readln(n);
Writeln('x mu n = ', XMU(x,n):2);
Readln;
End.

K với các số trong dãy.
CONST Nmax = 200;
Var A: Array[1 Nmax] Of Integer;
k, i, n: Integer;
Procedure UCLN(Var x, y: Integer);
Var tg: Integer;
Begin
While y<>0 do
Begin
tg := x mod y; x := y; y := tg;
End;
End;
Begin
Write('Nhap so luong day so: '); Readln(n);
For i := 1 to n do
Begin
Write('So thu ',i,': '); Readln(A[i]);
End;
Write('UCLN(');
For i := 1 to n-1 do Write(A[i],',');
Write(A[n],') = ');
K := A[1];
For i:= 2 to n do UCLN(k, A[i]);
Write(K);
Readln
End.
h. Liên hệ và hướng tới cách giải quyết bài toán.
20
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Sau khi đã giải quyết các bài toán lần lượt theo các bước gợi mở vấn đề như đã nêu

chính là
)!(!
!
knk
n
C
k
n

=
, vì vậy cần triển khai
bài toán dưới dạng các bài toán quen thuộc để học sinh dễ dàng áp dụng. Như vậy giáo viên
hướng dẫn học sinh chỉ cần áp dụng công thức N! là thực hiện được bài toán trên vì n!, k!
và (n-k)! được xét tính tương tự như N!, (trong đó điều kiện n-k>0 hay n > k để thõa mãn
tập xác định). Chương trình được thực hiện như sau:
Var k, n: Integer; C:Real;
Procedure Nhap;
21
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Begin
Repeat
Write('Nhap k = '); Readln(k);
Write('Nhap n = '); Readln(n);
If (k < 0) Or (n < 0) Or (k > n) Then Writeln('Nhap lai!');
Until (k > 0) And (n > 0) And (k < n);
End;
Function GT(a:Integer): Integer;
Var kq, i:Integer;
Begin
kq:=1;

Nhập n và liệt kê n các số nguyên tố đầu tiên lên màn hình.
Var n, d, k: Integer;
Function ktnt(k : integer): boolean;
Var i:integer;
Begin
ktnt := false;
If k<=1 then exit;
i := 2;
While k mod i <> 0 do inc(i);
If i=k then ktnt := true;
End;
BEGIN
Write('nhap n= '); readln(n);
d:=0; k:=1;
writeln(n,' so nguyen to dau tien la:');
while d<n do
begin
inc(k);
if ktnt(k) then
begin
write(k:4); inc(d);
end;
end;
Readln
END.
3. Gợi động cơ kết thúc:
23
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
Quá trình học tập sẽ được nhấn mạnh tại bước cuối cùng. Trong phần gợi động cơ
kết thúc sẽ có tác dụng nâng cao tính tự giác trong hoạt động học tập của học sinh như các

 Khả năng gợi động cơ ở nội dung đó hoặc hoạt động đó.
24
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con
 Kiến thức có sẵn và thời gian cần thiết.
C. KẾT QUẢ KIỂM NGHIỆM ĐỀ TÀI:
Đề tài thực hiện được phân thành 2 giai đoạn, mỗi giai đoạn là 1 năm thực hiện với
các đối tượng học sinh tương ứng.
Giai đoạn 1: Trong năm học 2011-2012 là năm học mà bản thân tôi đã áp dụng đối
với lớp học 11A3 là lớp có học sinh học tốt hơn về các môn khoa học tự nhiên, lớp 11A6 là
lớp học kém hơn lớp 11A3. Cả 2 lớp trên sử dụng phương pháp dạy học thông thường.
Giai đoạn 2: Được áp dụng phương pháp dạy học gợi động cơ học tập như đã nêu ở
trên đối với lớp 11B3 theo ban KHTN và lớp 11B1 theo ban xã hội.
Khả năng tiếp thu kiến thức của lớp 11A3 tương đương với 11B3, 11A6 tương
đương với 11B1. Kết quả thu được như sau:
Lớp Năm học Số học sinh đạt điểm trên 8
11A3
2011 - 2012
22/50 (44%)
11A6 10/38 (26,3%)
11B3
2012 - 2013
41/50 (82%)
11B1 31/43 (72%)
D. KẾT LUẬN VÀ ĐỀ XUẤT
I. Kết luận:
Sau một thời gian tiến hành giảng dạy và kiểm nghiệm giữa phương pháp mới tôi nhận
thấy phương pháp gợi động cơ nhằm cuốn hút học sinh yêu thích học môn tin học và tư
duy lập trình tốt về phần chương trình con thật sự là có hiệu quả.
Đối với giáo viên:
+ Tạo ra được các tình huống có vấn đề, dẫn dắt vấn đề và giải quyết vấn đề một cách


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