Tải bản đầy đủ (.doc) (15 trang)

Mô tả sáng kiến 2020

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 (136.61 KB, 15 trang )

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: Hội đồng chấm sáng kiến cấp cơ sở.
Tơi (Chúng tôi) ghi tên dưới đây:
Số
TT

1

Họ và tên

Ngày
tháng
năm sinh

Nơi công tác

Chức
danh

Trình độ
chun
mơn

Tỷ lệ %
đóng góp
vào việc
tạo ra
sáng kiến



Đồn Thị Yến 16/6/1988

Trường
THCS Nam
Thái

Giáo
viên

Đại học sư
phạm Tin
học

100%

Là tác giả đề nghị xét cơng nhận sáng kiến: Rèn luyện tư duy thuật tốn
trong học lập trình Pascal Tin học 8 ở trường THCS Nam Thái năm học 2019-2020.
1. Lĩnh vực áp dụng sáng kiến: Giải pháp tác nghiệp trong giáo dục.
2. Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: 5/9/2019.
3. Mô tả bản chất của sáng kiến:
3.1. Tên sáng kiến: Rèn luyện tư duy thuật toán trong học lập trình
Pascal Tin học 8 ở trường THCS Nam Thái năm học 2019-2020.
3.2. Lĩnh vực áp dụng: Giải pháp được áp dụng trong giáo dục.
3.3. Mơ tả sáng kiến:
3.3.1. Tình trạng giải pháp đã biết:
Tin học đang phát triển ngày càng nhanh và trở thành nhân tố vô cùng cần
thiết trong mọi lĩnh vực. Trong đó tin học được sử dụng phổ biến và đặc biệt
quan trọng trong giáo dục. Tin học được đưa vào chương trình tin học nhà
trường cũng như hỗ trợ giảng dạy. Cùng với đó, Trong những năm học gần đây

Bộ GD&ĐT đang tiến hành đổi mới phương pháp dạy học và một trong những
phương pháp đó là phát triển khả năng tư duy, sáng tạo của học sinh; lấy học
sinh làm trung tâm; tránh tình trạng thầy đọc trò chép một cách thụ động; hướng
học sinh đến việc tự làm chủ kiến thức của mình, tự tìm tịi khám phá kiến thức
cho bản thân mình.
Theo phương pháp trên thì ngồi việc cung cấp kiến th ức cho h ọc
sinh người thầy còn phải biết phát huy khả năng tư duy cho h ọc sinh.
1


Trong q trình dạy học tơi nhận thấy một điểm hạn ch ế của h ọc sinh là
khi các em tiếp xúc với ngơn ngữ lập trình pascal thì h ầu h ết các em đ ều
thấy nó khó, khó nhớ, khó áp dụng. Chính vì lí do đó mà khi h ọc n ội dung
này các em chỉ học cho xong, học đối phó với th ầy cơ, các em c ố tìm nh ững
đoạn mã lệnh rồi gõ theo và chạy chương trình cho có k ết quả mà cũng
khơng cần biết những đoạn mã lệnh đó làm việc nh ư thế nào. Đôi v ới
những học sinh khá hơn thì khi các em có tìm ra l ời giải cho m ột bài tốn
thì các em đã vội hài lịng với kết quả mình đ ạt đ ược mà khơng tìm hi ểu
thêm liệu có cách giải nào hay hơn khơng? Có thể cải tiến ch ương trình cho
hiệu quả, ngắn học hơn khơng?
Từ những thắc mắc đó, và sau một thời gian giảng dạy nội dung lập trình
pascal cho đối tượng là học sinh lớp 8 tơi đã rất băn khoăn. Phải làm gì để học
sinh của tơi có thể thay đổi cách nhìn nhận với mơn học và cách học với mơn lập
trình này. Sau một thời gian suy nghĩ tôi cho rằng muốn thay đổi được các em
thì trước tiên người thầy phải thay đổi, thay đổi cách tiếp cận nội dung, thay đổi
phương pháp. Phải làm thế nào để các em có thể u thích mơn học này, có u
thích hứng thú thì các em mới có thể tập trung học tập nghiêm túc được, các em
sẽ khơng cịn học đối phó nữa. Khi các em u thích thì hãy hướng các em đi từ
việc đơn gian tới phức tạp, nhìn nhận vấn đề hay giải các bài toán bằng nhiều
cách để từ đó các em lĩnh hội được đầy đủ và chủ động kiến thức mơn học. Từ

