UBND HUYỆN YÊN PHONG
TRƯỜNG THCS YÊN PHU
SÁNG KIẾN ĐỀ NGHỊ THẨM ĐỊNH, ĐÁNH GIÁ Ở CẤP: Ngành
TÊN SÁNG KIẾN:
MỘT SỐ BIỆN PHÁP
RÈN LUYỆN KỸ NĂNG THỰC HÀNH
TRONG LẬP TRÌNH PASCAL
BỘ MÔN TIN HỌC LỚP 8
Tác giả Sáng kiến: Lưu Tuấn Anh
Chức vụ: Giáo viên.
Đơn vị công tác: Trường THCS Yên Phụ.
Bộ môn (chuyên ngành): Tin học
Yên Phụ, tháng 10 năm 2018
Giáo Viên: Lưu Tuấn Anh
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
ĐƠN YÊU CẦU CÔNG NHẬN SÁNG KIẾN
Cấp cơ sở đơn vị………..
Kính gửi: Hội đồng sáng kiến cấp …. (theo cấp tác giả yêu cầu thẩm định, công
nhận sáng kiến: Cấp ngành hoặc cấp tỉnh)
1. Tên sáng kiến:……………………………………………………………
………………………………………………………………………………
2. Lĩnh vực áp dụng sáng kiến:…………………………………………….
3. Tác giả sáng kiến:
- Họ tên:...............................................................
PHẦN A. ĐẶT VẤN ĐỀ
I.
LÝ DO CHỌN ĐỀ TÀI.
Mục tiêu cơ bản của ngành giáo dục và đào tạo Việt Nam hiện nay là
không ngừng đổi mới phương pháp giảng dạy và nâng cao chất lượng giáo
dục ở tất cả các cấp học mà trong đó cấp Trung học cơ sở là không thể thiếu.
Để làm được điều này đòi hỏi đội ngũ giáo viên nhà trường ở tất cả các bộ
môn cần thể hiện tinh thần trách nhiệm, tích cực trong mọi lĩnh vực để hoàn
thành tốt sứ mệnh của ngành đã đề ra.
Trong các môn học, Tin học là môn học không thể thiếu trong nhà
trường phổ thông. Chính vì vậy, đổi mới phương pháp giảng dạy bộ môn Tin
học trong nhà trường đặt lên vai đội ngũ thầy cô giáo giảng dạy Tin học là
nghĩa vụ cao cả để hoàn thành các chỉ tiêu và hiệu quả đào tạo của nhà trường
đặc biệt là bậc học Trung học cơ sở;
Việc giảng dạy Tin học trong nhà trường phổ thông ở Việt Nam nhiều
năm nay đã xem môn Tin học là môn học không thể thiếu, bậc học Trung học
cơ sở lại rất cần thiết đối với lứa tuổi phát triển về tư duy, về tâm sinh lý.
Trong đó, môn Tin học được triển khai thực hiện ở tất cả các khối 6, 7, 8, 9;
Học sinh được tiếp cận nhiều trên các phương tiện hiện đại, hệ thống
phòng máy với các thiết bị máy tính có cấu hình tương đối cao, hệ thống
mạng cáp quang tương đối mạnh để đảm bảo phục vụ tốt nhu cầu học tập và
tra cứu bộ môn Tin học của học sinh trong nhà trường;
Trong các khối lớp học thì Tin học lớp 8 là môn học tương đối khá
trừu tượng, khó hiểu, nếu không nói là khô khan khó nuốt đối với các em.
Việc học tốt môn Tin học lại càng khó khăn hơn đối với các em vì hầu hết
kiến thức chủ yếu và trọng tâm của chương trình là lập trình trên môi trường
ngôn ngữ Pascal, đòi hỏi học sinh phải chú ý tìm hiểu kỹ vấn đề, hiểu được
cách giải bài toán, hiểu cách mô tả thuật giải bài toán, cách viết chương trình,
III.
MUC ĐÍCH NGHIÊN CỨU ĐỀ TÀI.
Sử dụng đề tài này để hướng dẫn các em học sinh lớp 8 một số kỹ
năng rèn luyện thực hành lập trình cơ bản và nâng cao đối với bộ môn Tin
học, giúp học
sinh hiểu được những bước cơ bản và hoàn thiện các bài tập thực hành giáo
viên yêu cầu;
Học sinh tiến hành vận dụng kỹ năng để viết các bài tập trong chương
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
trình, các bài tập áp dụng cho học sinh giỏi, vận dụng các kỹ năng lập trình để
giải quyết một số bài toán từ đơn giản đến nâng cao.
IV.
PHẠM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU.
Phạm vi nghiên cứu: Rèn luyện kỹ năng thực hành lập trình Pascal
trong quá trình giảng dạy bộ môn Tin học lớp 8 (quyển 3), năm học 2015 –
2016;
Đối tượng nghiên cứu: Học sinh các lớp 8A, 8B, 8C, 8D, 8E của
trường THCS Yên Phụ
V.
ĐIỂM MỚI TRONG KẾT QUẢ NGHIÊN CỨU.
nắm rõ hiện tại là có những gì đang xảy ra. Sự phát triển nhanh vọt kéo theo
những yêu cầu mới về kỹ năng, và trình độ hiểu biết của một lập trình viên;
Trong lĩnh vực công nghệ thông tin đang trên đà phát triển hiện nay,
đã và đang nảy sinh khá nhiều lĩnh vực và tạo nên các nhóm ngành mới, tạo
điều kiện cho các lập trình viên mới có thể tiếp cận và chọn lựa ngành phù
hợp với khả năng của mình;
Chính vì vậy việc trang bị và rèn luyện kỹ năng lập trình bằng việc
tăng cường các tiết thực hành ở nhà trường cho các em học sinh là một cách
vô cùng hiệu quả. Việc học lập trình cũng giống như giải một bài toán, có rất
nhiều cách khác nhau để đi đến đáp số của một bài toán. Các em cũng sẽ có
nhiều cách khác nhau để viết nên một chương trình. Việc tìm hiểu nhiều
nguồn tài liệu từ các kênh khác nhau sẽ giúp các em biết được cách làm nào
tốt, cách làm nào chưa tốt, và rút ra cách làm tối ưu nhất cho mình trong tất cả
các trường hợp ở các dạng bài tập.
2. Thực trạng học tập bộ môn tại nhà trường:
Theo thói quen của nhiều em học sinh, học môn Tin là học những thao
tác sử dụng như cách sử dụng internet, sử dụng hệ điều hành window, chương
trình soạn thảo văn bản MS Word, chương trình soạn thảo trình diễn MS
PowerPoint … Đây là những phần học không cần đòi hỏi tư duy, mà chỉ cần
học kĩ và nhớ thao tác, thực hành nhiều lần thì sẽ thành thạo;
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
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
Theo khảo sát kiểm tra đầu năm học với học sinh các lớp 8 tại nhà
trường thì trong đó khoảng gần 60% các em chưa hiểu ngôn ngữ lập trình
Pascal là gì?. Việc tiếp cận kiến thức lập trình để áp dụng giải bài toán cụ thể
còn nhiều vấn đề gây khó khăn cho việc viết chương trình, trong đó phải kể
đến là các bước thực hiện lập trình, mô tả thuật toán và việc khai báo thư
viện cũng như cú pháp các câu lệnh trong Pascal, kiểm lỗi, sửa lỗi chương
trình và chạy thử;
Thực tế cho thấy tỷ lệ học sinh đạt điểm trung bình trở lên khi làm
những bài tập đơn giản đầu tiên khá thấp, các em chưa hiểu rõ vấn đề, chưa
thực sự ham thích, chưa thuộc các cú pháp câu lệnh và sai cấu trúc khá nhiều
dẫn đến kết quả không như mong đợi.
Điểm số
Số lượng
Tỷ lệ
1
27/199
13,56%
2
13/199
6,53%
8
10/199
5,02%
9
05/199
2,51%
10
02/199
1,00%
3. Các biện pháp tiến hành để giải quyết vấn đề.
Nghiên cứu tài liệu các kỹ năng lập trình trong việc nghiên cứu
chuyên môn, tiến hành tham gia dự giờ các đồng nghiệp và trao đổi kinh
nghiệm giảng dạy với các đồng nghiệp trong nhà trường hay các đơn vị bạn,
đồng thời rút kinh nghiệm bản thân qua các tiết dạy lý thuyết và thực hành
trên phòng máy tính;
Tham khảo các giáo trình, sách báo và tìm hiểu ngôn ngữ lập trình
quyết nhiều vấn đề trong cuộc sống;
Việc giải quyết các bài toán trên máy tính thật sự không đơn giản đối
với các em học sinh. Trước tiên các em phải nắm vững lý thuyết, cú pháp câu
lệnh, tính nguyên tắc và logic của bài lập trình. Các em phải hiểu được quy tắc
đặt tên chương trình, tên biến cho phù hợp với bài toán và đảm bảo tính
nguyên tắc, ví dụ như tên chương trình nếu quá 8 kí tự ta cần dùng dấu gạch
nối xen giữa, bài lập trình nào thì ta cần dùng câu lệnh gán phối hợp với công
thức toán học mà các em đã học ở bộ môn Toán để tính, bài nào thì dùng câu
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
lệnh If…then, For…do, While…do, khi nào dùng kiểu dữ liệu Integer,
Real,
String
hay
Longint;
Bên cạnh đó để học sinh hiểu được, giáo viên cần chú ý cần quan tâm
khía cạnh sự thông hiểu của học sinh, nên cho các em tập làm quen với các
bài tập đơn giản nhất, dần dần tăng mức độ khó lên từ từ, không nên quá vội
vàng để học sinh tiếp xúc với những bài quá khó. Nếu các em chưa thông
hiểu, chưa giải quyết được vấn đề của bài tập đó, bản thân giáo viên nên giải
thích hướng dẫn các em mô tả, phân tích cụ thể để từ đó hiểu rõ hơn bài tập
mình đang làm;
BEGIN
<Phần thân chương trình>;
READLN;
END.
Bên cạnh đó, cũng cần lưu ý học sinh cách đặt tên chương trình đúng
quy tắc, đảm bảo không sai cú pháp khi đặt tên chương trình, tên chương trình
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
không được trùng với các từ khóa: PROGRAM, BEGIN, USES, VAR,
END,..., dung dấu gạch nối xen giữa nếu tên dài quá 8 ký tự và phải đảm bảo
tên không dài quá 127 ký tự, tên chương trình phải được đặt bằng tiếng việt
không dấu, không sử dụng dấu cách;
Các biến ở phần khai báo phải đảm bảo phù hợp với bài toán và phù
hợp với kiểu dữ liệu cần nhập.
+ Cú pháp khai báo tên thư viện: <Từ khóa> <Tên các thư viện>; Ví
dụ khai báo thư viện Crt, Graph... là: USES CRT,GRAPH;
+ Cú pháp khai báo tên hằng: <Từ khóa> <Tên hằng=Giá trị>; Ví dụ
khai báo tên biến Pi khi tính diện tích hình tròn là: Const Pi=3.14;
+ Cú pháp khai báo biến: <Từ khóa> <Tên các biến:Kiểu dữ liệu>;
Ví dụ khai báo các biến a, b khi thực hiện bài toán tính tổng hai số tự nhiên a
và b biết rằng a, b là 2 ký tự được nhập vào từ bàn phím là các số nguyên:
Var a,b:Integer;
+ Câu lệnh nhập dữ liệu vào từ bàn phím: Read(); hoặc Readln(<Danh sách biến vào>); Ví dụ: Readln(CD,CR);
+ Câu lệnh cho phép xuất dữ liệu hoặc kết quả ra màn hình, câu lệnh
+ Trường hợp 2 câu lệnh cấu trúc rẻ nhánh dạng đầy đủ có cú pháp như
sau:
IF <Điều kiện> THEN ELSE <Câu lệnh 2>;
Nếu điều kiện cho giá trị đúng câu lệnh 1 sau từ khóa then được
thực hiện và bỏ qua câu lệnh 2, nếu điều kiện cho giá trị sai thì câu lệnh 2 sau
từ khóa Else được thực hiện và bỏ qua câu lệnh 1;
Ví dụ:
IF 9
Với cú pháp này câu lệnh có ý nghĩa nếu câu lệnh kiểm tra điều kiện
đúng thì sẽ thực hiện câu lệnh. Sau một vòng lặp chúng ta có thể thao tác tăng
hoặc giảm biến để cho điều kiện sẽ bị sai sau một số vòng lặp;
Ví dụ: Hãy lập vào chương trình nhập hai số nguyên dương n và x.
Tính lũy thừa Nx.
Program Luy_thua;
Var x,n,Tich,Luythua:Integer;
Begin
Writeln(‘Nhap vao so nguyen duong N va X: ’); Readln(n,x);
Tich:=1;
Luythua:=1;
While Luythua
Chương trình có thể được viết theo cách 1 có nội dung code như
sau:
Program Nhietdo_Tuan;
Uses Crt;
Var
t1,t2,t3,t4,t5,t6,t7:
Real; Dem:Byte
Begin
Clrscr;
Write(‘Nhap vao nhiet do cua 7
ngay: ’); Readln(t1,t2,t3,t4,t5,t6,t7);
tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
Dem:=0;
If
t1>tb
then
Dem:=Dem+1; If t2>tb
then Dem:=Dem+1; If
t3>tb
then
Dem:=Dem+1; If t4>tb
then Dem:=Dem+1; If
t5>tb
For i:=1 to 7 do
Begin
Writeln(‘Nhap nhiet do ngay thu’,i,’’);
Readln(A[i]);
Tong:=Tong+A[i];
End;
tb:=Tong/7;
Writeln(‘Nhiet do trung binh cua ca tuan la:
’,tb:8:1); For i:=1 to 7 do
If A[i]>tb then dem:=dem+1;
Writeln(‘So ngay co nhiet do cao hon trung binh la:
’,dem); Readln;
End.
Nếu so sánh 2 cách viết ta có nhận xét như sau: Đối với cách thứ nhất
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
phải khai báo 30 biến đơn, sử dụng 30 lệnh if...then. Còn đối với cách thứ hai
chỉ cần khai báo một mảng gồm 30 phần tử, ta sử dụng lệnh For i:=1 to 30
do...
Như vậy một cách nhìn rõ ràng giáo viên hướng dẫn cho học sinh phân
tích bài toán khi sử dụng biến đơn cùng kiểu dữ liệu, thì việc sử dụng biến
mảng sẽ thuận lợi hơn rất nhiều trong việc thực hiện lập trình các bài toán xử
lý dãy số, học sinh sẽ rút ngắn thời gian và công việc lập trình đỡ vất vả hơn
khi xử lý các bài tập thực hành;
Đối với phần mảng hai chiều dù trong chương trình không có nhưng
giáo viên cũng cần bổ sung cho các em đặc biệt là những học sinh giỏi bộ
Write('Nhap so hang n = '); Readln(n);
Write('Nhap so cot m = ');
Readln(m);
{nhap mang}
For i:=1 to n do
For j:=1 to m do
Begin
Write('C[',i,',',j,']=');
Readln(c[i,j]);
End;
{in matran}
For i:=1 to n do
Begin
For j:=1 to m do
If c[i,j]mod 2= 0 then Write(c[i,j]:6);
End;
Readln;
End.
Trong nội dung này giáo viên vận dụng để bồi dưỡng cho các em học
sinh giỏi bộ môn, có ham thích học tập và nghiên cứu bộ môn;
Bên cạnh các kinh nghiệm tích lũy được, bản thân tôi còn nhận thấy cần
vận dụng nhiều phương pháp giúp cho tôi tập trung vào nghiên cứu đó là:
phương pháp điều tra, phương pháp quan sát, phương pháp phân tích, tổng
hợp, phương pháp thống kê để từ đó có biện pháp điều chỉnh chuyên môn
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
giúp học sinh giải quyết vấn đề một cách nhanh chóng hiệu quả đòi hỏi các
SKKN: Phương pháp giảng dạy trực quan cho học sinh làm quen các thiết bị
máy tính
Giáo Viên: Lưu Tuấn Anh
em thật sự tập trung và khơi dậy trong tinh thần các em niềm đam mê học tập;
Muốn được vậy giáo viên bộ môn Tin học cần trang bị dần dần cho
các em các kỹ năng trong các tiết thực hành, giúp các em hiểu cách xây dựng
bài toán, mọ tả thuật toán, đến việc viết chương trình, nhận biết các lỗi và sửa
lỗi chương trình để ngày ngày nâng cao khả năng đồng thời để góp phần nâng
dần chất lượng dạy và học tin ở các trường Trung học cơ sở;
Là một giáo viên tin học tôi muốn nói rằng chúng ta không chỉ dạy lý
thuyết suông mà cần phải rèn luyện cho học sinh các kỹ năng thực hành, khơi
gợi cảm giác dễ chịu mà không phải bị gò bó. Để từ đó học sinh mới nhận
thấy được ưu điểm của việc học chương trình này có lợi hơn ở điểm nào.
Tóm lại để giúp các em viết được một chương trình hoàn chỉnh thỏa
mãn yêu cầu của bài toán đặt ra trên máy tính thì học sinh phải có tư duy lôgic
về thuật toán, khả năng sử dụng máy tính thành thạo, sử dụng các câu lệnh và
khai báo kiểu dữ liệu một cách hợp lý. Với tham vọng nâng cao chất lượng
giảng dạy bộ môn đặc biệt là môn Tin học lớp 8, hy vọng thời gian tới bộ môn
Tin học ở đơn vị chúng tôi đạt nhiều kết quả đáng kể, cũng như chất lượng
giáo dục đào tạo huyện nhà ngày càng phát triển hơn so với các quận huyện
trong toàn thành phố;
Trên đây là một số biện pháp mà tôi đã áp dụng vào dạy Tin học khối
8. Tuy đã được đúc kết từ kinh nghiệm giảng dạy thực tế. Nhưng trong quá
trình thực hiện đề tài này sẽ không tránh khỏi những thiếu sót. Rất mong nhận
được sự góp ý bổ ích của các thầy cô giáo và các bạn đồng nghiệp để bài viết