Tải bản đầy đủ (.doc) (23 trang)

Một số vấn đề học sinh khối 11 gặp phải khi giải bài toán trên máy tính tin học 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (263.4 KB, 23 trang )

MỤC LỤC
1 1. PHẦN MỞ ĐẦU...........................................................................................2
1.1. LÝ DO CHỌN ĐỀ TÀI..........................................................2
1.2. MỤC ĐÍCH NGHIÊN CỨU...................................................2
1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU............................2
1.4. PHƯƠNG PHÁP NGHIÊN CỨU...........................................2
2. PHẦN NỘI DUNG.........................................................................................4
2.1. CƠ SỞ LÝ LUẬN................................................................4
2.2. THỰC TRẠNG VẤN ĐỀ......................................................4
2.3. VẤN ĐỀ THƯƠNG GẶP KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH
.................................................................................................5
2.3.1. Vấn đề 1: Học sinh không tuân thủ các bước giải bài
toán trên máy tính................................................................6
2.3.2. Vấn đề 2: Một số lỗi thường gặp khi viết, chạy
chương trình và cách khắc phục.........................................12
2.4. HIỆU QUẢ ĐẠT ĐƯỢC.....................................................19
2.4.1. Kết quả sau khi áp dụng vào thực tế.......................19
2.4.2. Điều kiện để áp dụng sáng kiến...............................21
3. PHẦN KẾT LUẬN, KIẾN NGHỊ...............................................................22
TÀI LIỆU THAM KHẢO................................................................................23

1


1 1. PHẦN MỞ ĐẦU
1.1. LÝ DO CHỌN ĐỀ TÀI
Bộ môn Tin học THPT thường ít được học sinh Yên Định 2 quan tâm, yêu
thích vì nó không thuộc tổ hợp môn thi ĐH nào. Nhất là Tin học lớp 11, một nội
dung kiến thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo. Mặt khác tin
học 11 không như tin học 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vận
dụng, dễ hình dung. Tin học 11 thường rất ít ứng dụng dễ thấy do vậy khó tiếp


cận, khó gần gũi đối với các em học sinh. Trong nhiều năm giảng dạy, tôi thấy
việc tạo hứng thú cho học sinh yêu thích môn tin học là một việc làm rất cần
thiết và cần đầu tư. Từ thực tế tôi thấy học sinh thường viết tốt chương trình của
các bài toán đã có thuật toán sẵn, còn đối với các bài toán chưa có sẵn thuật
toán, các em chỉ làm để đối phó, đúng thì tốt mà không đúng thì giáo viên sẽ sữa
bài. Do vậy trong tôi hình thành sáng kiến giúp các em nhận biết các vấn đề
thường gặp khi giải bài toán trên máy tính, để các em có thể nhận ra được những
khó khăn bản thân mắc phải và tìm cách khắc phục. Từ đó các em sẽ chủ động
hơn trong việc giải bài toán trên máy tính, và không còn tính chất đối phó, ỷ lại
nữa. Đây cũng là một minh chứng cho việc gây hứng thú học tập cho học sinh,
giúp học sinh chủ động, tích cực hơn trong học tập. Qua sáng kiến kinh nghiệm
“MỘT SỐ VẤN ĐỀ HỌC SINH KHỐI 11 GẶP PHẢI KHI GIẢI BÀI TOÁN
TRÊN MÁY TÍNH – TIN HỌC 11” tôi muốn gửi tới các bạn đồng nghiệp một
chút kinh nghiệm của bản thân để học sinh thực sự yêu thích bộ môn Tin học,
nhất là tin học 11.
1.2. MỤC ĐÍCH NGHIÊN CỨU
- Nâng cao chất lượng dạy và học môn Tin học trong trường phổ thông,
đặc biệt là dạy học lập trình ở Tin học lớp 11.
- Góp phần đổi mới phương pháp dạy học trong trường phổ thông nói
chung và môn Tin học nói riêng.
- Góp phần khơi dậy lòng đam mê, yêu thích và hứng thú khi học môn Tin
học của học sinh. Đặc biệt là giúp các em nhìn thấy những ứng dụng đơn giản,
cụ thể, gần gũi, thiết thực của lập trình trong môi trường học tập của bản thân.
1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
- Học sinh khối 11 trường THPT Yên Định 2 năm học 2015-2016
- Học sinh khối 11 trường THPT Yên Định 2 năm học 2016-2017 trong
học kì 1
1.4. PHƯƠNG PHÁP NGHIÊN CỨU
- Dựa trên cơ sở lý thuyết của bài 6- Tin học 10 và môn Toán. Nhất là
môn Toán môn học cơ sở cho sự phát triển tư duy lập trình trong Tin học.


