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

Phát triển tư duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc tin học lớp 11 THPT

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 (558.21 KB, 73 trang )

Khoá luận tốt nghiệp
trờng đại học vinh

khoa công nghệ thông tin
--------------

Nguyễn thị lập

Phát triển t duy thuật giải cho học sinh thông qua dạy học
các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Tin học lớp 11 THPT

Khóa luận tốt nghiệp đại học

Chuyên ngành: phơng pháp giảng dạy tin học

Vinh - 2009

trờng đại học vinh
khoa công nghệ thông tin
--------------

Khóa luận tốt nghiệp đại học

Chuyên ngành: phơng pháp giảng dạy tin học

Nguyễn Thị Lập 46A_CNTT

1



Khoá luận tốt nghiệp

Phát triển t duy thuật giải cho học sinh thông qua dạy học
các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Tin học lớp 11 THPT
Giáo viên hớng dẫn: PGS.TS. Mai văn Trinh
Sinh viên thực hiện: nguyễn thị lập
Lớp:
46A - CNTT

Vinh - 2009

Lời cảm ơn
Để hoàn thành khoá luận này, ngoài sự cố gắng của bản thân, tôi đÃ
nhận đợc sự giúp đỡ nhiệt tình của các thầy giáo, cô giáo, của gia đình và bạn
bè.
Xin gửi lời cảm ơn sâu sắc tới PGS.TS. Mai Văn Trinh ngời đà tận tình
hớng dẫn, giúp đỡ và chỉ bảo trong suốt quá trình thực hiện đề tài.
Xin chân thành cảm ơn các thầy cô giáo trong tổ bộ môn phơng pháp
dạy học của Khoa CNTT Trờng Đại học Vinh đà hớng dẫn và góp ý để tôi
hoàn thành khoá luận này.
Chân thành cảm ơn tất cả các thầy giáo, cô giáo trong tổ Toán Tin
của trờng THPT Đông Sơn 1 - Đông Sơn Thanh Hóa đà tạo mọi điều kiện
giúp đỡ và đóng góp ý kiến để tôi thực hiện đề tài này.
Xin giử lời cảm ơn sâu sắc tới những ngời thân và bạn bè đà luôn động
viên, giúp đỡ tôi để tôi hoàn thành khoá luận này.
Mặc dù đà cố gắng tiếp thu ý kiến của các thầy cô giáo hớng dẫn và nỗ
lực trong nghiên cứu, song khoá luận này chắc chắn không thể tránh khỏi
những sai sót. Vì vậy, rất mong đợc sự góp ý của các thầy cô giáo và các bạn
để tôi có đợc cái nhìn sâu sắc hơn về vấn đề nghiên cứu.

Xin chân thành cảm ơn!
Vinh, 05/2009
Sinh viên
Nguyễn Thị Lập

Nguyễn Thị Lập 46A_CNTT

2


Khoá luận tốt nghiệp

Mục lục
Trang
Mở đầu..........................................................................................................1
1. Lí do chọn đề tài .......................................................................................1
2. Mục đích nghiên cứu.................................................................................2
3. Giả thuyết khoa học...................................................................................3
4. Nhiệm vụ nghiên cứu.................................................................................3
5. Đối tợng nghiên cứu ................................................................................3
6. Phơng pháp nghiên cứu ...........................................................................3
6.1 Nghiên cứu lý thuyết...............................................................................3
6.2 Nghiên cứu thực tiễn................................................................................5
7. Cấu trúc của luận văn................................................................................5
Chơng I: Cơ sở lý luận của việc phát triển t duy thuật giải cho học sinh
thông qua dạy học các CTĐK và các kiểu DL có CT...............................5
1.1 Cơ sở lý luận............................................................................................6
1.1.1 Quan điểm hoạt động trong phơng pháp dạy học6
1.1.2 T duy và đặc điểm của t duy .............................................................6
1.1.2.1 T duy7

1.1.2.2 Đặc điểm cđa t duy7
1.2 Kh¸i niƯm tht to¸n ...............................................................................9
1.2.1 Kh¸i niƯm.............................................................................................9
1.2.2 Các đặc trng của thuật toán ................................................................9
1. Tính đơn trị .............................................................................................10
2. Tính hiệu quả ..........................................................................................10
3. Tính tổng quát.........................................................................................10
1.2.3 Các phơng pháp biểu diễn thuật toán ...............................................11
1. Ngôn ngữ tự nhiên và ngôn ngữ toán học................................................14
2. Lu đồ Sơ đồ khối.................................................................................15
3. Ngôn ngữ phỏng trình .............................................................................17
4. Ngôn ngữ lập trình...................................................................................18
1.3 Khái niệm thuật giải..............................................................................19
3
Nguyễn Thị Lập 46A_CNTT


Khoá luận tốt nghiệp
1.4 Khái niệm t duy thuật giải20
1.5 Vấn đề phát triển TDTG cho học sinh trong dạy học Tin học...............21
1.5.1 Vai trò của việc phát triển TDTG trong dạy học Tin học ở trờng phổ
thông ...........................................................................................................21
1.5.2 Những t tởng chủ đạo để phát triển t duy thuật giải trong dạy học Tin
học
.........................................................................................................27
1.6 Kết luận chơng I ..................................................................................32
Chơng II: Một số định hớng s phạm góp phần phát triển TDTG cho học
sinh thông qua dạy học các CTĐK và các kiểu DL có cấu trúc............32
2.1 Những nội dung chủ yếu về các CTĐK và các kiểu DL có cấu trúc.....32
2.2 Một số nguyên tắc dạy học theo hớng phát triển TDTG cho học sinh

