Sáng kiến môn Tin Học lớp 11

SỞ GIÁO DỤC VÀ ĐÀO TẠO NINH BÌNH

TRƯỜNG THPT NINH BÌNH – BẠC LIÊU

SÁNG KIẾN

GIÚP HỌC SINH TRÁNH MỘT SỐ LỖI THƯỜNG GẶP

TRONG CHƯƠNG TRÌNH TIN HỌC LỚP 11

Lĩnh vực/Môn: Tin học.

Tác giả:

Trịnh Thị Kim Phương

Nguyễn Thị Chinh

Giáo viên môn: Tin học.

Năm học 2017 - 2018

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 1 -

Sáng kiến môn Tin Học lớp 11

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 2 -

Sáng kiến môn Tin Học lớp 11

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

Kính gửi: Sở Giáo dục và Đào tạo Ninh Bình.

Chúng tôi là:

Họ và tên

Ngày sinh

Nơi công tác

Chức danh

ST T

Trình độ chuyên môn

Tỷ lệ đóng góp vào sáng kiến

Trịnh Thị Kim Phương

21/11/1984

50%

1

Giáo viên

Nguyễn Thị Chinh

05/06/1981

50%

2

Giáo viên

Trường THPT Ninh Bình – Bạc Liêu Trường THPT Ninh Bình – Bạc Liêu

Cử nhân Tin học Cử nhân Tin học

1. Tên sáng kiến, lĩnh vực áp dụng

Tên sáng kiến:

“Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11”.

Lĩnh vực áp dụng: Tin học lớp 11

2. Nội dung

Như chúng ta đã biết, công nghệ thông tin ngày này có một tầm quan trọng rất lớn trong

công việc, trong cuộc sống của chúng ta. Bất cứ ngành nghề nào, lĩnh vực nào cũng cần có

sự hỗ trợ của công nghệ thông tin. Ngay cả những em học sinh tiểu học đã cần sự hỗ trợ của

công nghệ thông tin trong việc học tập và giải trí. Biết được tầm quan trọng của nó nên Bộ

Giáo Dục đã phổ cập tin học trong các trường THPT trên toàn quốc bắt đầu từ năm học

2006 - 2007.

Định hướng đổi mới phương pháp dạy học đã được thống nhất theo xu hướng tích cực

hóa hoạt động của học sinh dưới sự hướng dẫn của giáo viên: Học sinh tự giác chủ động tìm

tòi, phát hiện, giải quyết nhiệm vụ, nhận thức và có ý thức vận dụng linh hoạt, sáng tạo các

kiến thức, kỹ năng đã thu nhận được. Trong quá trình dạy học, giáo viên có thể vận dụng

nhiều cách đánh giá khác nhau để giúp học sinh định hướng tốt trong học tập, tạo ra những

sản phẩm chất lượng và hình thành, phát triển năng lực. Vai trò của giáo viên chỉ là hướng

dẫn, tư vấn chứ không phải là chỉ đạo, quản lí công việc của học sinh.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 3 -

Sáng kiến môn Tin Học lớp 11

Tuy nhiên, tin học vẫn là một môn học mới so với các môn khác ở các trường phổ

thông nên học sinh còn nhiều bỡ ngỡ khi tiếp cận với môn học này. Nội dung tin học lập

trình lớp 11 là một nội dung mới lạ đối với đa số học sinh với nhiều khái niệm, thuật ngữ,

cấu trúc dữ liệu mà học sinh mới được tiếp xúc lần đầu. Chính vì vậy mà học sinh dễ mắc

sai lỗi khi lập trình giải quyết các bài toán. Ngoài các lỗi mà khi dịch chương trình máy báo

ra (các lỗi về cú pháp) thì còn rất nhiều các lỗi mà học sinh khi mắc phải không biết tại sao

và không biết sửa chỗ nào. Có nhiều học sinh khi chạy một chương trình pascal mặc dù

không dịch ra lỗi nào nhưng kết quả thu được vẫn không đúng và các em không biết sửa

như thế nào. Hơn nữa trong sách bài tập tin học, sách giáo, sách tham khảo hiện vẫn chưa có

sách nào hướng dẫn học sinh phát hiện và sửa các lỗi đó.

Tin học lớp 11 là một môn học trìu tượng đòi hỏi giáo viên và học sinh phải hoạt động

tích cực, giáo viên cần đổi mới phương pháp dạy để học sinh có thể:

+ Nghe giáo viên giảng bài, nhận xét, nghe bạn bè trả lời

+ Nhìn giáo viên viết, bài giảng chiếu trên màn hình

+ Đọc vở ghi, đọc sách giáo khoa, sách tham khảo

+ Phát biểu ý kiến trong lớp, nhận xét ý kiến của bạn,..

+ Viết kết quả công việc của mình, của nhóm

+ Làm bài tập thực hành, áp dụng kiến thức vào cuộc sống

Trong các yêu cầu trên tin học lớp 11 kĩ năng thực hành là một kĩ năng cực kì quan trọng

đòi hỏi học sinh phải nắm vững kiến thức về cú pháp và ngữ nghĩa của ngôn ngữ lập trình,

Vì vậy chúng tôi đã đưa ra sáng kiến “Giúp học sinh tránh một số lỗi thường gặp

trong chương trình Tin học lớp 11” để giúp học sinh có thể hoàn thiện được kĩ năng thực

hành trong chương trình Tin học lớp 11.

a. Giải pháp cũ thường làm:

- Trường THPT Ninh Bình – Bạc Liêu đến nay chưa áp dụng một sáng kiến nào về việc

“lỗi” và “sửa lỗi” trong chương trình tin học 11. Một phần do các em chưa nắm vững về cú

pháp của ngôn ngữ lập trình Pascal, nhiều học sinh khó khăn trong việc tổ chức dữ liệu và

viết chương trình. Hậu quả là có không ít học sinh còn tìm cách học thuộc lòng các chương

trình mẫu của giáo viên và trong sách mà chưa có khả năng tự mình viết được chương trình

hoàn chỉnh để chạy được chương trình. Đến khi gặp lỗi thì không có khả năng tự sửa lỗi mà

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 4 -

Sáng kiến môn Tin Học lớp 11

trong tiết thực hành giáo viên chỉ hướng dẫn học sinh sửa trực tiếp lỗi trong các bài thực

hành, mà chưa tổng quát và đưa ra một số lỗi thường gặp cho học sinh.

- Ưu điểm: Học sinh nhìn thấy ngay lỗi trong một số bài toán nhất định.

- Nhược điểm: Đối với những bài thực hành khác khi không có sự hướng dẫn của giáo viên

thì học sinh không thể nhìn ra lỗi trong chương trình. Vì vậy giáo viên cần phải đưa ra một

giải pháp để học sinh khi gặp một số lỗi bất kì, đơn giản thì có thể tự sửa lỗi được.

b. Giải pháp mới cải tiến:

- Giải pháp mới:

Dựa trên cơ sở lý luận và cơ sở thực tiễn, sáng kiến trên đề xuất các giải pháp phát

hiện và sửa lỗi, một số lỗi học sinh thường gặp và hướng giải quyết để giúp học sinh có

thêm kinh nghiệm để tránh các lỗi thường gặp trong quá trình viết chương trình Pascal.

