S GIÁO D C VÀ ĐÀO T O NGH AN
===== =====
Đ C NG SÁNG KI N KINH NGHI M ƯƠ
S D NG QUY HO CH ĐNG Đ NÂNG CAO NĂNG L C GI I
QUY T M T S V N Đ V DÃY CON B NG NGÔN NG L P
TRÌNH C++
THU C MÔN: TIN H C
THÁNG 3/ 2022
S GIÁO D C VÀ ĐÀO T O NGH AN
===== =====
Đ C NG SÁNG KI N KINH NGHI M ƯƠ
S D NG QUY HO CH ĐNG Đ NÂNG CAO NĂNG L C GI I
QUY T M T S V N Đ V DÃY CON B NG NGÔN NG L P
TRÌNH C++
THU C MÔN: TIN H C
Nhóm tác gi : Hoàng Xuân Th ng - Tr ng THPT Lê Vi t Thu t ườ ế
Nguy n Đình L i - Tr ng THPT Lê Vi t Thu t ườ ế
T b môn: Toán - Tin
Năm th c hi n: 2021-2022
I. PH N M ĐU
1.1 Lý do ch n đ tài
Trong qua trinh gi ng d y phát tri n năng l c cho hoc sinh khá gioi
th ng găp rât nhiêu bai toan vê day con. Đây la dang bai tâp khó th ng xu t ườ ươ
hi n trong cac đê thi hoc sinh gioi môn Tin h c. R t nhi u h c sinh khi g p d ng
bài t p d ng này thì khó tìm đc cách gi i t i u nên đi m không cao. Nguyên ượ ư
nhân có th nhi u nh ng trong đo co hai nguyên nhân c ban la: ch ng trình ư ơ ươ
cho k t qu output sai hoăc ch ng trình cho k t qu output đúng v i các bế ươ ế ơ
input có d liêu nho nh ng v i nh ng b input co d liêu l n thì ch ng trình ư ư ư ơ ươ
ch y quá th i gian quy đnh là 1giây/1test (m c dù k t qu output v n đúng). ế
Trên th c t đã có m t s tài li u đ c p đn các bài t p v dãy con, ế ế
nh ng các tài li u này m i ch đa ra thu t toán và ch ng trình gi i m t s bàiư ư ươ
t p c th làm ví d minh h a cho m t k thu t l p trình nào đó khi nghiên c u
mà ch a khái quát d ng, ch a phân tích sâu cách t duy, cách l a ch n và cài đtư ư ư
ch ng trình t i u. Các ch ng trình mà m t s tài li u đa ra r t khó hi u vàươ ư ươ ư
ph c t p không phù h p năng l c h c sinh Tr ng THPT Lê Vi t Thu t. Khi ườ ế
nghiên c u các tài li u này, không ch h c sinh mà ngay c giáo ch a có kinh ư
nghi m cũng r t khó khăn?
T nh ng ly do trên, chúng tôi ch n nghiên c u đ tài: ư ư ‘‘S d ng quy
ho ch đng đ nâng cao năng l c gi i quy t m t s v n đ v dãy con ế
b ng ngôn ng l p trình C++ ’’.
1.2. Muc đich nghiên c u " ư
V i mong mu n s d ng quy ho ch đng nâng cao năng l c gi i quy t ế
m t s v n đ v dãy con và hi u bi t sâu s c h n cách gi i các bài t p d ng ế ơ
này, chúng tôi đã dày công nghiên c u, phân d ng các bài t p dãy con, trăn tr đ
tìm ra nhi u cách làm khác nhau, đánh giá đ ph c t p, đo th i gian th c hi n
ch ng trình, đ so sánh tìm ra ch ng trình t i u nh t và d hi u nh t trongươ ươ ư
các ch ng trình đã đa ra. T đó nâng cao ch t l ng b i d ng h c sinh gi iươ ư ượ ưỡ
môn Tin h c.
1.3. Đôi t ng nghiên c u ươ" ư
Sang kiên kinh nghiêm co đôi t ng nghiên c u la ươ ư
- M t s bài toán v dãy con liên ti p ế
- M t s bài toán v dãy con không liên ti p ế
Đc nghiên c u nhi u cách làm, xét trên nhi u ph ng di n ượ ươ (trong đó
nh n m nh ph ng pháp quy ho ch đng) ươ nh : đ ph c t p, k t qu output,ư ế
th i gian th c hi n ch ng trình. ươ
1.4. Ph ng phap nghiên c u ươ ư
3
Đê trinh bay sang kiên kinh nghiêm nay, chúng tôi đa s dung phôi kêt h p ư ơ
nhiêu ph ng phap nh : nghiên c u tai liêu, thuyêt trinh, quan sát, đi u tra c ươ ư ư ơ
b n, th c nghiêm so sanh, phân tich kêt qua th c nghiêm, phu h p v i môn ư ư ơ ơ
hoc thuôc linh v c Tin hoc, Toán h c. ư
Trong t ng ph n chúng tôi s p x p và trình bày các bài t p t d đn khó, ế ế
đng th i thông qua t ng bài t p chúng tôi c g ng phân tích nh m đa ra m t ư
s đnh h ng l i gi i bài toán đ rèn luy n cho h c sinh có kinh nghi m, k ướ
năng v n d ng m t s bài toán t ng t nhau, h ng t i s phát tri n năng l c ươ ướ
cho h c sinh.
II . NÔI DUNG NGHIÊN C U" Ư
2.1. C s ly luânơ ơ$ "
Nêu hoc sinh bi t v n d ng ph ng pháp quy ho ch đng vào vi c gi i ế ươ
quy t các bài toán v dãy con nói riêng và các bài t p lâp trinh nói chung thi ch t ế
l ng h c sinh gi i s đc nâng cao.ượ ượ
2.2. Th c tr ng tr c khi nghiên c u ướ
Các năm h c tr c chúng tôi cũng đã tr c ti p gi ng d y cho đi tuy n h c ướ ế
sinh gi i các c p v chuyên đ dãy con, tuy nhiên vi c d y chuyên đ này ch
y u d a trên nh ng kiên th c c b n c a sách giáo khoa, tài li u tham kh oế ơ
ch a chú tr ng nhi u đn vi c nghiên c u ki n th c Toán h c đ v n d ngư ế ế
gi i quy t các bài toán. ế
Chính vì v y nên các em ch y u ch bi t gi i quy t các bài toán mà th y, cô đã ế ế ế
d y mà không hi u b n ch t th t c a bài toán, khi g p các bài toán cùng d ng
nh ng có khác chút ít thì g p ph i r t nhi u khó khăn.ư
K t qu c a th c tr ng: ế Trên c s nhi u năm đc phân công d yơ ượ
kh i l p 11, tr ng THPT ườ Lê Vi t Thu tế , chúng tôi đã l u l i k t qu h c t pư ế
và s ti n b c a h c sinh m i năm h c m t s l p đ có s đi chi u và ế ế
rút kinh nghi m.
- B ng s li u k t qu đt đc ế ượ khi ch a ưth c hi n đ tài: năm h c 2019 - 2020
STT L pSĩ sGi iKháTrung bình Không đt yêu
c u
1 11T135 3% 29% 57% 11%
2 11A140 13% 63% 25%
3 11A238 6% 50% 44%
- Khi th c nghi m qua các đi t ng h c sinh đã nêu trên, đa s các em còn ượ
lúng túng tr c nh ng bài toán l p trình c b n.ướ ơ Ph n l n các em còn ch a h ngư
thú v i các bài toán l p trình đc bi t là v i ngôn ng pascal.
4
Vì v y trong quá trình gi ng d y chúng tôi đúc rút ra m t s kinh nghi m
đ giúp các h c sinh ti p c n n i dung này d dàng h n, t o nhi u đam mê cho ế ơ
h c sinh. Đ rèn năng l c và k năng l p trình cho h c sinh khá, gi i môn Tin
h c, có r t nhi u cách mà giáo viên có th áp d ng đi v i các đi t ng h c ượ
sinh khác nhau. Thông th ng khi cho m t bài toán tin h c có d ng t ng tườ ươ
ho c d ng m r ng t m t bài toán c b n nào đó trong sách giáo khoa, ho c ơ
m t bài toán c b n nào đó mà các em bi t thì các em có th xây d ng và có ơ ế
h ng thú đ xây d ng thu t toán cho bài toán đt ra. Vì v y giáo viên có th
ch n các bài t p c b n t đó m r ng và phát tri n đ rèn luy n k năng l p ơ
trình cho h c sinh. Dĩ nhiên cách làm này không m i v i giáo viên nh ng cách ư
ch n các bài toán c b n nh th nào đ h c sinh có th v n d ng và gây đc ơ ư ế ư
h ng thú cho h c sinh đó l i là đi u đáng quan tâm. Và chúng tôi đã hoàn toànư
thay th ngôn ng l p trình pascal b ng ngôn ng l p trình C++ và ngôn ng l pế
trình Python đ t o thu n l i cho các em trong vi c cài đt ch ng trình. ươ
2.3. Các bi n pháp s d ng đ gi i quy t v n đ ế
2.3.1. C s lý thuy tơ ế
Khi nào thì chúng ta c n đn quy ho ch đng? Đó là m t câu h i r t khó ế
tr l i. Không có m t công th c nào cho các bài toán nh v y. ư
Tuy nhiên, có m t s tính ch t c a bài toán mà b n có th nghĩ đn quy ho ch ế
đng. D i đây là hai tính ch t n i b t nh t trong s chúng: ướ
Bài toán có các bài toán con g i nhau
Bài toán có c u trúc con t i u ư
Th ng thì m t bài toán có đ c hai tính ch t này, chúng ta có th dùngườ
quy ho ch đng đc. M t câu h i r t thú v là không dùng quy ho ch đng có ượ
đc không? Câu tr l i là có, nh ng n u b n đi thi code thì k t qu không cao.ượ ư ế ế
a. Dãy con liên ti pế
Dãy con liên ti p là dãy g m các ph n t liên ti p thu c m t dãy cho tr c.ế ế ướ
Ví d : Cho dãy A g m 4 s nguyên {5,3,4,-4}. Dãy s {4}; {3,4}; {5,3,4};
{5,3,4,-4}; … đc g i là các dãy con liên ti p c a dãy A.ượ ế
b. Dãy con không liên ti pế
Dãy con có th ch n không liên ti p là dãy thu đc sau khi xóa m t s ph n t ế ượ
(có th không xóa ph n t nào) c a m t dãy cho tr c và gi nguyên th t các ướ
ph n t còn l i trong dãy.
Ví d : Cho dãy B g m 6 s nguyên {3,5,-8,7,24,4}. Dãy s {3}; {3,5}; {-8,7};
{7,24,4}; {3,1,2,-6,9}; đc g i là các dãy con có th ch n không liên ti pượ ế
c a dãy A.
c. Mô hình v dãy con
5