2.3. Một số định hớng s phạm góp phần phát triển TDTG cho học sinh thông
qua dạy học các CTĐK và các kiểu DL có cấu trúc....................................32
2.3.1 Xây dựng quy trình dạy học các CTĐK và các kiểu DL có cấu trúc theo
hớng phát triển TDTG.................................................................................33
2.3.1.1 Quy trình dạy học chiếm lĩnh tri thức lập trình...............................33
2.3.1.2 Quy trình dạy học rèn luyện kỹ năng lập trình................................38
1. Trình bày và thể hiện thuật giải đà biết...................................................38
1.1 Mục đích và yêu cầu..............................................................................38
1.2 Nhận dạng và trình bày lại thuật giải........................................................41
1. Thực hiện thuật giải đà biết .......................................................................53
2. Phân tách hoạt động.................................................................................45
3. Tờng minh hóa thuật giải47
4. Khái quát hoá hoạt động .........................................................................51
5. Chọn thuật giải tối u ..............................................................................53
2.4 Xây dựng hệ thống các bài tập theo hớng phát triển t duy thuật giải cho
học sinh 55
2. 5 Một số giáo án thực nghiệm dạy học theo hớng phát triển t duy thuật giải
cho học sinh
.........................................................................................58
2.6 Kết luận chơng II .................................................................................73
Chơng III: Thực nghiệm s phạm74
3.1 Mục đích và nhiệm cụ của thực nghiệm s phạm .................................74
3.2 Đối tợng thực nghiệm s phạm ............................................................74
3.3 Nội dung và kết quả thực nghiệm s phạm ...........................................74
3.3.1 Nội dung thực nghiệm........................................................................74
3.3.2 Kết quả thực nghiệm ..........................................................................75

Nguyễn Thị Lập 46A_CNTT

4



Khoá luận tốt nghiệp
3.4 Phân tích, nhận xét và rút ra kÕt ln tõ thùc nghiƯm s ph¹m...............78
3.5 KÕt ln chơng III ...............................................................................79
Kết luận......................................................................................................80
Phụ lục........................................................................................................81
Tài liệu tham khảo.....................................................................................83

Mở đầu
1. Lí do chọn đề tài
Chúng ta biết rằng cho đến ngày nay xà hội loài ngời đà và đang trải
qua ba thời kỳ kinh tế đó là: kinh tế nông nghiệp, kinh tế công nghiệp và kinh
tế tri thức (Knowlegde Economy). Toàn nhân loại đà bớc vào thế kỷ XXI
thế kû cđa nỊn kinh tÕ tri thøc. NỊn kinh tÕ này đà tạo ra những biến đổi to lớn
trong mọi mặt hoạt động của con ngời và xà hội, đó là cơ sở hạ tầng mới của
xà hội mới xà hội thông tin xà hội đặt ra những yêu cầu rất cao đối với
hoạt động trí tuệ, khác hẳn so với nền kinh tế sức ngời và nền kinh tế tài
nguyên trong xà hội nông nghiệp và công nghiƯp. NỊn kinh tÕ tri thøc lµ nỊn
kinh tÕ trong đó sự sản sinh ra, phổ cập và sử dụng tri thức giữ vai trò quyết
định đối với sự phát triển kinh tế, tạo ra của cải, nâng cao chất lợng cuộc sống.
Nh vậy, tri thức là yếu tố quyết định của sản xuất, sáng tạo đổi mới là
động lực thúc đẩy sản xuất phát triển. Công nghệ mới trở thành nhân tố quan
trọng hàng đầu trong việc nâng cao năng suất, chất lợng, đặc biệt là công nghệ

Nguyễn Thị LËp 46A_CNTT

5



Khoá luận tốt nghiệp
thông tin và sự ứng dụng rộng rÃi của CNTT vào sản xuất và mọi lĩnh cực
khác của cuộc sống.
Nhận thấy rõ đợc tầm quan trọng của CNTT và từ thực tiễn công cuộc
đổi mới đất nớc giai đoạn hiện nay, trong những năm qua Đảng và Nhà nớc ta
rất chú trọng đến việc phát triển, ứng dụng CNTT vào mọi lĩnh vực của đời
sống xà hội và đào tạo nguồn nhân lực cho CNTT phấn đấu đa Việt Nam
thành xà hội tin học hoá.
Để thực hiện đợc mục tiêu đó một cách toàn diện trong năm học 2006
2007 bộ môn Tin học đà chính thức đợc phổ cập ở bậc trung học phổ
thông. Nhằm mục đích trang bị cho học sinh những tri thức và kỹ năng cơ bản
về Tin học và đồng thời tạo ra ngn nh©n lùc thÕ hƯ míi cã kiÕn thøc Tin học
tốt để chuẩn bị cho việc tin học hoá xà hội.
Tin học, nói rộng hơn là CNTT đợc coi là một lĩnh vực khá mới mẻ nhng phát triển nhanh và mạnh mẽ, có tầm ứng dụng rất rộng rÃi. Do đó bộ môn
Tin học đợc đa vào nhà trờng Phổ thông với mục đích là: làm cho tất cả mọi
học sinh tốt nghiệp trung học đều nắm đợc những yếu tố cơ bản của Tin học
với t cách là thành tố của văn hoá Phổ thông, Góp phần hình thành ở học
sinh những loại hình t duy liên hƯ mËt thiÕt víi viƯc sư dơng CNTT nh t duy
thuật giải, t duy điều khiển. Ngoài những kiến thức cơ bản về Tin học, về
sử dụng máy tính điện tử thì chơng trình Tin học phổ thông còn trang bị cho
học sinh những kiến thức, kỹ năng cơ bản về lập trình, biết vận dụng chúng để
giải một số bài tập cơ bản, đồng thời bớc đầu chuẩn bị hành trang cho học
sinh có thể đi tiếp vào lĩnh vực này ở các giai đoạn tiếp theo. Đặc biệt, qua dạy
học lập trình cần rèn luyện cho học sinh một loại hình t duy quan trọng đó là
t duy thuật giải. Hơn nữa, trớc khi giải quyết một bài toán, trớc khi viết chơng
tình cho máy tính cho dù đơn giản nhất thì bất cứ ai dù ở trình độ nào cũng
đều phải suy t ít nhiều về cách gi¶i, vỊ tht gi¶i. Trong tỉng thĨ kiÕn thøc vỊ
Tin học, các thuật giải hay hẹp hơn nữa là các thuật toán cùng cấu trúc dữ liệu
đợc xem là những tri thức quan trọng hàng đầu và không thể thiếu cho dù bất
kỳ ngôn ngữ lập trình nào muốn đạt đợc mục đích với hiệu quả cao nhất.