Đồng thời, sáng kiến còn giúp học sinh thêm yêu thích môn Tin học và phát triển các năng

lực chung cũng như năng lực riêng biệt của môn học. Từ đó phát huy được khả năng chủ

động, sáng tạo ở học sinh. Đồng thời khắc phục được những vấn đề mà giải pháp cũ chưa

làm được.

- Tính mới, tính sáng tạo của giải pháp: Sáng kiến đã đáp ứng được nhu cầu đổi mới dạy –

học theo hướng phát triển năng lực của người học cũng như năng lực tự học, tự giải quyết

vấn đề, năng lực hợp tác, năng lực công nghệ thông tin nâng cao, năng lực khoa học máy

tính…

3. Hiệu quả kinh tế, xã hội dự kiến đạt được:

* Hiệu quả kinh tế:

- Charles Handy: nhà triết lý kinh doanh nổi tiếng người Anh, đã nói: “Để làm cho

tương lai trở thành hiện thực, chúng ta cần phải tự tin và tin tưởng vào giá trị của chính

mình. Đó là điều mà các trường học phải dạy cho mọi người”. Và muốn người học có được

sự tự tin và tin tưởng vào giá trị của chính mình, họ cần được học theo phương pháp chủ

động. Chỉ khi người học được tự khám phá kiến thức, tự học, tự làm và tự bổ sung cho nhau

thì kiến thức mới trở thành tri thức của người học, chuyển thành hành động, thành thói quen

hàng ngày của họ.

- Với cách thức tổ chức dạy học linh hoạt và phương pháp hướng dẫn học sinh phát

hiện ra lỗi một cách nhanh nhất, phương pháp tìm thuật toán tối ưu, và hướng dẫn học sinh

cách ứng dụng công nghệ thông tin liên quan đến kiến thức môn học trên lớp một cách hiệu

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 5 -

Sáng kiến môn Tin Học lớp 11

quả nhất. Vì vậy, giáo viên khi giảng bài đã giảm bớt chi phí từ khâu thiết kế, chuẩn bị đồ

dùng, thiết bị, mô hình, tranh ảnh trong giảng dạy.

- Tiết kiệm được thời gian: Nội dung sáng kiến đề cập đến các giải pháp giúp học

sinh sửa lỗi cơ bản, học sinh sẽ tự phát hiện ra lỗi và cách khắc phục, giúp giáo viên tiết

kiệm được thời gian, và giáo viên có thể trang bị thêm kiến thức cho học sinh.

- Tiết kiệm được tiền mua sách tham khảo vì học sinh có thể sử dụng công nghệ

thông tin để phục vụ việc học.

- Đầu tư cho phát triển nguồn lực hay chính là đầu tư cho giáo dục con người mang

lại hiệu quả kinh tế cao, tiết kiệm được việc khai thác sử dụng các nguồn lực khác.

* Hiệu quả xã hội:

a. Về phía giáo viên

- Giảng dạy chương trình tin học lớp 11 là một môn học tư duy trừu tượng vì vậy yêu

cầu học sinh và giáo viên môn Tin học không ngừng trau dồi kiến thức ở nhiều lĩnh vực,

phương pháp thuật toán, cách sửa lỗi là một trong những điểm rất quan trọng đủ để đáp ứng

với những đòi hỏi ngày càng cao của dạy học hiện nay. Vì vậy chúng tôi đã áp dụng sáng

kiến trong quá trình giảng dạy, kết quả giảng dạy đã có nhiều chuyển biến tích cực:

- Khắc phục được hạn chế đổi mới phương pháp một cách chiếu lệ, hình thức ở giáo viên.

- Tạo không khí tự học, tự bồi dưỡng sôi nổi trong thầy và hứng thú ở trò nên giờ học

hiệu quả, cuốn hút học sinh hơn.

- Kiến thức được học sinh chủ động lĩnh hội, tự mình tìm và sửa được lỗi nên có sự bền

vững, hệ thống, sáng tạo.

Kết quả các lớp giảng dạy của chúng tôi được cải thiện rõ nét:

Xếp loại

Giỏi

Khá

Kém

Ghi chú

TB

Yếu

Lớp

(%)

(%)

(%)

(%)

11B

9.28

36.1

49.72

4.9

0

Đối chứng

11A

16,6

69,4

14

0

0

Thực nghiệm

Như vậy, theo thống kê ở trên, sau khi áp dụng sáng kiến HS đạt kết quả khá giỏi tăng

lên, tỉ lệ điểm khá, giỏi cao (86%); điểm trung bình giảm xuống đáng kể (14); đặc biệt không có

HS có điểm yếu.

b. Về phía học sinh

- Học sinh hứng thú học bài, say sưa tìm hiểu kiến thức môn học.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 6 -

Sáng kiến môn Tin Học lớp 11

- Thái độ học tập của học sinh nghiêm túc, chủ động sáng tạo trong giờ học

- Học sinh có khả năng tư duy cao, sử dụng công nghệ thông tin thành thạo, biết xử lí

thông tin nhạy bén, linh hoạt.

- Học sinh hứng thú với những tiết học hơn, dễ hiểu và hiểu sâu nội dung bài học.

- Đặc biệt các em sẽ có những chuyển biến rõ rệt trong khả năng vận dụng kiến thức,

kỹ năng vào thực tiễn.

4. Điều kiện và khả năng áp dụng

Điều kiện áp dụng:

+ Qua quá trình tìm hiểu và ứng dụng chúng tôi nhận thấy việc giúp học sinh tránh

một số lỗi thường gặp trong chương trình tin học lớp 11 là rất cấp thiết, đó là cách thức dạy

học theo hướng phát huy tính tích cực, chủ động của học sinh.

+ Với việc trang bị những thiết bị và đồ dùng dạy học phục vụ cho việc cải cách giáo

dục hiện nay sẽ tạo điều kiện cho giáo viên thuận lợi trong việc dạy học theo phương pháp

tích cực.

+ Điều kiện cơ sở vật chất của các trường đều tốt, trình độ giáo viên ở điều kiện

chuẩn và trên chuẩn là khá cao.

+ Học sinh được trang bị kiến thức một cách tốt nhất nên việc tiếp thu phương pháp

giải bài tập là không khó khăn.

Khả năng áp dụng:

Chúng tôi thấy sáng kiến này có khả năng áp dụng trong tất cả các trường THPT từ

nông thôn, miền núi, thị xã, thành phố trong cả nước; đặc biệt có hiệu quả cao ở nơi có công

nghệ thông tin phát triển.

Kết quả khảo sát chất lượng học tập của học sinh

Giỏi

Khá

TB

Yếu

Điểm Đối tượng

SL

TL %

SL

TL %

SL

TL %

TL %

Sl

06

16,6

25

69,4

5

14

0

0

Lớp 11A (36 HS)

Như vậy, theo thống kê ở trên, sau đề tài 86% HS đạt kết quả khá giỏi trở lên. Vì vậy

khả năng áp dụng rất hiệu quả.

Danh sách giáo viên đã tham gia áp dụng sáng kiến lần đầu:

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 7 -

Sáng kiến môn Tin Học lớp 11

Họ và tên

Số TT

Nơi công tác

Chức danh

Trình độ chuyên môn

Nội dung công việc hỗ trợ

Ngày tháng năm sinh

05/06/1981

Giáo viên

1

Nguyễn Thị Chinh