những lí do trên tơi quyết định nghiên cứu và thực hiện sáng kiến “ RÈN LUYỆN
TƯ DUY THUẬT TỐN TRONG HỌC LẬP TRÌNH PASCAL TIN HỌC 8 TẠI
TRƯỜNG THCS NAM THÁI NĂM HỌC 2019-2020” nhằm giúp học sinh lớp 8 khắc

phục được những hạn chế nêu trên và tạo sự ham mê yêu thích của học sinh với
mơn học lập trình này.
* Thuận lợi:
- Nhà trường tạo điều kiện sắm sửa máy móc, trang thiết bị phục vụ cho
việc dạy và học môn Tin học.
- Giáo viên được đào tạo đúng chuyên ngành về Tin học để đáp ứng yêu
cầu cho dạy và học trong bậc THCS.
- Một số gia đình có điều kiện kinh tế đã mua sắm máy vi tính, tạo điều
kiện học tập thuận lợi cho con em mình đối với mơn Tin học nói riêng và các
mơn học khác nói chung.
* Khó khăn:
2


Trong q trình dạy học tơi nhận thấy một số điểm hạn chế của học sinh
là khi các em tiếp xúc với ngơn ngữ lập trình pascal là:
- Học sinh chưa thay đổi được cách nhìn và niềm đam mê vào ngơn ngữ
lập trình Pascal, chỉ đạt 51,2%.
- Khả năng trình bày thuật tốn, viết chương trình theo đúng thuật tốn đó
của học sinh chưa tốt, chỉ đạt 46,3%.
- Kỹ năng vận dụng câu lệnh của học sinh vào lập trình bài tốn pascal
cịn yếu, chỉ đạt 46,3%.
3.3.2. Nội dung giải pháp đề nghị công nhận là sáng kiến:
3.3.2.1. Mục đích của giải pháp:
* Mục đích chung: Rèn luyện tư duy thuật tốn trong học lập trình Pascal
Tin học 8 ở trường THCS Nam Thái năm học 2019-2020.

* Mục đích cụ thể:
- Giúp cho học sinh có cách nhìn và tạo niềm đam mê vào ngơn ngữ lập
trình Pascal (97,6%).
- Giúp cho học sinh nắm được kiến thức cơ bản và có khả năng phân tích
chi tiết các nội dung để có một thuật tốn tốt cần viết chương trình Pascal (95.1).
- Giúp cho học sinh biết vận dụng các câu lệnh vào những dạng bài toán
cụ thể (95,1%).
3.3.2.2. Nội dung của giải pháp:
* Giải pháp 1. Thay đổi cách nhìn và tạo niềm đam mê của học sinh
với ngơn ngữ lập trình Pascal.
Vì sao mơn Pascal lại khó?
Một thói quen khó thay đổi của học sinh đó là cách nhìn nhận về mơn tin
học, theo các em thì mơn tin học là học những thao tác sử dụng đơn giản như:
cách sử dụng internet, sử dụng hệ điều hành window, chương trình soạn thảo
văn bản MS Word, chương trình soạn thảo trình diễn MS PowerPoint … Đây là
những phần học ít địi hỏi ở học sinh tư duy, mà chỉ cần học kĩ và nhớ thao tác,
thực hành nhiều lần thì sẽ thành kỹ năng và thành thạo.
Nhưng khi học bộ mơn lập trình Passal chương trình lớp 8 ở THCS thì
hầu như các em bị “chống” vì bộ môn rất “mới”, và cách học cũng “mới”. Học
những thao tác và thực hành nhiều dường như khơng cịn phù hợp nữa. Học
thuộc bài theo kiểu thuộc lòng chỉ phù hợp với nội dung là các cấu trúc câu lệnh
chứ khơng thể áp dụng điều đó vào từng bài tốn được. Lúc này các em cần phải
học cách tư duy logic, tìm hiểu thuật tốn, và viết những dịng lệnh máy tính
3


trên cơ sở thuật toán đã xây dựng và hơn thế nữa các câu lệnh cần phải có độ
chính xác tuyệt đối đến từng đấu chấm, dấu phẩy.
Với tâm lí thông thường các em học sinh coi tin học là môn phụ không
quan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên không