Chính vì những lý do trên và với mong muốn tìm ra cho mình một đờng
đi riêng để đến với phơng pháp dạy học môn Tin học, để từ đó tích luỹ và trau
dồi những năng lực và phẩm chất của một ngời giáo viên trong tơng lai, tôi
chọn đề tài: Phát triển t duy thuật giải cho học sinh thông qua dạy học các
cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc Tin học lớp 11 THPT
làm đề tài nghiên cứu khoa học của mình.

Nguyễn Thị Lập 46A_CNTT

6


Khoá luận tốt nghiệp
2. Mục đích nghiên cứu
Mục đích nghiên cứu của khoá luận là nghiên cứu cơ sở lý luận và
thực tiễn, đề ra một số định hớng s phạm nhằm phát triển t duy thuật giải cho
học sinh trong quá trình dạy học các cấu trúc điều khiển và các kiểu dữ liệu có
cấu trúc góp phần nâng cao chất lợng dạy học Tin học ở trờng phổ thông.

3. Giả thuyết khoa học
Nếu đổi mới phơng pháp dạy học theo định hớng phát triển t duy thuật
giải thì sÏ kÝch thÝch høng thó häc tËp, tÝch cùc hãa hoạt động nhận thức của
học sinh do đó nâng cao chất chất lợng dạy học Tin học lớp 11 THPT.

4. Nhiệm vụ nghiên cứu
Để đạt đợc mục đích đà nêu trên, khoá luận có nhiệm vụ:
- Nghiên cứu cơ sở khoa học của việc phát triển t duy thuật giải cho
học sinh trong dạy học Tin học 11 THPT.
- Phân tích tầm quan trọng của việc dạy học lập trình trong giảng dạy
môn Tin học ở trờng Phổ thông nhằm nâng cao nhận thức và t duy cho học

sinh (nhất là t duy thuật giải).
- Làm rõ khái niệm t duy, t duy thuật giải, xác định các nét đặc trng
của việc phát triển t duy thuật giải.
- Xây dựng quy trình dạy học theo hớng phát triển t duy thuật giải cho
học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu
trúc.

5. Đối tợng nghiên cứu
- Nội dung, phơng pháp dạy học lập trình trong chơng trình Tin học phổ
thông.
- Sách giáo khoa và sách giáo viên Tin học 11.
- Hoạt động dạy và học các cấu trúc điều khiển và các kiểu dữ liệu có
cấu trúc ở trờng THPT.

6. Phơng pháp nghiên cứu
6.1 Nghiên cứu lý thuyết
* Nghiên cứu các văn kiện của Đảng và Nhà nớc, của Bộ giáo dục và
Đào tạo có liên quan đến việc dạy và học Tin học ở trờng THPT.
* Các sách báo, tạp chí có liên quan đến nội dung đề tài.
* Các tài liệu, bài giảng về phơng pháp dạy học Tin học, phơng pháp
dạy học môn Toán, các tài liệu giáo dục học, tâm lý học
* Nghiên cứu vị trí, khối lợng kiến thức về lập trình trong chơng trình
Tin học phổ thông.
7
Nguyễn Thị Lập 46A_CNTT


Khoá luận tốt nghiệp
* Nghiên cứu các tài liệu về ngôn ngữ lập trình Pascal.
6.2 Nghiên cứu thực tiễn

* Dự giờ, quan sát gìơ dạy của giáo viên và hoạt động học tập của học
sinh trong quá trình dạy học nói chung và dạy học các cấu trúc điều khiển và
các kiểu dữ liệu có cấu trúc nói riêng.
* Tìm hiểu qua giáo viên để nắm đợc tình hình giảng dạy và học tập
Tin học trong nhà trờng Phổ thông hiện nay.
* Tiến hành thực nghiệm s phạm để kiểm chứng thông qua các lớp
thực nghiệm và đối chứng trên cùng một lớp đối tợng.

7. Cấu trúc của khoá luận
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, khoá luận gồm ba
chơng:
Chơng I: Cơ sở lý luận của việc phát triển t duy thuật giải cho học sinh thông
qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc.
Chơng II: Một số định hớng s phạm góp phần phát triển t duy thuật giải cho
học sinh thông qua dạy học các các cấu trúc điều khiển và các kiểu dữ liệu có
cấu trúc.
Chơng III: Thực nghiệm s phạm.

Nguyễn Thị Lập 46A_CNTT

8


Khoá luận tốt nghiệp
Chơng I
Cơ sở lý luận của việc phát triển t duy thuật giải cho
học sinh thông qua dạy học các cấu trúc điều khiển và
các kiểu dữ liệu có cấu trúc.

1.1 Cơ sở lý luận