Cử nhân Tin học

Giảng dạy môn tin học 11

21/11/1984

Giáo viên

2

Trịnh Thị Kim Phương

Cử nhân Tin học

Giảng dạy môn tin học 11

Trường THPT Ninh Bình – Bạc Liêu Trường THPT Ninh Bình – Bạc Liêu

Trên đây là sáng kiến trong hoạt động dạy học của chúng tôi, kính mong nhận được

sự đóng góp ý kiến của quý vị, để chúng tôi có thể hoàn thiện hơn nữa sáng kiến của mình.

Chúng tôi xin cam đoan mọi thông tin nêu trong đơn là trung thực, đúng sự thật và

hoàn toàn chịu trách nhiệm trước pháp luật.

Tôi xin chân trọng cảm ơn!

XÁC NHẬN CỦA LÃNH ĐẠO ĐƠN VỊ CƠ SỞ

Ninh Bình, ngày 01 tháng 05 năm 2018 Người nộp đơn

Trịnh Thị Kim Phương

Nguyễn Thị Chinh

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 8 -

Sáng kiến môn Tin Học lớp 11

PHẦN I. NỘI DUNG

CHƯƠNG I. CƠ SỞ KHOA HỌC

1. Cơ sở lí luận

Hiện nay, công nghệ thông tin xuất hiện ở mọi nơi, sự phát triển nhanh chóng của

nó giúp cuộc sống của con người trở nên tốt đẹp hơn. Công nghệ thông tin giúp các

nhà khoa học tạo ra những nghiên cứu vượt bậc nhờ việc tính toán và xử lý một khối

lượng công việc khổng lồ của máy tính. Chúng có thể thực hiện hàng tỷ phép tính

trong vài giây. Ngành tài chính có thể tiết kiệm hàng chục tỷ USD nhờ hệ thống máy

tính Internet.

Một điều dễ nhận thấy là công nghệ phần cứng thay đổi với tốc độ quá nhanh,

trong khi đó, các công nghệ hay các ngôn ngữ lập trình gần như chẳng mấy thay đổi

trong suốt nhiều năm. Pascal cũng là một trong những môn học ra đời từ rất sớm, mặc

dù nó không phải là một ngôn ngữ mạnh, nhưng nó lại là nền tảng cho mọi ngôn ngữ

khác, cho nên nó vẫn còn được đưa vào giảng dạy ở các trường phổ thông, môn tin

học lớp 11 được đánh giá là một môn học đòi hỏi sự tư duy cao, học sinh cần phải

biết tự đọc, viết thuật toán, và hoàn thiện chương trình để cho kết quả đúng. Nhưng

để làm được điều đó thì quả là khá khó đối với học sinh vì khi chạy chương trình

phần đa là vẫn còn tồn tại một số lỗi. Vậy chúng ta sẽ xem lỗi là gì và phương pháp

để sửa lỗi một cách nhanh chóng và chính xác.

a. Các vấn đề liên quan đến “lỗi” và “sửa lỗi” trong Pascal

“Lỗi là gì ?”

Chúng ta cần hiểu “lỗi” ở đây là những vấn đề bất thường xảy ra trong quá trình

thực hiện chương trình Pascal khiến cho kết quả nhận được không như mong muốn

của người lập trình.

“Có những loại lỗi nào ?”

Có rất nhiều lỗi mà người lập trình có thể mắc phải khi viết và thực hiện chương

trình Pascal. Nhưng thường được phân thành hai loại lỗi sau: Lỗi cú pháp và lỗi về

ngữ nghĩa. Đối với những lỗi về cú pháp thì khi dịch chương trình, chương trình dịch

Pascal sẽ báo lỗi. Và vấn đề của người lập trình ở đây là làm sao dựa vào chỉ dẫn của

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 9 -

Sáng kiến môn Tin Học lớp 11

máy để sửa lỗi. Còn đối với những lỗi về ngữ nghĩa, chương trình dịch của Pascal

không thể tìm ra lỗi này. Lỗi về cú pháp phải do người lập trình phát hiện ra và tương

đối phức tạp.

“Làm thế nào để sửa lỗi về ngữ nghĩa ?”

Như chúng ta đã hiểu, lỗi về ngữ nghĩa là những lỗi vô cùng phức tạp. Hay nói

cách khác các lỗi này nó “muôn hình vạn trạng”. Điều đó cũng cho thấy để sửa

những lỗi về ngữ nghĩa vô cùng khó khăn đối với những người mới làm quen với

ngôn ngữ lập trình Pascal như học sinh lớp 11 của chúng ta. Có những lỗi mà người

học chưa trải qua thì khả năng sửa được gần như là bằng không. Do vậy cần phải

cung cấp cho học sinh những kinh nghiệm sửa lỗi, phải hình thành tư duy thuật toán

giúp học sinh nhanh nhạy hơn trong quá trình học lập trình Pascal.

2. Cơ sở thực tiễn

Thực tế chỉ ra rất rõ là môn tin học là một phần không thể thiếu trong hệ thống

các môn học trong trường THPT. Hơn nữa môn tin học là một trong những môn có

thể nói ngoài việc phục vụ học tập công việc, phát huy các năng lực cho người học ra

thì nó còn rèn luyện cho người học cách làm việc khoa học, chính xác, yêu cầu tỉ mỉ

từng chút một. Nó cung cấp một số kiến thức cơ bản giúp các em sau này phục vụ tốt

hơn cho việc học tập cũng như công tác sau này. Nhưng cũng không thể phủ nhận

được rằng trong trường THPT thì môn tin học lớp 11 là một trong những môn khó và

lạ với học sinh. Qua khảo sát sơ bộ thì đa phần các em đều cho rằng tin học lớp 11 rất

những chương trình các em viết nhiều lỗi không hiểu tại sao và không sửa được khiến

cho việc học môn tin học càng trở nên nhàm chán hơn. Đã từng có rất nhiều học sinh

lúc bắt tay vào viết chương trình với niềm ham mê hào hứng bao nhiêu thì càng tỏ ra

nản hơn bấy nhiêu khi chương trình viết ra gặp quá nhiều lỗi. Chính vì vậy mà với tư

cách một giáo viên Tin học tôi phải có nhiệm vụ hướng dẫn các em, giúp khơi lại

niềm ham mê với Tin học.

khó và cái khó nhất đó là khi viết hoặc chạy chương trình luôn luôn xuất hiện lỗi. Có

3. Thực trạng

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 10 -

a. Thực trạng chung

Sáng kiến môn Tin Học lớp 11

 Thuận lợi

Thuận lợi lớn nhất phải kể đến đó là được sự quan tâm sát sao của Sở Giáo Dục,

Ban Giám Hiệu nhà trường đã trang bị đầy đủ các phương tiện, thiết bị hỗ trợ dạy và

học bộ môn tin học như phòng máy, máy chiếu, tranh ảnh, đồ dùng tự làm...Đó là

một điều rất đáng mừng cho học sinh cũng như giáo viên môn Tin học chúng tôi để

có thể có môi trường dạy - học và đạt kết quả học tập tốt nhất.

 Khó khăn

Qua thực tế giảng dạy môn Tin học ở trường THPT Ninh Bình – Bạc Liêu, tôi

nhận thấy khi học đến chương trình Tin học lớp 11 đa số học sinh đều nhận xét bộ