hiểu bài và dần bị mất căn bản. Đây cũng là lí do mà nhiều em ln kêu học lập
trình pascal khó q.
Tại sao lại học Pascal?
Đây là một ngơn ngữ lập trình có cấu trúc đơn giản, rõ ràng, cấu trúc chặt
chẽ, dễ viết, dễ hiểu cũng như dễ sửa chữa, cải tiến. Do đó Pascal được nhiều
quốc gia trong đó có Việt Nam đưa vào chương trình giảng dạy tin học ở các
trường phổ thông và đại học như một môn học cơ sở, đại cương.
Học Pascal giúp cho ta hiểu được cách làm việc của máy tính, cách giao
tiếp để ra lệnh cho máy tính làm việc theo sự điều khiển của con người thơng
qua ngơn ngữ lập trình. Các em có thể tạo ra các chương trình thú vị bằng cách
sử dụng các câu lệnh Pascal. Cũng giống như những mơn học khác như tốn
học, vật lý, hóa học … khi các em đã thực sự hiểu và yêu thích bộ mơn tin học
các em sẽ tìm thấy nhiều niềm vui, sự đam mê khi tìm hiểu và khám phá những
điều mới mẻ nhưng đầy hấp dẫn trong bộ mơn tưởng chừng như khơ khan này.
Tạo sự u thích khi học lập trình Pascal
Qua một thời gian giảng dạy ở bộ môn này, tôi nhận thấy khi học Pascal
học sinh thường khơng thích thú với mơn học này vì nhiều lý do như khó hiểu,
địi hỏi tư duy, … nên việc viết được một chương trình chạy được trên máy tính
đối với các em rất khó khăn. Do đó để học tốt địi hỏi học sinh phải có hứng thú.
Cốt lõi của việc đổi mới phương pháp dạy học là giúp học sinh u thích, hứng
thú với mơn học, hướng tới việc học tập chủ động, chống lại thói quen học tập
thụ động. Để khắc phục điều này thì chúng ta cần giải quyết được các vấn đề
sau:
* Vấn đề 1: Học sinh chúng ta vừa đọc xong đề bài là kêu khó, khơng chịu tìm
hiểu xem đề bài u cầu gì. Nói cụ thể hơn là sau khi đọc xong bài tốn thì học
sinh khơng định hướng được là phải bắt đầu từ đâu, phải sử dụng cấu trúc dữ
liệu nào hay cấu trúc lệnh nào để giải quyết. Để giúp học sinh vấn đề này thì sau
khi đọc đề bài xong giáo viên hướng dẫn các em xác định rõ bài toán (xác định
thành phần Input và Output của bài toán). Từ Inphut và Output của bài toán giáo
viên yêu cầu học sinh gạch ra giấy chỉ ra từng bước để giải quyết bài toán rồi từ

4


đó đưa ra các thuật tốn, từng bước tinh chỉnh thuật tốn tìm được thuật tốn
đúng đắn nhất cuối cùng là viết chương trình hồn chỉnh.
VD: Khi u cầu học sinh lập trình tính chu vi và diện tích hình trịn với
bán kính nhập vào từ bàn phím.
- Để giải bài này giáo viên yêu cầu học sinh nêu rõ Input vào Output bài
tốn.
Input: Bán kính hình trịn. Output: Diện tích và chu vi của hình trịn
- GV u cầu HS gạch ra các công việc cần làm để giải quyết bài tập này?
Các công việc cần làm để giải quyết bài tập này :
+ Nhập bán kính R, + Tính diện tích hình trịn + Tính chu vi hình trịn
+ In ra diện tích và chu vi hình trịn
– Gv gợi ý u cầu HS nêu cơng thức tính diện tích và chu vi hình trịn?
Diện tích S = Pi*R^2
Chu vi Cv = 2*Pi*R
– Với những yêu cầu cụ thể đó, giáo viên yêu cầu học sinh gõ các câu
lệnh để hồn thành bài tốn. Có thể gợi ý cụ thể trong bài toán này: Cần thực
hiện lệnh nhập dữ liệu như thế nào? Dùng lệnh gán để tính chu vi và diện tích
với các cơng thức tốn học đã có. Sau khi tính tốn xong thì dùng lệnh in kết
quả ra màn hình.
* Vấn đề 2: Hầu như các em học sinh khi thực hành lập trình đều đùn đẩy cho
nhau vì thiếu tự tin và khơng biết phải gõ gì vào máy, sợ gõ sai lỗi chính tả các
câu lệnh hay từ khóa. Để giúp các em vấn đề này thì giáo viên nên khuyến khích
các em cứ mạnh dạn gõ, một lần sai, hai lần sai,… rồi từ từ các em sẽ gõ đúng
câu lệnh, có như vậy các em mới nhớ được câu lệnh, từ khóa và chủ động hơn
trong việc gõ các câu lệnh giải quyết bài tốn. Lúc đầu giám sát q trình làm
việc của các em, sửa các lỗi sai, về sau để các em tự làm việc chỉ sửa lỗi khi các
em gặp khó khăn thực sự, khơng giải quyết được bắt buộc cần có hướng dẫn của