1.1.1 Quan điểm hoạt động trong phơng pháp dạy học.
Chúng ta biết rằng quá trình dạy học là một quá trình điều khiển hoạt
động của học sinh nhằm đạt đợc những mục đích dạy học. Còn học tập là một
quá trình xử lý thông tin. Quá trình này có chức năng: đa thông tin vào, ghi
nhớ thông tin, biến đổi thông tin, đa thông tin ra và điều phối. Học sinh thực
hiện các chức năng này bằng những hoạt động của mình. Thông qua hoạt
động thúc đẩy sự phát triển về trí tuệ ở học sinh làm cho học sinh học tập một
cách tự giác, tích cực.
Xuất phát từ một nội dung dạy học ta cần phát hiện những hoạt động
liên hệ với nó rồi căn cứ vào mục đích dạy học mà lùa chän ®Ĩ tËp lun cho
häc sinh mét trong sè những hoạt động thành phần giúp chúng ta tổ chức cho
học sinh tiến hành những hoạt động với độ phức tạp vừa sức họ.
Việc tiến hành hoạt động nhiều khi đòi hỏi những tri thức nhất định,
đặc biệt là tri thức phơng pháp. Những tri thức này lại là kết quả của một quá
trình hoạt động khác. Trong hoạt động, kết quả rèn luyện đợc ở một mức độ
nào đó có thể lại là tiền đề để tập luyện và đạt kết quả cao hơn. Do đó cần
phân bậc những hoạt động theo mức độ khác nhau làm cơ sở cho việc chỉ đạo
quá trình dạy học. Trên cơ sở đợc phân tích trên về phơng pháp dạy học theo
quan điểm hoạt động. Khoá luận này đợc nghiên cứu trong khuôn khổ của lý
luận dạy học, lấy quan điểm hoạt động làm nền tảng tâm lý học. Nội dung của
quan điểm này đợc thể hiện một cách tóm tắt qua những t tởng chủ đạo sau:
* Cho học sinh thực hiện và tập luyện những hoạt động và hoạt động
thành phần.
* Hớng đích và gợi động cơ cho các hoạt động.
* Truyền thụ tri thức, đặc biệt là tri thức phơng pháp, nh phơng tiện và
kết quả của hoạt động.
* Phân bậc hoạt động làm căn cứ cho việc điều khiển quá trình dạy
học.
Nh vậy, nếu phân tích rõ đợc t tởng và phơng pháp dạy học dựa trên
quan điểm hoạt động sẽ góp phần phát triển phơng pháp dạy học theo hớng

phát triển t duy thuật giải cho học sinh.

Ngun ThÞ LËp 46A_CNTT

9


Khoá luận tốt nghiệp
1.1.2 T duy và đặc điểm của t duy
1. T duy
Theo t©m lý häc : “T duy là một quá trình tâm lý phản ánh những thuộc
tính bản chất, những mối liên hệ và quan hệ bên trong cã tÝnh quy lt cđa sù
vËt hiƯn tỵng trong hiện thực khách quan mà trớc đó ta đà biết.
T duy là một quá trình tâm lý thuộc nhận thức lý tính, là một mức độ nhận
thức mới về chất so với cảm giác và tri giác. Trong đó nhận thức lý tính là một
quá trình mà chủ thể nhận thức, khái quát hoá từ các dữ kiện mà họ có một
cách cảm tính bằng cách hệ thống hoá chúng rồi đi đến thiết lập mối liên hệ
giữa chúng và hiểu đợc mối quan hệ bản chất giữa các hiện tợng nghiên cứu.
Từ đó phát biểu thành các tri thức và đợc kiểm tra lại bằng thực nghiệm.
T duy là giai đoạn cao nhất của nhận thức, đi sâu vào bản chất và phát hiện
ra tính quy luật của sự vật hiện tợng bằng những hình thức nh biểu tợng, khái
niệm, phán đoán và suy nghĩ.
2. Đặc điểm của t duy
Với t cách là một mức độ mới thuộc nhận thøc lý tÝnh, kh¸c xa vỊ chÊt
so víi nhËn thøc cảm tính, t duy do con ngời là chủ thể có những đặc điểm cơ
bản sau đây:
* Tính có vấn đề: Đứng trớc những hoàn cảnh, những tình huống mà
vốn hiểu biết cũ, phơng pháp hành động đà biết của con ngời không đủ để giải
quyết, khi đó con ngời rơi vào hoàn cảnh có vấn đề, lúc này con ngời phải vợt ra khỏi phạm vi những hiểu biết và đi tìm những cái mới, hay nói cách khác
đi con ngời phải t duy.

* Tính gián tiếp : t duy phát hiện ra bản chất của sự vật, hiện tợng và
quy luật giữa chúng nhờ sử dụng công cụ, phơng tiện(nh đồng hồ, nhiệt kế,
máy vi tính).Ngôn ngữ là một phơng tiện rất quan trọng của t duy.Con ngời
luôn dùng ngôn ngữ để t duy.
Nhờ đặc điểm gián tiếp này mà t duy đà mở rộng không giới hạn những khả
năng nhận thức của con ngời.
* Tính trừu tợng và khái quát: T duy phản ánh cái bản chất nhất,
chung cho nhiều sự vật hợp thành một nhóm, một loại, một phạm trù (khái
quát), đồng thời loại bỏ khỏi những sự vật đó, những cái cụ thể, cá biệt. Nói
một cách khác, t duy đồng thời mang tính chất trừu tợng và khái quát.
* T duy của con ngời có sự liên hệ chặt chẽ với ngôn ngữ: Ngôn ngữ
đợc xem là phơng tiện của t duy. Nếu không có ngôn ngữ thì bản thân quá

Nguyễn Thị Lập 46A_CNTT

10