2


- Dựa trên cơ sở lý thuyết của Ngôn ngữ lập trình Pascal. Sự hoạt động
tuần tự từng bước của máy tính khi thực hiện chương trình.
- Thu thập dữ liệu thông qua việc hỏi học sinh về mức độ biết, hiểu và vận
dụng ngôn ngữ lập trình Pascal vào giải các bài toán trong các môn học khác.
- Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải được các bài
toán trong các môn học khác, từ đó xây dựng, giới thiệu các bài toán phù hợp
với từng đối tượng học sinh.
- Tổng kết rút kinh nghiệm

3


2. PHẦN NỘI DUNG
2.1. CƠ SỞ LÝ LUẬN
Tạo hứng thú cho người học luôn là một vấn đề quan trọng trong hoạt
động dạy - học. Bởi vì, như chúng ta biết, dạy - học là một hoạt động phức tạp,
trong đó chất lượng, hiệu quả cơ bản phụ thuộc vào người học. Và điều này lại
phụ thuộc vào nhiều yếu tố, như: năng lực nhận thức, động cơ học tập, sự quyết
tâm...; nó còn phụ thuộc vào: môi trường học tập, người tổ chức quá trình dạy
học, sự hứng thú trong học tập.
Các nhà nghiên cứu tâm lý học cho rằng, hứng thú là thái độ đặc biệt của
cá nhân đối với đối tượng nào đó, nó có ý nghĩa đối với cuộc sống và có khả
năng mang lại khoái cảm cá nhân trong quá trình hoạt động. Sự hứng thú biểu
hiện trước hết ở sự tập trung chú ý cao độ, sự say mê của chủ thể hoạt động. Sự
hứng thú gắn liền với tình cảm con người. Trong bất cứ công việc gì, nếu có
hứng thú làm việc, con người sẽ có cảm giác dễ chịu với hoạt động, làm nẩy

sinh khát vọng hành động một cách có sáng tạo. Ngược lại, nếu không có hứng
thú, dù là hoạt động gì cũng sẽ không đem lại hiệu quả cao. Đối với các hoạt
động nhận thức, sáng tạo, hoạt động học tập, khi không có hứng thú, kết quả sẽ
không là gì hết, thậm chí xuất hiện cảm xúc tiêu cực. [6]
Việc học có tính chất đối phó, miễn cưỡng, người học may lắm chỉ tiếp
thu được một lượng kiến thức rất ít, không sâu, không bản chất. Vì thế dễ quên.
Khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hội tri
thức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểu được
bài thì người học lại có thêm hứng thú. Trên thực tế, những người không thích,
không hứng thú khi học môn học nào đó thường là những người không học tốt
môn học đó. Chính vì vậy, việc tạo hứng thú cho người học được xem là yêu cầu
bắt buộc đối với bất cứ ai làm công tác giảng dạy, đối với bất cứ bộ môn khoa
học nào.
2.2. THỰC TRẠNG VẤN ĐỀ
Đặc điểm môn
Môn Tin học đến nay không còn là môn học mới mẻ đối với học sinh phổ
thông, bởi học sinh đã được làm quen nó ngay ở các cấp học dưới. Đây là một
thuận lợi cho học sinh, học sinh không phải học từ đầu để làm quen với môn
học. Sự liên quan của môn Tin học với các môn học khác là nhiều, vì vậy học
sinh sẽ phải vất vả để xem lại, tìm kiếm lại tri thức ở các môn học khác. Đặc biệt
nội dung lập trình trong môn học Tin học lại có liên quan rất nhiều đến kiến thức
các môn khoa học tự nhiên, liên quan nhiều đến tư duy Toán học.
Trong mục 2.1: Đoạn “các nhà nghiên cứu…..cảm xúc tiêu cực” được trích dẫn trong TLTK
số 6

4


