Sáng kiến kinh nghiệm tin học 8 :"Một số vấn đề góp phần nâng cao chất lượng dạy lập trình trong tin học 8" - Pdf 23

Trường THCS Nguyễn Trãi Sáng kiến kinh nghiệm
A. PHẦN MỞ ĐẦU
I. LÝ DO CHỌN ĐỀ TÀI
Tin học là môn tự chọn bắt buộc dành cho các đối tượng học sinh THCS, được dạy cho cả bốn
lớp 6, 7, 8 và 9 với thời lượng mỗi tuần hai tiết. Môn Tin học đã được đưa vào dạy ở cấp Tiểu học,
nhưng dưới hình thức tự chọn không bắt buộc. Vì vậy nội dung môn Tin học ở cấp THCS được xây
dựng trên giả thiết là môn học mớ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
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
chương trình môn Tin học 8 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 môn Tin học 8, đề 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 Nguyễn Trãi – Phòng GD&ĐT huyện Long Điền
IV. CÁC GIẢ THUYẾT NGHIÊN CỨU
V. CƠ SỞ LÝ LUẬN , CƠ SỞ THỰC TIỂN:
- Qua hai năm giảng dạy chương trình tin học lớp 8, tôi nhận thấy rằng kĩ năng lập

 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,
khi nào dùng Procedure.
− Hoạt động lật ngược vấn đề khi dạy truyền
tham biến, tham trị.
− Hoạt động ngôn ngữ cho biết kết quả của một
chương trình.
b) Phân tách hoạt động thành những thành phần.
Ví dụ: Khi dạy câu lệnh:
FOR biến_điều_khiển := giá_trị_đầu TO giá_trị_cuối DO câu_lệnh
Giáo viên yêu cầu học sinh phân tách câu lệnh này thành những câu lệnh thành phần diễn ra
theo trình tự như sau:
- B1: Kiểm tra điều kiện nếu giá_trị_đầu > giá_trị_cuối thì kết thúc lệnh For.
- B2: Gán biến_điều_khiển := giá_trị_đầu.
- B3: Thực hiện câu_lệnh.
- B4: Kiểm tra điều kiện thoát: nếu biến_điều_khiển = giá_trị_cuối thì kết thúc lệnh For.
- B5: Tăng giá trị của biến_điều_khiển lên 1. Quay lên B3.
Sau khi phân tách câu lệnh For học sinh sẽ nắm rõ hơn quá trình thực hiện câu lệnh
=> tránh nhiều sai sót khi viết chương trình.
 Gợi động cơ cho các hoạt động học tập:
a) Hướng tới sự tiện lợi, hợp lí hoá công việc.
Ví dụ: Khi tạo tình huống cho khởi tạo từ 2 mảng trở lên và yêu cầu thực hiện phép toán cộng,
trừ giữa 2 mảng giáo viên có thể hướng dẫn học sinh xây dựng các chương trình con để tính

2. Xây dựng thuật toán.
3. Viết chương trình.
4. Chạy thử, kiểm tra ,sửa đổi chương trình.
Phân tích, giảng dạy xâu từng phần. Đặc biệt giáo viên cần chú ý các phần sau :
2.1 viết chương trình : có thể sử dụng phương pháp sau để giúp học sinh.
* Phương pháp tinh chế từng bước
Một chương trình bắt đầu được viết bằng lời tự nhiên (tiếng Việt) thể hiện sự phân
tích tổng thể của người lập trình được thể hiện
Ở từng bước sau các câu lệnh được phân tích chi tiết hơn, bằng những lời khác nhau
tương ứng với sự phân tích công việc thành các việc nhỏ chi tiết hơn dễ hiểu và chính xác
hơn. Song ngôn ngữ lập trình pascal người lập trình có thể đưa ra phương pháp tinh chỉnh
từng bước là thể hiện tư duy giải quyết vấn đề bài toán từ trên xuống trong đó các bước là
hướng về ngôn ngữ lập trình làm sao cho bài toán đưa ra được phương pháp lập trình tối ưu,
sáng sủa.
* Ví dụ : Tìm tất cả các số nguyên tố trong các số nguyên N được nhập vào từ bàn
phím
Tinh chế lần 1 (sử dụng ngôn ngữ tựa tư nhiên)
- Lấy 2 tập
NT= [ ] (để chứa các số nguyên tố tìm được)
S = [2, N] (tập các số cần xét )
- Tìm số đầu tiên trong S đưa vào NT
- Loại bỏ khỏi S các bội số của số nguyên tố vừa tìm được
- Số đầu tiên còn lại của S là số nguyên tố. Tiếp tục quá trình cho đến khi S=[]
- Xuất NT
Tinh chế lần 2
Bắt đầu
NT: = [ ]
S = [2, N]
Repeat
Tìm số đầu tiên trong S

for I:= 1 to n do
If I in Nt then Write(I:4);
readln
end.
Tinh chế lần 4.
Rõ ràng cấu trúc dữ liệu tập hợp “Set of nguyen” tuy dễ hiểu nhưng rất cồng kềnh và làm
máy chạy chậm chạp, ta có thể dùng mảng Boolean linh hoạt hơn như sau:
Program nguyen_to;
Const
N=100;
var
a:array[1 N] of boolean;
i,j:integer;
begin
a[1]:=false;
for i:=2 to N do a[i]:=true;
for i:= 2 to N div 2 do
for j:= 2 to N div i do
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<10000. Để có thể
chạy với số lớn hơn ta không dùng mảng , tập hợp mà dùng như sau:
Giáo viên: PKQ
Trang 4
Trường THCS Nguyễn Trãi Sáng kiến kinh nghiệm

Giáo viên: PKQ
Trang 5
Program tim_so;
uses crt;
var
a,b,c:integer;
begin
clrscr;
write('nhap 3 so=');readln(a,b,c);
if a<b then a:=b
else if a<c then a:=c;
write('so lon nhat la ',a);
readln
End.
ớ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<b then t:=b;
if t<c then t:=c;

8A3 17/29 24/29
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. BÀI HỌC KINH NGHIỆM VÀ HƯỚNG PHÁT TRIỂN
III. ĐỀ 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 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.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status