Khoá luận tốt nghiệp
trình t duy không diễn ra đợc, đồng thời tạo ra các sản phẩm của t duy cũng
không đợc chủ thể và ngời khác tiếp nhận.
* T duy cã quan hƯ mËt thiÕt víi nhËn thøc c¶m tính: T duy phải dựa
trên những tài liệu cảm tính, trên kinh nghiệm, trên cơ sở trực quan sinh động.
T duy và nhận thức cảm tính là hai mức độ nhận thức khác nhau, nhng không
thể tách rời nhau, có quan hƯ chỈt chÏ bỉ sung cho nhau, chi phèi lẫn nhau
trong hoạt động nhận thức thống nhất và biện chứng. Nh F. Anghen đà nói:
Nhập vào với con mắt của chúng ta chẳng những có những cảm giác khác,
mà còn có cả hoạt động t duy của ta nữa.

1.2 Kh¸i niƯm tht to¸n

1.2.1 Kh¸i niƯm
Kh¸i niƯm t duy tht giải liên hệ chặt chẽ với khái niệm thuật toán,
do đó trớc khi đa ra khái niệm thuật giải ta hÃy nghiên cứu khái niệm thuật
toán.
Trong Tin học, ngời ta quan niệm bài toán là một việc nào đó ta muốn
máy tính thực hiện. Những việc nh đa một dòng chữ ra màn hình, giải phơng
trình bậc hai, sắp xếp một dÃy sốlà những ví dụ về bài toán.
Việc cho một bài toán là mô tả rõ Input và Output. Với Input là các
thông tin đà có còn Output là các thông tin cần tìm từ Input. Nhng vấn đề là
làm thế nào để tìm ra Ouput?
Việc chỉ ra tờng minh một cách tìm Output của bài toán đợc gọi là
một thuật toán (algorithm) giải bài toán đó. Thuật ngữ thuật toán đợc xuất
phát từ nhà toán học Arập Abu Jafar Mohammed ibn Musa al Khowarizmi
(khoảng năm 825). Có nhiều định nghĩa khác nhau về thuật toán. ở đây xin ®a
ra kh¸i niƯm vỊ tht to¸n nh sau:
Tht to¸n ®Ĩ giải một bài toán là một dÃy hữu hạn các thao tác đợc
sắp xếp theo một trình tự xác định sao cho sau khi thùc hiƯn d·y thao t¸c Êy,
tõ Input của bài toán, ta nhận đợc Output cần tìm.
Ví dụ:
Bài toán: Tìm giá trị lớn nhất của một dÃy số nguyên.
Xác định bài toán.
+ Input: Số nguyên dơng N và dÃy N số nguyên a1,a2,,an.
+ Output: Giá trị lín nhÊt Max cđa d·y sè.
 ý tëng:
- Khëi t¹o giá trị Max = a1.
- Lần lợt với i từ 2 đến N, so sánh giá trị số hạng a i với giá
trị Max, nếu ai > Max thì Max nhận giá trị mới là ai.

Nguyễn Thị Lập 46A_CNTT


11


Khoá luận tốt nghiệp
Thuật toán: Thuật toán giải bài toán này có thể đợc mô tả theo cách liệt
kê nh sau:
Bíc 1: NhËp N vµ d·y a1,a2,…,an.
Bíc 2: Max  ai; i  2
Bíc 3: NÕu i > N thì đa ra giá trị Max rồi kết thúc.
Bớc 4:
+ Bíc 4.1 NÕu ai > Max th× Max  ai
+ Bíc 4.2 i  i+1 råi quay l¹i bíc 3.
Tõ định nghĩa ta thấy thuật toán có các tính chất sau:
* Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện
tác thao tác.
* Tính xác định: Sau khi thực hiện các thao tác thì hoặc là thuật toán kết
thúc hoặc là có đúng một thao tác các định để đợc thực hiện tiếp theo.
* Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận đợc Output
cần tìm.
Ví dụ: Với thuật toán tìm Max đa ra ở trên:
* Tính dừng: Vì giá trị của i mỗi lần tăng lên 1 đơn vị nên sau N lần
thì i > N, khi đó kết quả của 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 bớc 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ạng 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.
1.2.2 Các đặc trng của thuật toán

1. Tính đơn trị
Tính đơn trị của thuật toán đòi hỏi rằng các thao tác sơ cấp phải đơn
trị, nghĩa là hai phần tử thuộc cùng một cơ cấu, thực hiện cùng một thao tác
trên cùng một đối tợng thì phải cho cùng một kết quả.
2. Tính hiệu quả
Tính hiệu quả của một thuật toán đợc đánh giá dựa trên một số tiêu
chuẩn nh: khối lợng tính toán, không gian và thời gian khi thuật toán đợc thực
hiện. Tính hiệu qủa của thuật toán là yếu tố quyết định để đánh giá, chọn lựa
cách giải quyết vấn đề bài toán trên thực tế. Có rất nhiều phơng pháp để

Nguyễn Thị Lập 46A_CNTT

12


Khoá luận tốt nghiệp
đánh giá tính hiệu quả của thuật toán. Độ phức tạp của thuật toán là một tiêu
chuẩn đợc dùng rộng rÃi.
3. Tính tổng quát
Thuật toán có tính tổng quát là thuật toán phải áp dụng đợc cho mọi
trờng hợp của bài toán chứ không phải chỉ áp dụng đợc cho một số trờng hợp
riêng lẻ nào đó. Tuy nhiên, không phải thuật toán nào cũng đảm bảo đợc tính
tổng quát. Trong thực tế, có lúc ngời ta chỉ xây dựng thuật toán cho một dạng
đặc trng của bài toán mà thôi.
1.2.3 Cá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, ta thờng dùng
những ngôn ngữ toán học nh: ta có, điều phải chứng minh, giả thiết,
và sử dụng các phÐp suy luËn to¸n häc nh phÐp kÐo theo, phÐp tơng đơng,
Đối với tin học cũng vậy, khi cần yêu cầu máy tính thực hiện một công
việc nào đó, giải một bài toán nào đó thì chúng ta cần phải đa ra cách giải, các