Nếu học sinh yếu tư duy về Toán học thì sẽ rất là khó khăn khi lập trình.
Nếu học sinh có tư duy Toán học nhưng không hứng thú với môn Tin học, học

cho biết, học để đối phó, thì thường các em sẽ không nghiên cứu kĩ bài học dẫn
đến sẽ gặp phải một số khó khăn trong lập trình. Muốn giải quyết được việc này
thì giáo viên cần phải dẫn dắt học sinh tiếp cận với môn học một cách tự nhiên,
hào hứng thông qua những kiến thức sẵn có của các em ở các môn học mà các
em yêu thích. Đặc biệt, giúp các em nhận biết những khó khăn thường gặp và
cách khắc phục khi lập trình.
Giáo viên
Nhiều giáo viên còn hạn chế về trình độ, khả năng cập nhật thông tin.
Không chỉ vậy, một số giáo viên chưa hiểu rõ thuật toán để diễn đạt trong việc
dạy lập trình. Đôi khi giáo viên còn thờ ơ, luôn cảm thấy chán nản khi học sinh
của mình không có hứng thú học tập. Chính điều này đã làm cho giáo viên
không chú trọng việc đổi mới phương pháp. Dẫn đến học sinh mất đi khả năng
tìm hiểu và tư duy giải quyết bài toán, hứng thú trong việc học lập trình.
Học sinh
Khi bước vào học phổ thông thì học sinh đã bắt đầu định hình học theo
khối để thi đại học. Thời gian học chủ yếu dành cho các môn học chính như
Toán, Lý, Hóa, Văn, Anh. Tin học là một môn phụ nên thời gian để học chỉ là
những tiết học ở trên lớp. Đối với Tin học 10, 12 thì tính ứng dụng của môn học
trong thực tế các em dễ dàng nhìn thấy và thực hiện được luôn. Còn với Tin học
11 thuộc về lĩnh vực lập trình, khó có sản phẩm để các em nhìn thấy. Hơn thế
việc tư duy thuật toán cũng là một nội dung khó đối với các em. Điều này dẫn
đến rất nhiều học sinh không thích và học kém môn học này.
Từ thực tế trên tôi muốn minh chứng thật rõ nét cho các em thấy giải bài
toán trên máy tính không hề khó, có chăng là sự đam mê, tích cực chủ động của
các em mà thôi. Từ đó các em sẽ nhận ra việc học Tin học lập trình không quá
khó và yêu thích môn học.
2.3. VẤN ĐỀ THƯƠNG GẶP KHI GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Khi dạy tin 11 thì những bài đầu là những bài giới thiệu tổng quan về
ngôn ngữ lập trình, giới thiệu một số khái niệm trong lập trình. Ở những bài đầu
học sinh sẽ cảm thấy hơi đơn điệu và nhàm chán. Ở những bài này khi dạy tôi

luôn luôn nhấn mạnh với các em phải hiểu, nhớ và thuộc lí thuyết thì mới vận
dụng lập trình được ở những nội dung sau. Cũng giống như môn Toán, Lí, Hóa
để làm được bài tập các em phải nhớ, hiểu công thức thì mới vận dụng để làm
bài được.
Quá trình dạy giáo viên cần truyền đạt tới các em những kiến thức cơ bản
nhất của ngôn ngữ lập trình. Cách thức dẫn dắt vấn đề thật đơn giản gần gũi để
các em không có cảm giác sợ hãi, lo lắng. Bước khởi đầu tiếp cận là rất quan
trọng. Trong lúc học giáo viên nên lồng ghép những câu như “Tin học cũng như
5


