GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
SÁNG KIẾN KINH NGHIỆM
Đề tài:
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH
CON MÔN TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
A. ĐẶT VẤN ĐỀ
I. LÝ DO CHỌN ĐỀ TÀI
- Công nghệ thông tin là một ngành khoa học đang phát triển rất mạnh mẽ.
Sự bùng nổ thông tin trong thời đại ngày nay, tốc độ phát triển của công nghệ
thông tin khiến cho người thầy không thể truyền tải hết mọi điều cho học trò, mà
dù có kéo dài thời gian để dạy hết mọi điều thì rồi các kiến thức đó cũng nhanh
chóng trở nên lạc hậu.
- Do đó người thầy cần phải tìm ra phương pháp dạy học tích cực hơn, gợi động cơ
học tập trong quá trình giảng dạy để tăng hiệu quả dạy và học. Trong việc giảng
dạy cho học sinh, ngoài việc giúp học sinh lĩnh hội những kiến thức cơ bản. Thầy
giáo còn phải biết kích thích tính tích cực, sự sáng tạo say mê học hỏi của học sinh
trong việc học tập của các em. Bởi vì, việc học tập tự giác, tích cực, chủ động và
sáng tạo đòi hỏi học sinh phải có ý thức về những mục tiêu đặ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 đó. Điều
này được thực hiện trong dạy học không chỉ đơn giản bằng việc nêu rõ mục tiêu
mà quan trọng hơn còn do gợi động cơ.
- Turbo Pascal là ngôn ngữ lập trình có cấu trúc, nó được dùng phổ biến ở nước ta
hiện nay trong công tác giảng dạy, lập trình tính toán, đồ họa. Turbo Pascal được
dùng trong chương trình giảng dạy Tin học ở hầu hết các trường đại học, cao
đẳng, trung học phổ thông. Bởi vì, ngôn ngữ Pascal có tính cấu trúc mạnh, có cơ
sở và nó đòi hỏi chương trình phải chặt chẽ, logic. Đặc biệt, khi học về chương
trình con, học sinh có thể hiểu một cách sâu sắc hơn về ngôn ngữ lập trình, nhìn
nhận vấn đề một cách sâu sắc hơn, chặt chẽ hơn và nhất là chương trình con có thể
giúp cho các em hoàn thành những chương trình lớn hơn vượt ra những bài toán
bình thường mà nội bộ môn học đòi hỏi. Bên cạnh đó sức học của học sinh trong
nhà trường còn hạn chế, đại đa số học sinh đầu vào lớp 10 còn yếu nên việc tự học
chưa có. Chính vì vậy, để giúp cho học sinh hứng thú khi học lập trình nói chung
và thích thú với Chương trình con trong Chương VI ““Chương trình con và lập
trình có cấu trúc” việc gợi động cơ cho học sinh trong việc dạy học là một công
việc quan trọng, đòi hỏi mỗi giáo viên cần phải nỗ lực tìm tòi, sáng tạo giúp cho
Người viết: Thái Huy Tâm
1
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
học sinh nhìn nhận vấn đề một cách tích cực hơn, sáng tạo hơn, tự xây dựng được
một chương trình con đơn giản và hiểu được cái cốt lõi trong chương này và nhất
là giúp cho các em có thể yêu thích nhiều hơn nữa ngôn ngữ lập trình Pascal.
- Với tất cả những lý do nêu trên, tôi quyết định chọn đề tài này.
II. ĐỊNH HƯỚNG NGHIÊN CỨU
1. Mục đích nghiên cứu:
- Tạo động cơ cho học sinh ý thức về ý nghĩa của các hoạt động khi sử dụng
chương trình con trong công việc lập trình. Từ đó, học sinh có thể liên hệ, vận
dụng sáng tạo vào giải quyết các bài toán lập trình và các tình huống thực tế.
2. Nhiệm vụ nghiên cứu:
- Qua việc nghiên cứu các vấn đề về chương trình con của ngôn ngữ lập trình
Pascal, các tài liệu về phương pháp giảng dạy. Từ đó, đưa ra các biện pháp có thể
gợi động cơ hoạt động cho học sinh thông qua các ví dụ cụ thể về chương trình
con.
3. Phạm vi nghiên cứu:
- Nội dung nghiên cứu này có nhiều phần, trong phạm vi nghiên cứu của đề tài này
tôi tập trung hướng học sinh đến vấn đề gợi động cơ học tập trong chương VI
“Chương trình con và lập trình có cấu trúc” và ở chương này ta cần làm rõ các
vấn đề trọng tâm cho học sinh nắm bắt được sau đó việc gợi động cơ trong quá
trình thực hiện viết chương trình sẽ trở nên dễ dàng với các em hơn.
- Chương trình con được viết dưới hai dạng: thủ tục (procedure) và hàm
(function).
- So sánh cấu trúc của 2 kiểu chương trình con này thì tương tự với nhau,
mặc dù cách truy xuất của chúng có khác nhau và cách trao đổi thông tin trong
mỗi kiểu cũng có điểm khác nhau. Hàm (function) trả lại một giá trị kết quả vô
hướng thông qua tên hàm và hàm được sử dụng trong biểu thức còn Thủ tục
(procedure) thì không trả về một kết quả nào qua tên của nó.
- Liên hệ một số hàm và thủ tục chuẩn đã học:
+ Hàm chuẩn, như hàm sin(x) mà chúng ta đã biết trong chương
trước có thể được xem như một chương trình con kiểu function với tên là
sin và tham số là x.
+ Thủ tục (procedure) không trả lại kết quả thông qua tên của nó, do
vậy, ta không thể viết các thủ tục trong biểu thức. Các lệnh Writeln, Readln
trong chương trước được xem như các thủ tục chuẩn.
Người viết: Thái Huy Tâm
2
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
- Một chương trình có chứa chương trình con có 3 Phần :
+ Phần khai báo
+ Phần chương trình con
+ Phần chương trình chính
Để thực hiện những mục tiêu trên, yêu cầu học sinh cần nắm vững một
số kiến thức cơ bản sau:
+ Một số khái niệm biến:
Biến toàn cục.
Biến cục bộ.
Tham số thực.
Tham số hình thức.
+ Lời gọi chương trình con.
Về kỹ năng:
- Vận dụng để viết được một số chương trình con đơn giản để minh họa.
Trong các chương trình đó chỉ rõ đâu là biến toàn cục, biến cục bộ, tham số thực,
tham số hình thức, lời gọi chương trình con….
- Cách gọi hàm trong các phép toán và biểu thức.
4. Đối tượng nghiên cứu: Học sinh lớp 11 (được phân lớp theo năng lực học sinh từ lớp
11A1 11A7) Trường THPT Trần Phú
Người viết: Thái Huy Tâm
3
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
B. NỘI DUNG
I. ĐẶC ĐIỂM TÌNH HÌNH:
- Thực tế qua những năm trực tiếp giảng dạy bộ môn cũng như trao đổi với đồng
nghiệp tôi nhận thấy: hầu như học sinh đều rất yêu thích và hứng thú với môn Tin
học. Tuy nhiên, chất lượng bộ môn qua các năm học chưa cao, đặc biệt là kĩ năng
lập trình của học sinh lớp 11 còn yếu, thậm chí một số học sinh còn rất ngại viết
lập trình trong chương trình lớp 11 do lập trình đòi hỏi rất nhiều về mặt kiến thức
Toán học, tư duy thuật toán thậm chí còn liên quan đến tiếng Anh trong ngôn ngữ
lập trình Pascal.
1. Thuận lợi:
+ Được sự quan tâm của Chi Bộ và của BGH nhà trường trong công cuộc đổi
mới phương pháp dạy học.
+ Giáo viên giảng dạy được đào tạo theo đúng chuyên ngành và được bồi
dưỡng chuyên đề hàng năm.
+ Phần lớn các em học sinh có ý thức tự học cao, luôn tìm tòi học hỏi những
kiến thức mới trong học tập và rất hứng thú với môn Tin học.
+ Được nhà trường tạo mọi điều kiện thuận lợi về CSVC trang thiết bị dạy
học.
2. Khó khăn:
+ Vẫn còn một số em học sinh tiếp thu kiến thức còn chậm, trong những năm
học gần đây nhà trường đã phân hóa kiến thức học sinh sắp xếp lớp học theo
năng lực của học sinh, do đó những lớp đầu nguồn các em rất đam mê thích
thú với môn học này, đặc biệt lập trình một môn học mới mẻ. Bên cạnh đó
còn những em học sinh ở các lớp cuối kiến thức của các em bị lũng nhiều
nên trong môn học này các em gặp rất nhiều khó khăn vì môn lập trình đòi
hỏi các em rất nhiều thứ phải vững Toán, biết cách xây dựng Thuật toán cho
các bài toán, mặt khác ngôn ngữ lập trình Pascal đòi hỏi các em phải hiểu
được ý nghĩa, câu lệnh của thuật toán thông qua những câu lệnh tiếng Anh,
dẫn đến làm cho việc tiếp cận, làm quen với lập trình cũng tương đối khó.
+ Số lượng học sinh trong một lớp học còn quá đông trên 40 học sinh một lớp,
diện tích phòng máy nhỏ hẹp, phòng máy có 25 máy, thiết bị máy móc
thường xuyên bị lỗi chương trình, lỗi hệ điều hành, và một số máy đang hoạt
động tự động tắt (do lỗi main, lỗi ram, nguồn tuột áp, ...), làm cho tiết học
thực hành lập trình của các em không đạt hiệu quả cao nhất.
Người viết: Thái Huy Tâm
4
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
+ Học sinh chủ yếu là con em các gia đình làm công nhân, làm nông, sự quan
tâm của phụ huynh đến việc học tập của con em còn nhiều hạn chế, nói đến
học lập trình để các em hiểu và viết được các chương trình đầu tiên cơ bản
thì các em phải thường xuyên làm bài tập và viết chương trình lên trên máy,
xem kết quả đúng sai từ đó hiểu chỉnh lại đoạn chương trình cho hoàn chỉnh,
nhưng điều kiện để các em có máy vi tính ở nhà là rất khó, hầu hết các em
chỉ được tiếp xúc, làm quen với máy tính trong giờ học dẫn đến việc viết
chương trình của học sinh còn lúng túng, chất lượng môn học chưa cao.
Một bộ phận học sinh chưa coi trọng môn học, xem đây là một môn phụ nên
chưa có sự đầu tư thời gian cho việc học.
II. GIẢI PHÁP
Nhìn được những khó khăn trong quá trình giảng dạy, bản thân tôi suy nghĩ đến
vấn đề từng chương trong chương trình học, mình phải làm sao hệ thống hóa được
các nội dung một cách nhẹ nhàng để làm sao ngay cả học sinh yếu, trung bình
cũng có thể hội tụ được kiến thức của từng phần trong bộ môn. Như vậy việc
chuẩn bị kĩ lượng nội dung cần truyền tải đến các em. Ngoài ra để các em lĩnh hội
được nội dung bài học một cách tốt nhất mà bản thân tôi nghĩ nó cũng rất quan
trọng đó là gợi động cơ học tập cho các em, làm cho các em đam mê, thích thú với
những bài tập, những đoạn chương trình, tìm tòi xem khi viết đoạn chương trình
chạy trên máy thành quả của mình đạt được là kết quả gì. Trong chương VI
“Chương trình con và lập trình có cấu trúc”, để làm tốt việc này thì bản thân
người thầy phải làm rõ cho học sinh một số nội dung trọng tâm để các em có cái
nhìn tổng quan đến chi tiết của Chương này.
1. Một số khái niệm và biến
a. Thủ tục (Procedure):
-Thủ tục là chương trình con thực hiện các thao tác nhất định nhưng không
trả về giá trị nào qua tên của nó.
-Có 2 loại thủ tục:
+Thủ tục không tham số
+Thủ tục có tham số.
* Cấu trúc của thủ tục không tham số
PROCEDURE < Tên thủ tục > ;
{ Các khai báo hằng, biến, kiểu cục bộ... }
BEGIN
{ ... các lệnh trong nội bộ thủ tục ... }
END ;
Ví dụ : Tìm số lớn nhất trong 3 trị số nguyên
Người viết: Thái Huy Tâm
5
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Program so_lon_nhat;
var a, b, c : integer;
Procedure GTLN;
var max : integer;
begin
if a > b then max := a else max := b;
if c > max then max := c;
Writeln (' So lon nhat la: ', max:5);
end ;
begin
Writeln ('Nhap 3 so nguyen : ' );
Readln (a, b, c );
GTLN;
readln;
end.
Trong chương trình trên, thủ tục GTLN được khai báo trước khi nó
được truy xuất, các biến a, b, c được gọi nhập vào ở chương trình chính và biến
max được định nghĩa bên trong thủ tục. Điều này cho ta thấy, không phải lúc
nào cũng cần thiết khai báo biến ngay đầu chương trình chính.
Cấu trúc của thủ tục có tham số
- Khi viết một thủ tục, nếu có các tham số cần thiết, ta phải khai báo nó
(kiểu, số lượng, tính chất, ...). Các tham số này gọi là tham số hình thức
(formal parameters).
- Một thủ tục có thể có 1 hoặc nhiều tham số hình thức. Khi các tham số
hình thức có cùng một kiểu thì ta viết chúng cách nhau bởi dấu phẩy (,).
Trường hợp các kiểu của chúng khác nhau hoặc giữa khai báo tham số
truyền bằng tham biến và truyền bằng tham trị (phần giới thiệu về tham
số hình thức sẽ nói rõ cho học sinh nắm bắt ở phần này) thì ta phải viết
cách nhau bằng dấu chấm phẩy (;).
PROCEDURE<Tên thủ tục >(<DS tham số hình thức : kiểu biến>);
{ Các khai báo hằng, biến, kiểu cục bộ ... }
BEGIN
{ ... các lệnh trong nội bộ thủ tục ... }
END ;
Ví dụ: Hoán đổi 2 số nguyên a và b.
program vidu_hoandoi;
uses crt;
Người viết: Thái Huy Tâm
6
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
var a,b:integer;
procedure hoan_doi(var x,y:integer);
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Chương trình trên x, y được gọi là tham số hình thức của thủ tục hoan_doi.
b. Hàm (Function) :
- Hàm là chương trình con thực hiện một số thao tác nào đó và trả về một giá
trị qua tên của nó.
- Cấu trúc một hàm tự đặt gồm:
FUNCTION <Tên hàm> (<Tham số hình thức : kiểu biến>) :
<Kiểu kết quả> ;
{ các khai báo hằng, biến, kiểu cụcbbộ... }
BEGIN
{ ... các khai báo trong nội bộ hàm ... }
END ;
Trong đó:
+ Tên hàm là tên tự đặt cần tuân thủ theo nguyên tắc đặt tên trong Pascal.
+ Kiểu kết quả là một kiểu vô hướng, biểu diễn kết quả giá trị của hàm.
+ Một hàm có thể có 1 hay nhiều tham số hình thức, khi có nhiều tham số
hình thức cùng một kiểu giá trị thì ta có thể viết chúng cách nhau bằng
dấu phẩy (,). Trường hợp các tham số hình thức khác kiểu thì ta viết
chúng cách nhau bằng dấu chấm phẩy (;).
+ Trong hàm có thể sử dụng các hằng, kiểu, biến đã được khai báo trong
chương trình chính nhưng ta có thể khai báo thêm các hằng, kiểu, biến
dùng riêng trong nội bộ hàm. Chú ý là phải có một biến trung gian có
cùng kiểu kết quả của hàm để lưu kết quả của hàm trong quá trình tính
toán để cuối cùng ta có 1 lệnh gán giá trị của biến trung gian cho tên
hàm.
Người viết: Thái Huy Tâm
7
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Ví dụ: Tìm giá trị nhỏ nhất của 3 số thực a,b và c.
program minbaso;
var a,b,c:real;
function Min(a,b:real):real;
begin
if a
else Min:=b;
end;
begin
write('nhap 3 so:');readln(a,b,c);
writeln('so nho nhat trong 3 so: ', Min(Min(a,b),c):3:1);
readln;
end.
Ta có function Min(a,b:real):real;. Đây là một hàm số có tên là Min với 2
tham số hình thức là a,b. Kiểu của a,b là kiểu thực. Hàm Min sẽ cho kết quả là
kiểu số thực.
c. Biến toàn cục (global variable): Còn được gọi là biến chung, là biến
được khai báo ở đầu chương trình, nó được sử dụng bên trong chương trình
chính và cả bên trong chương trình con. Biến toàn cục sẽ tồn tại trong suốt quá
trình thực hiện chương trình.
program vidu_hoandoi;
uses crt;
var a,b:integer;
Biến Toàn cục
procedure hoan_doi(x:integer; y: integer);
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
d. Biến cục bộ (local variable): Còn được gọi là biến riêng, là biến được khai báo
ở đầu chương trình con, và nó chỉ được sử dụng bên trong thân chương trình
Người viết: Thái Huy Tâm
8
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
con hoặc bên trong thân chương trình con khác nằm bên trong nó (các chương
trình con lồng nhau). Biến cục bộ chỉ tồn tại khi chương trình con đang hoạt
động, nghĩa là biến cục bộ sẽ được cấp phát bộ nhớ khi chương trình con được
gọi để thi hành, và nó sẽ được giải phóng ngay sau khi chương trình con kết
thúc.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x:integer; y: integer);
var TG: integer;
Biến cục bộ
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
e. Tham số hình thức (formal parameter) là các biến được khai báo ngay sau
Tên chương trình con, nó dùng để nhận giá trị của các tham số thực truyền
đến. Tham số hình thức cũng là một biến cục bộ, ta có thể xem nó như là các
đối số của hàm toán học. Tham số hình thức có 2 loại:
+Tham số hình thức là tham trị, là các tham số hình thức không có từ khóa
khai báo biến (var) đứng trước nó, các giá trị chỉ có tác dụng bên trong
chương trình con, ra khỏi chương trình con không còn giá trị.
+Tham số hình thức là tham biến là các tham số hình thức có từ khóa khai
báo biến (var) đứng trước nó, các giá trị có tác dụng bên trong chương trình
con và cả chương trình lớn.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi( var x:integer; y: integer);
var TG: integer;
begin
Tham trị
Tham biến
Người viết: Thái Huy Tâm
9
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
f. Tham số thực (actual parameter) là một tham số mà nó có thể là một biến toàn
cục, một biểu thức hoặc một giá trị số (cũng có thể biến cục bộ khi sử dụng
chương trình con lồng nhau) mà ta dùng chúng khi truyền giá trị cho các tham
số hình thức tương ứng của chương trình con.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x:integer; y: integer);
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Tham số thực
sự;
trong
trường
hợp
này là biến a,b
2. Lời gọi đến chương trình con
Để chương trình con được thi hành, ta phải có lời gọi đến chương trình
con, lời gọi chương trình con thông qua tên chương trình con và danh sách các
tham số tương ứng (nếu có). Các qui tắc của lời gọi chương trình con:
+ Trong thân chương trình chính hoặc thân chương trình con, ta chỉ có thể
gọi tới các chương trình con trực thuộc nó.
Người viết: Thái Huy Tâm
10
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
+ Trong chương trình con, ta có thể gọi các chương trình con ngang cấp
đã được thiết lập trước đó.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x:integer; y: integer);
var TG: integer;
begin
TG:=x;
x:=y;
Lời gọi đến CTC có tên hoan_doi
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
3. Truyền tham số cho chương trình con
- Khi truyền tham số trong Pascal, đòi hỏi phải có sự tương ứng về tên của
kiểu dữ liệu của các tham số hình thức và tham số thực. Một số định nghĩa và
quitắc về truyền tham số trong Pascal:
+ Những tham số hình thức nằm sau từ khóa VAR gọi là tham số biến
(variable parameter). Với tham số biến, các tham số thực bắt buộc phải là
biến chứ không được là giá trị. Khi giá trị của tham số biến thay đổi thì
nó sẽ làm thay đổi giá trị của tham số thực tương ứng và khi ra khỏi
chương trình con đó, tham số thực vẫn giữ giá trị đã được thay đổi đó.
+ Những tham số hình thức không đứng sau từ khóa VAR gọi là tham số
trị (value parameter), khi đó các tham số thực có thể là một biến, một
biểu thức, một hằng, hoặc một giá trị số. Các tham số trị nhận giá trị từ
tham số thực khi truyền như là giá trị ban đầu, khi giá trị của tham số trị
thay đổi thì nó sẽ không làm thay đổi giá trị của tham số thực, nghĩa là
giá trị của tham số thực sau khi thoát khỏi chương trình con vẫn luôn
bằng với giá trị của tham số thực trước khi truyền đến chương trình con
đó. Do vậy một tham trị không bao giờ là kết quả tính toán của chương
trình con.
Người viết: Thái Huy Tâm
11
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x:integer; var y: integer);{x là tham trị, y là tham
biến}
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);{ tham số thực a truyền cho tham trị x;
tham số thực b truyền cho tham biến y}
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Kết quả: a=5; b=5. Như vậy ta thấy a không thay đổi giá trị còn b đã thay đổi
giá trị.
Sau khi đã hệ thống được toàn bộ kiến thức của chương này cho học sinh nắm bắt
công việc của người thầy bây giờ là sẽ gợi động cơ cho học sinh đi làm từng phần
và nắm bắt được cụ thể cho từng nội dung mà người thầy muốn truyền tải đến học
sinh.
4. Gợi động cơ trong học tập:
- Để Gợi động cơ chúng ta có thể xuất phát từ thực tế hoặc xuất phát từ nội bộ Tin
học.
- Việc xuất phát từ thực tế không những có tác dụng gợi động cơ mà còn góp phần
hình thành thế giới quan duy vật biện chứng. 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, chúng 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ế. Tuy nhiên, để gợi động cơ xuất phát từ thực tế cần chú ý các điều
kiện sau:
Người viết: Thái Huy Tâm
12
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
+ Vấn đề đặt ra phải đảm bảo tính chân thực, đương nhiên có thể đơn giản
hóa vì lý do sư phạm trong trường hợp cần thiết.
+ Việc nêu vấn đề không đòi hỏi quá nhiều tri thức bổ xung.
+ Con đường từ lúc nêu vấn đề cho tới khi giải quyết vấn đề càng ngắn càng
tốt.
- Mặc dù Tin học phản ánh thực tế một cách toàn bộ và nhiều tầng. Tuy nhiên
không phải bất cứ nội dung nào, hoạt động nào cũng có thể gợi động cơ xuất phát
từ thực tế. Vì vậy, ta còn tận dụng cả những khả năng gợi động cơ xuất phát từ nội
bộ Tin học.
- 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,
từ việc xây dựng khoa học Tin hoc, từ những phương thức tư duy và hoạt động
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.
+ Việc gợi động cơ từ nội bộ Tin học sẽ giúp học sinh hình dung được đúng
sự hình thành và phát triển của Tin học cùng với những đặc điểm của nó và
có thể dần dần tiến tới hoạt động Tin học một cách độc lập.
Thông thường khi bắt đầu một nội dung lớn, chẳng hạn một phân môn hay một
chương ta nên cố gắng xuất phát từ thực tế. Còn đối với từng bài hay từng phần của
bài thì cần tính tới những khả năng gợi động cơ từ nội bộ Tin học. Đó là những cách
sau đây:
4.1. Đáp ứng nhu cầu xóa bỏ sự hạn chế
-Do đại đa số học sinh tương đối yếu chính vì vậy bản thân tôi chỉ đưa ra các bài
toán đơn giản mục đích cho học sinh hiểu và hệ thống hóa được ý nghĩa của bài
học, nắm được cái cốt lõi của vấn đề bài toán.
Xét bài toán: Viết chương trình vẽ 5 hình chữ nhật như sau:
******
*
*
******
Khi có yêu cầu bài toán như vậy thì chắc chắn học sinh sẽ xây dựng bài toán
theo hướng tư duy của các em:
program ve_hcn;
begin
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
Người viết: Thái Huy Tâm
13
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
readln;
end.
Chương trình trên đã thực hiện được yêu cầu của đề bài, nhưng chúng ta phải
viết đi viết lại năm đoạn lệnh liên tiếp giống nhau vẽ hình chữ nhật. Giả sử nếu
phải vẽ đến n (giả sử n>100) hình chữ nhật thì vấn đề quả thực rất dài và khi kiểm
tra đoạn chương trình rất khó và đây mới chỉ là một bài toán nhỏ đơn giản. Vấn đề
đặt ra là: làm thế nào có thể xóa bỏ được sự hạn chế này? Ở đây, chúng ta có thể
hướng dẫn cho học sinh sử dụng chương trình con để khắc phục sự hạn chế đó.
Thay vì phải viết nhiều lần các câu lệnh giống cho từng hình chữ nhật như vậy mà
bản chất của nó là một vì nó lập đi lập lại:
-Ta sử dụng Thủ tục vẽ hình chữ nhật.
program ve_hcn;
procedure hcn;
begin
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
end;
begin
hcn; hcn; hcn;hcn; hcn;
readln;
end.
Người viết: Thái Huy Tâm
14
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
-Nếu đề bài cho vẽ với n hình chữ nhật thì ta vẫn sử dụng đoạn chương trình con
như trên và trong đoạn chương trình chính ta cho chạy một vòng lặp For. Ví dụ
cho n = 20.
program ve_hcn;
var i: integer;
procedure hcn;
begin
writeln('* * * * * * ');
writeln('*
* ');
writeln('* * * * * * ');
end;
begin
for i:=1 to 20 do hcn;
readln;
end.
Từ chương trình trên chúng ta có thể giúp cho học sinh thấy được 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.
4.2. Chính xác hóa một khái niệm
- Có những khái niệm mà học sinh đã biết ở từng bài riêng lẻ chưa thể đưa ra ngay
những nhận xét, những kết luận chính xác liên quan tới khái niệm đó; tới một
thời điểm nào đó có đủ điều kiện thì chúng ta có thể gợi lại vấn đề và giúp học
sinh chính xác hóa khái niệm đó. Chẳng hạn, ta cần chính xác hóa khái niệm sử
dụng tham biến, tham trị của chương trình con. Sau khi học cách sử dụng tham
trị, tham biến, chúng ta có thể yêu cầu học sinh làm bài tập sau:
Xét bài toán: “Viết một thủ tục nhập vào số đo bán kính của 3 đường tròn.
Sau đó tính chu vi và diện tích của mỗi đường tròn đó”.
Var r1, r2, r3: Real;
Procedure Nhap( r: Real; k:Byte); {r là tham trị}
Begin
Repeat
Write('Nhap ban kinh cua duong tron thu ',k,': ');
Readln(r);
If r <= 0 Then Writeln('Nhap lai!');
Until r > 0;
End;
Begin
Nhap(r1, 1);
Người viết: Thái Huy Tâm
15
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Nhap(r2, 2);
Nhap(r3, 3);
Writeln('DTron 1 Cv =',2 * pi * r1:4:1,' Dtich = ',pi * sqr(r1):4:1);
Writeln('DTron 2 Cv =',2 * pi * r2:4:1,' Dtich = ',pi * sqr(r2):4:1);
Writeln('Dtron 3 Cv =',2 * pi * r3:4:1,' Dtich =:',pi * sqr(r3):4:1);
Readln
End.
Cho học sinh thực thi chương trình trên và chạy thử. Học sinh sẽ phát hiện ra là
kết quả chu vi và diện tích của cả ba đường tròn đều bằng 0.
Vấn đề đặt ra là: Chương trình sai ở chỗ nào? Lúc này giáo viên có thể khẳng
định sự khác 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ẽ không còn lưu giữ giá
trị đó. Điều này sẽ giúp cho chúng ta chính xác hóa khái niệm tham biến và tham
trị mà ở nội dung trên ta đã giới thiệu nhấn mạnh vai trò tham biến và tham trị cho
học sinh.
- Chương trình trên cần sửa lại như sau:
Var r1, r2, r3: Real;
Procedure Nhap(var r: Real; k:Byte); {r là tham biến}
Begin
Repeat
Write('Nhap ban kinh cua duong tron thu ',k,': ');
Readln(r);
If r <= 0 Then Writeln('Nhap lai!');
Until r > 0;
End;
Begin
Nhap(r1, 1);
Nhap(r2, 2);
Nhap(r3, 3);
Writeln('DTron 1 Cv =',2 * pi * r1:4:1,' Dtich = ',pi * sqr(r1):4:1);
Writeln('DTron 2 Cv =',2 * pi * r2:4:1,' Dtich = ',pi * sqr(r2):4:1);
Writeln('Dtron 3 Cv =',2 * pi * r3:4:1,' Dtich =:',pi * sqr(r3):4:1);
Readln
End.
- Ta tiếp tục cho học sinh làm một ví dụ để thấy rõ được vai trò của Tham biến
và tham trị
Người viết: Thái Huy Tâm
16
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Xét bài toán: “Hoán đổi 2 số nguyên a và b”
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x, y: integer); {x,y là tham trị}
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Học sinh thực thi chương trình trên và chạy thử. Học sinh sẽ phát hiện ra là kết
quả của việc hoán đổi a=5 và b=10 như ban đầu không có sự thay đổi, vậy cũng
tương tự bài toán tính chu vi và diện tích của mỗi đường tròn là do các tham số
hình thức (x,y) là tham trị nên khi kết thúc chương trình con giá trị không thay
đổi, và ta có thể sửa đoạn chương trình Hoán đổi này ở 2 dạng tiếp theo và nhấn
mạnh cho học sinh là thay đổi đoạn chương trình này ở vị trí nào, để học sinh tự
trả lời và hiểu thêm ý nghĩa của tham biến và tham trị, khi học sinh chạy lại đoạn
chương trình và nhìn kết quả bài toán.
Xét bài toán: “Hoán đổi 2 số nguyên a và b”.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(var x:integer; y: integer); {x là tham biến, y là tham trị}
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
Người viết: Thái Huy Tâm
17
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Kết quả a= 10; b=10;
Xét bài toán: “Hoán đổi 2 số nguyên a và b”.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(x:integer; var y: integer); {x là tham trị, y là tham biến}
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Kết quả a=5; b=5;
Xét bài toán: “Hoán đổi 2 số nguyên a và b”.
program vidu_hoandoi;
uses crt;
var a,b:integer;
procedure hoan_doi(var x,y:integer); {x,y là tham biến}
var TG: integer;
begin
TG:=x;
x:=y;
y:=TG;
end;
begin
clrscr;
Người viết: Thái Huy Tâm
18
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
a:=5; b:=10;
writeln(a:5, b:5);
hoan_doi(a,b);
writeln('gia tri sau hoan doi: ', a:5,b:5);
readln;
end.
Kết quả a= 10; b=5;
4.3. Hướng tới sự hoàn chỉnh hệ thống
-Để 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:
Thủ tục
Không có tham chiếu
Chương trình con
Tham trị
Hàm
Có tham chiếu
Tham biến
-Tiếp theo, để giúp cho học sinh nhìn thấy vấn đề có hệ thống một các rõ ràng
hơn, đặc biệt là giúp cho học sinh hiểu rõ các vấn đề về chương trình con. Chẳng
hạn đâu là biến toàn cục, đâu là biến địa phương, khi nào dùng tham biến, khi
nào dùng tham trị, các chương trình con gọi lẫn nhau như thế nào?, ... Chúng ta
có thể đưa ra ví dụ sau:
-
Ta xét bài toán: “Viết chương trình nhập vào số cạnh của n tam giác, sau đó
tính diện tích của mỗi tam giác vừa nhập và tổng diện tích của tất cả các tam
giác đó”.
Var a:array[1..3,1..100] Of Real; {Bien toan cuc}
Function Ktra(x, y, z: Real): Boolean; {Ham co tham tri}
Begin
Ktra := (x < y + z) And (y < x + z) And (z < x + y);
End;
Procedure Nhap(Var a, b, c: Real; i:Byte); {Thu tuc co tham bien}
Begin
Writeln('Nhap vao ba canh cua tam giac thu ',i,': ');
Repeat
Write('Nhap do dai canh thu nhat: '); Readln(a);
Người viết: Thái Huy Tâm
19
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Write('Nhap do dai canh thu hai : '); Readln(b);
Write('Nhap do dai canh thu ba : '); Readln(c);
If Not Ktra(a, b, c) Then
Writeln('Ba do dai vua nhap khong phai la 3 canh tam giac! Nhap lai:');
Until Ktra(a, b, c);
End;
Function DT(m, n, p:Real): Real; {Ham co tham tri}
Var d: Real; {Bien cuc bo}
Begin
d := (m + n + p) / 2;
DT := sqrt(d * (d - m) * (d - n) * (d - p));
End;
Procedure Tinh; {Thu tuc khong co tham chieu}
Var k, n, j: Integer; tong: Real; {Bien cuc bo}
Begin
Write('Nhap so tam giac: ');Readln(n);
tong:=0;
For k:=1 to n do
Nhap(a[1,k], a[2,k], a[3,k], k);
For k:=1 to n do Begin
Tong := tong + DT(a[1, k], a[2,k], a[3,k]);
Writeln('Dien tich cua tam giac thu ',k,': ',DT(a[1, k], a[2, k], a[3, k]):6:1);
End;
Writeln('Tong dien tich cua ',n,' tam giac la: ',tong:6:1);
End;
Begin
Tinh;
Readln
End.
4.4. Lật ngược vấn đề
-Có nhiều bài toán có 2 dạng như tìm giá trị lớn nhất, nhỏ nhất hoặc xuất xâu kí
tự thường sang hoa, hoa sang thường, ta sẽ dẫn dắt học sinh một ví dụ và cho
học sinh giải quyết ví dụ còn lại.
Xét bài toán: “Tìm giá trị nhỏ nhất trong ba số nhập từ bàn phím”.
Program minbaso;
var a,b,c:real;
function Min(a,b:real):real;
begin
if a
else Min:=b;
end;
Người viết: Thái Huy Tâm
20
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
begin
write(‘nhap 3 so:’);readln(a,b,c);
writeln(‘so nho nhat trong 3 so: ‘, Min(Min(a,b),c):3:1);
readln;
end.
-Ngược lại chúng ta đặt câu hỏi: Tìm giá trị lớn nhất của ba số nhập từ bàn
phím thì làm như thế nào? Và lúc này chắc chắn học sinh dựa vào bài mẫu các
em sẽ tìm cho mình được câu trả lời.
Xét bài toán: “Tìm giá trị lớn nhất trong ba số nhập từ bàn phím”
program Maxbaso;
var a,b,c:real;
function Max(a,b:real):real;
begin
if a>b then Max:=a
else Max:=b;
end;
begin
write(‘nhap 3 so:’);readln(a,b,c);
writeln(‘so Lon nhat trong 3 so: ‘, Max(Max(a,b),c):3:1);
readln;
end.
-Tương tự ta cũng có thể cho học sinh làm bài toán: “Viết chương trình đổi một
xâu ký tự thành chữ HOA và ngược lại”, xem như đây là bài tập về nhà và tuần
sau học sinh lên giải cho toàn bộ các em trong lớp thấy được đoạn chương trình
của bài toán này.
4.5. Khái quát hóa
Xuất phát từ bài toán: “Tìm ước chung lớn nhất của 2 số ”.
Var a, b: Integer;
Begin
Repeat
Writeln('Nhap vao 2 so:'); Readln(a,b);
If (a<=0) Or (b<=0) then Writeln(‚Nhap lai!’);
Until (a>0) And (b>0);
Write('UCLN(',a,',',b,') = ');
While a <> b do Begin
If a > b Then a := a - b
Else b := b - a;
End;
Người viết: Thái Huy Tâm
21
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
Write(a);
Readln
End.
Tiếp theo, Chúng ta yêu cầu học sinh: “Sử dụng chương trình con để tìm ước
chung lớn nhất của ba số ”. Đến đây, để viết hàm tính ước chung lớn nhất của hai
số, chúng ta nên hướng dẫn học sinh sử dụng thuật toán Ơclit để viết chương trình
nhằm tăng tốc độ tính toán.
Var a, b, c, tam: Integer;
Function UCLN(Var x, y: Integer): Integer;
Var tam: Integer;
Begin
While y<>0 do Begin
tam := x mod y;
x := y;
y := tam;
End;
UCLN := x;
End;
Begin
Writeln('Nhap ba so: '); Readln(a, b, c);
Write('UCLN(',a,',',b,',',c,') = ');
tam := UCLN(a, b);
Write(UCLN(tam, c));
Readln
End.
-Sau khi thực hiện việc sử dụng chương trình con để tìm ước chung lớn nhất của
ba số thành công. Khái quát: chúng ta yêu cầu học sinh giải bài toán:
“Viết chương trình tìm ước chung lớn nhất của n số ”.
-Để thực hiện, ta có thể hướng dẫn học sinh dùng thủ tục tìm ước chung lớn nhất
của hai số. Sau đó, dùng một biến tạm là u để lưu giữ giá trị đầu tiên của dãy số,
tiếp theo ta lần lượt xác định ước chung lớn nhất của u với từng giá trị của dãy
từ vị trí thứ hai. Cuối cùng, ước chung lớn nhất của dãy chính là giá trị u
Var A: Array[1..100] Of Integer;
a1, u, i, n: Integer;
Procedure UCLN(Var x, y: Integer);
Var tam, tg: Integer;
Begin
While y<>0 do Begin
tam := x mod y;
Người viết: Thái Huy Tâm
22
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
x := y;
y := tam;
End;
End;
Begin
Write('Ban can tinh UCLN cua bao nhieu so? Nhap: '); 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],') = ');
u := a[1];
For i:= 2 to n do
UCLN(u, a[i]);
Write(u); Writeln;
Readln
End.
-Do học lực của các em còn yếu chính vì vậy bản thân tôi chỉ đưa ra một số gợi
động cơ giúp các em học tập tốt trong chương này mà không bị nhàm chán và có
động lực giải quyết các bài toán đơn giản đến khó bằng chương trình con.
-Qua việc nghiên cứu và thực hiện giảng dạy hai lớp là hai lớp cuối xếp theo
năng lực của học sinh, kết quả như sau:
Số bài
KT
38 (11a6)
Đối chứng
Đạt yêu cầu Không đạt y.c Số bài
KT
SL
%
SL
%
22 57,89
16
43,11 32(11a7)
Thực nghiệm
Đạt yêu cầu Không đạt y.c
SL
%
SL
%
22
69,7
10
30,3
C. KẾT LUẬN VÀ KIẾN NGHỊ
-Sau khi nghiên cứu và thử nghiệm phương pháp “Gợi động cơ trong học tập” tôi
thấy cần có thời gian nhiều hơn để thử nghiệm và tiếp tục thử nghiệm cho những
năm tiếp theo để đối chiếu tính hiệu quả của nó trong việc dạy và học của thầy
và trò, vì vẫn còn có một số học sinh vẫn chưa đạt yêu cầu như mong muốn.
-Môn Tin học là một môn học mới mẽ của học sinh THPT, học sinh chưa có
khái niệm về công nghệ thông tin, khái niệm thuật toán trong các ngôn ngữ lập
trình, vì vậy rất khó cho việc dạy và học. Cần phải có thời gian nhiều hơn cho lý
thuyết và thực hành, vì theo phân phối chương trình như hiện nay thời gian
Người viết: Thái Huy Tâm
23
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
giảng dạy còn ít, học sinh chưa nắm bắt được lý thuyết cũng như thực hành. Đội
ngũ giáo viên Tin học còn ít kinh nghiệm về giảng dạy, cho nên bài tập thực
hành còn ít, hầu như chỉ bó gọn trong sách giáo khoa, chưa có được những thư
viện về bài tập. Vận dụng và sử dụng các thiết bị về công nghệ thông tin còn ít.
Những kiến nghị, đề xuất.
- Nhà trường cần nỗ lực hơn trong việc tuyển sinh đầu vào mạnh dạn không nhận
các học sinh yếu ngay từ khâu tuyển sinh vào 10.
- Xây dựng phòng thực hành đúng tiêu chuẩn cho các tổ bộ môn. Đồng thời cần có
hệ thống thiết bị thực hành đồng bộ, cần hổ trợ các chương trình phần mềm giúp
giáo viên trong việc quản lí học sinh như Netop School, đóng băng ổ đĩa, khóa
cổng usb.
- Ban giám hiệu cần bố trí các giờ thực hành hợp lí, nên tổ chức thành tiết đôi và có
thể học trái buổi để tránh di chuyển trong giờ học giữa các môn.
- Thường xuyên tổ chức các cuộc thi sáng tạo đồ dùng dạy học là dịp để làm phong
phú, đa dạng số thiết bị thực hành, dụng cụ trực quan. Quan trọng hơn, từ những
cuộc thi này, có thể kích thích khả năng tìm tòi, khám phá, đổi mới phương pháp
giảng dạy của giáo viên.
- Đối với học sinh thường xuyên tham gia các cuộc thi “Tin học trẻ không chuyên”
để nâng cao khả năng lập trình và đam mê lập trình từ các em học sinh, các câu
lạc bộ tin học, tạo điều kiện cho các em tiếp xúc và làm quen nhiều hơn nữa với
bộ môn lập trình này.
D. TÀI LIỆU THAM KHẢO
1. Sách giáo khoa Tin học 11 của nhà xuất bản Giáo dục.
2. Cấu trúc dữ liệu và giải thuật của Đỗ Xuân Lôi
Long Khánh, ngày 25 tháng 5 năm 2016
Người viết
Thái Huy Tâm
Người viết: Thái Huy Tâm
24
Trường THPT Trần Phú
GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY CHƯƠNG TRÌNH CON TIN HỌC 11 Ở TRƯỜNG THPT TRẦN PHÚ
MỤC LỤC
A.
A.ĐẶT VẤN ĐỀ.............................................................................................................................1
1. Mục đích nghiên cứu:..........................................................................................................2
2. Nhiệm vụ nghiên cứu:.........................................................................................................2
3. Phạm vi nghiên cứu:............................................................................................................2
4. Đối tượng nghiên cứu: Học sinh lớp 11 (được phân lớp theo năng lực học sinh từ lớp
11A1 11A7) Trường THPT Trần Phú................................................................................3
I. ĐẶC ĐIỂM TÌNH HÌNH:.......................................................................................................4
Những kiến nghị, đề xuất..........................................................................................................24
Người viết: Thái Huy Tâm
25
Trường THPT Trần Phú