môn này rất khó. Các học sinh thường gặp khá nhiều lỗi khi viết một chương trình

trong ngôn ngữ lập trình Pascal. Có những lỗi mà học sinh mắc phải rất nhiều lần

xong các em lại không biết sửa như thế nào. Từ đó các em thường nản hoặc hứng thú

học môn này giảm dần. Tuy nhiên cũng có một số lượng không nhỏ học sinh rất yêu

thích tin học và thích tìm hiểu một số bài toán, dạng toán ngoài phạm vi sách giáo

khoa.

Đồng thời trong quá trình giảng dạy chúng tôi cũng nhận thấy rằng môn Tin học

tuy có khó nhưng lại rất hay, rất gần gũi với thực tế cuộc sống. Nếu giáo viên có

phương pháp hay thì môn này rất thu hút học sinh vì tâm lý các em đa số là ham hiểu

biết tìm tòi cái mới và cái lạ.

quan tâm của Ban giám hiệu nhưng đa số học sinh còn coi môn Tin học như là một

môn phụ không cần thiết hoặc có học cũng chỉ là chống đối. Vì vậy với tư cách là

giáo viên dạy Tin học, nhiều năm qua chúng tôi luôn luôn cố gắng tìm ra các biện

pháp giúp các em yêu thích cũng như học tốt môn Tin học hơn nữa đặc biệt là môn

Tin học 11. Từ những suy nghĩ trên tôi thấy rằng cái khó khăn lớn nhất khi học môn

Tin học 11 đó là “những lỗi khi viết và chạy chương trình Pascal” khiến cho học sinh

nản chí là việc cần phải có các biện pháp xử lý càng sớm càng tốt.

Một điều đáng buồn đó là mặc dù được trang bị phòng máy đầy đủ, được sự

b. Thực trạng của việc phát hiện, sửa các lỗi thường gặp của học sinh trong khi

viết và chạy chương trình Pascal.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 11 -

Sáng kiến môn Tin Học lớp 11

Để tìm hiểu thực trạng của học sinh trong việc phát hiện và sửa các lỗi khi viết

chương trình, tôi đã tiến hành thống kê trong các tiết bài tập và thực hành các lỗi mà

học sinh thường mắc phải bao gồm các lỗi như sau:

 Giá trị của biến khi thực hiện chương trình vượt quá phạm vi khai báo

trong phần khai báo biến.

Ví dụ 1:

Trong phần khai báo:

Var x, y, z: byte;

Trong phần thân chương trình:

Readln(x);

Readln(y);

z:=x+y;

Sau đó khi chạy chương trình nhập x=100, y=200. Lúc này máy sẽ báo lỗi tràn bộ

nhớ.

Rõ ràng trong trường hợp này khi dịch chương trình máy không hề báo lỗi.

Nhưng khi chạy chương trình lại xuất hiện lỗi.

 Khai báo sai miền chỉ số cho dữ liệu kiểu mảng.

Ví dụ 2: Nhập vào một mảng số nguyên gồm các số lớn hơn 0 và nhỏ hơn

Học sinh khai báo mảng như sau:

Var a: array[0..200] of integer;

200. In mảng vừa nhập.

Trong trường hợp này học sinh đã nhầm miền giá trị của mảng với kiểu chỉ số.

 Giá trị biến điều khiển vượt quá miền chỉ số của mảng.

Ví dụ 3: Nhập vào một dãy số gồm 20 phần tử và cho biết dãy vừa nhập có

tạo thành cấp số cộng không?

Học sinh lập trình giải bài toán trên như sau:

Var

a: array[1..20] of integer;

i,d:integer;

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 12 -

Sáng kiến môn Tin Học lớp 11

ok:boolean;

Begin

Write(‘nhap day so:’);

For i:=1 to 20 do

Begin

Write(‘a[’ ,i, ‘]’);

Readln(a[i]);

End;

d:=a[2]-a[1]; ok:=true;i:=1;

while (ok) and (i<=10) do

if (a[i]-a[i-1]<>d) then ok:=false

else i:=i+1;

if ok then writeln(‘Day so tao thanh cap so cong!’)

else writeln(‘Day so khong tao thanh cap so cong!’);

readln

End.

Khi thực hiện chương trình trên, chương trình dịch không báo lỗi nhưng kết

quả khi thực hiện chương trình sẽ bị sai lệch.

Trong ví dụ 3 ở trên còn có một lỗi tưởng chừng như vô hại nhưng cũng không

kém phần quan trọng đó là người lập trình chọn kiểu dữ liệu chưa phù hợp nên chưa

tiết kiệm được bộ nhớ cho biến i. Đối với lỗi này thì chương dịch không báo lỗi và

bản thân người lập trình không ít người biết rằng chương trình của mình có lỗi.

 Hoang phí tài nguyên bộ nhớ:

Trong khi chọn thuật toán để giải bài toán chúng ta phải đặt tiêu chí về thời

gian nên hàng đầu vì thời gian là tài nguyên không tái tạo được. Tiêu chí thứ 2 là

tiêu chí về bộ nhớ vì bộ nhớ là một tài nguyên hạn chế. Mặc dù ở ví dụ trên học

sinh chỉ mất thêm 1 byte nhưng trong trường hợp khác có thể mất đi 1000b,

1000Mb...nếu không tiết kiệm bộ nhớ.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 13 -

Sáng kiến môn Tin Học lớp 11

 Dùng cùng tên biến điều khiển cho các vòng lặp for lồng nhau.

Ví dụ 4: Tính tổng S=1a+2a+….+na

Học sinh lập trình giải bài toán trên như sau:

S:=0;

For i:=1 to n do

Begin

T:=1;

For i:=1 to a do

T:=T*i;

S:=S+T;

End;

Đoạn chương trình trên có thể lặp vô tận khi kết thúc vòng lặp còn i luôn

nhận giá trị bằng a.

 Sử dụng dấu “;” sai vị trí.

Ví dụ 5:

If a>b then write (‘ So lon nhat la:’, a);

Else write(‘ so lon nhat la:’, b);

Trước “Else” không có dấu chấm phẩy, sử dụng dấu chấm phẩy sau từ khoá

“do” trong các câu lệnh lặp dẫn đến câu lệnh lặp rỗng không làm việc gì cả. Yêu

cầu học sinh ghi nhớ các quy tắc của Pascal khi viết chương trình đặc biệt trong

câu lệnh ghép, trong các vòng lặp.

 Không phân biệt được hằng xâu và biến.

Học sinh cần phải chú ý hằng xâu đặt trong cặp nháy đơn còn biến thì không

cần đặt trong cặp nháy đơn.

 Tràn bộ nhớ do kết quả tính toán vượt quá giới hạn.

Ví dụ 6:

Function GT(n:integer):integer;

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 14 -

Sáng kiến môn Tin Học lớp 11

Var i,t:integer;

Begin

T:=1;

For i:=2 to n do t:=t*i;

Gt:=t;

End;

Begin

Write(‘GT(8)=’, GT(8));

Readln;

End.

Khi chạy chương trình GT(8)=-25126 là sai vì thực tế 8!=40320. Lỗi này do

khai báo hàm trả về số nguyên nên miền giá trị tối đa là 32767.

 Sử dụng tên hàm làm biến cục bộ.