Toán, như Lý. Để viết được chương trình các em cần nhớ cú pháp, câu lệnh
giống như việc các em làm bài tập cần nhớ công thức để vận dụng”.
Kiến thức trọng tâm của chương giáo viên cần truyền tải tới học sinh:
- Chương trình thường gồm hai phần : Khai báo, thân
- Nhớ ý nghĩa các từ khóa để dùng khi viết chương trình: Program, Uses,
Var, Const, Begin, End.
- Tên, phạm vi lưu trữ các kiểu dữ liệu: Byte, Integer, Longint, Word,
Real, Char, Boolean..
- Các phép toán, các phép so sánh, phép toán quan hệ
- Các hàm số học chuẩn: ABS, SQR, SQRT, Sin, Cos,
- Hai lệnh nhập, in dữ liệu : Read,Readln, Write, Writeln
Giáo viên có thể lồng ghép các bài tập trong các tiết dạy lí thuyết. Đến
mỗi phần tương ứng nên cho học sinh xem những gì mà máy tính làm được.
Hoặc ở các tiết thực hành giáo viên có thể giao thêm bài để các em tự mình viết
trên máy. Từ đó các em dễ cảm nhận được ứng dụng của lập trình trong quá
trình học.
2.3.1. Vấn đề 1: Học sinh không tuân thủ các bước giải bài toán trên máy tính
Ngay khi học bài 6- Tin học 10, học sinh được tìm hiểu các bước giải bài
toán trên máy tính.

B1: Xác định bài toán
B2: Lựa chọn và thiết kế thuật toán
B3: Viết chương trình
B4: Hiệu chỉnh
B5: Viết tài liệu. [2]
Chương trình học Tin học 11, học sinh được tìm hiểu về ngôn ngữ lập
trình Pascal, dùng ngôn ngữ lập trình Pascal viết chương trình cho một bài toán
cụ thể. Tuy nhiên, khi yêu cầu học sinh giải một bài toán trên máy tính, các em
thường bỏ qua B1, B2 và bắt tay vào viết chương trình luôn. Chúng ta có thể gọi
là “ Đốt cháy giai đoạn”. Chương trình mà các em viết có thể đúng với một số
bài toán đơn giản hay một số bài toán có phương pháp giải được học trong môn
Toán, Vật lí…Còn đối với một số bài toán phức tạp hơn, đòi hỏi cần phải tư duy
thì chương trình các em viết ra không chạy hoặc không cho kết quả đúng.

Trong mục 2.3.1: Vấn đề 1: Đoạn “ B1…B5 viết tài lệu” được trích dẫn trong TLTK số 2

6


Sau nhiều lần không viết được chương trình đúng, học sinh có xu thế chán
nản, mất hứng thú học tập, ỷ lại cho giáo viên, ỷ lại cho các bạn học tốt dẫn đến
tình trạng kết quả học tập sa sút.
Vì vậy, giáo viên cần hướng dẫn và yêu cầu học sinh khi giao cho
máy tính làm việc gì thì bản thân học sinh cần tuân theo các bước giải bài toán
trên máy tính.
Bước 1: Xác định bài toán
Khi nhận được đề bài, nhiệm vụ của học sinh là phải xác định được hai
yếu tố: Input và Output, xác định được mối quan hệ giữa hai yếu tố này.
Input: Đưa vào máy tính thông tin gì.
Output: Cần lấy ra từ máy tính thông tin gì.[2]

Khi xác định xong hai yếu tố của bài toán, học sinh cần xác định
những biến nào cần đưa vào sử dụng, những biến nào sẽ có thể sẽ phát sinh, và
xác định được kiểu dữ liệu phù hợp cho các biến đó.
Ví dụ 1: Giải và biện luận nghiệp phương trình ax2+bx+c=0 (a<>0)[2]
Input: a,b,c (a<>0) kiểu thực real.
Output: x1, x2 kiểu thực real.
Sử dụng thêm biến delta kiểu thực real.
Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R. [1]
Input: R kiểu thực real.
Output: C, S kiểu thực real.
Sử dụng hằng pi=3.14.
Ví dụ 3: Cho dãy số nguyên dương: a1,a2,…,an được nhập từ bàn phím. Tìm
số chẵn lớn nhất trong dãy.
Input: Mảng A gồm n phần tử thuộc kiểu nguyên dương Word.
Output: số chẵn lớn nhất thuộc kiểu Word.
Sử dụng biến Max, i, n thuộc kiểu dữ liệu Word

Trong trang này: Bước 1 xác định bài toán:
+ Đoạn “khi nhận được … đến thông tin gì” và ví dụ 1 được trích dẫn từ TLTK số 2;
+ Ví dụ 2 được trích dẫn từ TLTK số 1;
+ Ví dụ 3 tự tác giả viết ra.

7


