Tải bản đầy đủ (.pdf) (91 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 (858.38 KB, 91 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

Nguyễn Thị Lập 46A_CNTT

1


Khoá luận tốt nghiệp

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

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: ngun thÞ lËp
Líp:

46A - CNTT

Vinh - 2009

Ngun ThÞ LËp 46A_CNTT

2


Khoá luận tốt nghiệp

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

3


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ọc .............................. 6
1.1.2 T- duy và đặc điểm của t- duy ............................................................ 6
1.1.2.1 T- duy................................................................................................ 7
1.1.2.2 Đặc điểm của t- duy .......................................................................... 7
1.2 Kh¸i niƯm tht to¸n ............................................................................... 9
1.2.1 Kh¸i niƯm ............................................................................................. 9
1.2.2 Các đặc tr-ng 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. L-u đồ Sơ đồ khối ................................................................................ 15

Ngun ThÞ LËp 46A_CNTT

4


Khoá luận tốt nghiệp
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
1.4 Khái niệm t- duy thuật giải ................................................................... 20
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đ 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ải ...................................................................... 47
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

Nguyễn Thị LËp 46A_CNTT

5



Kho¸ ln tèt nghiƯp
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ạm ......................................................... 74
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
3.4 Phân tích, nhận xét và rút ra kết luận từ thực nghiệm s- phạm............. 78
3.5 Kết luận ch-ơng III ............................................................................... 79
KÕt ln ...................................................................................................... 80
Phơ lơc ........................................................................................................ 81
Tµi liƯu tham khảo..................................................................................... 83

Nguyễn Thị Lập 46A_CNTT

6


Khoá luận tốt nghiệp

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ệ 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

Nguyễn Thị Lập 46A_CNTT

7


Khoá luận tốt nghiệp
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ẻ
nh-ng 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 tht 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 tduy 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.

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
8
Nguyễn Thị Lập 46A_CNTT



Khoá luận tốt nghiệp
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
tr-ng 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.

Nguyễn ThÞ LËp 46A_CNTT

9


Khoá luận tốt nghiệp
* 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.
* 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

10


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.

Nguyễn ThÞ LËp 46A_CNTT

11


Khoá luận tốt nghiệp
* 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.
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

Ngun ThÞ LËp 46A_CNTT

12


Khoá luận tốt nghiệp
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á 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,
nh-ng 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 thuật toán
1.2.1 Khái niệm
Khái niệm t- duy thuật 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.

Nguyễn Thị Lập 46A_CNTT

13



Kho¸ ln tèt nghiƯp
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. Nh-ng 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ề thuật toán nh- sau:
Thuật 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 ai với giá
trị Max, nếu ai > Max thì Max nhận giá trị mới là ai.

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

Nguyễn Thị LËp 46A_CNTT

14


Kho¸ ln tèt nghiƯp
+ 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 tr-ng 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ư thc 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

15


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 tr-ng 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 l-u đồ 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
16
Nguyễn Thị Lập 46A_CNTT


Khoá luận tốt nghiệp
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. L-u đồ Sơ đồ khối.
L-u đồ 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 l-u đồ sẽ giúp ng-ời đọc theo dõi đ-ợc sự phân cấp

các tr-ờng hợp và quá trình xử lý của thuật toán. Ph-ơng pháp l-u đồ 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ữ l-u đồ, 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.


Nguyễn Thị Lập 46A_CNTT

17


Kho¸ ln tèt nghiƯp

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.

S
>0

=0

Đ

PT có hai nghiệm phân biệt
* 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

Kết thúc


(Có thể thay chữ Bắt đầu bởi Start (hoặc Begin), thay Kết thúc bởi End).

Nguyễn Thị Lập 46A_CNTT

18


Khoá luận tốt nghiệp
Ngoài ra còn có điểm nối, điểm nối sang trang dùng cho thuật toán có
l-u đồ 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
ai >Max?
Đúng
Max ai


i i+1

Nguyễn Thị LËp 46A_CNTT

19


Khoá luận tốt nghiệp
Sơ đồ mô tả thuật toán một cách trực quan, dễ hình dung nh-ng 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 nh-ng 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, l-u đồ 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à ch-a 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.
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.

Nguyễn ThÞ LËp 46A_CNTT

20


Khoá luận tốt nghiệp
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;
Crt;


Uses
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, nh-ng 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

Nguyễn Thị Lập 46A_CNTT

21



Khoá luận tốt nghiệp
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.
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 ch-a 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 nh-ng 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
nh-ng 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 nh-ng 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.


Nguyễn Thị Lập 46A_CNTT

22


Khoá luận tốt nghiệp
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.
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 tht gi¶i.
- HiĨu tÝnh chÊt tht 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ư.

Ngun ThÞ LËp 46A_CNTT

23


Khoá luận tốt nghiệp
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 luyện các kỹ năng tin học và các môn học khác.
* 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ỷ lt cao,…).
Ngun ThÞ LËp 46A_CNTT

24


Khoá luận tốt nghiệp
* 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 thuật giải nh- sau:
* Rèn luyện 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.
Những t- t-ởng chủ đạo trên đà quán triệt những yêu cầu đầu tiên của
việc khai thác hoạt động trong các nội dụng dạy học tin học. Thật vậy, các
hoạt động t- duy thuật giải nhằm vào thực hiện những yêu cầu tin học có
25
Nguyễn Thị Lập 46A_CNTT


×