giáo viên. Khi các em tự gõ chương trình các em mới thực sự hiểu chương trình
đó hoạt động thế nào chứ khơng thể nhìn mà hiểu được. Chỉ có tự gõ các lệnh thì
mới nhớ được và hiểu từ đó sẽ tự tin khi ngồi lập trình trước máy tính. Khi tự tin
làm việc với máy tính thì các em mới say mê và u thích mơn học.
* Vấn đề 3: Khi thực hành các em chỉ gõ cho xong nội dung của bài thực hành,
hoặc tìm kiếm những bài mẫu có sẵn và gõ theo, sau đó các em kiểm sốt lỗi
chính tả rồi chạy thử, hiện kết là coi như xong bài tập. Học như vậy các em hoàn
toàn thụ động, chứ khơng thực sự tìm hiểu xem tại sao lại có câu lệnh đó, tại sao
5


phải dùng cấu trúc điều khiển này mà không dùng cấu trúc điều khiển kia, tới
câu lệnh này thì kết quả sẽ như thế nào, … Chính vì vậy mà các em không hiểu
bài và không thể tự sửa lỗi nếu gõ sai. Hướng dẫn các em cách chạy chương
trình từng bước và cách quan sát giá trị các tham số cần thiết. Hướng dẫn các em
“Biến mình thành cái máy tính” để thực hiện lần lượt các câu lệnh từ trên xuống
dưới xem nếu là máy thì tại bước này sẽ thực hiện cơng việc gì, kết quả sẽ là gì?
Có như vậy học sinh mới thực sự hiểu vấn đề, hiểu cách làm việc của ngơn ngữ
lập trình pascal.
Sau khi áp dụng giải pháp 1, kết qua khảo sát 41 học sinh đạt được như
sau:
Tiêu chí
Học sinh có cách nhìn
và niềm đam mê vào
ngơn ngữ lập trình
Pascal

Trước khi áp dụng
21hs/41hs=51,2%


Sau khi áp dụng

So sánh

40hs/41=97,6%

Tăng
46,4%

* Giải pháp 2. Trình bày thuật tốn, viết chương trình theo đúng
thuật tốn.
Xác định bài toán:
- Xác định bài toán: Là xác định rõ 2 thành phần Input và Output và mối
quan hệ giữa chúng để có thể lựa chọn thuật tốn và ngơn ngữ lập trình thích
hợp.
- Q trình giải bài tốn trên máy 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, 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.
+ Biễu diễn vấn đề bài toán: A → B
Xây dựng thuật toán:
- Khái niệm thuật toán: Thuật toán là dãy hữu hạn các thao tác cần thực
hiện theo trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho
trước.
- Phương pháp biểu diễn thuật toán: Khi chứng minh hoặc giải một bài
toán trong toán học, chúng ta thường dùng những ngơn từ tốn học như : "ta có",
"điều phải chứng minh", "giả thiết", ... và sử dụng những phép suy luận toán học

6


như phép suy ra, tương đương, ...Thuật toán là một phương pháp thể hiện lời
giải bài toán nên cũng phải tuân theo một số quy tắc nhất định. Ðể có thể truyền
đạt thuật toán cho người khác hay chuyển thuật tốn thành chương trình máy
tính, ta phải có phương pháp biểu diễn thuật tốn. Có 3 phương pháp biểu diễn
thuật tốn:
+ Dùng ngơn ngữ tự nhiên.
+ Dùng lưu đồ - sơ đồ khối.
+ Dùng mã giả.
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 để diễn tả thuật
toá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 tố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.
Ví dụ: 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 tốn sau:
Bước 1: i:=1;Tword:= ‘’;XauM:= ‘’;
Bước 2: Kiểm tra xau[i]<> ‘ ’. nếu đúng thì đến bước 3, sai đến bước 5.
Bước 3: Tword:=Tword+xau[i]
Bước 4: Kiểm tra i<=length(xau). Đúng thì tăng i lên 1 và quay lại bước
2; sai thì đến bước 8.
Bước 5: kiểm tra Tword<> ‘’. Đúng thì xauM:=xauM+Tword+ ‘ ’ ; gán

Tword= ‘’ và quay lại bước 4. Sai thì chuyển đến bước 6.
Bước 6: Kiểm tra Tword<> ‘’. Đúng thì gán xauM:=xauM+Tword; sai thì
xố kí tự trống ở vị trí length(xauM) của xauM.
Bước 7: gán xau:=xauM;
Bước 8: kết thúc.
Chương trình có thể được viết như sau:
Var xau, xauM,Tword:string;
I:byte;
Begin
Wrire(‘nhap vao mot xau ki tu’);
readln(xau);
xauM:= ‘’;Tword:= ‘’;
for i:=1 to length(xau) do
if xau[i]<> ‘ ’ then Tword:=Tword+xau[i];
7