Ví dụ 4: Nhập vào từ bàn phím 100 kí tự. Hãy đếm số lần xuất hiện của các
kí tự [3]
Input: 100 kí tự thuộc kiểu dữ liệu Char.
Output:Đếm số lần xuất hiện của kí tự Ch thuộc kiểu dữ liệu byte.
Sử dụng mảng 1 chiều để lưu kết quả đếm của từng kí tự xuất hiện

Bước 2: Lựa chọn và thiết kế thuật toán
Trong thực tiễn giảng dạy, tôi nhận thấy đại đa số học sinh bỏ qua bước
quan trọng này. Các em thường gặp khó khăn trong quá trình viết chương trình,
không hoàn chỉnh chương trình, chương trình không chạy được, không cho kết
quả đúng. Là một giáo viên, tôi cần phải phân tích cho học sinh nắm rõ một
công thức:
Thuật giải + Cấu trúc dữ liệu = chương trình
Khi lập trình giải quyết một vấn đề, một bài toán giáo viên cần hình thành
cho học sinh thói quen làm theo trình tự
Vấn đề, bài toán→Tìm và xây dựng thuật giải→ chương trình
Cách làm này sẽ giúp giải quyết các vấn đề phức tạp, to lớn, có bài bản,
tránh được nhiều lỗi. Và không nên làm:
Vấn đề, bài toán→ chương trình
Bởi cách làm này thường xảy ra đối với học sinh mới học và giải quyết
các bài toán nhỏ.
Như vậy, giáo viên cần yêu cầu học sinh dành nhiều thời gian suy nghĩ về
thuật giải, sẽ giúp học sinh tìm ra cách giải hay, tối ưu về số lượng phép toán,
thời gian chạy và dung lượng bộ nhớ. [3]

Trong trang này :
+ ví dụ 4 được trích từ TLTK số 3;
+ Đoạn “ một công thức….dung lượng bộ nhớ” được trích dẫn từ TLTK số 3;
+ Đoạn “ input….học sinh cần nắm rõ” tác giả tự viết ra

8


Một số ví dụ về việc lựa chọn, thiết kế thuật toán và viết chương trình.
Ví dụ 1: Giải và biện luận nghiệp phương trình ax2+bx+c=0 (a<>0)[2]
Thuật toán

Bước 1: Nhập 3 số thực a,b,c
(a<>0);
Bước 2: delta  b*b-4*a*c;
Bước 3: Nếu delta=0 thì
thông báo pt co nghiem kep
x1=x2=-b/(2*a), kt;
Bước 4: Nếu delta <0 thì
thông báo pt vo nghiem rồi kt;
Bước 5: thông báo phương
trình có 2 nghiệm phân biệt
x1 (-b-sqrt(delta))/(2*a);
x2 (-b+sqrt(delta))/(2*a);
Rồi kết thúc.

Chương trình
Program vd1;
var a,b,c,x1,x2, delta: real;
begin
Write (‘ nhap a,b,c:); readln(a,b,c);
delta:= b*b-4*a*c;
if delta=0 then
write( ‘pt co nghiem kep x1=x2=’,-b/(2*a):8:2);
if delta<0 then write( ‘pt vo nghiem’)
else
begin
x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a);
write (‘pt co 2 nghiem pb:’,x1:8:2,x2:8:2);
end;
readln;

end.

Trong trang này: Ví dụ 1 được trích dẫn từ TLTK số 2

9


Ví dụ 2: Tính chu vi, diện tích hình tròn khi biết bán kính R.[1]
Thuật toán
Bước 1: Nhập số thực R
(a<>0), pi=3.14;
Bước 2: C  2*pi*R ;
Bước 3: S pi*R*R
Bước 4: Thông báo chu vi,
diện tích hình tròn rồi kết thúc.

Chương trình
Program vd2;
type pi=3.14;
var R, C, S: real;
begin
Write (‘ nhap R:); readln(R);
C :=2*pi*R ;
S := pi*R*R;
write (‘chu vi hinh tron:’,C:8:2,’dien tich hinh
tron:’,S:8:2);
readln;
end.

Ví dụ 3: Cho dãy số nguyên dương: a1,a2,…,an được nhập từ bàn phím. Tìm