bớc giải cho máy chứ máy tính không thể suy nghĩ và tìm ra cách giải. Hay
nói theo ngôn ngữ của tin học thì có nghĩa là ta phải đa ra thuật toán, cài đặt
thuật toán vào máy, khi đó máy mới có thể giải quyết đợc bài toán.
Thuật toán là một phơng pháp thể hiện lời giải một 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 toá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 toán. Có 4 phơng pháp biểu diễn thuật toán:
1. Ngôn ngữ tự nhiên và ngôn ngữ toán học.
2. Dùng lu đồ sơ đồ khối.
3. Dùng ngôn ngữ phỏng trình.
4. Dùng ngôn ngữ lập trình.
1. Ngôn ngữ tự nhiên và ngôn ngữ toán học
Trong cách biểu diễn thuật toán theo ngôn ngữ tự nhiên và ngôn ngữ toán
học, ngời ta sử dụng ngôn ngữ thờng ngày và ngôn ngữ toán học để liệt kê các
bớc của thuật toán. Các thuật toán ở mục 1 đều đợc viết dới dạng ngôn ngữ tự
nhiên và ngôn ngữ toán học. Phơng pháp biểu diễn này không yêu cầu ngời
viết thuật toán cũng nh ngời đọc thuật toán phải nắm các quy tắc. Tuy vậy,
cách biểu diễn này thờng dài dòng, không thể hiện rõ cấu trúc của thuật toán,
đôi lúc gây hiểu nhầm hoặc khó hiểu cho ngời đọc.
2. Lu đồ Sơ đồ khối.
Lu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuật toán.
Biểu diễn thuật toán bằng lu đồ sẽ giúp ngời đọc theo dõi đợc sự phân cấp các

Nguyễn Thị Lập 46A_CNTT

13


Khoá luận tốt nghiệp
trờng hợp và quá trình xử lý của thuật toán. Phơng pháp lu đồ thờng đợc dùng

trong những thuật toán có tính rắc rối, khó theo dõi đợc quá trình xử lý.
Để biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loại thao tác:
thao tác lựa chọn và thao tác hành động.
*Thao tác lựa chọn:
Thao tác lựa chọn đợc biểu diễn bằng một hình thoi, bên trong chứa biểu
thức điều kiện:
Đ

a=b

A=0

S

Đ

S

*Thao tác xử lý đợc biểu diễn bằng một hình chữ nhật, bên trong chứa nội
dung xử lý.
i := i +1
* Đờng đi
Trong ngôn ngữ lu đồ, do thể hiện các bớc bằng hình vẽ và có thể đặt
các hình vẽ này ở bất kỳ vị trí nào nên ta phải có phơng pháp để thể hiện trình
tự thực hiện các thao tác.

Bớc 1

Bớc 2


Bớc 3
Hai
bớc kế tiếp nhau
đợc nối bằng một mũi tên chỉ hớng thực hiện. Từ thao tác chọn lựa cã thĨ cã
hai híng ®i, mét híng øng víi ®iỊu kiện đúng, một hớng ứng với điều kiện sai.
=0

>0
S

Nguyễn Thị LËp 46A_CNTT
PT cã hai nghiƯm ph©n biƯt

14


Khoá luận tốt nghiệp

Đ

* Hình ô van thể hiện các thao tác nhập, xuất dữ liệu, khởi đầu hoặc kết
thúc của một thuật toán.

Bắt đầu
(Có thể

Kết thúc
thay

chữ Bắt đầu bởi


Start (hoặc Begin), thay Kết thúc bởi End).
Ngoài ra còn có ®iĨm nèi, ®iĨm nèi sang trang dïng cho tht to¸n có
lu đồ lớn.
Ví dụ: Sơ đồ khối thuật toán tìm giá trị lớn nhất của một dÃy gồm N số
nguyên a1, a2,…, aN.

NhËp N vµ d·y a1, a2,…, aN

Max  a1, i 2

Đúng
i>N?

Đa ra Max
rồi kết thúc

Sai
Sai

Nguyễn Thị Lập

ai
>Max?
46A_CNTT

15


Khoá luận tốt nghiệp

Đúng
Max ai

i i+1
Sơ đồ mô tả thuật toán một cách trực quan, dễ hình dung nhng lại rất
cồng kềnh khi phải mô tả những thuật toán phức tạp. Một phơng pháp khác để
biểu diễn thuật toán khắc phục đợc nhợc điểm ấy là ngôn ngữ phỏng trình.
3. Ngôn ngữ phỏng trình.
Tuy sơ đồ khối thể hiện rõ quá trình xử lý và phân cấp các trờng hợp
của thuật toán nhng lại cồng kềnh. Để mô tả thuật toán nhỏ ta phải dùng một
không gian rất lớn. Hơn nữa, lu đồ chỉ phân biệt hai thao tác là rẽ nhánh (lựa
chọn có điều kiện) và xử lý mà trong thực tế, các thuật toán còn có các lặp.
Biểu diễn thuật toán bằng ngôn ngữ phỏng trình là cách biểu diễn sự
vay mợn các cú pháp của một ngôn ngữ lập trình nào đó (Pascal, Basic, C, C+
+, ) để thể hiện thuật toán. Ngôn ngữ phỏng trình đơn giản, gần gũi với mọi
ngời, dễ học vì nó sử dụng ngôn ngữ tự nhiên và cha quá sa đà vào những quy
ớc chi tiết. Mặt khác, nó cũng dễ chuyển sang những ngôn gnữ cho máy tính
điện tử vì đà sử dụng một cấu trúc và ký hiệu chuẩn hoá.
Ví dụ: Biểu diễn thuật toán tìm ớc chung lớn nhất của hai số nguyên
dơng a và b (UCLN(a,b)) bằng ngôn ngữ phỏng trình:
THUATGIAI
UCLN;
BIEN
a,b,n,m : Nguyen;
BATDAU
Nhập hai số a,b nguyên dơng.
m := a; n:=b;
KHI m <> n LAM
NEU m > n THI m:= m- n CON n := n m;
Thongbao UCLN(a,b) = m;