else
begin
if Tword<> ‘’ then xauM:=xauM+Tword+ ‘ ’;
Tword:= ‘’; End;
If Tword <> ‘’ then xauM:=xauM+Tword
Else xau:=xauM;
Write(‘Xau sau khi xoa cac ki tu trang thua la:’,xau); Readln;
End.
Sau khi áp dụng giải pháp 2, kết qua khảo sát 41 học sinh đạt được như
sau:
Tiêu chí

Trước khi áp dụng


Sau khi áp dụng

So sánh

Học sinh có khả năng
trình bày thuật tốn,
viết chương trình theo
đúng thuật toán.

19hs/41hs=46,3%

39hs/41=95.1%

Tăng 48,8%

* Giải pháp 3. Giới thiệu một số kỹ năng lập trình nhầm giúp các em
giải quyết bài tốn tốt hơn.
Rèn luyện kỹ năng lập trình với câu lệnh điều kiện
Đối với học sinh, khi làm quen với bất kỳ một cấu trúc lệnh nào cũng đều
bỡ ngỡ vì các em chưa quen và biết cách sử dụng cấu trúc đó. Để học sinh có thể
hiểu và vận dụng các cấu trúc lệnh vào từng bài toán cụ thể thì điều đầu tiên giáo
viên phải giúp các em hiểu rõ cấu trúc lệnh, thuộc cấu trúc lệnh gì sau đó sẽ đưa ra
các dạng bài tập áp dụng cấu trúc lệnh để củng cố kiến thức cho các em. Phải thực
hiện chi tiết cả về mặt cấu trúc ngôn ngữ lập trình và phân tích bài tốn từ đó xác
định rõ bài tốn sẽ cho kết quả là gì? Chúng ta sẽ lấy ví dụ bài tốn sử dụng câu
lệnh điều kiện sau:
Ví dụ: Viết chương trình nhập vào 3 số nguyên dương a, b, c khác nhau.
In ra màn hình số lớn nhất và nhỏ nhất trong 3 số trên.
* Phương pháp 1:

- Xác định bài toán:
. Input: Nhập vào máy tính 3 số tự nhiên a, b, c
. Output: In ra màn hình số lớn nhất, nhỏ nhất trong 3 số a, b, c
- Ý tưởng:
+ Tìm số lớn nhất: (a>b) và (a>c) thì a lớn nhất; (b>a) và (b>c) thì b lớn nhất;
(c>a) và (c>b) thì c lớn nhất;
8