số chẵn lớn nhất trong dãy.
Thuật toán
Bước 1: Nhập dãy A gồm n; a1, a2,...,
an là các số nguyên dương;
Bước 2: i1; max0;
Bước 3: Nếu i> N thì
Bước 31: Nếu Max=0 thì thông
báo không có số chẵn trong dãy rồi kết
thúc.
Bước 32: ngược lại, đưa ra Max
rồi kết thúc
Bước 4: Nếu ai chia hết cho 2 thì
Bước 41: Nếu ai> max thì
Max ai;
Bước 42: ngược lại sang bước 5
Bước 5: ii+1, quay lại bước 3;

Chương trình
Program vd3;
var a: Array[1..100] of word;
n, i: byte; max: word;
begin
Write (‘ nhap n:); readln(n);
for i:=1 to n do
begin
write(‘phan tu a[‘,i,’]=’);
readln(a[i]);
end;
max:=0;
for i:=1 to n do

if a[i] mod 2 =0 then
if a[i]>max then max:=a[i];
if max=0 then writeln(‘ khong co so chan
trong day’) else writeln(‘so chan lon nhat
trong day la:’,max);
readln;
end.

Trong trang này:

10


+ Ví dụ 2 được trích dẫn từ TLTK số 1;
+ Ví dụ 3 tự tác giả viết ra.

11


Ví dụ 4: Nhập vào từ bàn phím 100 kí tự. Hãy đếm số lần xuất hiện của các
kí tự [3]
Thuật toán
Bước 1: Nhập mảng D gồm 26
phần tử có giá trị =0;
Bước 2: i1;
Bước 3: Nếu i> 100 thì đưa ra
mảng D rồi kết thúc;
Bước 4:
Bước 41:Nhập kí tự ch ;
Bước 42: D[ch] D[ch]+1;

Bước 5: ii+1, quay lại bước 3;

Chương trình
Program vd4;
var D: Array[‘A’..’Z’] of byte;
i: byte; ch: char;
begin
for ch:=’A’ to ‘Z’ do D[ch]:=0;
for i:=1 to 100 do
begin
readln(ch);
ch:=upcase(ch);
D[ch]:=D[ch]+1;
end;
for ch:=’A’ to ‘Z’ do
if D[ch]>0 then writeln(‘so chu ‘, ch,’=’,D[ch]);
readln;
end.

2.3.2. Vấn đề 2: Một số lỗi thường gặp khi viết, chạy chương trình và cách
khắc phục.
2.3.2.1. Không xác định được tính dừng của thuật toán.
Học sinh cần biết thuật toán phải kết thúc sau một số hữu hạn lần thực
hiện các thao tác. Chương trình cho kết quả khi thực hiện nhấn tổ hợp phím
ctrl+F9. Tuy nhiên, do học sinh chưa mô tả tốt thuật toán bằng ngôn ngữ lập
trình, chưa xác định tính dừng của thuật toán hay chưa thiết kế thuật toán đúng
cho bài toán nên khi viết xong chương trình, nhấn tổ hợp phím ctrl+F9 máy tính
không cho kết quả.
Ví dụ : Bài toán: Cho dãy số nguyên a1, a2,...,an nhập từ bàn phím. Hãy tìm số
nguyên nhỏ nhất trong dãy. [2]


Trong trang này:
+ ví dụ 4 được trích dẫn từ TLTK số 3;

12


+ trong mục 2.3.2.1: ví dụ được trích dẫn từ TLTK số 2

Chương trình sai:

Kết quả khi chạy chương trình

Hướng dẫn khắc phục: Với bài toán tìm Min đang xét, giáo viên cần nhấn
mạnh việc giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i>N. Khi đó thuật
toán phải dừng và đưa ra kết quả Min. Với bài toán này có thể dùng vòng lặp với
số lần biết trước để thực hiện việc so sánh và tìm giá trị nhỏ nhất của dãy.
For i:=2 to N do
if a[i]
Hoặc có thể dùng vòng lặp với số lần chưa biết trước như sau:
while i<=N do
begin
if a[i]i:=i+1;
end;

13



Chương trình đúng:

Kết quả khi chạy chương trình

2.3.2.2. Một số lỗi về mặt ngữ pháp thường gặp
Trong quá trình soạn thảo chương trình, học sinh không thể tránh khỏi các
lỗi về mặt ngữ pháp. Các lỗi này thường phát hiện ra sau khi chạy chương trình
do chương trình dịch phát hiện và thông báo. Sau đây là một số lỗi thường gặp:
Lỗi ”(” expected hoặc Lỗi ”)” expected
Nguyên nhân: Dấu ngoặc đơn mở , đóng không xuất hiện nơi cần.[4]
Khắc phục: Thêm dấu ”(” hoặc ” )” tại vị trí phù hợp.