Do lệnh trả kết quả cho tên hàm rất giống một lệnh gán bình thường nên học sinh

thường nhầm tên hàm là biến cục bộ. Vì vậy khi viết chương trình để tiết kiệm biến

cục bộ học sinh đã dùng tên hàm làm biến cục bộ.

Ví dụ 7:

Function GT(n:integer):Longint;

Var i:integer;

For i:=2 to n do GT:=GT*i;

End;

Begin

Trong thân hàm đã sử dụng tên hàm làm biến cục bộ nên khi biên dịch sẽ báo

lỗi gọi hàm nhưng thiếu tham số do chương trình hiểu GT:=GT*i là lời gọi đệ qui.

 Biến đếm trong các vòng lặp khai báo kiểu thực.

Ví dụ 8:

Var i:real;

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 15 -

Sáng kiến môn Tin Học lớp 11

For i:=1 to n do write (i);

Biến đếm trong các vòng lặp luôn luôn nhận giá trị nguyên hoặc dưới dạng kí

tự, do vậy khi khai báo biến đếm tuyệt đối không sử dụng kiểu dữ liệu thực.

 Gán kết quả phép chia cho biến kiểu nguyên.

Ví dụ 9:

Var a, b, c: Integer;

a: =20;

b:=14;

c:=a/b;

 Nhầm lẫn phép gán “:=” với phép so sánh “=”.

Sai lầm này là do học sinh chưa quen với các kí hiệu trong Pascal.

 Rơi vào vòng lặp vô hạn.

Đây là một lỗi rất thường gặp khi học sinh viết các chương trình có chứa vòng

lặp “While – do”

Ví dụ 10:

i:=1; While i< 10 do write (i);

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 16 -

Ví dụ trên đã rơi vào vòng lặp vô hạn bởi giá trị của i bao giờ cũng nhỏ hơn 10.

Sáng kiến môn Tin Học lớp 11

CHƯƠNG II. ĐỀ XUẤT GIẢI PHÁP 1. Giải pháp 1: Cung cấp cho học sinh hệ thống bài tập đa dạng phong phú về

thể loại như viết thuật toán, đọc hiểu chương trình, phát hiện lỗi chương trình,

chia nhỏ bài toán lớn, viết chương trình, bài tập về khai báo biến...

Việc làm này giúp học sinh tích lũy kinh nghiệm sửa lỗi trong các bài tập đồng

thời phát huy năng lực tự học tự giải quyết vấn đề, năng công nghệ thông tin nâng

cao.

Khi dạy lập trình nói chung và Pascal nói riêng, nhiều khi người dạy chỉ chú ý

tới các bài tập về lập trình mà không nghĩ rằng trong những bước đầu để học sinh

hiểu bài cần phải đưa ra nhiều dạng bài tập, trong số các dạng bài tập đó ở đây ta có

thể nêu ra một số dạng như sau: bài tập về viết thuật toán, bài tập về đọc hiểu chương

trình, bài tập về sửa lỗi chương trình...Do vậy giáo viên cần phải đưa ra nhiều bài tập

đa dạng phong phú giúp học sinh rèn luyện nhiều kỹ năng trong khi học Pascal ví dụ

như kỹ năng khai báo biến, kỹ năng phát hiện lỗi, kỹ năng sử dụng các kiểu dữ liệu

để khai báo biến....Có những lỗi mà chỉ khi học sinh làm nhiều có kinh nghiệm mới

phát hiện ra.

Để thực hiện tốt giải pháp này, tôi xin đề xuất một số dạng bài tập như sau:

a. Bài tập về đọc hiểu chương trình.

Loại bài tập này sẽ giúp phát triển tư duy, giúp học sinh hiểu bài, nhất là khi dạy

hiện tuần tự theo từng câu lệnh cụ thể.

Ví dụ 11: Cho biết kết quả khi thực hiện chương trình sau:

Program vd2;

Uses crt;

Var i: integer;

Begin

Clrscr;

Writeln(‘ nhap du lieu cho bien i:’);

Readln(i);

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 17 -

các cấu trúc lệnh. Đối với dạng bài tập này, giáo viên nên hướng dẫn các em thực

Sáng kiến môn Tin Học lớp 11

While i>1 do

begin

If (i mod 2)<>0 then i:=i+1

Else i:=i - 2;

Writeln(i);

end;

Readln;

End.

Cho i:=5. Vậy kết quả chương trình sau khi thực hiện thế nào?

Kết quả hiện ra trên màn hình:

6

4

2

b. Bài tập xác định bài toán, xây dựng thuật toán.

Việc hình thành thuật toán trước khi viết chương trình là tạo một thói quen tốt

trong tư duy của các học sinh. Nếu bài toán nào học sinh cũng hình thành thuật toán

trước khi viết chương trình thì việc xảy ra lỗi sẽ được hạn chế hơn rất nhiều. Học sinh

trình bày thuật toán trước khi viết chương trình là hết sức quan trọng. Thuật toán

một chương trình sai. Tuy nhiên đối với phần lớn học sinh lớp 11 thường bỏ qua

bước này do tâm lý học sinh không thích các loại bài tập như thế.

Trong nhiều trường hợp tưởng như không cần thuật toán cụ thể học sinh vẫn

viết được chương trình. Thực tế thuật toán đó không được viết ra nhưng đã hình

thành sẵn trong đầu người viết.

Với đa số học sinh hiện nay, cần phải dành một lượng thời gian thích hợp để

rèn luyện loại bài tập này. Phải làm sao cho việc viết thuật toán trở thành kĩ năng để

khi các em lập trình trên máy, tuy không cần viết thuật toán ra song các em có thể

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 18 -

đúng thì chương trình mới có khả năng đúng, còn một thuật toán sai chắc chắn là cho

Sáng kiến môn Tin Học lớp 11

hình dung được thuật toán đó trong đầu. Cần phải tạo cho các em có ý thức khi viết

một chương trình Pascal là phải tuân thủ theo trình tự sau:

Xác định bài toán Xây dựng thuật toánViết chương trình Hiệu chỉnh.

Ví dụ 13: Có n quả cam có kích cỡ khác nhau và một cái cân dĩa. Hãy chỉ ra

cách tìm được quả cam to nhất.Với bài toán trong thực tế như trên ta có thể phát biểu

lại dưới dạng bài toán trong toán học như sau: Cho tập hợp A có số phần tử hữu hạn.

Tìm phần tử lớn nhất trong tập A nói trên. Khi đó ta có thể trình bày thuật toán như

sau:

B1: Nếu chỉ có 1 quả cam thì đó chính là quả lớn nhất và kết thúc.

B2: Nếu số quả cam n>1 thì

Chọn 2 quả cam bất kì và so sánh.

Giữ lại quả to hơn.

B3: Nếu không còn quả cam nào chuyển sang bước 5, ngoài ra:

- Chọn một quả cam bất kì khác để so sánh với quả cam giữ lại ở bước

trước.

- Giữ lại quả to hơn.

B4: Trở lại bước 3

B5: Quả giữ lại chính là quả to nhất và kết thúc.

Trong các tiết bài tập tôi thường cho học sinh một chương trình hoặc một đoạn

chương trình có lỗi yêu cầu học sinh phát hiện xem chương trình đó có những lỗi nào

