Tải bản đầy đủ (.docx) (26 trang)

NHỮNG KỸ NĂNG CƠ BẢN ĐỂ GIẢI BÀI TOÁN TRÊN MÁY TÍNH BẰNG NGÔN NGỮ LẬP TRÌNH PASCAL

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 (181.28 KB, 26 trang )

CHƯƠNG I:
TỔNG QUAN
I. CƠ SỞ LÝ LUẬN:
Qua giảng dạy môn Tin học ở trường THCS Thanh Thuỷ, bản thân tôi nhận
thấy rằng nhiều học sinh lớp 8 cảm thấy môn lập trình Pascal khó, khơ khan và cực
kỳ rời rạc. Mới đầu các em cũng rất sợ vì khi thấy giải một bài tốn ở ngồ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
tốn đó mà phải làm đến hàng chục phút mà có thể cho kết quả sai. Pascal trở nên
quá xa lạ và khó khăn đối với người sử dụng và nhất là đối với học sinh THCS là
những người đang trực tiếp ứng dụng ngơn ngữ lập trình này.
Tâm lý các em đều cho rằng mơn Tin học khơng phải là mơn học chính, do đó
khơng cần phải để tâm đến "nó". Những tiết học lý thuyết thì ghi chép qua loa cho
xong chuyện bằng khơng thì ghi chép "giả vờ" để thầy cơ khỏi chú ý hay nhắc nhở
trong lúc giảng bài. Trong những tiết thực hành chỉ một vài học sinh thật sự chú tâm
suy nghĩ xây dựng thuật toán, viết chương trình đa số cịn lại tranh thủ chơi game
hoặc làm việc riêng. Buồn thay cho một số học sinh khi được kiểm tra vở tại thời
điểm sắp kết thúc học kỳ 2 mà chỉ ghi được 5 bảy trang cho cả một chương trình
khá dài trong cuốn Tin học quyển 3.
Xét ở một góc độ nào đó Lập trình cũng là một mơn học khó đối với học sinh
THCS. Khó ở đây khơng phải do tính phức tạp của mơn học hay phạm vi kiến thức
quá rộng lớn. Nếu đem so sánh mơn học Lập trình và các phân mơn Tốn học ở
trường THCS thì Lập trình Pascal gọn nhỏ hơn nhiều lần.
Lập trình Pascal "khó" đối với học sinh THCS ở chỗ: Mơi trường lập trình
Pascal có giao diện và các từ khóa đều bằng tiếng Anh, các dịng thơng báo hay trợ
giúp cũng vậy. Bình diện chung học sinh THCS vốn tiếng Anh không nhiều, đa số
các em cịn hạn chế về tiếng Anh. Đây là một khó khăn cho việc hiểu được Pascal.
Một vấn đề nữa cũng là rào cản đối với việc các học sinh THCS tiếp cận với
lập trình Pascal đó là: Tư duy Tốn của các em dừng lại ở mức độ Sách giáo khoa
Tốn THCS do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bài
toán hay vấn đề cần lập trình chưa tốt. Các em vẫn thụ động trong việc tiếp cận bài
toán, sắp xếp tư duy, xây dựng thuật giải.


Từ thực tế trên, trong quá trình dạy học tôi luôn
băn khoăn trăn trở làm thế nào nâng cao chất lượng kỹ năng lập trình cho học sinh
lớp 8. Việc tiếp cận với mơn học rất khó khăn, phải làm rất nhiều lần và thực hành
rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu. Do đó sẽ rất khó khăn để
các em hình thành kỹ năng viết chương


2
trình. Nhất là những năm gần đây Ngành giáo dục ln thành lập đội tuyển tham dự
kì thi học sinh giỏi môn Tin học lớp 8, 9, thi THPT chuyên Tin…. Điều đó đã thúc
đẩy tơi trong q trình giảng dạy phải nghiên cứu tìm tịi biện pháp, kinh nghiệm để
giúp cho các em có sự đam mê học tập về lập trình, giúp các em biết được quy trình
lập trình như thế nào và định hướng cho học sinh cách để trở thành một nhà lập trình
thì cần phải biết “Những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngơn
ngữ lập trình Pascal”. Giúp các em u thích lập trình và học lập trình trong sự
hứng thú.
II. PHƯƠNG PHÁP TIẾP CẬN TẠO RA SÁNG KIẾN
1. Nghiên cứu lý thuyết:
Cơ sở để tìm hiểu kỹ năng cơ bản để giải bài tốn trên máy tính bằng ngơn
ngữ lập trình Pascal trong Tin học quyển 3. Tìm hiểu phương pháp dạy học, chuẩn
kiến thức kỹ năng môn Tin học ở trường phổ thông, Tài liệu bồi dưỡng giáo viên,
Sách giáo khoa Tin 8...
2. Nghiên cứu thực tế:
- Thông qua học sinh làm được bài thi trong các kỳ kiểm tra học kỳ, thi học
sinh giỏi các cấp.
- Thăm dò ý kiến học sinh và đồng nghiệp.
- Phương pháp quan sát khoa học: Quan sát ý thức thái độ học tập của học
sinh ở các tiết học trong quá trình dạy học và các tiết dự giờ.
- Phương pháp điều tra: Điều tra hứng thú học tập và kết quả học tập của học
sinh

- Phương pháp phân tích và tổng hợp lý thuyết: Nghiên cứu các tài liệu, lý
luận khác nhau tạo ra một hệ thông lý thuyết mới đầy đủ và sâu sắc về giải bài toán
bằng cách lập trình Pascal.
- Phương pháp phân loại và hệ thống hóa lý thuyết: Sắp xếp, lựa chọn các bài
tốn theo dạng và cách giải cho từng dạng. Hệ thống các dạng, các bài tập từ dễ đến
khó, các điểm cần lưu ý khi giải bài tập.
III. MỤC TIÊU CỦA SÁNG KIẾN
- Giúp học sinh biết được: Các bước giải bài tốn bằng cách lập trình, các
u cầu khi giải bài tốn bằng cách lập trình và các dạng bài tập khi giải bài tốn
bằng cách lập phương trình.


3
- Giúp học sinh hình thành được phương pháp giải bài tốn bằng cách lập
trình nói chung và phương pháp giải từng dạng bài tập nói riêng.
- Phương pháp dạy học phù hợp với năng lực của học sinh, đặc biệt động viên
khích lệ học sinh yếu để gây hứng thú học tập cho học sinh.
- Tích hợp các mơn học như toán, tiếng anh, …
- Tạo cho học sinh niềm hứng thú và say mê trong lập trình