Trong trang này: ở mục 2.3.2.2

14


+ Đoạn ”Lỗi ...nơi cần” được trích dẫn ở TLTK số 4

Ví dụ:

Khắc phục

Kết quả khi chạy chương trình

15


Lỗi ”.” expected hoặc Lỗi ”,” expected
Nguyên nhân: Dấu ”.” hoặc dấu ”,” không xuất hiện nơi cần.

Khắc phục: Kiểm tra lại xem để đảm bảo rằng một kiểu không được dùng
như là một biến hoặc đảm bảo tên của chương trình không bỏ quên tên quan
trọng từ Unit khác.[4]
Ví dụ:
Khắc phục:

Khắc phục

Kết quả khi chạy chương trình

16


Trong trang này: đoạn ” Lỗi ... Unit khác” được trích dẫn từ TLTK số 4

Lỗi ”..” expected
Nguyên nhân: Dấu miền con không xuất hiện ở nơi cần.
Khắc phục: xóa bớt 1 dấu . nếu kết thúc chương trình hoặc thêm giá trị
kiểu đoạn con.[4]
ví dụ:

Khắc phục
Kết quả khi chạy chương trình

Lỗi ”:=” hoặc ”=” expected
Nguyên nhân: Phép gán xuất hiện không đúng nơi cần. [4]
Trong trang này:
+ Đoạn ‘Lỗi ” ..” ... kiểu đoạn con’ được trích dẫn từ TLTK số 4;

17



+ Đoạn ‘Lỗi ”:=” ... đúng nơi cần’ được trích dẫn từ tài liệu tham khảo số 4.

18


Ví dụ:

Khắc phục

2.4. HIỆU QUẢ ĐẠT ĐƯỢC
2.4.1. Kết quả sau khi áp dụng vào thực tế.
- Hiệu quả đầu tiên mà dễ nhận thấy nhất của sáng kiến kinh nghiệm là
việc giáo viên Tin học phân tích được các vấn đề thường gặp khi giảng dạy Tin
học 11
- Học sinh rất có hứng thú với môn học vì các em nắm được vấn đề khó
khăn mà bản thân gặp phải và tìm được hướng khắc phục, đồng thời nhìn rõ tính
ứng dụng của ngôn ngữ lập trình trong học tập.
- Ý thức tôn trọng môn học của học sinh được nâng lên rõ rệt.
Tôi đã áp dụng sáng kiến kinh nghiệm đối với học sinh trường THPTYên
Định 2 từ năm học 2015-2016 đến nay. Kết quả tôi thu được như sau:
Số lượng học sinh trong từng năm là 200 học sinh tương đương với 5 lớp
11 mà tôi phụ trách.

19


- Năm học 2014-2015 tôi chưa áp dụng sáng kiến kinh nghiệm thì học lực
môn Tin của học sinh có kết quả như sau:

Học lực

Số học sinh

Tỉ lệ

Giỏi

10

5%

Khá

80

40%

Trung bình

90

45%

Yếu

15

7,5%


Kém

5

2,5%

- Năm học 2015-2016 tôi bắt đầu áp dụng sáng kiến kinh nghiệm thì học
lực môn Tin của học sinh có kết quả như sau:
Học lực

Số học sinh

Tỉ lệ

Giỏi

20

10%

Khá

100

50%

Trung bình

70


35%

Yếu

10

5%

Kém

0

0%

- Năm học 2016-2017 tôi áp dụng sáng kiến kinh nghiệm đến thời điểm
kết thúc học kì 1 thì học lực môn Tin của học sinh có kết quả như sau:
Học lực

Số học sinh

Tỉ lệ

Giỏi

30

15%

Khá


110

55%

58

29%

Yếu

2

1%

Kém

0

0%

Trung bình

20


Với kết quả như trên thì số lượng học sinh có học lực giỏi, khá đã tăng
đáng kể. Điều này đồng nghĩa với việc ngày càng có nhiều học sinh yêu thích
môn tin học lập trình hơn và lập trình không còn là nỗi sợ của học sinh phổ
thông nữa.
2.4.2. Điều kiện để áp dụng sáng kiến.