và cách sửa lỗi đó ra sao. Đôi khi gặp những lỗi phức tạp còn yêu cầu học sinh nêu rõ

nguyên nhân tại sao mắc lỗi.

Ví dụ 12: Để tìm số lớn nhất trong 3 số x, y, z được nhập vào từ bàn phím, có

học sinh đã viết chương trình như sau:

Program vd;

Uses crt;

Var x, y, z: integer;

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 19 -

c. Bài tập phát hiện và sửa lỗi chương trình.

Sáng kiến môn Tin Học lớp 11

Begin

Clrscr;

Write(‘ nhap vao 3 so: ’);

Readln(x, y, z);

If x

Else

If x

Write(‘ So lon nhat la: ’, x);

Readln;

End.

Chương trình trên cho đáp số lúc đúng, lúc sai tuỳ thuộc vào x, y, z. Hãy giải

thích tại sao và sửa lại cho đúng.

Ta thực hiện chương trình trên với 2 bộ input sau đây:

x = 4, y = 5, z = 6

x

T (4<5) 4 5 6

5

x = 5, y = 4, z = 7

X

y

x

x

x

5

4

7

F (5<4)

T (5<7)

7

Vậy số lớn nhất là 7 Kết quả đúng

Chương trình trên thực hiện lúc đúng lúc sai do chương trình mới chỉ so sánh 2

số x và y thôi đã đưa ra kết luận. Ta có thể sửa lại chương trình như sau:

Program vd3_1;

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 20 -

Vậy số lớn nhất là 4 Kết quả sai

Sáng kiến môn Tin Học lớp 11

Uses crt;

Var x, y, z, Max: integer;

Begin

Clrscr;

Write(‘ nhap vao 3 so: ’);

Readln(x, y, z);

Max:=x;