để từ đó giúp cho các
em phát huy tính tích cực, tự giác, chủ động, sáng tạo, rèn luyện thói quen làm việc độc
lập và kỹ năng lập trình. Bên cạnh đó, học sinh còn biết vận dụng để giải quyết các bài
toán thường gặp trong thực tế; gây hứng thú trong học tập, làm cho “học” là quá trình
kiến tạo; là niềm say mê để từ đó học sinh biết khai thác và xử lý thơng tin, tự hình
thành hiểu biết, năng lực và phẩm chất.
- Khi thực hiện nội dung này bản thân tôi là giáo viên tin học cũng thấy mình
trở nên năng động, sáng tạo, phát huy được chun mơn của mình.



4
CHƯƠNG II:
MÔ TẢ SÁNG KIẾN
I. VẤN ĐỀ CỦA SÁNG KIẾN :
1. Thực trạng của vấn đề
Qua quan sát ý thức thái độ học tập của học sinh ở các tiết học trong quá
trình dạy học và các tiết dự giờ cùng với kinh nghiệm giảng dạy cho thấy: Việc giải
bài tốn trên máy tính bằng ngơn ngữ lập trình Pascal (PC) đối với học sinh THCS
là một việc làm mới mẻ. Đề bài cho không phải là những những cái có sẵn như
trong tốn học mà bắt buộc học sinh phải chuyển đổi được mối quan hệ giữa các đại
lượng được mơ tả bằng tốn học sang ngơn ngữ lập trình PC. Nội dung của các bài
tốn này, hầu hết đều gắn với toán học, gắn với các hoạt động thực tế của con người,
xã hội hoặc tự nhiên, … Do đó khi giải tốn học sinh thường mắc sai lầm và khó
chuyển sang ngơn ngữ lập trình PC. Mặt khác, nội dung bài: “Giải bài tốn trên máy
tính bằng ngơn ngữ lập trình” trong sách giáo khoa tin học 8 quyển 3 mới chỉ đưa ra
được các ví dụ, chưa phân loại dạng toán, chưa khái quát được cách giải cho mỗi
dạng.
2. Những tồn tại, hạn chế
- Kết quả mơn học cịn chưa thực sự tốt
- Một số học sinh chưa đam mê với môn Tin học 8
- Môn Tin học 8 là mơn học khó (Kiến thức tự nhiên, khơ khan, cứng nhắc,
chương trình học nặng, địi hỏi học sinh trong q trình học tập phải có óc quan sát
thực tế, phải tư duy toán học)
- Học sinh trong trường một phần tư duy cũng như việc tiếp thu kiến thức của
các em còn hạn chế.
Khi chưa áp dụng SKKN, tôi đã tiến hành kiểm tra khảo sát 3 lớp 8 của
trường THCS Thanh Thủy vào dịp đầu học kỳ I năm học 2021 – 2022.
Đề khảo sát (Thời gian 30 phút)
Khởi động Free Pascal và viết chương trình để tính các biểu thức sau đây:



5

Kết quả:
Lớp

Số HS

8A

Giỏi

Khá

TB

Yếu, Kém

TS

%

TS

%

TS

%


TS

%

45

22

48,9

14

31,1

9

20,0

0

0

8B

45

14

31,1


20

44,4

10

22,2

1

2,2

8C

45

12

26,7

16

35,6

14

31,1

3


6,6

3. Nguyên nhân của những tồn tại, hạn chế
- Xét ở một góc độ nào đó Lập trình cũng là một mơn học khó đối với học
sinh THCS. Khó ở đây khơng phải do tính phức tạp của môn học hay phạm vi kiến
thức quá rộng lớn. Nếu đem so sánh mơn học Lập trình và các phân mơn Tốn học ở
trường THCS thì Lập trình PC gọn nhỏ hơn nhiều lần.
- Lập trình PC "khó" đối với học sinh THCS ở chỗ: mơi trường lập trình PC
có giao diện và các từ khóa đều bằng tiếng Anh, các dịng thơng báo hay trợ giúp
cũng vậy. Bình diện chung học sinh THCS vốn tiếng Anh không nhiều, đa số các em
còn hạn chế về tiếng Anh. Đây là một khó khăn cho việc hiểu được PC.
- Số lượng học sinh trong một lớp học cịn q đơng trên 40 học sinh một lớp,
diện tích phịng máy nhỏ hẹp, khơng khí trong phịng máy khơng thống mát làm
cho học sinh không tập trung vào bài giảng ... ảnh hưởng rất lớn trong quá trình
giảng dạy và học tập.
- Vẫn còn một số em học sinh tiếp thu kiến thức còn chậm, đặc biệt là kỹ
năng cơ bản để giải bài tốn trên máy tính bằng ngơn ngữ lập trình PC.
- Sự quan tâm của phụ huynh đến việc học tập của con em chưa cao, ít có
điều kiện chăm sóc, giáo dục và định hướng cho con em trong việc học tập.
- Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nên chưa
có sự đầu tư thời gian cho việc học. Ngồi ra, ở chương trình Tin học 8, các em phải


6
làm quen, tiếp cận với ngơn ngữ lập trình PC là một phần mềm có cấu trúc phức tạp,
ngơn ngữ lập trình bằng tiếng anh. Mặc khác để thực hiện được một chương trình thì
các em phải có một kiến thức tốn học nhất định.
4. Tính cấp thiết cần tạo ra sáng kiến
- Hiện nay nước ta cũng như các nước trên thế giới đang cạnh tranh về
nghành công nghệ chế tạo máy cũng như các sản phẩm phần mềm giúp ích cho con