Sáng kiến này có thể là tài liệu hữu ích đối với giáo viên tin học khi dạy,
hoặc các em học sinh khi học về ngôn ngữ lập trình.
Đặc biệt đối với giáo viên tin có thể cập nhật thêm một số vấn đề thường
gặp khác để trang bị cho nhu cầu khám phá, tích cực, chủ động đối với môn học.

21


3. PHẦN KẾT LUẬN, KIẾN NGHỊ
3.1. KẾT LUẬN
Qua việc đổi mới phương pháp dạy học môn Tin học trường Trung học
phổ thông Yên Định 2, tôi đã đưa ra một số biện pháp để ứng dụng trong việc
dạy tốt môn Tin học nhằm khích lệ học sinh yêu thích hơn môn Tin học. Đặc
biệt dạy học lập trình là một trong những phần khó và không ít giáo viên trong
trường tôi, cũng như một số giáo viên ở trường khác đều gặp phải không ít
những khó khăn. Chính vì vậy trong sáng kiến kinh nghiệm này, tôi muốn đưa ra
một cách tiếp cận môn Tin học một cách tự nhiên dựa vào sự yêu thích say mê
khám phá, tính tích cực chủ động của học sinh. Trong quá trình nghiên cứu sẽ
không tránh được những thiếu sót rất mong sự góp ý, bổ sung của các thầy, cô,
đồng nghiệp để sáng kiến được hoàn thiện hơn, giúp ích cho công tác giáo dục
chung được tốt hơn.
3.2. KIẾN NGHỊ
- Việc dạy học lập trình là phần khó trong môn Tin học phổ thông, nên
nhà trường và giáo viên cần phải quan tâm đến việc bồi dưỡng chuyên môn, khả
năng tư duy thuật toán, đầu tư thời gian nghiên cứu các khó khăn thường gặp khi
lập trình..
- Trường tổ chức đầu tư thêm kính phí mua trang thiết bị phục vụ cho
việc giảng dạy của giáo viên, thực hành của học sinh được tốt hơn.
Sáng kiến kinh nghiệm này có thể coi là quyển 1 trong quá trình tìm hiểu,
nghiên cứu của tôi vì nó mới chỉ áp trong học kì 1. Đối với học sinh, bước đầu

đã có sự cảm tình, yêu thích môn học thì đó sẽ là một nền tảng tốt để các em tiếp
cận thuận lợi tới những kiến thức khó hơn trong lập trình ở kỳ II. Nội dung tích
hợp này tôi có hướng phát triển tiếp theo cho phần mảng, tệp và chương trình
con ở kỳ 2 (quyển 2).
Tôi xin chân thành cảm ơn các thầy, các cô trong Hội đồng sư phạm
nhà trường THPT Yên Định 2 nơi tôi công tác đã hỗ trợ, khích lệ, tạo điều
kiện tốt nhất để tôi hoàn thành sáng kiến kinh nghiệm của mình.
XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ

Thanh Hóa, ngày 2 tháng 2 năm2017.
Tôi xin cam đoan đây là SKKN
của mình viết, không sao chép nội dung
của người khác.
(Ký và ghi rõ họ tên)

Triệu Thị Mai
22


TÀI LIỆU THAM KHẢO
1. Sách giáo khoa Tin học 11 THPT (NXB Giáo dục - 2009)
2. Sách giáo khoa Tin học 10 THPT (NXB Giáo dục - 2006)
3. Quách Tuấn Ngọc - Ngôn ngữ lập trình Pascal. (NXB Giáo dục -1996)
4. Nguyễn Công Tuấn - Giải bài tập Tin học 11 nâng cao. (NXB Đại học
quốc gia Thành phố Hồ Chí Minh – 2007)
5. Nguồn Internet
www.education.vnu.edu.vn/...
DANH MỤC SKKN ĐÃ ĐƯỢC CÔNG NHẬN
1. “Làm thế nào để gây hứng thú học tập và phát huy khả năng tư duy của
học sinh trong bài 4- Bài toán và thuật toán – Tin học 10”. Được hội đồng khoa

học Ngành đánh giá xếp loại C năm học 2010-2011

23



×