KETTHUC.
4. Ngôn ngữ lập trình.

Nguyễn ThÞ LËp 46A_CNTT

16


Khoá luận tốt nghiệp
Có nhiều ngôn ngữ lập trình nh Pascal, Basic, C, C++, Asembly,Sau
đây là ví dụ dùng ngôn ngữ lập trình Pascal để biểu diễn thuật toán.
Bài toán: Tìm giá trị lớn nhất của một dÃy gồm N số nguyên a1, a2,, aN.
Input: Số nguyên dơng N và dÃy N số nguyên a1, a2,, aN.
Output: Giá trị lớn nhất Max của dÃy đó.
Thuật giải:
Program Tim-Max;
Uses
Crt;
Var
N,i, Max: integer;
A: array[1..20] of integer;
Begin
Clrscr;
Write(‘Nhap so nguyen N=’); readln(N);
For i:=1 to N do
Begin
Write(‘Nhap so nguyen A[’, i ,‘] =’);
Readln(A[i]);
End;
Max:=A[1];

For i:=2 to N do
If A[i] > Max then Max:= A[i];
Write(‘Gia tri lon nhat cua day so la: , Max);
Readln;
END.
1.3 Khái niệm thuật giải
Trong toán học, một bài toán có thể có nhiều cách để giải, tơng tự nh
vậy trong Tin học có thể có nhiều thuật toán khác nhau để giải quyết cùng
một bài toán, nhng mỗi thuật toán lại chỉ giải một bài toán nào đó. Vấn đề đặt
ra là ta nên chọn một thuật toán tốt để giải bài toán đà cho. Vậy thuật toán tốt
là thuật toán nh thế nào? Một thuật toán đợc xem là tốt (hiệu quả) nếu đạt đợc
các tiêu chí sau:
Dung lợng bộ nhớ chiếm ít.
Số các phép tính cần thực hiện ít.
Thời gian cần thiết để chạy ngắn.
Dễ hiểu đối với con ngêi.
17
Ngun ThÞ LËp 46A_CNTT


Khoá luận tốt nghiệp
Dễ cài đặt trên máy.
Trong quá trình nghiên cứu giải quyết các vấn đề bài toán, ngời ta đà đa
ra nhận xét sau:
+ Có nhiều bài toán cho đến nay vẫn cha tìm ra một cách giải theo
kiểu thuật toán và cũng không biết có tồn tại thuật toán hay không.
+ Có nhiều bài toán đà có thuật toán để giải nhng không chấp nhận đợc vì thời gian giải theo thuật toán đó quá lớn hoặc các điều kiện cho thuật
toán đó khó đáp ứng.
+ Có những bài toán đợc giải theo cách giải vi phạm thuật toán nhng
vẫn chấp nhận đợc.

Nh vậy, không phải cách giải nào, thuật toán nào cũng đều đạt đợc các tiêu
chí nêu trên. Do vậy, các cách giải chấp nhận đợc nhng không hoàn toàn đáp
ứng đầy đủ các tiêu chuẩn của thuật toán đợc gọi là các thuật giải. Khái niệm
mở rộng này của thuật toán đà mở rộng cho chúng ta trong việc tìm kiếm phơng pháp để giải quyết các bài toán đợc đặt ra. Ngoài việc mở rộng tính đúng
của thuật toán, thuật giải có tất cả các tính chất nh thuật toán. Nó cũng có các
hình thức biểu diễn phong phú nh thuật toán. Tuy nhiên, đối với một cơ cấu
nhất định chỉ tơng ứng với một hình thức biểu diễn nhất định. Đặc biệt trong
dạy học cần chú ý lựa chọn phơng tiện biểu diễn phù hợp với trình độ và kiến
thức của học sinh. Sự hiểu biết về thuật giải, các tính chất và phơng tiện biểu
diễn nó phản ánh trình độ văn hoá của thuật giải. Ngôn ngữ lập trình là bớc
phát triển cao của văn hoá thuật giải.

1.4 Khái niệm t duy thuật giải
T duy thuật giải là hình thức biểu lộ của t duy biện chứng trong quá
trình con ngêi nhËn thøc khoa häc Tin häc hay th«ng qua hình thức áp dụng
tin học vào các khoa học khác. Nh vậy, t duy thuật giải là t duy biện chứng, là
cách suy nghĩ để giải quyết một bài toán, một công việc nào đó theo một
trình tự nhất định. Nó là phơng thức t duy biểu thị khả năng tiến hành các hoạt
động sau:
T1: Thực hiện những thao tác theo một trình tự xác định phù hợp với
một thuật giải.
T2: Phân tích một quá trình thành những thao tác đợc thực hiện theo
trình tự xác định.
T3: Khái quát hoá một quá trình diễn ra trên một số đối tợng riêng lẻ
thành một quá trình diễn ra trên một lớp đối tợng.

Nguyễn Thị Lập 46A_CNTT

18