If (Max

If (Max

;

Write(‘ So lon nhat la: ’,Max);

Readln;

End.

d. Bài tập rèn luyện kĩ năng khai báo biến và sử dụng các kiểu dữ liệu.

Khi viết chương trình nhiều khi học sinh chưa thể xác định được hết các biến

cần sử dụng trong chương trình nên thường khai báo thiếu biến.

Để rèn luyện kỹ năng khai báo biến và sử dụng các kiểu dưa liệu chuẩn, tôi yêu

cầu học sinh cần xác định rõ bài toán sau khi đọc đề, yêu cầu học sinh xác định rõ

trong chương trình có các biến nào, sử dụng kiểu dữ liệu nào thì phù hợp.

một số lệnh như sau:

…..

Ok:= ‘n’;

J:=round(sqr(n));

If ch= ‘Ok’ then ch:= ‘It is’ + ch;

…..

While kt and (i<=j) do

Begin

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 21 -

Ví dụ 13: Trong một chương trình đã chạy tốt, khi thực hiện không có lỗi có

Sáng kiến môn Tin Học lớp 11

Kt:=Not(n mod i=0);

X:=1.5*j+i;

End;

Hãy viết phần khai báo biến cho đoạn chương trình trên.

Với dạng bài tập này, ta căn cứ vào các câu lệnh đã cho để viết phần khai báo

biến cho chương trình trên như sau:

Var n, i, j : integer;

X: real;

Kt: boolean;

ok: char; ch: string;

Tuy nhiên, ta cũng có nhiều cách để khai báo biến ví dụ biến “ok” có thể thuộc

kiểu string; “j” có thể thuộc kiểu real,…

Kết luận: Học sinh cần phải biết được trong một chương trình thì khai báo

biến nào, để làm gì và kiểu dữ liệu của biến đó. Để làm được điều đó trước tiên học

sinh phải xác định rõ “Input” và “Output” của bài toán tiếp đó là phải nắm rõ được

các kiểu dữ liệu chuẩn và phạm vi khai báo của các biến.

2. Giải pháp 2: Nhấn mạnh nguyên nhân gây lỗi khi sửa lỗi.

Việc làm này giúp học sinh hiểu rõ hơn nguyên nhân mắc lỗi và lần sau không

Ví dụ 1(Trong phần thực trạng)

Sau đó khi chạy chương trình nhập a=100, b=200 máy sẽ báo lỗi tràn bộ nhớ.

Trong trường hợp này cần giải thích rõ tại sao lại lỗi và lỗi trong trường hợp nào?

TH1: nhập x=100, y=200 thì chương trình sẽ tính z=300. Mà trong phần khai

báo chúng ta khai bao z kiểu byte, kiểu byte có phạm vi giá trị là từ 0 đến 255 như

vậy z vượt quá phạm vi khai báo gây ra tình trạng tràn bộ nhớ.

TH2: Tương tự nếu ta nhập x=100, y= -200 thì kết quả z=- 100. Lúc này lại

xảy ra lỗi vì giá trị của c không nằm trong phạm vi giá trị của kiểu byte.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 22 -

mắc phải các lỗi tương tự. Chúng ta quan sát lại ví dụ trong phần trước :

Sáng kiến môn Tin Học lớp 11

TH3: Nếu nhập x = 300, y = - 100 thì mặc dù z := x+y được tính bằng 200

thuộc phạm vi giá trị của kiểu byte thì chương trình vẫn sai vì lúc này chúng ta nhận

thấy a lại vượt quá phạm vi khai báo, b không thuộc phạm vi khai báo.

Kết luận: Để sửa lỗi này chúng ta cần phải chọn kiểu dữ liệu khi khai báo biến

phù hợp. Và trong quá trình nhập dữ liệu cho các biến chúng ta cần phải chọn bộ

“input” phù hợp.

3. Giải pháp 3: Yêu cầu học sinh hình thành thuật toán trước khi viết chương

trình.

Một bài toán có thể có nhiều cách giải khác nhau ứng với mỗi cách giải ta có

một thuật toán. Để giúp học sinh có khả năng nhanh chóng nắm được ý tưởng của

người khác cần luyện cho các em biết giải bài toán theo một thuật toán đã được trao

đổi. Khả năng hiểu được nhanh ý tưởng của người khác cũng chính là yêu cầu trong

hoạt động nhóm. Phát triển khả năng này là phát triển một phẩm chất tư duy quí báu

để các em biết hợp tác trong công việc, một trong những yêu cầu của người lao động,

sáng tạo trong thời đại mới, thời đại mà một sản phẩm là sự kết tinh lao động của

nhiều người. Đó cũng chính là phát triển năng lực tự học, tự giải quyết vấn đề, năng

lực hợp tác của học sinh.

Ví dụ 14: Lập chương trình cắt bỏ các kí tự trống thừa của một xâu cho trước.

Hãy viết chương trình theo thuật toán sau:

Bước 1: Xoá các kí tự trong thừa ở đầu.

Sử dụng vòng lặp while: while xau[1]= ‘ ’ do delete(xau,1,1);

Bước 2: Xoá các kí tự trống ở cuối.

Sử dụng vòng lặp while: while xau[length(xau)]= ‘ ’ do

delete(xau,length(xau),1);

Bước 3: Xoá các kí tự trống thừa giữa các từ.

Kiểm tra 2 kí tự liền kề nhau có hơn 1 kí tự trống thì xoá kí tự trống.

While pos( ‘ ’,xau)<>0 do delete(xau,pos( ‘ ’,xau),1);

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 23 -

Thuật toán như sau:

Sáng kiến môn Tin Học lớp 11

Giáo viên có thể hướng dẫn học sinh phương pháp viết thuật toán đơn giản, dễ hiểu.

Kết luận: Giải pháp này giúp tạo thói quen tốt cho học sinh đó là luôn luôn

hình thành thuật toán trước khi viết chương trình. Điều này sẽ làm hạn chế tối đa

những lỗi xảy ra khi viết chương trình. Trên thực tế, học sinh thường viết chương

trình ngay nhưng thực ra đối với các học sinh viết chương trình tốt thì thuật toán đã

được hình thành trong tư duy của các em rồi.

4. Giải pháp 4: Giải bài toán trong một trường hợp riêng, yêu cầu học sinh phát

hiện thiếu sót để từ đó hoàn thiện chương trình.

Ví dụ 15: Viết chương trình đếm và in ra các số trong 1 xâu đã cho.

Cho đoạn chương trình giải quyết công việc trên như sau:

I:=1; dem:=0;

While i<=length(xau) do

Begin

If (xau[i]>= ‘0’) and (xau[i]<= ‘9’) then

Begin

xauM:= ‘’;

while (xau[i]>= ‘0’) and (xau[i]<= ‘9’) do

begin

i:=i+1;

end;

dem:=dem+1;

val(xauM,a[dem],n);

i:=i-1;

End;

I:=i+1;

End;

Write(‘xau co ’,dem, ‘ so la:’);

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 24 -

xauM:=xauM+xau[i];

Sáng kiến môn Tin Học lớp 11

For i:=1 to dem-1 do write(a[i], ‘,’);

Write(a[dem]);

Đối với bài tập này, giáo viên yêu cầu nhận xét chương trình đã thực hiện đúng

hay chưa, có đúng đối với tất cả các trường hợp hay không?

Học sinh có thể phát hiện chương trình chỉ đúng với xâu chứa các số thông

thường, còn nếu xâu chứa số thực thi chương trình chưa cho kết quả đúng. Từ nhận

xét đó giáo viên hướng dẫn các em bổ sung và chỉnh sửa lại chương trình.

Kết luận: Giải pháp này khiến cho việc phát hiện và sửa lỗi một cách đơn giản

hơn. Các em có thể so sánh giữa các cách giải khác nhau từ đó nhanh chóng tìm ra lỗi

của chương trình.

5. Giải pháp 5: Phân chia bài toán thành nhiều phần.

Trong thực tế, có những bài toán rất phức tạp, gồm nhiều công đoạn. Đối với

những bài toán như vậy, chúng ta cần phải phân chia bài toán thành nhiều phần, giao

cho mỗi nhóm thực hiện một phần của bài toán. Và như vậy, khi cần giải quyết một

vấn đề nào đó bằng máy tính, để viết một chương trình phức tạp ta có thể viết từng

phần chương trình giải quyết từng vấn đề nhỏ.

Ví dụ 11: (trong phần giải pháp 1):

Ở ví dụ này chia bài toán thành các phần sau: xác định bài toán, xây dựng thuật

toán, khai báo biến, viết chương trình.

giúp cho việc giải quyết bài toán mạch lạc, việc kiểm tra sai sót thuận tiện hơn, có thể

thấy kết quả ở từng bước và có thể điều chỉnh kịp thời.

Kết luận: Như vậy, việc phân chia một bài toán thành nhiều bài toán nhỏ sẽ

6. Giải pháp 6: Rèn luyện kĩ năng phát hiện và sửa lỗi bằng việc tích cực cho học

sinh thực hành và sửa lỗi.

Trong dạy lập trình Pascal, việc giúp học sinh nhận ra lỗi và cách sửa các lỗi

đó là rất cần thiết và quan trọng. Để có thể sửa lỗi nhanh chóng cần có sự sự tư duy

và tổng hợp trong quá trình thực hành. Muốn cho học sinh tích lũy được nhiều kinh

nghiệm thì bản thân tôi thường tăng cường cho học sinh thực hành trên máy. Đối với

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 25 -

Sáng kiến môn Tin Học lớp 11

các bài “ Bài tập và thực hành” tôi thường cho học sinh viết chương trình trực tiếp

trên máy sau đó yêu cầu học sinh chạy tự tìm ra lỗi và nguyên nhân. Đối với các lỗi

phức tạp yêu cầu học sinh ghi nhớ bằng cách chạy nhiều bộ input khác nhau hoặc ghi

chép vào vở chi tiết.

Ví dụ 6 (trong phần thực trạng)

Giải pháp: Để khắc phục học sinh cần ước lượng được giá trị của hàm và khai

báo kiểu trả về của hàm phù hợp.

Ví dụ 7:

Function GT(n:integer):Longint;

Var i:integer;

Begin

For i:=2 to n do GT:=GT*i;

End;

Giải pháp: Để tránh lỗi này cần lưu ý với học sinh: để trả kết quả cho hàm

(không đệ quy), tốt nhất nên tính kết quả hàm vào một biến cục bộ, trước khi kết thúc

ta mới gán tên hàm bằng giá trị biến này để trả giá trị về cho hàm.

Ví dụ 8: (trong phần thực trạng)

Giải pháp: Khi khai báo biến đếm tuyệt đối không sử dụng kiểu dữ liệu thực.

Giải pháp: Biến được khai báo dùng để gán cho phép chia phải được sử dụng

kiểu dữ liệu thực.

Ví dụ 10: (trong phần thực trạng)

Giải pháp: Ví dụ trên đã rơi vào vòng lặp vô hạn bởi giá trị của i bao giờ cũng

nhỏ hơn 10. Để sửa lỗi trên học sinh cần phải thêm câu lệnh làm thay đổi giá trị của

i vào sau “do”.

Ví dụ 9: (trong phần thực trạng)

Kết luận: Giải pháp này giúp các em tích lũy kinh nghiệm về việc phát hiện và

sửa lỗi đồng thời phát huy năng lực tự học tự giải quyết vấn đề.

7. Giải pháp 7: Tạo tình huống mắc lỗi yêu cầu học sinh phát hiện và sửa lỗi.

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 26 -

Sáng kiến môn Tin Học lớp 11

Để thực hiện giải pháp này, tôi thường đưa ra các bài tập yêu cầu học sinh làm

mà không hề nhắc đến việc các dữ liệu của bài tập có vấn đề và để tự học sinh phát

hiện ra điều đó. Việc này nhằm giúp cho học sinh khắc sâu và lần sau không mắc

phải những lỗi tương tự. Đây cũng là một cách giúp các em được “làm quen” với các

lỗi một cách hay nhất. Đối với những lỗi mà giáo viên tạo tình huống như vậy thì học

sinh thường nhớ lâu hơn, điều đó cũng có nghĩa là lần sau học sinh sẽ không mắc

phải các lỗi đó nữa.

Ví dụ 3 (Trong phần thực trạng)

Giải pháp: Khi thực hiện từng bước chương trình ta có thể khắc phục lỗi trên

bằng cách gán lại giá trị ban đầu cho biến đếm i=2.

Ví dụ 4 (Trong phần thực trạng)

Giải pháp: Để khắc phục lỗi này, chỉ cần chú ý các vòng lặp lồng nhau phải sử

dụng biến điều khiển khác nhau.

Ví dụ 5 (Trong phần thực trạng)

Giải pháp: Yêu cầu học sinh ghi nhớ các quy tắc của Pascal khi viết chương

trình đặc biệt trong câu lệnh ghép, trong các vòng lặp. Giải thích cho học sinh hiểu

rằng câu lệnh rẽ nhánh phải hết câu lệnh sau “else” mới kết thúc và lúc đó mới cần

dấu “;”.

Kết luận: Giải pháp này giúp các em khắc sâu hơn nữa các lỗi đã phát hiện và

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 27 -

cách sửa. Ngoài ra nó còn phát huy năng lực hợp tác.

Sáng kiến môn Tin Học lớp 11

CHƯƠNG III: THỰC NGHIỆM SƯ PHẠM

1. Mục đích:

 Thực nghiệm sáng kiến nhằm mục đích xác định tính khả thi của sáng kiến.

 Đối chiếu kết quả giữa các đối tượng thực hiện sáng kiến với các đối tượng

không thực hiện sáng kiến nhằm đánh giá hiệu quả của sáng kiến.

2. Đối tượng:

Để đảm bảo khách quan và chính xác, đối tượng thực nghiệm sáng kiến là các

học sinh lớp 11 có học lực tương đương nhau, trong đó:

 Lớp thực nghiệm: 11A.

 Lớp đối chứng: 11B.

3. Thời gian tiến hành:

Từ tháng 9 năm 2017 đến tháng 4 năm 2018.

4. Quá trình thực nghiệm:

B1: Khảo sát chất lượng đối tượng thực nghiệm và đối tượng đối chứng.

B2: Áp dụng sáng kiến với đối tượng đối thực nghiệm

B3: Khảo sát chất lượng sau khi thực nghiệm s ở các lớp thực nghiệm và lớp

đối chứng.

5. Kết quả:

chứng:

Sau đây là kết quả học kì 2 thu được ở các lớp thực nghiệm và các lớp đối

Xếp loại

Giỏi

Khá

Kém

Ghi chú

TB

Yếu

Lớp

(%)

(%)

(%)

(%)

11B

9.28

36.1

49.72

4.9

0

Đối chứng

11A

16,6

69,4

14

0

0

Thực nghiệm

Như vậy, theo thống kê ở trên, sau khi áp dụng đề tài thì kết quả tăng lên rõ rệt.

PHẦN II: KẾT LUẬN VÀ KIẾN NGHỊ

1. Kiến nghị:

a. Đối với Ban giám hiệu:

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 28 -

Sáng kiến môn Tin Học lớp 11

Tiếp tục đầu tư xây dựng, hoàn thiện cơ sở vật chất, thiết bị, sách tham khảo

cho bộ môn Tin học. Tham mưu với Sở Giáo Dục và Đào tạo để có thể tổ chức nhiều

buổi tập huấn, bồi dưỡng chuyên môn hơn cho giáo viên Tin học.

b. Đối với tổ chuyên môn:

Phân công công việc rõ ràng cho từng thành viên. Tích cực tổ chức thảo luận,

họp nhóm để chia sẻ kinh nghiệm giảng dạy.

2. Kết luận:

Qua việc nghiên cứu và thực hiện sáng kiến trên, tôi nhận thấy có những thay

đổi đáng kể trong quá trình dạy và học. Điều đó cho thấy nó có những ý nghĩa nhất

định đó là:

Thứ nhất, sáng kiến trên không chỉ giúp cho học sinh phát hiện, sửa các lỗi

thường gặp mà nó còn giúp cho các em thêm yêu thích môn Tin học. Nhiều học sinh

thể hiện hứng thú một cách rất rõ ràng: như tích cực làm bài tập về nhà, tích cực trao

đổi bài với bạn bè, giáo viên, chất lượng các bài kiểm tra tăng lên rõ rệt.

Thứ hai, sáng kiến trên còn giúp những giáo viên dạy môn tin học mà cụ thể là

bản thân tôi cảm thấy yêu nghề hơn. Mỗi khi bước vào lớp cảm nhận được sự hứng

thú của học sinh trong các tiết học khiến cho giáo viên truyền đạt kiến thức một cách

say mê hơn. Trong các tiết bài tập và thực hành giáo viên cũng tiết kiệm được rất

nhiều thời gian khi không phải sửa các lỗi đã gặp cho học sinh.

lực riêng của môn Tin học trong chương trình giáo dục phổ thông. Đó cũng là một

trong những yêu cầu cấp thiết đặt ra trong bối cảnh giáo dục hiện nay. Qua thực

nghiệm sáng kiến trên ở một số lớp, tôi thấy các em đã phát huy các năng lực như

năng lực tự học, tự giải quyết vấn đề, năng lực sáng tạo, năng lực công nghệ thông tin

nâng cao, năng lực khoa học máy tính...

Trên đây là toàn bộ các sáng kiến của chúng tôi khi giúp học sinh tránh các lỗi

thường gặp tronọc lớp 11. Mặc dù đề tài đã được áp dụng và bước đầu đã có kết quả

tương đối tốt nhưng do còn hạn chế về điều kiện thời gian, năng lực và trình độ của

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 29 -

Thứ ba, đề tài trên còn giúp học sinh phát huy một số năng lực chung và năng

Sáng kiến môn Tin Học lớp 11

bản thân nên rất mong nhận được ý kiến đóng góp của quý đồng nghiệp để sáng kiến

có thể hoàn thiện và đạt hiệu quả cao hơn nữa.

Chúng tôi xin chân thành cảm ơn!

Ninh Bình, ngày 20 tháng 4 năm 2018

Người thực hiện

Trịnh Thị Kim Phương

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 30 -

Nguyễn Thị Chinh

Sáng kiến môn Tin Học lớp 11

DANH MỤC TÀI LIỆU THAM KHẢO

1) Sách giáo khoa, sách giáo viên tin học lớp 11- Hồ Sĩ Đàm (chủ biên)

2) Sách bài tập tin học 11- NXB Giáo Dục

