Trường THCS Hải Tân
Sáng kiến kinh nghiệm
A. PHẦN MỞ ĐẦU
I. LÝ DO CHỌN ĐỀ TÀI
Môn Tin học ở trường phổ thông trang bị cho học sinh những hiểu biết cơ bản về công
nghệ thông tin và vai trò của nó trong xã hội hiện đại. Môn học này giúp học sinh bước đầu
làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng
máy tính phục vụ học tập và cuộc sống. Tin học có ý nghĩa to lớn đối với sự phát triển trí
tuệ, tư duy thuật toán, góp phần hính thành học vấn phổ thông cho học sinh.
Với tu duy của một em học sinh THCS thì lập trình là một môn rất trừu tượng, và
khó tiếp thu. Trong quá trình dạy tôi nhận thấy ở các em học sinh. Mới đầu các em
cũng rất sợ khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ trong vòng vài giây
có thể nhẩm ra kết quả. Còn ở trong lập trình cũng bài toán đó mà phải làm đến hàng
chục phút mà lại có thể cho kết quả sai.
Nhận thấy vai trò của môn tin học nói chung và lập trình nói riêng đối với học
sinh THCS và khó khăn trong việc dạy và học lập trình nên tôi đã chọn đề tài :
“MỘT SỐ VẤN ĐỀ GÓP PHẦN NÂNG CAO CHẤT LƯỢNG DẠY LẬP
TRÌNH TRONG CHƯƠNG TRÌNH TIN HỌC 8 ” để bàn luận và nghiên cứu
II. MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN CỨU
Tìm ra những phương pháp, các bước giải bài toán bằng lập trình trên máy vi tính
trong quá trình giảng dạy môn Tin học bậc THCS phù hợp nhất với học sinh.
Trên cơ sở nghiên cứu tính tích cực của học sinh trong giờ học Tin học 8, tôi xin
đề xuất một số ý kiến nhằm nâng cao chất lượng dạy và học lập trình.
III. GIỚI HẠN ĐỀ TÀI
Khối 8 trường THCS Hải Tân – Hải Lăng – Quảng trị
IV. CÁC GIẢ THUYẾT NGHIÊN CỨU
2)
−
−
−
Sáng kiến kinh nghiệm
Những mâu thuẩn:
Tư duy của học sinh lớp 8 còn quá thấp để học lập trình
Kiến thức toán học của các em chưa đủ để đáp ứng giải bài toàn bằng lập trình
Ngôn ngữ lập trình khô khan làm các em ít có hứng thú.
II. CÁC BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ
1.
các phương pháp tạo hứng thú , tích cực , chủ động cho học sinh :
Cho học sinh thực hiện và luyện tập những hoạt động
và hoạt động thành phần tương thích với nội dung và mục tiêu dạy học:
a) Phát hiện những hoạt động tương thích với nội dung.
Ví dụ: Dạy khái niệm chương trình con, có thể phát hiện những hoạt động tương thích
như:
−
Nhận dạng và thể hiện cách khai báo
chương trình con.
−
So sánh hai loại chương trình con: Function
và Procedure.
−
Hoạt động phân tích khi nào dùng Function,
c) Hướng tới sự hoàn chỉnh và hệ thống
Ví dụ: Giáo viên có thể giới thiệu sơ đồ tất cả các kiểu dữ liệu trong Pascal trước khi
định nghĩa khái niệm các kiểu dữ liệu chuẩn.
Giáo viên: Nguyễn Thị Oanh
Trang 2
Trường THCS Hải Tân
Sáng kiến kinh nghiệm
d) Lật ngược vấn đề: Sau khi giải quyết một vấn đề, một câu hỏi rất tự nhiên thường
được đặt ra là vần đề ngược lại được giải quyết như thế nào.
Ví dụ: - Nhập 3 số a,b,c kiểm tra xem 3 số đó có thể là độ dài của các cạnh một
tam giác hay không. Từ đó ta có thể chuyển nó sang dạng là các cạnh đó thoã mãn
tam giác cân, đều hay là tính diện tích của tam giác đó.
e) Qui lạ về quen.
Ví dụ: Khi dạy bài tính tổng S = 1 + 2 + 3 + …+ n giáo viên cho học sinh tương tự giải
bài tập viết chương trình tính tổng S = 12 + 22 + 32 +… + n2
2.
Các bước giúp các em tiếp cận lập trình hiệu quả:
Đưa ra phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên ngôn
ngữ pascal . Gồm các bước:
1. Xác định bài toán.
2. Xây dựng thuật toán.
Trang 3
Trường THCS Hải Tân
Sáng kiến kinh nghiệm
Tìm số đầu tiên trong S
NT:= NT+ [S0]
Loại khỏi S các bội số của S0
Until S=[ ];
Xuất NT;
Kết thúc;
Tinh chế lấn 3 ( chương trình hoàn chỉnh)
Program nguyen_to;
Const
N=100;
Type
nguyen=1..N;
var
NT, S:set of nguyen;
S0,I:integer;
begin
NT:=[]; S:=[2..N];S0:=2;
repeat
while not (S0 in S) do
S0:=S0+1; NT:=NT+[S0];I:=S0;
While I
a[i*j]:=false;
for i:= 1 to N do
if a[i] then
write(i:3);
readln
end.
Tinh chế lần 5
Trong ngôn ngữ pascal nếu dùng mảng boolean thì ta bị giới hạn N= 2;
for i:= 2 to n do
begin
k:=0;
for j:= 2 to trunc(sqrt(i)) do
if i mod j=0 then k:= 1;
if k=0 then write(i:3);
end;
readln
End.
Với chương trình này cũng chạy được song đáp số có lúc đúng, có lúc sai tuỳ
thuộc vào lúc nhập giá trị a,b,c {nếu ta nhập thứ tự a=5,b=7,c=9. Thì sẽ cho ta
kết quả số lớn nhất là 7. Vậy thì sai hoàn toàn}
Do đó giáo viên cần giúp học sinh biết cách tìm lỗi thuật toán , sữa lỗi,
điều chỉnh viết lại chương trình cũng là giúp hình thành kỹ năng lập trình quan
trọng cho học sinh. Vậy với ví dụ trên để kết quả luôn đúng thì ta có thể viết lại
chương trình
Lần 2
Program tim_so;
uses crt;
var
a,b,c,t:integer;
begin
clrscr;
write('nhap 3 so=');readln(a,b,c);
t:=a;
if t
quan trọng cho việc sửa chữa chương trình cũ sang chương trình mới.
III. HIỆU QUẢ ÁP DỤNG
Sau khi áp dung các phương pháp trên cho học sinh các lớp khảo sát, tôi thu
được kết quả tỉ lệ học sinh nắm được ngôn ngữ lập trình đã tăng khi áp dụng các
phương pháp trên.
C. KẾT LUẬN
I. Ý NGHĨA CỦA ĐỀ TÀI ĐỐI VỚI CÔNG TÁC :
Tóm lại lập trình là chương trình học khá mới mẻ đối với học sinh đặc
biệt là học sinh lớp 8
Các bài toán đưa ra để xây dựng một chương trình chưa có gì lạ phức tạp.
Bởi có nhiều bài hay thì học sinh lớp 8 chưa học đến. Cho nên giáo viên cần
phải nắm chắc các phương pháp để truyền đạt, lựa chọn các bài hay lồng ghép
vào các tiết học để tạo thêm sự hứng thú cho học sinh.
Các phương pháp trên phần nào giúp học sinh tiếp cận vơi lập trình một
cách dễ dàng hơn, và cũng tạo cho học sinh hứng thú hơn với môn tin học
II. ĐỀ XUẤT , KIẾN NGHỊ
- Tôi mong ước rằng trong tương lai, phòng máy vi tính sẽ được mở rộng,
đảm bảo số lượng máy tính tạo điều kiện cho các em học sinh được thực hành
nhiều hơn. Vì có như vậy chất lượng dạy và học của giáo viên và học sinh mỗi
ngày đạt chất lượng cao hơn.
- Trên đây là một số biện pháp mà tôi đã áp dụng vào dạy bồi dưỡng tin
học khối 8 nói chung và lập trình nói riêng. Tuy đã được đúc rút từ kinh nghiệm
giảng dạy thực tế và đã cho kết quả khả quan. Nhưng trong quá trình thực hiện
bài viết 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 được hoàn thiện
hơn