+ Tìm số nhỏ nhất: (a(c- Từ ý tưởng trên chúng ta sẽ xây dựng chương trình:
Var a,b,c:Integer;
Begin
Writeln(‘Nhap a, b, c:’); Readln(a,b,c);
If (a>b) and (a>c) Then Writeln(a,’ lon nhat’)
Else If (b>a) and (b>c) Then Writeln(b,’ lon nhat’)
Else Writeln(c,’ lon nhat’) ;
If (aElse If (bElse Writeln(c,’ nho nhat’) ; Readln; End.
* Phương pháp 2:
- Ý tưởng: Cũng là một bài toán như trên, chúng ta cũng xác định cho học sinh
thấy rõ yêu cầu bài toán tức là xác định Input và output, những có thể giải quyết
bài tốn theo một cách khác như sau:
+ Nếu a>b thì ta gán a cho Max, b cho Min, ngược lại thì ta gán Max cho
b, Min cho a {Tìm số lớn nhất và nhỏ nhất trong hai số a, b. Sau khi thực hiện
dòng lệnh trên Max sẽ nhận được giá trị lớn nhất, Min sẽ nhận được giá trị nhỏ
nhất}.
+ Nếu c>Max thì ta gán c cho Max, ngược lại nếu c

Min {So sánh c với giá trị lớn nhất (Max) và nhỏ nhất (Min)}.
- Chương trình:
Var a,b,c,Max,Min:Integer;
Begin
Write(‘Nhap lan luoc 3 so a, b, c:’);Readln(a,b,c);
If (a>b) Then Begin Max:=a; Min:=b; End
Else Begin Max:=b; Min:=a; End;
If (c>Max) Then Max:=c Else If (cWrite(‘So lon la:’,Max,’ So nho la:’,Min); Readln;
End.
* Phương pháp 3:
- Ý tưởng:
+ So sánh giá trị a và b, nếu a>b thì đổi giá trị a và b. {Sau khi đổi giá trị
9


thì sẽ cho kết quả a + So sánh giá trị b và c, nếu b>c thì đổi giá trị b và c. {Sau khi đổi giá trị
thì sẽ cho kết quả a, b <c, tuy nhiên lại chưa xác định được a>b hay b>a }.
+ Lại so sánh giá trị a và b, nếu a>b thì đổi giá trị a và b. {Sau khi đổi giá
trị thì sẽ cho kết quả a < b và b < c}.
- Chương trình:
Var a,b,c,tam:Integer;
Begin
Write('Nhap gia tri a, b, c tuong ung: '); Readln(a,b,c);
If a>b Then begin Tam:=a; a:=b; b:=tam end;
If b>c Then begin Tam:=b; b:=c; c:=tam end;
If a>b Then begin Tam:=a; a:=b;b:=tam end;
Write('So nho la:’,a,’ so lon la’,c); Readln; End.
=> Nhận xét: Trong 3 phương pháp trên thì mỗi phương pháp đều có một ưu

điểm và hạn chế riêng:
- Phương pháp 1: Giúp học sinh làm quen với câu lệnh điều kiện dạng đủ lồng
nhau và điều kiện ghép ((a>b) and (a>c)) trong câu lệnh điều kiện thơng qua
phép tốn and.
- Phương pháp 2: Giúp học sinh làm quen với lệnh gán, sử dụng biến trung gian
Max, Min và câu lệnh ghép (Begin Max:=a; Min:=b; End) trong câu lệnh điều
kiện.
- Phương pháp 3: Giúp học sinh làm quen với câu lệnh điều kiện dạng thiếu và
ôn lại kiến thức sắp xếp giá trị hai biến theo thứ tự tăng hoặc giảm dần
begin Tam:=a; a:=b; b:=tam end;
Tóm lại: Với mỗi bài tốn nếu có thể hãy tìm ra nhiều cách tiếp cận khác
nhau, các cách viết chương trình khác nhau để học sinh có thể mở rộng khả năng
tư duy cũng như tạo sự u thích khi tìm thấy niềm vui ở mỗi cách xây dựng bài
tốn. Qua đó học sinh sẽ có cách nhìn linh hoạt hơn với mỗi cấu trúc câu lệnh,
phát huy tính tích cực và sáng tạo cho học sinh.
Rèn luyện kỹ năng lập trình với câu lệnh lặp
Cấu trúc lệnh lặp là cấu trúc cơ bản trong ngôn ngữ lập trình pascal và cấu
trúc này cũng là cấu trúc giúp học sinh giải quyết một lượng lớn các dạng bài
tập. Tuy nhiên khi tiếp cận câu lệnh lặp này thì học sinh lại khó hình dung ra
10


cách hoạt động của từng cấu trúc, đặc biệt là học sinh khó phân biệt cấu trúc lặp
xác định và lặp với số lần lặp không xác định. Một lỗi mà học sinh thường gặp
khi làm việc với cấu trúc lặp đó là khơng xác định được điều kiện để dừng vịng
lặp. Chính vì những lý do trên mà khi dạy cho học sinh cấu trúc lặp giáo viên
cần xây dựng các ví dụ sử dụng cấu trúc này cụ thể để học sinh hiểu rõ và ghi
nhớ sau đó các em mới hình thành phản xạ và kĩ năng lập trình có xử dụng cấu
trúc lặp. Chúng ta sẽ xem xét vấn đề này qua một số ví dụ sau:
Ví dụ: Số nguyên tố là số tự nhiên lớn hơn 1, chỉ có hai ước là 1 và chính nó.

Yêu cầu: Nhập vào số nguyên dương N. Kiểm tra xem N có phải là số ngun
tố hay khơng, thơng báo kết quả sau khi kiểm tra.
Xác định bài toán:
Input: Nhập vào một số tự nhiên N, Output: N có phải là số nguyên tố hay
không.
* Phương pháp 1:
- Ý tưởng:
+ Cho biến i chạy từ 2 đến n-1 {Ta xét trường hợp n có chia hết cho i hay
khơng}, nếu n chia hết cho i thì ta tăng biến đếm lên một đơn vị {ban đầu biến
đếm nhận giá trị bằng 0}.
+ Kiểm tra biến đếm, nếu biến đếm nhận giá trị bằng không {tức n không chia
hết cho số nào trong khoảng từ 2 đến n-1} vậy n là số nguyên tố, ngược lại biến
đếm nhận giá trị lớn hơn 0{tức n chia hết cho cho một hoặc nhiều giá trị trong
khoảng [2..n-1]} vậy n không phải là số ngun tố.
• Chương trình:
Var n,i,dem:Integer;
Begin
Write('Nhap gia tri N: ');Readln(n);
If n<2 Then Write(n, Khong phai la so nguyen to') Else
Begin
dem:=0;
For i:=2 To n-1 Do
If n Mod i = 0 Then Inc(dem);
If dem=0 Then Writeln(n, ' La so nguyen to')
Else Writeln(n, ' Khong phai So nguyen to');
End; Readln;
11


End.

* Phương pháp 2:
- Bổ sung kiến thức:
+ N là số Nguyên tố khi n>=2 và n không chia hết cho số nào có giá trị trong
khoảng từ 2 đến n – 1. Tuy nhiên trên thực tế thì chỉ cần n khơng chia hết cho số
nào có giá trị trong khoản từ 2 đến số nguyên gần với căn n nhất nhưng nhỏ hơn
n {Trunc(Sqrt(n))}.
- Ý tưởng:
+ Giống như phương pháp 1 tuy nhiên ở đây chúng ta không đếm mà sử dụng
phương pháp đánh dấu của kiểu boolean. Tức ta xét trường hợp n có chia hết
cho i hay khơng, nếu n chia hết cho i thì ta đánh dấu là False {Giả sử biến KT có
biểu dữ liệu là Boolean thì nếu n chia hết cho i thì KT:=False, ban đầu ta gán
KT:=True}.
+ Kiểm tra biến KT, nếu KT là True {tức biến KT nhận tất cả là True} thì n là số
nguyên tố, ngược lại n khơng phải số ngun tố {tức biến KT có nhận lớn hơn
hoặc bằng một giá trị False}.
- Chương trình:
Var i,n:Integer; Kt:Boolean;
Begin
Write('Nhap gia tri N: ');Readln(n);
Kt:=True; If n < 2 Then Kt:=False Else
For i:=2 To Trunc(Sqrt(n)) Do
If n Mod i = 0 Then Kt:=False;
If Kt Then Write(n,' la so nguyen to')
Else Write(n,' Khong la so nguyen to'); Readln;
End.
=> Nhận xét:
- Phương pháp 1: Giúp cho học sinh có cái nhìn tổng quan hơn khi xác định n có
phải là số nguyên tố hay không thông qua phương thức đếm số lần n có chia hết
cho giá trị nào trong khoảng từ [2..n-1] hay khơng, theo định nghĩa thì số
ngun tố là số chỉ chia hết cho 1 và chính nó {tức nếu N là số nguyên tố chỉ khi

n chia hết cho 1 và n}. Vậy nếu n còn chia hết cho số nào trong khoảng [2..n-1]
thì n khơng phải ngun tố.

12


- Phương pháp 2: Phương giáp này giúp học sinh tìm hiểu được nhiều kiến thức
hơn trên nền kiến thức của phương pháp 1. Khi cho i chạy từ 2 đến
trunc(sqrt(n)) thì số lần thực hiện vịng lặp được giảm đi một nữa, sẽ tiết kiệm
được thời gian khi chạy chương trình; mặt khác giúp học sinh ơn lại kiến thức
lấy kết quả phép so sánh của kiểu dữ liệu Boolean, một kiểu dữ liệu mà chúng ta
cũng rất hay sử dụng trong các bài tạo vòng lặp.
Sau khi áp dụng giải pháp 3, kết qua khảo sát 41 học sinh đạt được như
sau:
Tiêu chí

Trước khi áp dụng

Sau khi áp dụng

So sánh

Học sinh nắm được một
số kỹ năng lập trình để
giải quyết bài toán tốt
hơn.

19hs/41hs=46,3%

39hs/41=95.1%


Tăng 48,8%

* Điểm mới của sáng kiến:
Học lập trình sẽ làm tăng khả năng tư duy và là công cụ giúp các em trong
tương lai với thời đại công nghệ số. Việc biết sử dụng một chiếc máy tính thơng
thạo sẽ giúp các em có thể giải quyết những vấn đề phức tạp một cách nhanh
nhất, biến những sáng tạo lập trình của các em trở thành phần mềm ứng dụng cụ
thể thiết thực với thực tế trong tương lai. Quan trọng hơn là những gì mà các em
được tiếp nhận là kỹ năng “giao tiếp” một cách thành thạo với máy móc.
Các em học tốt lập trình, cũng là cách rèn luyện, tự học tự rèn luyện ngoại
ngữ (Tiếng Anh) một môn học rất hữu ích là hành trang để các em vững bước
vào tương lai.
3.3.3. Khả năng áp dụng của sáng kiến:
Giải pháp Rèn luyện tư duy thuật tốn trong học lập trình Pascal – Tin
học 8 ở trường THCS Nam Thái năm học 2019-2020 được tôi áp dụng thành công
tại trường THCS Nam Thái năm học 2019-2020, sáng kiến này có thể nhân rộng
ở các trường THCS trong huyện An Biên và tỉnh Kiên Giang.
4. Những thông tin cần được bảo mật (nếu có): Khơng
5. Các điều kiện cần thiết để áp dụng sáng kiến: Được sự ủng hộ động
viên, khuyến khích của ban giám hiệu, cán bộ, giáo viên, nhân viên trong nhà
trường và được sự ủng hộ của phụ huynh học sinh.
6. Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng
sáng kiến theo ý kiến của tác giả:
- Qua thời gian ứng dụng giải pháp để thiết kế bài giảng vào giảng dạy,
giáo viên trường THCS Nam Thái đạt được các kết quả sau:
13


Hiện trạng

Năm học 2018-2019 Năm học 2019-2020
Tiêu chí
Khá – giỏi
30.1%
52.1%
Trung bình
53.3%
43.2%
Yếu
16.6%
4.7%

So sánh
Tăng 22%
Giảm 10.1%
Giảm 11.9%

- Qua bảng kết quả ta thấy số lượng học sinh yếu giảm 11.9% so với năm
trước, cũng như học sinh trung bình cũng giảm hẳn 10.1%, từ đó tỷ lệ học sinh
khá giỏi tăng lên đáng kể so với năm trước là 22% sau khi áp dụng sáng kiến
bên cạnh đó học sinh tích cực trong việc học hơn.
- Hiệu quả kinh tế: Qua việc áp dụng giải pháp giúp cho học sinh phát
triển khả năng tư duy sáng tạo, tự chiếm lĩnh tri thức, khắc sâu kiến thức đã học,
phát huy tính chủ động, tích cực trong việc tiếp thu kiến thức mới, khả năng suy
luận khi giải quyết một vấn đề, qua đó giúp cho học sinh tìm ra được các
phương pháp giải hay và ngắn gọn cho bài toán. Giáo viên tiết kiệm được thời
gian, công sức, dành nhiều thời giờ cho giảng dạy, kết quả dạy và học cao hơn.
Từ đó phụ huynh phần nào yên tâm hơn với con em mình để phát triển kinh tế
gia đình.
- Hiệu quả xã hội, mơi trường: Rèn luyện cho học sinh tính kiên trì, sáng

tạo trong học tập, dần dần hồn thiện kỹ năng và tự chủ, tự tin để viết chương
trình trong q trình học tập chứ khơng cịn thụ độ như trước. Học lập trình sẽ
giúp các em gia tăng sự làm việc của trí óc, khiến các em suy nghĩ tốt hơn và tạo
ra một hướng suy nghĩ hữu ích trong tất cả các lĩnh vực trong cuộc sống. Từ
điều này cũng giúp cho các em say mê và yêu thích mơn học hơn, khơng cịn
thấy sợ khi nói tới lập trình pascal nữa. Cũng giống như những mơn học khác
như Tốn học, Vật lý, Hóa học… khi các em đã thực sự hiểu và u thích bộ
mơn Tin học các em sẽ tìm thấy nhiều niềm vui khi tìm hiểu và khám phá những
điều mới mẻ nhưng đầy hấp dẫn trong bộ môn tưởng chừng như khô khan này.
Tạo cho học sinh những kĩ năng cần thiết, nền tảng vững chắc trong quá
trình lập trình. Giúp cho các em có được sự năng động, đồng thời tạo cho thế hệ
trẻ trong tương lại ngày càng nhạy bén và chuyên nghiệp trong công việc. Xây
dựng một đội ngũ thế hệ trẻ trong tương lai về kỹ năng lập trình vững vàng và
sáng tạo nhằm tạo sự phát triển nguồn nhân lực trí thức về cơng nghệ phần mềm
góp phần tin học hóa với những cơng nghệ hiện đại.
7. Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng
sáng kiến theo ý kiến của tổ chức, cá nhân đã tham gia áp dụng sáng kiến
lần đầu, kể cả áp dụng thử (nếu có): Nếu tiếp tục áp dụng sáng kiến trong năm
học 2019-2020 và các năm tiếp theo sẽ góp phần nâng cao chất lượng mơn Tin
học nói chung và chất lượng giáo dục tồn diện nhà trường nói riê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.
Nam Thái, ngày 24 tháng 12 năm 2020
14


Người nộp đơn

Đoàn Thị Yến


15



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×