người trên mọi lĩnh vực. Vậy làm thế nào để làm được điều đó: nhờ vào ngành công
nghệ thông tin (CNTT).
- Nền tin học của một quốc gia được xem là sự phát triển nếu nó đóng góp
được phần đáng kể vào nền kinh tế quốc dân và vào kho tàng tri thức chung của thế
giới.
- Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về CNTT với sự trợ
giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng suất và tự
động hóa ngày một hiệu quả hơn và một trong những ứng dụng khơng thể khơng
nhắc đến đó là những ứng dụng phần mềm của máy tính với nền CNTT hiện nay.
Phần mềm máy tính ngày một đi lên và phát triển với những ngơn ngữ lập trình khác
nhau và cụ thể là ngơn ngữ lập trình PC. PC là một ngơn ngữ lập trình có cú pháp
chặt chẽ, đơn giản và dễ hiểu.
- Do vậy, Việt Nam nói chung và ngành giáo dục đào tạo nói riêng phải đầu tư
phát triển về mọi mặt. Đặc biệt là nguồn nhân lực tri thức tức là phải đào tạo ra một thế
hệ trẻ năng động, thông minh, độc lập, sáng tạo, nắm vững tri thức khoa học công nghệ
để làm chủ trong mọi hồn cảnh cơng tác và hoạt động xã hội nhằm đáp ứng được nhu
cầu trong thời kì cơng nghiệp hố, hiện đại hố đất nước.
- Là một giáo viên Tin học một trong các mục tiêu khi đưa tin học vào trường
học là nhằm giúp học sinh khơng chỉ biết soạn thảo mà cịn phải có khả năng phân
tích, tổng hợp, trừu tượng hố, khái qt hố vấn đề và đặc biệt là phát triển tư duy,
sáng tạo, làm nền tảng để học tốt các môn hoa học khác.
- Từ thực tế trên, tôi mạnh dạn viết sáng kiến với hy vọng chia sẻ kinh
nghiệm dạy học với đồng nghiệp, đồng thời cùng nhau vận dụng vào thực tiễn dạy
học môn Tin học 8 THCS, giúp học sinh hứng thú học tập, khuyến khích tự học, tự
cập nhật và đổi mới tri thức, kỹ năng, phát triển năng lực; từ đó nâng cao chất lượng
mơn học.
II. CÁC GIẢI PHÁP ĐỂ THỰC HIỆN SÁNG KIẾN
Pascal là 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 nhiều



7
thế hệ học sinh, là ngơn ngữ vỡ lịng trong chương trình học. Ở mơi trường này, học
sinh sở hữu một lượng tài nguyên là các kiểu dữ liệu đơn giản, cùng với các câu
lệnh rõ ràng, trong sáng, nhất qn và rất dễ thuộc. Tuy nhiên, nó địi hỏi người lập
trình tài bố cục, thiết kế một thuật tốn sao cho đúng đắn, hiệu quả và tối ưu, rồi vận
dụng các quy tắc cú pháp để viết ra được những câu lệnh phù hợp. Vì thế kỹ năng
cơ bản để giải bài tốn trên máy tính bằng ngơn ngữ lập trình PC thì cần các bước
sau:
- Xác định bài tốn
- Tìm cấu trúc dữ liệu biểu diễn thuật tốn
- Xây dựng thuật tốn
- Viết chương trình
- Kiểm thử chương trình
- Tối ưu chương trình.
1. Xác định bài tốn:
1.1. Khái niệm bài tốn:
Đã là học sinh thì thường xun gặp các bài toán ở nhiều dạng khác nhau
trong mọi cấp học. Tuy nhiên khơng phải bài tốn nào cũng dễ dàng để thực hiện
được và cho kết quả tốt. Nhưng đối với bất kỳ một bài tốn nào thì học sinh cũng
được giáo viên hướng dẫn là phải đọc kỹ đề rồi xác định nó : A  B
Trong đó:
A là giả thiết: Điều kiện ban đầu hay cái đã cho khi bắt đầu giải bài toán.
B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra khi kết thúc
bài toán.
 là suy luận: Giải pháp cần xác định hay một chuỗi các bước cần thực hiện
từ A đến B.
1.2. Bài toán trên máy vi tính:
Bài tốn trên máy cũng mang đầy đủ các tính chất của bài tốn tổng qt trên,
nhưng nó lại được diễn đạt theo một các khác.

- A: Là đưa thông tin vào – thông tin trước khi xử lý (Input)
- B: Là đưa thông tin ra – kết quả sau khi xử lý (Output)
- : Là chương trình tạo từ các câu lệnh cơ bản của máy tính cho phép xử lý
từ A đến B.
1.3. Xác định bài toán:
Việc xác định bài toán là xác định xem ta phải giải quyết vấn đề gì? Với giả
thiết nào đã cho và với lời giải cần đạt những yêu cầu gì. Khác với các bài toán
thuần túy trong toán học là chỉ cần xác định rõ giả thiết và kết luận chứ không cần
xác định yêu cầu về lời giải, đôi khi những bài toán tin học trong thực tế chỉ cần tìm


8
lời giải tốt tới mức nào đó, thậm chí là chỉ ở mức chấp nhận được (nếu lời giải tốt
nhất địi hỏi q nhiều thời gian và chi phí).
Input  Process  Output (Dữ liệu vào  Xử lý  Kết quả ra)
1.4. Một số ví dụ:
Ví dụ 1: Tính diện tích hình vng.
Các bước xác định cho bài tốn:
- Thơng tin vào (Input): Cạnh hình vng a
- Thơng tin ra (Output): Kết quả diện tích khi đưa a vào
- Các dữ liệu cần xử lý để chế biến thông tin như:
+ Lần lượt đưa giá trị a vào (cho a = 4)
+ Áp dụng cơng thức tính diện tích hình vng: a*a.
+ Kết quả in ra là 16.
Ví dụ 2: Giải phương trình bậc nhất dạng tổng quát bx + c =0
Các bước xác định cho bài tốn:
- Thơng tin vào (Input): Các số b, c
- Thông tin ra (Output): Nghiệm của phương trình bậc nhất
- Các dữ liệu cần xử lý để chế biến thông tin như:
+ Lần lượt đưa giá trị b, c vào (b = 3; c= - 6)

+ Áp dụng công thức:
Nếu b = 0 và c = 0 thì phương trình có vơ số nghiệm
Nếu b = 0 và c ≠ 0 thì phương trình vơ nghiệm
Nếu b ≠ 0 thì phương trình có nghiệm x = - c/b;
+ Kết quả in ra là x = 2
2. Tìm cấu trúc dữ liệu biểu diễn thuật toán:
Cấu trúc dữ liệu (data structure): Là kiểu dữ liệu mà bên trong nó có chứa
nhiều thành phần dữ liệu và các thành phần dữ liệu đấy được tổ chức theo một cấu
trúc nào đó. Nó dùng để biểu diễn cho các thơng tin có cấu trúc của bài tốn. Cấu
trúc dữ liệu thể hiện khía cạnh logic của dữ liệu. Ví dụ cấu trúc dữ liệu đơn giản
nhất trong chương trình tin học lớp 8 là mảng.
Các tiêu chuẩn khi lựa chọn cấu trúc dữ liệu:


9
- Cấu trúc dữ liệu trước hết phải biểu diễn được đầy đủ các thông tin nhập và
xuất của bài toán.
- Cấu trúc dữ liệu phải phù hợp với các thao tác của thuật toán mà ta lựa chọn
để giải quyết bài toán.
- Cấu trúc dữ liệu phải cài đặt được trên máy tính với ngơn ngữ lập trình đang
sử dụng.
- Đối với một số bài toán, trước khi tổ chức dữ liệu ta phải viết một đoạn
chương trình nhỏ để khảo sát xem dữ liệu cần lưu trữ lớn tới mức độ nào.
3. Xây dựng thuật toán:
Đây là bước khó nhất đối với học sinh và cũng cho giáo viên khi dạy phần
này vì các em quen giải bài tốn cụ thể nào đó và giải bài tốn bằng ngơn ngữ tự
nhiên mà các em đã học cịn bây giờ các em phải xây dựng thuật toán của một bài
tốn tổng qt và bằng ngơn ngữ lập trình của máy.
1.1. Khái niệm thuật toán:
Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định

một dãy thao tác trên cấu trúc dữ liệu sao cho: với một bộ dữ liệu vào (Input), sau số
hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được kết quả đã định (Output).
INPUT

THUẬT TOÁN

OUTPUT

1.2. Phương pháp biểu diễn thuật toán:
Trong phần này chúng ta cần đưa ra một phương pháp mơ tả thuật tốn một
cách khoa học để học sinh nhận biết được quy trình làm việc của máy vi tính (Ngơn
ngữ lập trình) làm việc như thế nào. Ở bước này đòi hỏi người lập trình cần có
những hiểu biết cơ bản về tốn học thì khả năng biểu diễn thuật tốn sẽ trở nên đơn
giản hơn và sẽ thấy bài toán trở nên gần gũi. Vì vậy trong phần này tơi sẽ đã đưa ra
hai phương pháp mơ tả thuật tốn một cách rõ ràng và khoa học nhất để các em dễ
dàng mơ tả thuật tốn đúng theo ý tưởng của mình.
1.2.1. Phương pháp biểu diễn từng bước:
Phương pháp:
- Các thao tác của giải thuật được liệt kê từng bước


10
- Tại mỗi bước, sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải làm.
- Bước đứng trước (có số thứ tự nhỏ hơn) được thực hiện trước, thực hiện
xong bước này mới chuyển sang bước khác, không nhập nhằng.
Thuật tốn “Tìm vị trí xuất hiện đầu tiên của một số nguyên trong dãy số
nguyên đã cho”:
- Bước 1: Nhập dãy số nguyên
- Bước 2: Nhập số nguyên a
- Bước 3: Gán cho phần tử so sánh (x) giá trị của số đầu tiên trong dãy

- Bước 4: So sánh a với x
+ Nếu a = x thì ghi nhận vị trí của phần tử x (i)
+ Nếu a ≠ x và x chưa phải phần tử cuối cùng trong dãy thì gán x bằng
phần tử tiếp theo và lặp lại bước 4.
+ Nếu a ≠ x và x là phần tử cuối cùng của dãy thì gán i = 0
- Bước 5: Nếu i ≠ 0 thì đưa ra vị trí cần tìm là i, ngược lại thơng báo khơng
tìm thấy.
- Bước 6: Kết thúc.
Thuật tốn “Tìm ước số chung lớn nhất của 2 số nguyên dương a, b.
- Bước 1: Nhập 2 số nguyên dương là a, b
- Bước 2: So sánh giá trị a và b. Nếu a bằng b thì sang bước 3, ngược lại a
khác b thì sang bước 4
- Bước 3: Tìm được ước số chung là a và kết thúc chương trình.
- Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a:= a - b và quay trở
lại bước 2. Ngược lại ước số chung là b:= b - a và quay trở lại bước 2
2.1.2. Phương pháp biểu diễn bằng sơ đồ khối:
Phương pháp:
- Sử dụng mũi tên

để quy định trình tự thực hiện các thao tác

- Sử dụng các hình khối để minh hoạ cho các lệnh hay thao tác.
Thuật tốn “Tính chu vi, diện tích hình tam giác”


11
Begin

Đọc a, b, c


Sai

(a+b >c) and (b+c >a)
and (a+c >b)

In “Không tạo thành tam giác”

Đúng
C := (a + b + c)
p := C/2
S :=

p * ( p  a) * ( p  b) * ( p  c)
In ra C, S

Thuật tốn “Tìm giá
Endtrị lớn nhất của 1 dãy số nguyên
Begin

Nhập N và dãy a1, ...
Max a1 , i 2

Sai
i >N
Đúng
Đưa ra Max

Ai > Max

Sai


Đúng
Max ai

3. Tính chất của thuật tốn:
i i+1
- Tính dừng: Thuật tố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.
- Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật tốn kết thúc
End.
hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo.


12
- Tính đúng đắn: Sau khi thuật tốn kết thúc, ta phải nhận được Output cần tìm.
Ví dụ: Với thuật tốn tìm giá trị lớn nhất của dãy số ngun đã xét ở trên
- Tính dừng: Vì giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i> N, khi đó
kết quả phép so sánh ở bước 3 xác định việc đưa ra giá trị Max rồi kết thúc.
- Tính xác định: Thứ tự thực hiện các bước của thuật toán được mặc định là
tuần tự nên sau bước 1 là bước 2, sau bước 2 là bước 3. Kết quả các phép so sánh
trong bước 3 và bước 4 đều xác định duy nhất bước tiếp theo cần thực hiện.
- Tính đúng đắn: Vì thuật toán so sánh Max với từng số hạn của dãy số và
thực hiện Max  ai nếu ai > Max nên sau khi so sánh hết N số hạng của dãy thì Max
là giá trị lớn nhất.
4. Viết chương trình
Viết chương trình là dùng ngơn ngữ lập trình cụ thể nào (Ngơn ngữ Pascal) để
diễn tả thuật tốn, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện được và
giải quyết đúng bài toán mà người viết chương trình mong muốn. Và đây cũng là một
trong những bước then chốt của người lập trình.
Sau khi đã có thuật tốn ta phải lập trình để thực hiện thuật tốn đó. Muốn lập

trình đạt hiệu quả cao, cần phải có kỹ thuật lập trình tốt. Kỹ thuật lập trình tốt thể hiện
ở kỹ năng viết chương trình, khả năng gỡ rối và thao tác nhanh.
Lập trình tốt khơng chỉ nắm vững ngơn ngữ lập trình là đủ, mà phải biết cách
viết chương trình một cách uyển chuyển, khơn khéo và phát triển dần dần để chuyển
các ý tưởng ra thành chương trình hồn chỉnh. Để đạt được những điều trên thì cơ bản
học sinh phải nắm được cấu trúc chung của một chương trình PC cần có những thành
phần nào.
Một chương trình Pascal có các phần:
a. Phần khai báo :
Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chương trình
và chấm dứt bằng dấu chấm phẩy (;). Tên chương trình phải được đặt theo đúng qui
cách của danh hiệu tự đặt (thỏa mãn quy ước đặt tên trong PC). Phần này có thể có
hoặc khơng có cũng được.
Ví dụ:

Program Lap_trinh_Pascal;
Program bai_tap;

Trình tự tiếp theo của một chương trình PC có thể có một số hoặc tất cả các
khai báo dữ liệu sau:


13
CONST: Khai báo hằng
TYPE: Định nghĩa kiểu dữ liệu mới
VAR: Khai báo các biến có dùng trong chương trình
Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần
trong chương trình (có nghĩa là giá trị nào thường xuyên xuất hiện trong chương
trình thì ta cần khai báo hằng)
Ví dụ: Khai báo hằng

Const MaxN= 100;
KQ = ‘Ketqua’;
Và khi viết chương trình thay vì ghi giá trị cụ thể thì ta sử dụng tên hằng đã
khai báo (đã khai báo hằng MaxN = 100 thì quá trình viết chương trình chỉ cần sử
dụng hằng MaxN thay cho giá trị 100)
Trong quá trình lập trình nếu phát sinh những kiểu dữ liệu mới cần sử dụng
thì phải khai báo bằng từ khóa Type.
Ví dụ 1: Khai báo kiểu mảng một chiều
Type Kmang = array [1..100] of integer ;
Ví dụ 2: Khai báo kiểu bản ghi
Type
Hocsinh = record;
Hoten: string [50];
Ngaysinh: string [10];
Tin, toan, ly: real;
End;
Tất cả các biến dùng trong chương trình đều phải đặt tên và phải khai báo (sử
dụng từ khóa Var) cho chương trình dịch biết để lưu trữ và xử lí. Biến chỉ nhận một
giá trị tại mỗi thời điểm thực hiện chương trình. Tên biến dùng để xác lập quan hệ
giữa biến với địa chỉ bộ nhớ nơi lưu trữ giá trị biến và mỗi biến chỉ được khai báo
một lần.
Var < danh sách biến >: < kiểu dữ liệu>;
Trong đó:


14
- Danh sách biến là một hay nhiều tên biến, các tên biến được viết cách nhau
bởi dấu phẩy (,).
- Kiểu dữ liệu thường là một trong các kiểu dữ liệu chuẩn hay kiểu dữ liệu do
người lập trình định nghĩa.

Ví dụ:

Var x, y: real;
a: Kmang; {Kmang đã được định nghĩa}

b. Phần thân chương trình:
Phần thân chương trình là phần đặc biệt quan trọng và bắt buộc phải có, phần
này ln nằm giữa 2 từ khố là BEGIN và END. Ở giữa là lệnh mà các chương trình
chính cần thực hiện. Đề bài yêu cầu viết chương trình thực hiện cơng việc gì thì ở phần
thân phải có các câu lệnh dùng để thực hiện cơng việc đó. Sau từ khóa END là dấu
chấm (.) để báo kết thúc chương trình. Các lệnh sau dấu chấm đều khơng có ý nghĩa.
Lưu ý:
- Dấu chấm phẩy (;): Dùng để ngăn cách các câu lệnh của PC và không thể
thiếu được trong q trình viết các câu lệnh.
- Lời chú thích: Dùng để chú giải cho người sử dụng chương trình nhớ nhằm
trao đổi thơng tin giữa người và người, máy tính sẽ khơng để ý đến lời chú thích
này. Lời chú thích nằm giữa ký hiệu: {}, // hoặc (* *)
Ví dụ:
PROGRAM

CT_Dau_tien;

{Dịng tiêu đề, khai báo tên chương trình}

USES

Crt;

{Khai báo sử dụng thư viện Crt}


VAR

x: integer;

{Khai báo biến}

BEGIN

{Thân chương trình chính}

Clrscr;

{Xóa màn hình}

Writeln(‘ Nhap gia tri cua x = ’) ;
Readln (x);
x:= 0;
x:= x + 10 ;
Writeln(‘ Gia tri cua x la’ , x);
END.

{Kết thúc chương trình}

5. Kiểm thử chương trình (Testing program)


15
Chạy thử và tìm lỗi và cơng việc mà người lập trình cần phải làm khi viết
xong chương trình để kiểm tra chương trình của mình. Chương trình là do con
người viết ra, cho nên khó có thể tránh khỏi sự nhầm lẫn. Một chương trình viết