3) “Giải một bài toán trên máy tính như thế nào”- GS-TS Hoàng Kiếm

4) Ngôn ngữ lập trình Pascal- Quách Tuấn Ngọc

5) Các bài tập tham khảo ở đĩa CD “100 bài Toán - Tin”

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 31 -

6) Các tài liệu trên mạng internet.

Sáng kiến môn Tin Học lớp 11

MỤC LỤC

PHẦN I. NỘI DUNG CHƯƠNG I: CƠ SỞ KHOA HỌC VÀ THỰC TRẠNG

1. Cơ sở lý luận 7

2. Cơ sở thực tiễn 8

3. Thực trạng 9

CHƯƠNG II: ĐỀ XUẤT CÁC GIẢI PHÁP

1. Giải pháp 1 15

2. Giải pháp 2 20

3. Giải pháp 3 21

4. Giải pháp 4 22

5. Giải pháp 5 23

6. Giải pháp 6 24

7. Giải pháp 7 24

CHƯƠNG III: THỰC NGHIỆM SƯ PHẠM

1. Mục đích 26

2. Đối tượng 26

3. Thời gian tiến hành 26

4. Quá trình thực nghiệm 26

5. Kết quả 26

PHẦN II. KẾT LUẬN VÀ KIẾN NGHỊ

1. Kiến nghị 2. Kết luận

Danh mục tài liệu tham khảo

27 27 29

Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11 - 32 -