Khoá luận tốt nghiệp
T4: Mô tả chính xác quá trình tiến hành một hoạt động.
T5: So sánh những thuật giải khác nhau cùng giải quyết một bài toán
và tìm ra thuật giải tốt hơn về một yêu cầu nào đó.
Trong đó, T1 thể hiện năng lực thực hiện thuật giải, (T2 T5) thể hiện
năng lực xây dựng thuật giải.
Khái niệm t duy thuật giải đợc xác định ở trên là hoàn toàn phù hợp
với những kết quả nghiên cứu về hình thành văn hoá thuật giải. Trong một
cuốn sách của mình tác giả Monakhop đà nêu lên những thành phần của văn
hoá thuật giải bao gồm:
- Hiểu bản chất của thuật giải và những tính chất của nó, hiểu bản chất
là ngôn ngữ biểu diễn thuật giải.
- Nắm vững các phơng pháp và các phơng tiện biểu diễn thuật giải.
- Hiểu tính chất thuật giải của các phơng pháp toán học và các ứng dụng
của chúng; nắm vững các thuật giải trong chơng trình tin học phổ thông.
- Hiểu cơ sở sơ cấp cho máy tính điện tử.
Từ khái niệm và những phân tích ở trên về t duy thuật giải ta thấy rằng
để phát triển t duy thuật giải cho học sinh trong dạy học tin học giáo viên cần
phải tổ chức điều khiển các hoạt động t duy thuật giải. Thông qua hoạt động
đó giúp học sinh nắm vững, củng cố các quy tắc đồng thời phát triển t duy
thuật giải cho học sinh.
1.5 Vấn đề phát triển t duy thuật giải cho học sinh trong dạy học
Tin học
1.5.1 Vai trò của việc phát triển t duy thuật giải trong dạy học Tin
học ở trờng phổ thông.
Sau khi nghiên cứu khái niệm về thuật toán, thuật giải và t duy thuật
giải, chúng ta nhận thấy rằng vấn đề phát triển t duy thuật giải trong môn tin
là một việc rất cần thiết, vai trò của việc phát triển t duy thuật giải là quan
trọng. Bởi đối với tin học thì vấn đề thuật giải và cấu trúc dữ liệu là vấn đề

hàng đầu, muốn giải quyết đợc bài toán cần phải xác định đợc thuật giải và
các kiểu dữ liệu sẽ sử dụng. Hơn nữa việc phát triển t duy thuật giải không
những có ý nghĩa rất lớn đối với tin học mà còn cả đối với toán học. Phát triển
t duy thuật giải không chỉ là một điều kiện cần thiết góp phần hình thành và
phát triển văn hoá thuật giải cho học sinh mà còn là mục đích quan trọng của
việc dạy học tin học ở trờng phổ thông:
* T duy thuật giải tạo điều kiƯn tèt cho häc sinh tiÕp thu kiÕn thøc, rÌn
lun các kỹ năng tin học và các môn học khác.

Nguyễn ThÞ LËp 46A_CNTT

19


Khoá luận tốt nghiệp
* T duy thuật giải giúp học sinh làm quen với cách làm việc trong khi
giải bài toán bằng máy tính điện tử. Thật vậy, thiết kế thuật giải là một khâu
rất cơ bản của việc lập trình. T duy thuật giải tạo điều kiện cho học sinh thực
hiện tốt khâu đó.
* T duy thuật giải phát triển sẽ thúc đẩy sự phát triển các thao tác trí
tuệ (nh: phân tích, tổng hợp, so sánh, trừu tợng hoá, khái quát hoá) cũng nh
những phẩm chất trí tuệ (nh: tính linh hoạt, tính độc lập, tính sáng tạo và nhất
là những phẩm chất cần thiết của ngời lập trình nh: tác phong làm việc theo
nhóm, tính kỷ luật cao,).
* T duy thuật giải giúp học sinh hình dung đợc quá trình tự động hoá
diễn ra trong những lĩnh vực khác nhau của con ngời, trong đó có lĩnh vực xử
lý thông tin. điều này làm cho học sinh thích nghi với xà hội tự động hoá, góp
phần làm giảm ngăn cách giữa nhà trờng và xà hội.

1.5.2 Những t tởng chủ đạo để phát triển t duy thuật giải trong

dạy học Tin học.
Phơng hớng chung để phát triển t duy thuật giải là tổ chức, điều khiển
học sinh tập luyện các hoạt động t duy thuật giải. Muốn vậy, trớc hết giáo viên
cần phải thiết kế và xây dựng các bài dạy theo một quy trình có tính chất thuật
giải đối với các tình huống điển hình trong dạy học tin, mà quan trọng nhất là
các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc. Nghĩa là phải xây
dựng một hệ thống quy định nghiêm ngặt đợc thể hiện theo một quá trình chặt
chẽ và dẫn tới cách giải quyết đúng đắn.
Qua quá trình tìm hiểu, nghiên cứu và tham khảo tài liệu, xin đợc đa
ra hệ thống các t tởng chủ đạo về phát triĨn t duy tht gi¶i nh sau:
* RÌn lun cho học sinh các hoạt động t duy thuật giải trong khi dạy
học và luyện tập tri thức lập trình.
* Gợi động cơ và hớng đích cho các hoạt động t duy thuật giải bao
gồm:
- Gợi động cơ và hớng đích mở đầu cho các hoạt động t duy thuật
giải.
- Gợi động cơ và hớng đích trong khi tiến hành các hoạt động t duy
thuật giải.
- Gợi động cơ kết thúc hoạt động t duy thuật giải.
* Truyền thụ cho học sinh những tri thức phơng pháp về t duy thuật
giải trong khi tổ chức, điều khiển tập luyện các hoạt động t duy thuật giải.
* Phân bậc các hoạt động.

Nguyễn ThÞ LËp 46A_CNTT

20




×