xong chưa chắc đã chạy được ngay trên máy tính để cho ra kết quả mong muốn. Kỹ
năng tìm lỗi, sửa lỗi, điều chỉnh lại chương trình cũng là một kỹ năng quan trọng
của người lập trình. Kỹ năng này có được bằng kinh nghiệm tìm và sửa lỗi của
chính mình.
Có 2 loại lỗi cơ bản thường gặp khi lập trình:
- Lỗi thuật tốn: Lỗi này ít gặp nhất nhưng nguy hiểm nhất. Nếu nhẹ thì phải
điều chỉnh lại thuật tốn, nếu nặng thì có khi phải viết lại một thuật tốn mới từ đầu.
- Lỗi cú pháp: lỗi này hay gặp nhưng cũng là lỗi dễ sửa nhất. Chỉ cần nắm vững
ngôn ngữ lập trình là đủ. Một người được coi là khơng biết lập trình nếu khơng biết sửa
lỗi cú pháp. Và đây là lỗi thường gặp nhất đối với học sinh bắt đầu học lập trình.
Ví du 1: Tìm số nhỏ nhất trong 3 số a, b, c nguyên được nhập vào từ bàn phím.
CODE 1:
Program tim_so_nho_nhat ;
var a,b,c: integer;
BEGIN
write('nhap 3 so= '); readln(a, b, c);
if a > b then a:= b else if a > c then a:= c;
write('so nho nhat la ', a);
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 tùy
thuộc vào lúc nhập giá trị a, b, c { nếu nhập thứ tự a = 9 ; b= 7; c= 5 thì sẽ cho ta kết
quả số nhỏ nhất là 7  sai hồn tồn.
Do đó người lập trình cần phải biết cách tìm lỗi. Sữa lỗi, điều chỉnh viết lại
chương trình cũng là kỹ năng quan trọng của người lập trình. Vậy với ví dụ trên để
kết quả ln đúng thì ta có thể viết lại chương trình
CODE 2:
Program tim_so_nho_nhat ;
var a, b, c, min : integer;



16
BEGIN
write('nhap 3 so = ') ; readln(a, b, c);
min:= a ;
if min > b then min := b;
if min > c then min := c ;
writeln ('so nho nhat la ', min);
END.
Ví dụ 2: Viết chương trình in ra màn hình hình chữ nhật tồn dấu * với chiều
dài và chiều rộng nhập từ bàn phím.
CODE 1:
Program hinh_chu_nhat;
Var i, d, r : integer;
BEGIN
Write(‘ Nhap chieu dai hinh chu nhat’); readln(d);
Write(‘ Nhap chieu rong hinh chu nhat’); readln(r);
For i : = 1 to d*r do writeln(‘*’);
END.
Với chương trình này cũng chạy được song kết quả sai (in ra màn hình một
cột tồn dấu * với chiều dài là diện tích hinh chữ nhật).
Với ví dụ trên để kết quả ln đúng thì ta có thể viết lại chương trình.
CODE 2:
Program hinh_chu_nhat ;
Var i, j, d, r: integer;
BEGIN
Write(‘ Nhap chieu dai hinh chu nhat’); readln(d);
Write(‘ Nhap chieu rong hinh chu nhat’); readln(r);
For i: = 1 to r do
Begin
for j: = 1 to d do write(‘*’);



17
Writeln;
End;
END.
6. Tối ưu chương trình (optimization program)
- Một chương trình chạy đúng khơng có nghĩa là việc lập trình đã xong. Ta phải
sửa đổi lại một vài chi tiết để chương trình có thể chạy nhanh hơn, hiệu quả hơn.
- Khơng nên viết tới đâu tối ưu mã đến đó (bởi chương trình có mã tối ưu
thường phức tạp và khó kiểm sốt).
- Việc tối ưu chương trình nên dựa theo 4 tiêu chuẩn chính sau:
+ Tính tin cậy: Chương trình phải chạy đúng như dự định, mơ tả đúng một
giải thuật đúng. Thơng thường khi viết chương trình, ta ln có thói quen kiểm tra
tính đúng đắn của các bước mỗi khi có thể.
+ Tính uyển chuyển: Chương trình phải dễ sửa lỗi. Vì ít chương trình nào viết
ra mà hoàn hảo ngay được mà vẫn cần phải sửa đổi lại. Chương trình viết dễ sửa đổi
sẽ làm giảm bớt cơng sức của lập trình viên khi phát triển chương trình.
+ Tính trong sáng: Chương trình viết ra đễ đọc, dễ hiểu. Để sau một thời gian
dài khi đọc lại cịn hiểu mình làm cái gì? Để nếu có điều kiện thì cịn có thể sửa sai
(nếu phát hiện lỗi mới), cải tiến hay biến đổi để được chương trình giả quyết bài
tốn khác. Tính trong sáng của chương trình phụ thuộc rất nhiều vào cơng cụ lập
trình và phong cách lập trình.
+ Tính hữu hiệu: Chương trình phải chạy nhanh và ít tốn bộ nhớ (tiết kiệm
được cả khơng gian và thời gian). Để có một chương trình hữu hiệu, cần phải có một
giải thuật tốt và những kỹ thuật khi lập trình. Tuy nhiên, việc áp dụng q nhiều kỹ
thuật đơi khi có thể khiến chương trình trở nên rắc rối, khó hiểu khi sửa đổi. Tiêu
chuẩn hữu hiệu nên dừng ở mức chấp nhận được, không quan trọng bằng 3 tiêu
chuẩn trên. Vì phần cứng phát triển rất nhanh, yêu cầu hữu hiệu không phải đặt ra
gánh nặng.

=> Từ những phân tích trên, chúng ta thấy rằng việc làm ra một chương trình
phải trải qua rất nhiều công đoạn và tiêu tốn khá nhiều công sức. Chỉ một cơng đoạn
khơng hợp lý sẽ tăng chi phí viết chương trình.


18
Lời khuyên: Đừng bao giờ viết chương trình mà chưa suy xét kỹ về giải thuật và
những dữ liệu cần thao tác.
Ví dụ 1: Viết chương trình tính tổng 2 số nguyên được nhập từ bàn phím
Bước 1: Xác định Input, Output
Input : Hai số nguyên a và b;
Output: Tổng s = a + b;
Lưu ý: nên viết theo cách ở trên vì chúng ta sẽ dễ nhận ra là dùng bao nhiêu biến.
Bước 2: Xây dựng thuật toán
- Bước 1: Nhập 2 số nguyên a và b;
- Bước 2: Tính tổng S= a + b;
- Bước 3: Hiển thị giá trị tổng S ra màn hình

Bước 3: Viết chương trình Pascal hồn chỉnh
Program TINH_TONG ;

{ Tên chương trình là TINH_TONG }

Var a, b, S: integer ;

{ Khai báo 3 biến kiểu số nguyên }

Begin
Write (‘Nhap a= ’);


{ Hiển thị trên màn hình: Nhap a= }

Readln(a); {Giá trị được nhập từ bàn phím sẽ gán cho a: ví dụ nhập 5
và nhấn enter thì hiểu là: a= 5}
Write (‘Nhap b= ’);

{ Hiển thị trên màn hình: Nhap b= }

readln(b); {Giá trị được nhập từ bàn phím sẽ gán cho b: ví dụ nhập 10
và nhấn enter thì hiểu là: b= 10}
S:= a + b; { Sau khi đã có 2 giá trị của a và b rồi, sẽ tính giá trị tổng
S}


19
Write (‘Tong la: ’, S);

{ Đưa giá trị tổng S ra màn hình }

Readln; {Dừng màn hình để xem kết quả chờ nhấn phím để quay lại}
End.

{Kết thúc chương trình}

Bước 4: Chạy và chỉnh sửa chương trình nếu có lỗi

Ví dụ 2: Viết chương trình “Tìm ước chung lớn nhất (UCLN) của hai số nguyên
dương C và D”.
Bước 1: Xác định bài toán:
Input: Nhập hai số nguyên dương C và D

Output: UCLN của hai số nguyên dương C và D
Bước 2: Xây dựng thuật toán:
- Bước 1: Nhập C, D
- Bước 2: Nếu C = D thì lấy giá trị chung này làm UCLN rồi chuyển đến
bước 5.
- Bước 3: Nếu C > D thì C ← C – D ngược lại D ← D – C ;
- Bước 4: Quay lại bước 2;
- Bước 5: Đưa ra kết quả UCLN rồi kết thúc.
Bước 3: Viết chương trình:
Program UCLN;
Uses crt ;
Var C, D: integer;
Begin
Clrscr;
Write (‘Nhap C, D =’);

Readln (C, D);

While C < > D do
If C > D then C:= C – D else D:= D – C ;
Writeln (‘UCLN = ’, C);


20
Readln ;
End.
Bước 4: Chạy và chỉnh sửa chương trình nếu có lỗi
Ví dụ 3: Viết chương trình “Tìm phần tử lớn nhất của dãy số nguyên”.
Bước 1: Xác định bài toán :
- Input: Số nguyên dương N (<=250) và dãy N số nguyên dương A 1, … AN.

mỗi số đều không vượt quá 500.
- Output: Chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho (nếu có
nhiều phần tử lớn nhất chỉ cần đưa ra một trong số chúng)
Bước 2: Xây dựng thuật toán :
- Bước 1: Nhập N và dãy A1, … AN ;
- Bước 2: Max  A1 ; i  2 ;
- Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc;
- Bước 4: Nếu Ai > Max thì Max  Ai ;
i  i + 1 ; rồi quay lại bước 3.
Bước 3 : Viết chương trình
Program Tim_Max;
Uses crt;
Const Nmax = 250;
Type mang = array [1 .. Nmax] of integer;
Var N, i, Max, csmax: integer;
A: mang;
BEGIN
Clrscr;
Write (‘Nhap so luong phan tu cua day so, N = ’) ; Readln (N) ;
For i:= 1 to N do
Begin
Write (‘Phan tu thu’, i, ‘ = ’) ;
Readln(A[i]) ;
End;
Max:= A[1] ;
Csmax := 1 ;
For i:= 2 to N do
If A[i] > Max then
Begin
Max:= A[i] ;

Csmax:= i ;
End;
Writeln (‘Gia tri cua phan tu Max: ’, Max) ;
Writeln (‘Chi so cua phan tu Max: ’, csmax) ;


21
END.
Bước 4: Chạy và chỉnh sửa chương trình nếu có lỗi

III. KẾT QUẢ VÀ KHẢ NĂNG ÁP DỤNG, NHÂN RỘNG
1. Kết quả đạt được:
Trong q trình dạy học mơn Tin ở trường THCS Thanh Thủy. Tôi đã áp dụng
sáng kiến đối với học sinh khối lớp 8 (bao gồm các đối tượng học sinh giỏi, khá,
trung bình, yếu). Để đánh giá hiệu quả của SKKN, tôi đã tiến hành kiểm tra khảo sát
vào cuối học kỳ I năm học 2021 – 2022. Kết quả khảo sát (cuối HKI) về nội dung
giải bài tốn trên máy tính bằng ngơn ngữ lập trình PC so với kết quả đầu năm học
cụ thể như sau:
- Kết quả giờ dạy được nâng lên rõ rệt qua khảo sát thực tế học sinh và
giáoviên tham dự:
- Giáoviên: 98% giáo viên đánh giá giờ học thành công
- Học sinh: 100% đều hứng thú cao với giờ học

Đề khảo sát (Thời gian 45 phút)
Câu 1 (6,0 điểm):
Viết chương trình pascal hiển thị kết quả của biếu thức sau ra màn hình
( x + 2)( x + 3)
y
x+4
- a + b (x - 3)2


Với x, y, a, b nhập từ bàn phím
Câu 2 (4,0 điểm): Bố An là công nhân mỏ, theo quy định mỗi ngày bố An
phải làm 8 tiếng, mỗi tiếng được trả 30000 đồng. Nếu bố An làm hơn giờ quy định,
mỗi giờ làm thêm sẽ được trả tiền gấp đơi giờ bình thường.
Em hãy viết chương trình nhập số giờ bố An đã làm và in ra màn hình số tiền
mà bố An nhận được trong một ngày
Ví dụ:
Số giờ

Số tiền nhận được


22
Gio= 8

So tien bo An nhan duoc la: 240000 dong

Gio= 10

So tien bo An nhan duoc la: 360000 dong

Kết quả:
Lớ
p

8A


S



Giỏi
Đầu
năm

Cuối

22
45 (48,9%
)
14
8B

45 (31,1%
)
12

8C

Khá

45 (26,7%
)

TB
Cuối

HKI


Đầu
năm

34

14

10

(75,6%
)

(31,1%
)

(22,2%
)

(20%)

20

20

21

10

(44,4%
)


(44,4%
)

(46,7%
)

(22,2%
)

16

20

14

(35,6%
)

(44,4%
)

(31,1%
)

18
(40%)

HKI


Đầu
năm
9

Yếu
Cuối
HKI

Đầu
năm

Cuối

0

0

HKI

1
(2,2%
)
4
(8,8)
7
(15,6)

1
(2,2%
)


0

3
(6,6%
)

0

Kết quả trên cho thấy số điểm giỏi của bài khảo sát tăng so với kết quả học kỳ
I và số điểm trung bình giảm đi thể hiện sự tiến bộ của học sinh qua việc giải bài
tập; Tôi nhận thấy hầu hết các em đã biết giải bài tốn bằng cách lập trình pascal.
Phần lớn học sinh đã có hứng thú giải những bài tốn bằng cách lập trình. Các em
khơng cịn lúng túng khi lập trình nữa. Các em đã biết chuyển đổi các vấn đề từ
ngơn ngữ tốn học sang ngơn ngữ lập trình thơng qua các phép tốn, biểu thức,
phương trình.... Nhiều em khá giỏi đã tìm ra được cách giải hay và ngắn gọn phù
hợp. Do đó sáng kiến: “Những kỹ năng cơ bản để giải bài tốn trên máy tính bằng
ngơn ngữ lập trình Pascal.” có thể áp dụng đại trà đối với các trường THCS. Tuy
vậy bên cạnh những kết quả đạt được thì vẫn cịn một số ít học sinh chưa vận dụng
tốt những kỹ năng lập trình đã học nên kết quả học tập chưa được như ý muốn. Một
phần cũng là do khả năng học toán, tư duy của các em cịn hạn chế, mặt khác giải
bài tốn bằng cách lập trình lại rất khó, địi hỏi sự tư duy nhiều ở các em.
2. Khả năng áp dụng, nhân rộng


23
Đối với học sinh có học lực khá trở lên sẽ dễ dàng tiếp thu các phương pháp
giải các dạng bài tập trên, thông qua các phương pháp trên học sinh sẽ lập trình giải
được các bài tốn bằng ngơn ngữ PC một cách tối ưu, ngắn gọn. Thông qua phương
pháp giải một số dạng chương trình cơ bản học sinh sẽ lập trình giải được một dạng

bài tập tương đối khó hơn.
Các dạng bài tập phù hợp với tất cả các đối tượng học sinh từ HS yếu kém
đến HS khá, giỏi.
IV. GIẢI PHÁP TỔ CHỨC THỰC HIỆN
- Qua nhiều năm công tác, trực tiếp đứng lớp tham gia giảng dạy tôi cũng rút
ra được một số kinh nghiệm bổ xung thêm vào vốn kiến thức, coi việc dạy học phù
hợp với xu thế phát triển ngày nay, đặc biệt cần tạo khơng khí thân thiện, vui vẻ
trong lớp học. Cần bổ xung sửa chữa rút kinh nghiệm những vấn đề cịn tồn tại
trong q trình dạy học để xứng đáng là người giáo viên dạy giỏi phù hợp với thời
kỳ mới.
- Để có thể thành cơng ở mỗi tiết dạy nhất là trong mơn Tin học thì bản thân
mỗi giáo viên phải biết áp dụng linh hoạt các phương pháp dạy học tích cực có kỹ
năng giao tiếp sư phạm cao đề tạo hứng thú cho người học và phát huy tính tích cực
của một số yếu tố để có thể đạt được kết quả tốt trong mỗi tiết học và trong suốt q
trình giảng dạy mơn Tin học là:
+ Chú ý phát huy tính tích cực, chủ động, tự giác của học sinh.
+ Bồi dưỡng phát triển tự học.
+ Rèn luyện kỹ năng vận dụng vào thực tiễn.
- Giáo viên cần thực hiện tốt các việc: Đầu tư nhiều hơn vào công tác thiết kế
bài dạy và tổ chức dạy học trên lớp theo tinh thần tổ chức các hoạt động học cho học
sinh. Vận dụng linh hoạt các phương pháp dạy học theo hướng phát huy tính tích
cực chủ động sáng tạo của học sinh, đồng thời áp dụng các phương pháp dạy học
mới. Đa dạng hóa và phối hợp linh hoạt các hình thức tổ chức dạy học: Cá nhân,
nhóm, lớp, tham quan, hoạt động ngoại khóa…
- HS chuẩn bị kỹ ở nhà trước khi đến lớp và phải mạnh dạn, tự tin bộc lộ ý
kiến, quan điểm. Giáo viên phải chuẩn bị kỹ bài giảng, thiết kế giờ dạy, lường trước
các tình huống để tổ chức giờ dạy có sự phối hợp nhịp nhàng giữa hoạt động của
thầy và hoạt động của trò.
- Giáo viên rèn cho HS tốt kĩ năng giải toán trên máy tính qua các tiết học lí
thuyết và vận dụng tốt trong các tiết thực hành.



24

CHƯƠNG III:
KẾT LUẬN VÀ ĐỀ XUẤT, KIẾN NGHỊ
I. KẾT LUẬN:
Từ thực tế nghiên cứu giảng dạy, tôi nhận thấy việc giảng dạy giải bài tốn
bằng cách lập trình trên máy tính có ý nghĩa thực tế rất cao. Nó rèn luyện cho học
sinh tư duy logic, khả năng sáng tạo, khả năng diễn đạt chính xác nhiều quan hệ
tốn học, Do đó khi giải tốn bằng cách lập trình ở lớp 8, giáo viên cần lưu ý học
sinh đọc kỹ đề bài, nắm được các mối quan hệ đã biết và chưa biết giữa các đại
lượng để nắm được thuật toán.


25
Để đưa ra một phương pháp tối ưu cho một bài tốn khơng đơn giản. Bởi một
bài tốn chúng ta có thể đưa ra nhiều phương pháp giải khác nhau. Song trong lập
trình người giải khơng sử dụng đúng cách giải thì một bài tốn lại đi ngược lại là
cho các kết quả khác nhau. Điều đó chứng tỏ cho thấy người lập trình cần phải nắm
được các bước giải bài tốn trong lập trình.
Bên cạnh đó, giáo viên cũng tạo hứng thú cho học sinh trong các giờ học,
hướng dẫn học sinh cách học bài, làm bài và cách nghiên cứu trước bài mới ở nhà.
Tăng cường phụ đạo học sinh nhận thức chậm, tìm ra những chỗ học sinh đã bị
hổng kiến thức để phụ đạo. Điều đó địi hỏi người giáo viên phải có lịng u nghề,
u thương học sinh và phải có một lượng kiến thức vững chắc, có phương pháp
truyền thụ phù hợp với từng đối tượng học sinh.
Sáng kiến “Những kỹ năng cơ bản để giải bài tốn trên máy tính bằng
ngơn ngữ lập trình Pascal” đã áp dụng cho mơn tin lớp 8 ở trường trung học cơ sở
Thanh Thủy và có thể áp dụng cho tất cả các trường trung học cơ sở khác. Sáng kiến

kinh nghiệm của tơi có thể mở rộng và phát triển ở mức độ rộng hơn, bao quát hơn,
song do thời gian nghiên cứu và trình độ nhận biết cịn hạn chế nên khơng thể tránh
khỏi những thiếu sót. Vì vậy, tơi rất mong nhận được sự góp ý, bổ sung của các bạn
đồng nghiệp, đặc biệt là Ban lãnh đạo trường THCS Thanh Thủy cũng như lãnh đạo
của ngành để sáng kiến kinh nghiệm của tôi được hồn thiện hơn và có ứng dụng
thực tiễn nhiều hơn.
II. KIẾN NGHỊ, ĐỀ XUẤT:
- Đôn đốc, nhắc nhở và thường xuyên kiểm tra việc tự học ở nhà của con em
mình.
- Phối hợp giữa gia đình và nhà trường trong việc quản lý học tập chặt chẽ
hơn.

- Đề nghị cấp trên quan tâm tạo điều kiện có thêm sách tham khảo cho học
sinh và giáo viên nghiên cứu, học hỏi và trao đổi chun mơn nâng cao trình độ, đáp
ứng yêu cầu đổi mới.
- Nghiệm thu những đề tài, sáng kiến kinh nghiệm có chất lượng cao và cho
áp dụng trong thực tế giảng dạy.
- Tổ chức cho các cán bộ quản lý, giáo viên có đề tài, sáng kiến kinh nghiệm
được Hội đồng xét công nhận Sáng kiến kinh nghiệm đánh giá cao về môn Tin học
báo cáo rộng rãi cho giáo viên dạy Tin học THCS trong toàn huyện được học tập và
áp dụng vào thực tế giảng dạy.


×