MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
SÁNG KIẾN KINH NGHIỆM
Đề tài:
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH
TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
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ơ, phương pháp của người thầy, cách truyền đạt, thiết kế một bài
học ...
- Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được
Niklaus Wirth phát triển vào năm 1970 là ngôn ngữ đặc biệt thích hợp cho kiểu lập
trình có cấu trúc. Pascal dựa trên ngôn ngữ lập trình Algol và được đặt tên theo nhà
toán học và triết học người Pháp Blaise Pascal. Cho đến nay Pascal vẫn được dùng để
giảng dạy về lập trình trong trường THPT và Đại học trên thế giới và nhiều thế hệ
sinh viên đã "vào đời” thông qua việc học Pascal như ngôn ngữ vỡ lòng trong các
chương trình học đại cương. Pascal ngày nay vẫn còn được sử dụng khá phổ biến, cả
trong giảng dạy lẫn trong công nghiệp phát triển phần mềm.Trong chương trình Tin
học cấp trung học phổ thông lớp 11, học sinh được học ngôn ngữ lập trình Pascal
được học các xây dựng bài toán, thuật toán và lập trình giải các bài toán cũng như nội
dung thi học sinh giỏi môn Tin học đều sử dụng Pascal để giải các bài toán đó.
- Qua những năm dạy học, tôi nhận thấy khi học Pascal học sinh thường không
hứng thú với môn học này vì nhi ều lý do như: khô khan, khó hiểu, đòi hỏi tư duy
nhiều, các thuật ngữ bằng Tiếng anh và nội dung liên quan tới Toán học cũng là vấn đề
Người viết: Thái Huy Tâm
1
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
khó khăn làm cho môn h ọc pascal trở nên không hứng thú đối với học sinh. Do đó để
học được đòi hỏi học sinh phải có hứng thú, đặc biệt với học sinh giỏi môn Tin học
cần có sự đam mê, yêu thích tìm tòi học hỏi mới có thể gắn bó, theo học lâu dài môn
Pascal. Đó cũng chính là lý do tôi vi ết: “Một số biện pháp nâng cao hiệu quả việc dạy
lập trình tin học lớp 11 ở trường THPT Trần Phú”. Mong mu ốn giới thiệu một số kinh
nghiệm của bản thân trong việc tạo hứng thú cho học sinh khi học pascal, một khi đã
có hứng thú kết hợp với phương pháp cũng như công cụ thiết kế bài giảng sinh động
chắc chắn học sinh của chúng ta sẽ học môn lập trình này tốt hơn.
II. CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN
a. Hiện nay trong lí luận dạy học nói chung và lí luận dạy học môn Tin học nói riêng
yêu cầu sử dụng khá nhiều phương pháp: phương pháp thảo luận, phương pháp đặt câu
hỏi, phương pháp chia nhóm ... Các cách thi ết kế bài giảng 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ư duy 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 trong xã hội, 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 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.”.
b. Trong những năm qua bản thân tôi và cũng như những đồng nghiệp trong nhà
trường đã thử rất nhiều phương pháp dạy học mới thay thế cho phương pháp truyền
thống nhưng vẫn còn có một số hạn chế trong quá trình sử dụng phương pháp mới,
phương pháp thảo luận thì chưa tạo được sự thích thú, sôi nổi, học sinh còn thụ động
trong các vấn đề thảo luận một nội dung nào đó dẫn đến các em lại một lần nữa rơi
vào trạng thái bị động không biết thảo luận từ đâu. Phương pháp đặt câu hỏi giáo viên
hỏi, học sinh trả lời cũng có một số hạn chế khi giáo viên đưa ra câu hỏi chung chung
hoặc chưa thực sự trọng tâm thì dẫn đến học sinh sẽ hiểu sai vấn đề, học khi giáo viên
hỏi câu hỏi không thực sự lôi cuốn cùng làm học sinh nhàm chán và không muốn
xung phong phát biểu trả lời, chỉ có một số em tích cực mới tham gia xây dựng bài,...
qua những hạn chế đó, bản thân tôi trong những năm dạy học và cùng dự giờ các đồng
nghiệp tôi nhận ra mình phải thay đổi cách dạy, cách truyền đạt, phương pháp giảng
dạy và cách thiết kế một bài dạy làm sao thật sôi nổi, nhấn mạnh được các trọng tâm
nội dung bài học, bên cạnh cách truyền đạt và phương pháp dạy hài hòa của người
thầy. Với bộ môn Tin học trong trường THPT thì chương trình Tin học 11 rất khó, các
Người viết: Thái Huy Tâm
2
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
em bắt đầu làm quen với lập trình một bài toán nào đó bằng ngôn ngữ lập trình Pascal.
Pascal rất khó, khô khan, đòi hỏi tư duy của các em rất nhiều, lập trình Pascal kết hợp
giữa thuật toán trong Toán học cùng với ngôn ngữ lập trình, đòi hỏi các em phải vững
kiến thức Toán để xây dựng các thuật toán, để hiểu rõ được một ngôn ngữ lập trình
các em cần phải vững Tiếng Anh, vì vậy để cần phải có một phương pháp dạy học,
cách truyền đạt, thiết kế một bài giảng phù hợp là cần thiết.
- Giải pháp bản thân tôi đưa ra trong đề tài này nhằm hoàn thiện các giải pháp mà
trước đây khi bản tôi kinh nghiệm chưa nhiều, và các hạn chế mà đồng nghiệp còn
vướng phải khi áp dụng tại đơn vị.
III. TỔ CHỨC THỰC HIỆN CÁC 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 đề làm sao, làm như thế nào, xây dựng nội dung bài học ra sao để các em bước
đầu nắm được kiến thức cơ bản nhất của lập trình, cụ thể là lập trình với ngôn ngữ
pascal và các em phải thực sự hứng thú, đam mê, yêu thích lập trình và phải xây dựng
được các nội dung cụ thể từng chương trong chương trình học, làm sao hệ thống hóa
được các nội dung một cách nhẹ nhàng để 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à tạo được
hứng thú, sự đam mê 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 quá trình giảng dạy tôi
nhận thấy người thầy phải làm rõ cho học sinh một số nội dung trọng tâm bằng cách
dễ dàng nhất, đơn giản nhất để các em có cái nhìn tổng quan đến chi tiết của từng
chương trong bộ môn tin học 11.
1. Khả năng truyền đạt
- Khi truyền đạt, giảng dạy pascal trên lớp do đặc thù môn học đòi hỏi mức độ tư
duy nhất định ở học sinh, các em khó tư duy nên giáo viên khi truyền đạt kiến thức
mới cũng như tìm thuật toán cần đưa ra các vấn đề liên quan đến cuộc sống hằng
ngày của các em với các con số phép tính cơ bản giúp các em dễ hình dung được vấn
đề cũng như công việc các em phải giải quyết.
+ Ví dụ 1: Khi giảng về câu lệnh lặp, ta có 2 loại vòng lặp: “lặp với số lần lặp
biết trước và lặp với số lần lặp chưa biết trước”, để học sinh phân biệt được 2 loại
lặp này, giáo viên nên đưa ra một số ví dụ đơn giản, tường minh sao cho học sinh
thấy được bản chất của vấn đề:
• Cần đổ đầy một bể chứa 50 lít nước bằng một cái ca có dung tích là 1 lít, thì
ta phải thực hiện 50 lần đổ nước từ cái ca đó vào bể nước lặp với số lần lặp
Người viết: Thái Huy Tâm
3
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
biết trước, đối với trường hợp này nếu xây dựng thuật toán và sử dụng cấu trúc
lặp trong ngôn ngữ lập trình pascal ta dùng vòng lặp: “for - do” và cụ thể ta có:
for i:=1 to 50 do <câu lệnh>; (câu lệnh ở trong trường hợp này là “đổ nước từ
ca”).
• Cần đổ đầy một bể chứa 50 lít nước bằng một cái ca không biết dung tích
của ca thì không biết sẽ đổ bao nhiêu lần, chỉ biết cho tới khi nào đầy bể thì
ngưng lặp với số lần lặp chưa biết trước. Ta sử dụng cấu trúc lặp “While –
do” và cụ thể ta có: While <bể> <= 50 do <câu lệnh>; (câu lệnh: “đổ nước từ
ca”).
+ Ví dụ 2: Khi giảng bài toán tìm số lớn nhất (nhỏ nhất) trong một dãy số, chúng
ta đưa ví dụ cho các em dễ liên tưởng như “Em làm thế nào tìm được bạn cao nhất
(thấp nhất) lớp”, hay đối với bài toán sắp xếp dãy số tăng dần (giảm dần) ta có thể
đưa ví dụ thực tế “Em là lớp trưởng, làm thế nào để có thể xếp hàng từ thấp đến cao
(cao đến thấp) cho các bạn trong lớp”
2. Phương pháp dạy học:
- Không gì thú vị bằng trong giờ học tự mình ra đề bài và tự mình giải được bài tập
đó. Do đó ngoài những bài tập do giáo viên đưa ra, nên lồng các tiết thực hành, làm
bài tập cho các em tự ra đề (các đề bài toán đơn giản gắn liền với nội dung bài học
tiết học đó) rồi giải, một khi các em tự ra đề là các em đã hiểu rõ nội dung bài học và
đã nắm được hướng giải quyết bài toán đó nên khi giải rất nhanh và được giáo viên
khích lệ kịp thời sẽ khiến các em rất phấn chấn, thích thú, mong muốn ra được nhiều
bài tập hơn nữa.
- Giáo viên khi dạy xong phần lý thuyết, ra một số bài tập liên quan đến nội dung
bài học sau khi hướng dẫn, giải thích cho các em hiểu được ý nghĩa của bài toán, sử
dụng thuật toán thì cho thêm nhiều bài tập tương tự cùng một nội dung để khuyến
khích các em hiểu rõ hơn, sâu hơn về nội dung đó.
- Ngoài ra, trong các tiết học nên tổ chức cho các em hoặc các nhóm tự ra đề (một
số đề đơn giản) và yêu cầu nhóm khác giải, các em sẽ giải bài tập chéo của nhau, giáo
viên là người sẽ tổng hợp lại những mặt ưu điểm nổi trỗi của các em và phân tích
những chỗ các em còn sai hay mắc phải, cộng điểm cho các em khi làm đúng. Chắc
chắn không khí học lúc này sẽ rất vui, có không khí ganh đua trong học tập rất tích
cực.
- Dưới tư duy và ngôn ngữ của học sinh lúc đó giáo viên chúng ta có thể lưu lại
được nhiều bài tập hay, gần gũi với học sinh để từ đó làm ngân hàng bài tập phục vụ
cho giảng dạy.
3. Công cụ thiết kế bài giảng
Người viết: Thái Huy Tâm
4
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
- Do đặc thù của môn tin học nên công cụ cũng là một yếu tố mang lại sự hứng thú
rất cao với những hình ảnh minh họa các bài toán gần gũi với cuộc sống từ đó giúp
các em có được cái nhìn tổng quan về bài toán cụ thể. Bên cạnh đó sử dụng công cụ
thiết kế bài giảng chúng ta tạo ra được những trò chơi hào hứng bổ ích trong không
khí chơi mà học giúp các em cũng cố lại nội dung và kiến thức đã học một cách thật
thoải mái.
4. Nội dung minh họa
- Để các em lĩnh hội được nội dung bài học một cách tốt nhất qua khả năng
truyền đạt, phương pháp dạy và cách thiết kế bài giảng sao cho nó phù hợp với
từng đối tượng học sinh, từng em một, 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ì. Tôi sẽ đưa ra một số tình huống, nội
dung cần truyền đạt bản thân đã dạy cho học sinh trong chương VI “Chương trình
con và lập trình có cấu trúc”, 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 rồi lúc đó mới đưa ra các tình
huống bài tập cho các em tự giải quyêt hoặc chính các em là người sẽ đề ra bài tập
cho các nhóm khác cùng xây dựng từ đó đưa đến kết luận, ý nghĩa của chương trình,
bài học.
4.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
Program so_lon_nhat;
var a, b, c : integer;
Procedure GTLN;
var max : integer;
begin
Người viết: Thái Huy Tâm
5
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
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;
var a,b:integer;
procedure hoan_doi(var x,y:integer);
var TG: integer;
begin
x,y gọi là tham số hình thức
Người viết: Thái Huy Tâm
6
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 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.
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.
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;
Người viết: Thái Huy Tâm
7
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
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 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
Người viết: Thái Huy Tâm
8
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
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ú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 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
4.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:
Người viết: Thái Huy Tâm
10
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
+ 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ó.
+ 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.
4.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
Người viết: Thái Huy Tâm
11
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
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.
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
qua nghệ thuật truyền đạt, phương pháp, thiết kế bài giảng sinh động, phù hợp
với từng bài, từng chương; công việc của người thầy bây giờ là sẽ gợi động cơ,
tạo húng thú, sự đam mê 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, sau khi học sinh
đã quen với các dạng bài tập và cách viết chương trình lúc này người Thầy yêu
cầu học sinh sẽ tự đưa ra các bài tập tương tự, hoặc những bài tập hay cho các
bạn hoặc các nhóm cùng xây dựng.
IV. HIỆU QUẢ CỦA ĐỀ TÀI
- 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ố
phương pháp giúp các em học tập tốt trong bộ môn tin học 11 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ó.
- Qua việc nghiên cứu và áp dụng thực hiện giảng dạy ba lớp bản thân tôi thấy học
sinh có sự đam mê, tự viết chương trình, nghiên cứu chương trình chạy như thế nào kết
quả ra sao, sau 1 năm giảng dạy kết quả của các em như sau:
Người viết: Thái Huy Tâm
12
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
V.
ĐỀ XUẤT, KHUYẾN NGHỊ KHẢ NĂNG ÁP DỤNG
- Sau khi nghiên cứu và thử nghiệm phương pháp “Một số biện pháp nâng cao hiệu
quả dạy lập trình tin học 11 ở trường THPT Trần Phú” 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 và cải tiến hơn nữa
những biện pháp để nâng cao tính hiệu quả của nó trong việc dạy - 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 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 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, không đạt yêu cầ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.
Người viết: Thái Huy Tâm
13
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
- Đố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.
VI. 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
3. Một số SKKN của bản thân trong những năm trước.
Long Khánh, ngày 18 tháng 5 năm 2017
Người viết
Thái Huy Tâm
Người viết: Thái Huy Tâm
14
Trường THPT Trần Phú
MỘT SỐ PHƯƠNG PHÁP NÂNG CAO HIỆU QUẢ VIỆC DẠY LẬP TRÌNH TIN HỌC LỚP 11 Ở TRƯỜNG THPT TRẦN PHÚ
VII. PHỤ LỤC
Người viết: Thái Huy Tâm
15
Trường THPT Trần Phú