Tải bản đầy đủ (.pdf) (213 trang)

Phát triển tư duy thuật toán cho HS thông qua dạy học thuật toán ở trường trung học phổ thông

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 (2.99 MB, 213 trang )

B GIÁO D C VÀ ĐÀO T O
TR

NG Đ I H C S PH M HÀ N I
-------------------------------

NGUY N CHÍ TRUNG

PHÁT TRI N T DUY THU T TOÁN CHO H C SINH
THÔNG QUA D Y H C THU T TOÁN
TR

NG TRUNG H C PH

THÔNG

LU N ÁN TI N Sƾ KHOA H C GIÁO D C

HÀ N I - 2015


B GIÁO D C VÀ ĐÀO T O
TR

NG Đ I H C S PH M HÀ N I
-------------------------------

NGUY N CHÍ TRUNG

PHÁT TRI N T DUY THU T TOÁN CHO H C SINH
THÔNG QUA D Y H C THU T TOÁN TR


NG
TRUNG H C PH

THÔNG

LU N ÁN TI N Sƾ KHOA H C GIÁO D C

Chuyên ngành: Lý lu n và ph

ng pháp d y h c b môn

toán
Mã số: 62 14 01 11
NG

IH
NG D N KHOA H C
1: PGS.TS Lê Kh c Thành
2: PGS.TS. H C m Hà

HÀ N I - 2015


-i-

L I CAM ĐOAN
Tôi xin cam đoan đây công trình nghiên cứu do chính tôi th c hi n. Các k t qu
nghiên cứu đ c trình bày trong lu n án là trung th c, khách quan và ch a đ c
công bố b i b t kỳ tác gi nào hay b t cứ công trình nào khác. Các thông tin trích
d n trong lu n án này đ u đ c ch rõ ngu n gốc.

Tác gi

Nguy n Chí Trung


- ii -

L IC M

N

Tôi muốn t lòng bi t n đ n r t nhi u ng i, v i nhi u cách khác nhau đã giúp
đỡ Tôi hoàn thành lu n án này. Tr c h t, tôi xin chân thành c m n PGS.TS Lê
Kh c Thành và PGS.TS H Cẩm Hà – các th y cô tr c ti p h
Tôi trong suốt quá trình nghiên cứu lu n án.

ng d n và đ ng viên

Chân thành c m n GS.TS Bùi Văn Ngh , và các Th y cô thu c b môn Lý lu n
và Ph ng pháp d y h c toán, khoa Toán Tin, tr ng Đ i h c S ph m Hà n i, đã
có nh ng góp ý quí báu trong suốt quá trình sinh ho t t i b môn, đ lu n án đ c
hoàn thi n tốt h n. Tôi chân thành c m n GS.TSKH Nguy n Bá Kim và các th y
cô trong H i đ ng b môn đã giúp ch n tên lu n án phù h p, ph n ánh đúng n i
dung nghiên cứu. Tôi chân thành c m n PGS.TS Vũ Quốc Chung đã h ng d n tôi
trong giai đo n hoàn thi n lu n án đ lu n án có ch t l ng tốt h n.
Trân tr ng c m n Quý phòng ban và Quý tr ng Đ i h c S ph m Hà n i đã h
tr toàn b kinh phí đào t o cũng nh t o nhi u đi u ki n thu n l i cho Tôi trong
th i gian h c t p và hoàn thành ch ng trình ti n sỹ.
Chân thành c m n các th y cô c a b môn Lý lu n và Ph


ng pháp d y h c,

Ban ch nhi m khoa Công ngh thông tin đã cho phép và t o đi u ki n thu n l i
cho tôi đ c h c ch ng trình ti n sỹ. Chân thành c m n các th y cô trong khoa,
các b n bè đ ng nghi p và các em sinh viên đã chia sẻ và đ ng viên cho tôi trong
th i gian h c t p.
Đặc bi t nh t, trong lu n án này tôi xin dành s bi t n đ n gia đình nh t là v và
các con đã sát cánh chia sẻ trong suốt th i gian nghiên cứu lu n án.


- iii -

B NG CÁC C M T
Từ viết tắt
CNTT

Viết đầy đủ
Công ngh thông tin

ĐC

Đối chứng

GV

Giáo viên

HS

H c sinh


NT

Nông thôn

PPDH

Ph

ng pháp d y h c

PTĐT

Ph

ng trình đ

PTTH

Phân tích, t ng h p

SGK

Sách giáo khoa

SGV

Sách giáo viên

THPT


Trung h c ph thông

TN

VI T T T

ng thẳng

Th c nghi m

TongBiet

T ng đi m đánh giá mức đ nh n bi t

TongHieu

T ng đi m đánh giá mức đ thông hi u

TongPTTH

T ng đi m đánh giá mức đ phân tích, t ng h p

TongVDung

T ng đi m đánh giá mức đ v n d ng

TP

Thành phố


TX

Th xã

XLBiet

X p lo i mức đ nh n bi t

XLHieu

X p lo i mức đ thông hi u

XLPTTH

X p lo i mức đ phân tích, t ng h p

XLVD

X p lo i mức đ v n d ng


- iv -

M CL C
M Đ U ......................................................................................................... 1
1. Lý do ch n đ tài ......................................................................................... 1
2. M c tiêu nghiên cứu .................................................................................... 2
3. Nhi m v nghiên cứu ................................................................................... 2
3.1. Nghiên cứu lý lu n .................................................................................... 2

3.2. Nghiên cứu th c ti n ................................................................................. 2
3.3. Đ xu t gi i pháp ...................................................................................... 3
3.4. Th c nghi m s ph m .............................................................................. 3
4. Đối t ng nghiên cứu .................................................................................. 3
5. Ph m vi nghiên cứu ..................................................................................... 3
6. Ph ng pháp nghiên cứu ............................................................................. 4
6.1. Nghiên cứu lý lu n .................................................................................... 4
6.2. Kh o sát đi u tra th c ti n ........................................................................ 4
6.3. Nghiên cứu tr ng h p ............................................................................. 4
6.4. Th c nghi m s ph m .............................................................................. 4
6.5. Thống kê Toán h c ................................................................................... 4
7. Gi thuy t khoa h c ..................................................................................... 4
8. Các lu n đi m b o v và đóng góp c a lu n án ........................................... 5
8.1. V mặt lý lu n ........................................................................................... 5
8.2. V mặt th c ti n ........................................................................................ 5
9. C u trúc và tóm t t n i dung c a lu n án .................................................... 5
CH
NG 1. C S LÝ LU N VÀ TH C TI N V VI C D Y H C
THU T TOÁN ............................................................................................... 7
1.1. S HÌNH THÀNH KHÁI NI M THU T TOÁN .................................. 7
1.1.1. Ngu n gốc c a từ thu t toán .................................................................. 7
1.1.2. S hình thành khái ni m thu t toán trong Toán h c .............................. 7
1.1.3. Khái ni m thu t toán trong Khoa h c máy tính ..................................... 10
1.1.4. Khái ni m thu t toán đ c d y tr ng ph thông .............................. 13
1.2. CÁC TÍNH CH T C A THU T TOÁN................................................ 14
1.2.1. Các tính ch t c b n c a thu t toán ....................................................... 14
1.2.2. Các tính ch t m r ng ............................................................................ 15
1.3. T NG QUAN V NH NG CÁCH TI P C N D Y H C THU T TOÁN
.......................................................................................................................... 19
1.3.1. D y h c thu t toán trong m t số n i dung Toán h c ............................. 19



-v1.3.2. D y h c thu t toán thông qua các câu đố và câu đố giống nh trò ch i
.......................................................................................................................... 19
1.3.3. D y h c thu t toán bằng ph ng pháp tr c quan hóa thu t toán .......... 20
1.3.4. D y h c thu t toán theo h ng phát tri n t duy thu t toán ................. 21
1.3.5. D y h c thu t toán theo các mức trừu t ng c a t duy thu t toán ...... 26
BÌNH LU N.................................................................................................... 28
1.4. TH C TI N D Y H C THU T TOÁN TR NG TRUNG H C PH
THÔNG ........................................................................................................... 28
1.4.1. Nghiên cứu, kh o sát th c ti n d y h c thu t toán ................................ 28
1.4.2. K t qu kh o sát đi u tra tình hình h c thu t toán ................................ 29
1.4.3. Th c t d y h c thu t toán trong môn Toán và môn Tin h c ............... 31
1.4.4. Đánh giá và đ xu t ............................................................................... 33
K T LU N CH

NG 1 ................................................................................ 34

CH
NG 2. CÁC BI U HI N VÀ CÁC C P Đ C A S PHÁT TRI N
T DUY THU T TOÁN .............................................................................. 35
2.1. KHÁI NI M T

DUY THU T TOÁN .................................................. 35

2.1.1. Nh ng căn cứ đ đ xu t khái ni m t duy thu t toán .......................... 35
2.1.2. Khái ni m tác nhân và khái ni m t duy thu t toán .............................. 36
2.2. CÁC BI U HI N C A S PHÁT TRI N T DUY THU T TOÁN
TRONG GI I BÀI T P TOÁN THEO THU T TOÁN ............................... 37
Bài toán v các ch t dinh d ỡng ...................................................................... 38

2.2.1. Hi u bài toán .......................................................................................... 38
2.2.2. Hi u h ng gi i quy t gi i bài toán ....................................................... 40
2.2.3. Hi u thu t toán gi i bài toán .................................................................. 41
2.2.4. Th c hi n đ

c thu t toán gi i bài toán ................................................ 43

2.2.5. Xây d ng đ c thu t toán t ng đ ng ................................................ 44
2.2.6. Đánh giá đ c thu t toán ....................................................................... 45
2.2.7. C i ti n thu t toán hoặc xây d ng đ c thu t toán m i ........................ 46
2.3. CÁC BI U HI N C A T DUY THU T TOÁN TRONG GI I BÀI
TOÁN D A VÀO CÁC CÔNG C TÍNH TOÁN T Đ NG ..................... 46
2.3.1. Xác đ nh bài toán ................................................................................... 47
2.3.2. Hi u ý t ng thu t toán ......................................................................... 48
2.3.3. Hi u thu t toán ....................................................................................... 50
2.3.4. Th c hi n đ c thu t toán ..................................................................... 54
2.3.5. Xây d ng đ c thu t toán t ng đ ng ................................................ 56
2.3.6. Đánh giá đ

c thu t toán ....................................................................... 57


- vi 2.3.7. C i ti n đ

c thu t toán hoặc thi t k đ

c thu t toán m i .................. 58

2.4. CÁC C P Đ C A S PHÁT TRI N T DUY THU T TOÁN........ 58
2.4.1. Ý nghĩa c a vi c xác đ nh các c p đ t duy thu t toán........................ 58

2.4.2. Các c p đ t duy thu t toán ................................................................. 59
2.4.3. Nh ng bi u hi n c a các c p đ t duy thu t toán ................................ 60
2.4.4. Ví d minh h a v các c p đ t duy thu t toán ................................... 61
K T LU N CH

NG 2 ................................................................................ 68

CH
NG 3. M T S TI P C N M I TRONG D Y H C PHÁT TRI N
T DUY THU T TOÁN CHO H C SINH TRUNG H C PH THÔNG
.......................................................................................................................... 70
3.1. PH
NG PHÁP THAO TÁC HÓA TRONG D Y H C THU T TOÁN
.......................................................................................................................... 70
3.1.1. Ph ng pháp chia đ tr và mô đun hóa thu t toán ............................... 70
3.1.2. Ph ng pháp thao tác hóa trong d y h c thu t toán .............................. 77
3.1.3. S phát tri n t duy thu t toán trong d y h c thu t toán theo ph ng pháp
thao tác hóa ...................................................................................................... 89
3.2. PH

NG PHÁP LÀM M N D N TRONG D Y H C THU T TOÁN

.......................................................................................................................... 91
3.2.1. Khái ni m ph

ng pháp làm m n d n trong d y h c thu t toán ........... 91

3.2.2. T ng quan v các cách ti p c n làm m n d n ........................................ 92
3.2.3. Quá trình làm m n d n từ ngoài vào ...................................................... 92
3.2.4. Phân bi t “mô đun thu t toán” và “gói thu t toán” ............................... 98

3.2.5. S phát tri n t duy thu t toán trong d y h c thu t toán theo ph

ng pháp

làm m n d n từ ngoài vào ................................................................................ 98
3.3. PH

NG PHÁP TINH CH TRONG D Y H C THU T TOÁN ...... 100

3.3.1. Gi i thi u ph ng pháp tinh ch và các khái ni m liên quan ............... 100
3.4.2. Nguyên t c tinh ch d a trên ngôn ng và s phát tri n c a t duy thu t
toán................................................................................................................... 103
3.4.3. Tinh ch t

ng đ

ng theo từng b

c c a quá trình xây d ng thu t toán

.......................................................................................................................... 105
3.4.5. S phát tri n c a t duy thu t toán trong quá trình tinh ch t

ng đ

ng

.......................................................................................................................... 109
3.4.6. Tinh ch nâng c p .................................................................................. 111
3.4.7. S phát tri n t duy thu t toán trong quá trình tinh ch nâng c p......... 116

K T LU N CH
NG 3 ................................................................................ 117
CH

NG 4. TH C NGHI M S

PH M ................................................ 119


- vii 4.1. M C ĐÍCH, PH

NG PHÁP ĐÁNH GIÁ VÀ QUI TRÌNH TH C

NGHI M ......................................................................................................... 119
4.1.1. M c đích, m c tiêu và nhi m v c a th c nghi m s ph m ................. 119
4.1.2. Ph ng pháp đánh giá trong th c nghi m s ph m .............................. 119
4.2. QUI T C MÃ HÓA VÀ QUI Đ I ĐI M ............................................... 121
4.2.1. Qui đ i và mã hóa đi m bài ki m tra - đánh giá t ng k t...................... 121
4.2.2. Qui đ i và mã hóa đi m bài t p nhóm - Đánh giá ngang hàng và t đánh
giá..................................................................................................................... 122
4.2.3. Qui đ i và mã hóa đi m từ phi u kh o sát ............................................ 123
4.3. TH C NGHI M 1 ................................................................................... 124
4.3.1. Gi i thi u th c nghi m .......................................................................... 124
4.3.2. K t qu đánh giá bài t p nhóm .............................................................. 125
4.3.3. K t qu làm bài ki m tra ........................................................................ 128
4.3.4. K t qu đánh giá v ph ng pháp d y h c c a GV .............................. 130
4.3.5. K t lu n th c nghi m 1 .......................................................................... 133
4.4. TH C NGHI M 2 ................................................................................... 134
4.4.1. Gi i thi u th c nghi m 2 ....................................................................... 134
4.4.2. K t qu đánh giá bài t p nhóm và bài ki m tra ..................................... 134

4.4.3. K t qu đánh giá v ph ng pháp d y h c c a giáo viên ..................... 140
4.5. Đ XU T VÀ KI N NGH ..................................................................... 142
4.5.1. V vi c d y h c thu t toán tr ng trung h c ph thông .................... 142
4.5.2. V đi u ch nh m t số n i dung c a h c ph n PPDH chuyên ngành môn Tin
h c .................................................................................................................... 142
K T LU N CH
NG 4 ................................................................................ 143
K T LU N ..................................................................................................... 144
CÁC CÔNG TRÌNH C A TÁC GI .......................................................... 147
TÀI LI U THAM KH O ............................................................................. 148


- viii -

DANH M C CÁC VÍ D
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d

Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
m th
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d
Ví d

1. 1. Dãy Fibonacii ................................................................................ 14
1. 2. So sánh hai thu t toán s p x p ...................................................... 15
1. 3. H ph ng trình đ i số tuy n tính ................................................. 17
1. 4. Công thức tính tích phân không s d ng đ c ............................. 17
2. 1. Ch n các cu c h p ........................................................................ 35
2. 2. Hi u rõ bài toán ............................................................................. 38
2. 3. Phát bi u đ c bài toán t ng quát ................................................. 39
2. 4. Đ a ra đ c đ y đ công c và h ng gi i quy t bài toán ........... 40
2. 5. Hi u rõ thu t toán .......................................................................... 41
2. 6. V n d ng đ c thu t toán ............................................................. 43
2. 7. Xây d ng đ c thu t toán t ng đ ng ....................................... 44
2. 8. Ch ra đ c h n ch và u đi m c a thu t toán ............................ 45

2. 9. Tìm h ng gi i khác cho bài toán ................................................. 46
2. 10. Phát bi u đ c bài toán t ng quát và t chức tốt d li u ............ 47
2. 11. Hi u rõ ý t ng thu t toán .......................................................... 48
2. 12. Hi u rõ thu t toán ........................................................................ 50
2. 13. Áp d ng và mô ph ng thu t toán ................................................ 54
2. 14. Xây d ng đ c phiên b n mô t m i cho thu t toán .................. 56
2. 15. Đánh giá tính ch t và hi u qu c a thu t toán ............................ 57
2. 16. Phát hi n sai sót và c i ti n thu t toán ........................................ 58
2. 17. Xác đ nh tham số đ các nghi m c a ph ng trình b c hai th a mãn
thức cho tr c ...................................................................................... 62
2. 18. So sánh m t số v i các nghi m c a ph ng trình b c hai .......... 65
3. 1. Tìm các số đặc tr ng c a m u số li u ........................................... 72
3. 2. Tìm các số đặc tr ng c a các m u số li u: Dùng s đ khối ........ 75
3. 3. Thu t toán tìm số trung bình t ng quát ......................................... 78
3. 4. Tìm ph ng trình đ ng thẳng – Bài toán 1 (Hình h c l p 10) ... 81
3. 5. Tìm ph ng trình đ ng thẳng – Bài toán 2 (Hình h c l p 10) ... 86
3. 6. Làm m n từ ngoài vào m t l n ...................................................... 93
3. 7. Tinh ch theo từng b c c a quá trình xây d ng thu t toán ......... 105
3. 8. Tinh ch nâng c p ......................................................................... 112
3. 9. V cách c l ng, đánh giá hi u qu thu t toán ......................... 113


- ix -

DANH M C CÁC B NG
B ng 1. 1. B ng thống kê t ng h p ................................................................. 29
B ng 1. 2. Thống kê mô t (Descriptive Statistics) ......................................... 30
B ng 1. 3. Mô t t n su t (Frequency table) ................................................... 30
B ng 1. 4. Giá tr các thang đo theo từng đối t ng h c sinh ......................... 31
B ng 1. 5. Báo cáo các giá tr trung bình c a các thang đo nh n thức ........... 31

B ng 4. 1. Qui t c qui đ i đi m c a m t bài t p trong đ ki m tra ................ 122
B ng 4. 2. B ng qui t c qui đ i đi m c a bài t p nhóm ................................. 123
B ng 4. 3. B ng qui đ i đi m sang các thang đo kh o sát .............................. 124
B ng 4. 4. Thống kê k t qu bài t p nhóm c a các l p th c nghi m ............. 125
B ng 4. 5. Thống kê k t qu bài t p nhóm c a các l p đối chứng ................. 126
B ng 4. 6. B ng t ng h p: So sánh k t qu làm bài t p nhóm gi a các l p th c
nghi m và các l p đối chứng ........................................................................... 127
B ng 4. 7. Thống kê k t qu làm bài ki m tra c a các l p th c nghi m ........ 128
B ng 4. 8. Thống kê k t qu làm bài ki m tra c a các l p đối chứng ............ 129
B ng 4. 9. B ng t ng h p: So sánh k t qu làm bài ki m tra gi a các l p th c
nghi m và các l p đối chứng ........................................................................... 130
B ng 4. 10. Đi m trung bình đánh giá PPDH c a GV .................................... 131
B ng 4. 11. Ki m đ nh gi thuy t thống kê ..................................................... 132
B ng 4. 12. Thống kê k t qu bài t p nhóm c a các l p th c nghi m ........... 135
B ng 4. 13. Thống kê k t qu làm bài ki m tra c a các l p th c nghi m ...... 136
B ng 4. 14. Thống kê k t qu bài t p nhóm c a các l p đối chứng ............... 137
B ng 4. 15. Thống kê k t qu làm bài ki m tra c a các l p đối chứng .......... 138
B ng 4. 16. B ng t ng h p: So sánh k t qu làm bài t p nhóm gi a các l p th c
nghi m và các l p đối chứng ........................................................................... 139
B ng 4. 17. B ng t ng h p: So sánh k t qu làm bài ki m tra gi a các l p th c
nghi m và các l p đối chứng ........................................................................... 139
B ng 4. 18. Đi m trung bình đánh giá PPDH c a GV .................................... 140
B ng 4. 19. Ki m đ nh gi thuy t thống kê ..................................................... 141


-x-

DANH M C CÁC HÌNH VẼ VÀ BI U Đ
Hình 1. 1. Tìm cách đi qua mê cung ............................................................... 24
Hình 1. 2. Vừa đi vừa đánh d u ...................................................................... 25

Hình 1. 3. Thu t toán gi i quy t v n đ c a Luay Nakhleh ............................ 26
Hình 2. 1. Mi n nghi m c a h đi u ki n và t p các ph ng án c a bài toán 41
Hình 2. 2. Các giao đi m c a các đ ng thẳng đ c tính b i thu t toán ....... 55
Hình 2. 3. Đ th hàm b c hai trong tr ng h p có hai nghi m ..................... 67
Hình 3. 1. M t số mô đun thu t toán gi i bài toán tính các số đặc tr ng ....... 77
Hình 3. 2. S đ thu t toán P d ng “thô” ..................................................... 94
Hình 3. 3. S đ thu t toán Q .......................................................................... 95
Hình 3. 4. S đ thu t toán P d ng m n (cách 1) ......................................... 96
Hình 3. 5. S đ thu t toán P
Hình 3. 6. Dãy c n s p x p đ

d ng m n (cách 2) ......................................... 97
c chia thành 2 đo n ....................................... 110

Hình 3. 7 Chuy n ph n t nh nh t v đ u dãy con ....................................... 112
Bi u đ 4. 1. Bi u đ bi u di n số l ng và t l HS nhóm l p th c nghi m đ t
các c p đ t duy thu t toán đối v i bài t p nhóm và bài t p . ....................... 125
Bi u đ 4. 2. Bi u đ bi u di n số l ng và t l HS nhóm l p đối chứng đ t các
c p đ t duy thu t toán đối v i bài t p nhóm. ............................................... 126
Bi u đ 4. 3. So sánh chuẩn t duy thu t toán gi a nhóm l p th c nghi m và
nhóm l p đối chứng. ........................................................................................ 128
Bi u đ 4. 4. Bi u đ bi u di n số l ng và t l HS các l p th c nghi m đ t các
c p đ t duy thu t toán đối v i bài ki m tra. ................................................. 128
Bi u đ 4. 5. Bi u đ bi u di n số l ng và t l HS các l p đối chứng đ t các
c p đ t duy thu t toán đối v i bài ki m tra. ................................................. 129
Bi u đ 4. 6. Bi u đ bi u di n số l ng và t l HS nhóm l p th c nghi m đ t
các c p đ t duy thu t toán đối v i bài t p nhóm. ......................................... 135
Bi u đ 4. 7. Bi u đ bi u di n số l ng và t l HS các l p th c nghi m đ t các
c p đ t duy thu t toán đối v i bài ki m tra. ................................................. 136
Bi u đ 4. 8. Bi u đ bi u di n số l ng và t l HS nhóm l p đối chứng đ t các

c p đ t duy thu t toán đối v i bài t p nhóm. ............................................... 137
Bi u đ 4. 9. Bi u đ bi u di n số l ng và t l HS nhóm l p đối chứng đ t các
c p đ t duy thu t toán đối v i bài ki m tra. ................................................. 138
Bi u đ 4. 10. So sánh chuẩn t duy thu t toán gi a nhóm l p th c nghi m và
nhóm l p đối chứng. ........................................................................................ 140


1

M

Đ U

1. Lý do ch n đ tài
Bàn v t duy, Pascal cho rằng “Tư duy tạo nên sự cao cả của con ngư i”;
Descartes nói “Tôi tư duy tức là tôi tồn tại”; Emerson nói “Tư duy là hạt giống của
hành động”; H.Poincaré dùng hình nh “Tư duy là một tia sáng giữa đêm tối.
Nhưng chính tia sáng ấy là tất cả”. Bàn v d y h c, rèn luy n t duy, nguyên th
t ng Ph m Văn Đ ng nói “Điều chủ yếu không phải là nhồi nhét một mớ kiến thức
hỗn độn mà là phương pháp suy nghĩ, phương pháp nghiên cứu, phương pháp học
tập, phương pháp giải quyết vấn đề”. Theo ng n ng c Hy l p thì “Dạy học không
phải là rót kiến thức vào một chiếc thùng rỗng mà là thắp sáng lên những ngọn
lửa”.
Theo Lê H i Y n (2008), m c tiêu c a b c h c ph thông là hình thành và phát
tri n đ c n n t ng t duy c a HS trong th i đ i m i, bao g m nhóm ki n thức, kĩ
năng c b n c a các môn h c ph thông, nhóm các kĩ năng t duy và nhóm các
phẩm ch t nhân cách và đ o đức. Trong đó, các kĩ năng t duy có th k đ n nh
bi t cách suy lu n, phát hi n, gi i quy t v n đ , bi t cách h c, cách t h c, có t
duy sáng t o, ... Thông qua d y ki n thức và kỹ năng đ đ t đ c m c tiêu là hình
thành và phát tri n năng l c t duy - trí tu c a HS, thông qua vi c d y và h c t

duy, chúng ta s t o đ c n n móng trí tu - cách suy nghĩ đ gi i quy t các v n đ
trong th c ti n sau này cho m i HS khi b c vào đ i. V y, mục tiêu quan trọng của
quá trình dạy và học là giúp cho HS phát triển được tư duy.
H Sỹ Đàm và các c ng s (2006) đã khẳng đ nh m c tiêu trên đây trong d y h c
môn Tin h c b c h c ph thông và nh n m nh: M c tiêu c a môn Tin h c là “nhằm
cung c p cho HS nh ng ki n thức ph thông v ngành khoa h c Tin h c, hình thành
và phát triển khả năng tư duy thuật toán, năng l c s d ng các thành t u c a ngành
khoa h c này trong h c t p và trong các lĩnh v c ho t đ ng c a mình sau này".
Nguy n Bá Kim (2009) đã đ c p đ n ―dạy học qui tắc phương pháp” trong d y
h c môn Toán, c th là d y thuật giải và nh ng qui tắc tựa thuật giải. D y thuật
giải nhằm d y cho HS ki n t o tri thức, đặc bi t là tri thức phương pháp. Đây là
m t n i dung r t quan tr ng, vì nó d y cho HS tư duy thuật giải, hay nói r ng h n
là d y HS ph

ng pháp ti p c n gi i quy t m t v n đ m t cách khoa h c.

Toán, có nh ng tri thức ph

môn

ng pháp là các thuật giải và qui tắc tựa thuật giải đ

c

ch ng trình qui đ nh d y t ng minh. môn Tin h c, t t c các bài toán đ u đ c
d y t ng minh thu t toán. Có th nói rằng thu t toán là ph ng pháp gi i quy t


2
v n đ l y n n t ng là Toán h c, đ


c phát tri n m nh m trong ngành Khoa h c

máy tính, và nó tr thành mối quan tâm c a c hai ph m trù Toán h c và Tin h c.
V y thuật toán là n i dung d y h c mà nó m ra nhi u c h i nh t đ rèn luy n và
phát tri n t duy nói chung và t duy thu t toán nói riêng cho HS.
Trong nh ng năm g n đây, dạy học theo định hướng phát triển năng lực đã tr
thành xu h ng chính đối v i nhi u n c trên th gi i, đặc bi t là các n c phát
tri n thu c OECD (Organisation for Economic Co-operation and Development-T
chức h p tác và phát tri n kinh t ). D y h c thu t toán có th xem nh góp vai trò
đáng k trong d y h c đ nh h ng phát tri n năng l c gi i quy t v n đ . B i l , d y
h c thu t toán h ng ứng m c tiêu đào t o hình m u con ng i có năng l c t
quy t và có kh năng ứng x và gi i quy t các v n đ trong khoa h c và th c ti n.
V i s đ m b o c a Toán h c, thu t toán trong lĩnh v c Khoa h c máy tính b i
d ỡng cho HS ph

ng pháp t duy hi u qu trong h c t p nh ng môn h c khác

tr ng ph thông, nh t là trong nh ng ki n thức tích h p và liên môn v i Toán và
Tin h c.
V i nh ng lý do trên, chúng tôi ch n đ tài “Phát triển tư duy thuật toán cho HS
thông qua dạy học thuật toán

trư ng trung học phổ thông” đ nghiên cứu..

2. M c tiêu nghiên c u
M c tiêu c a lu n án là đ xu t đ c m t số cách ti p c n trong d y h c thu t
toán nhằm phát tri n t duy thu t toán cho HS trong d y h c môn Toán và môn Tin
h c. M t cách c th , lu n án đ a ra m t số cách ti p c n m i trong d y h c giải
bài tập toán theo thuật toán m t số n i dung c a môn Toán và d y h c các thuật

toán giải các bài toán dựa vào máy tính thu c lĩnh v c c a môn Tin h c. Nh ng
cách ti p c n này nhằm thúc đẩy và h

ng d n HS t duy đúng đ n và hi u qu

trong gi i quy t v n đ , tức là nhằm phát tri n t duy thu t toán cho HS.

3. Nhi m v nghiên c u
3.1. Nghiên c u lý lu n
Nghiên cứu các v n đ sau đây:
-

Khái ni m thu t toán góc đ Toán h c và Khoa h c máy tính.
Khái ni m thu t toán đ c d y môn Tin h c trong tr ng ph thông.
Các tính ch t và đánh giá hi u qu thu t toán.

-

Nh ng xu h

ng d y h c thu t toán hi n nay

3.2. Nghiên c u th c ti n

trong n

c và trên th gi i.


3

Kh o sát và đánh giá ch t l

ng d y h c thu t toán và l p trình trong môn Tin

h c m t số tr ng ph thông. Đánh giá th c t d y h c thu t toán trong môn
Toán. Từ các đi u tra và đánh giá trên, đ a ra các đ xu t ph ng h ng nâng cao
hi u qu d y h c thu t toán.

3.3. Đ xu t gi i pháp
- Xây d ng các cách ti p c n m i trong d y h c thu t toán trong môn Toán và
môn Tin h c tr ng THPT đ rèn luy n và phát tri n t duy thu t toán HS.
- Xây d ng h thống các khái ni m c b n nh : tác nhân, t duy thu t toán, mức
thủ công và mức điều khiển trong mô t thu t toán, đ phức t p c a bi u di n thu t
toán.
- Xây d ng h thống các thang đo t duy thu t toán, bao g m các bi u hi n c a
s phát tri n t duy thu t toán và các c p đ t duy thu t toán.

3.4. Th c nghi m s ph m
-

V n d ng cách ti p c n d y h c thu t toán đã đ xu t đ d y h c m t số ti t
th c nghi m s ph m.
Thi t k b công c đánh giá k t qu th c nghi m s ph m.
S d ng ph n m m phân tích d li u th c nghi m đ đ a ra các đánh giá và
đ xu t.

4. Đ i t

ng nghiên c u


Đối t ng nghiên cứu c a lu n án là quá trình d y h c thu t toán tr ng
THPT mà th c ch t là quá trình giáo d c thông qua d y h c thu t toán tr ng
THPT. Quá trình d y h c bao g m việc dạy (ho t đ ng và giao l u c a th y) và
việc học (ho t đ ng và giao l u c a HS) v i đối t

ng chi m lĩnh là nội dung thuật

toán, còn b n thân vi c h c là đối t ng đi u khi n c a vi c d y. Quá trình giáo
d c nhằm m c tiêu ch đ o c a vi c d y h c phát tri n t duy thu t toán, th hi n
ch GV không nh ng ch d y HS ki n t o đ c các tri thức v thu t toán mà còn
cho HS n m đ c nh ng ph ng thức t duy nh t duy ng nghĩa, t duy cú
pháp, t duy ngôn ng và đặc bi t là t duy thu t toán.

5. Ph m vi nghiên c u
Về phạm vi lý thuyết, lu n án t p trung nghiên cứu v lý lu n và ph
d y h c thu t toán tr ng ph thông.

ng pháp

Về phạm vi đối tượng, lu n án h ng đ n l p đối t ng HS đ i trà l p 10 và l p
11 THPT, trong đó có m t số n i liên quan đ n đối t ng HS khá.


4
Về phạm vi nội dung, lu n án nghiên cứu nh ng bài toán c a môn Toán có th
gi i t ng quát theo thu t toán và nh ng bài toán c a môn Tin h c đ
thu t toán thu n l i cho l p trình đ gi i quy t trên máy tính.

6. Ph


c xây d ng

ng pháp nghiên c u

6.1. Nghiên c u lý lu n
Nghiên cứu lý luận bao g m nghiên cứu nh ng bài báo, t p chí và sách v cách
ti p c n d y h c thu t toán, và các tài li u liên quan nh tâm lý h c, giáo d c h c,
sách giáo khoa và sách giáo viên.
Phân tích tài liệu lý luận trên đây đ hoàn thành nhi m v c a đ tài.
So sách quốc tế d a trên c s đánh giá, so sánh tài li u, cách ti p c n d y h c
thu t toán trong n c và trên th gi i.
Phân tích tiên nghiệm trong nghiên cứu lý lu n d a vào l ch s hình thành khái
ni m thu t toán và các cách ti p c n d y h c thu t toán khác nhau đ d ki n nh ng
hi n t ng có th có c a HS khi h c thu t toán. Từ đó ki m nghi m hi n t ng đó
trong th c nghi m s ph m v cách ti p c n d y h c thu t toán đ c đ xu t.

6.2. Kh o sát đi u tra th c ti n
Khảo sát - điều tra thực tiễn d y h c thu t toán hi n nay ch ng trình Tin h c
l p 10 và l p 11, THPT, đ phát hi n nh ng thu t l i và khó khăn trong vi c d y
h c thu t toán, giúp thu th p thông tin sinh đ ng cho nghiên cứu.

6.3. Nghiên c u tr

ng h p

D y h c m t số n i dung v thu t toán. Trao đ i v i GV, theo dõi, ghi chép
nh ng tr ng h p này đ xây d ng nh ng tiêu chuẩn đánh giá, đo l ng các k t
qu đi u tra c th . Trên c s đó phân tích, đánh giá d a trên ph n m m.

6.4. Th c nghi m s ph m

Thi t k bài t p nhóm, bài ki m tra và phi u tr c nghi m.
Xây d ng các thang đo t duy thu t toán đ đo ch t l ng d y và h c thu t toán.
Ti n hành th c nghi m k t qu nghiên cứu.
Phân tích số li u thu th p đ c trên ph n m m đ đ a ra đánh giá và đ xu t.

6.5. Th ng kê Toán h c
Thống kê Toán học đây d a trên lý thuy t xác xu t thống kê và phân tích d
li u trong nghiên cứu giáo d c. K t qu c a phân tích d li u là nh ng số li u v
thống kê mô t và nh ng k t lu n v thống kê suy lu n. Nh ng k t qu này đ c s
d ng đ đánh giá nh ng cách ti p c n m i trong d y h c thu t toán c a th c
nghi m s ph m.

7. Gi thuy t khoa h c


5
N u có cách ti p c n m i, phù h p trong d y h c thu t toán tr ng THPT thì
HS s đ c phát tri n t duy thu t toán và đ c nâng cao hi u qu h c t p thu t
toán. Nói m t cách đ y đ h n, HS đ c phát tri n t duy thu t toán trong vi c
hiểu, thực hiện, đánh giá, chuyển giao và xây dựng thu t toán. V i cách ti p c n
m i, t duy thu t toán đ c phân tích thành các c p đ v i các đánh giá t ng ứng,
làm căn cứ cho vi c t chức d y h c đem l i hi u qu h n trong d y h c thu t toán
cho HS.

8. Các lu n đi m b o v và đóng góp c a lu n án
8.1. V mặt lý lu n
Lu n án có nh ng đóng góp sau đây v mặt khoa h c:
Đ xu t đ c h thống lí lu n cho nh ng cách ti p c n phù h p trong d y h c
thu t toán cho HS tr ng THPT, nhằm phát tri n t duy thu t toán và nâng cao
hi u qu h c t p thu t toán. H thống lí lu n này bao g m:

- Những khái niệm nền tảng bao gồm: tác nhân, tư duy thuật toán, những biểu
hiện và các cấp độ của sự phát triển tư duy thuật toán, mô tả thuật toán
hai mức thủ công và điều khiển.
-

Phương pháp thao tác hóa trong dạy học thuật toán và các khái niệm liên

-

quan như mô đun thuật toán, thủ tục và hàm.
Phương pháp làm mịn dần trong dạy học thuật toán.
Phương pháp tinh chế trong dạy học thuật toán và các khái niệm liên quan
như nguyên tắc tinh chế dựa trên ngôn ngữ, độ phức tạp của biểu diễn thuật
toán.

8.2. V mặt th c ti n
Lu n án có nh ng đóng góp sau đây v mặt th c ti n:
-

-

Đ xu t m t h ng ti p c n m i trong d y h c thu t toán tr ng THPT,
góp ph n rèn luy n cho HS t duy gi i quy t các v n đ trong d y h c môn
Toán và môn Tin h c.
Đóng góp m t xu h ng m i trong đào t o sinh viên s ph m Tin h c nói
riêng, lĩnh v c Toán - Tin nói chung trong tr

ng Đ i h c S ph m Hà N i.

9. C u trúc và tóm t t n i dung c a lu n án

Ngoài m t số ph n nh m đ u, k t lu n, và tài li u tham kh o, lu n án g m 4
ch ng sau đây:
Ch ng 1: C s lý lu n v th c ti n
- Về cơ s lý luận: Trình bày ngu n gốc c a từ thu t toán, khái ni m thu t toán
trong quá trình hình thành thu t toán trong Toán h c và trong Khoa h c máy


6
tính, các tính ch t c a thu t toán. L ch s v n đ nghiên cứu cũng đ

-

c gi i

thi u chi ti t, bao g m các xu h ng d y h c thu t toán hi n nay trong n c
và trên th gi i.
Về cơ s thực tiễn: Trình bày k t qu kh o sát, đi u tra tình hình h c t p thu t
toán hi n nay

m t số tr

ng THPT.

Ch ng 2: Các bi u hi n và các c p đ c a s phát tri n t duy thu t toán
- Đ xu t các khái ni m c s nh tác nhân, t duy thu t toán,
- Trình bày các bi u hi n c a s phát tri n t duy thu t toán theo hai mức mô t
thu t toán: mức đ th công (gi i bài toán theo thu t toán) và mức đ đi u
khi n (gi i bài toán d a vào máy tính).
-


Đ a ra các c p đ c a s phát tri n t duy thu t toán.

Ch ng 3: M t s cách ti p c n m i trong d y h c thu t toán tr ng
THPT
- Đ xu t ba cách ti p c n m i trong d y h c thu t toán, bao g m: Thao tác
hóa, Làm mịn dần và Tinh chế.
-

Ch ra s thúc đẩy và cách đánh giá s phát tri n t duy thu t toán trong từng
cách ti p c n d y h c thu t toán.

Ch ng 4: Th c nghi m s ph m
- Trình bày m c đích và ph ng pháp th c nghi m s ph m.
-

Trình bày các công c cho th c nghi m và cách qui đ i, mã hóa đi m số đ
thu n l i cho x lý d li u th c nghi m d a trên ph n m m và đ qui v các
thang đo s phát tri n t duy thu t toán.

-

Các k t qu c a các đ t th c nghi m.
Phân tích, đánh giá và đ a ra các đ xu t.


7

CH

NG 1. C S LÝ LU N VÀ TH C TI N V

D Y H C THU T TOÁN

1.1. S

VI C

HÌNH THÀNH KHÁI NI M THU T TOÁN

1.1.1. Ngu n g c c a t thu t toán
Theo Steven C. Althoen & Robert J. Bumcrot (1988), từ "thu t toán" (algorithm)
có ngu n gốc từ tên g i Mohamed ibn Musa al-Khowarizmi, nhà Toán h c c đ i
ng

i Trung Á, ng

i đã phát minh ra t p các qui t c đ th c hi n các phép toán

c ng, trừ, nhân, và chia các số th p phân. Vào năm 1857, quy n sách đ i số c a ông
b t đ u đ c d ch sang ch Latin. Trong b n d ch ti ng Anh, từ al-Khowarizmi
(hoặc al-Khwarizm, nguyên b n Latin là “al-Khwârizmî”) đ
"algoritmi" và sau này đ c nhi u ng i g i là algorithm.

c phát âm là

M t đi u thú v là Steven và Robert gi i thích tên g i “Mohamed ibn Musa alKhowarizmi” nghĩa là Mohamed, con trai c a Musa, đ n từ huy n Khowarizmi n c C ng hòa xã h i ch nghĩa Xô-Vi t (Liên-Xô cũ) c a ng i Kazakh,
Turkmen, và Uzbek. Tuy nhiên Donald E. Knuth (1980) cho rằng ph n tên g i alKhwârizmî l i không chứng minh đ c ông sinh ra Khwarizm. Vì công vi c
nghiên cứu c a ông di n ra

Baghdad,


n i mà m t số nhà khoa h c v n g i là

“Ngôi nhà thông thái” (“House of Wisdom”) c a Caliph al-Ma’mun - nhà tài tr n i
ti ng cho các nhà nghiên cứu khoa h c, đã từng m i nhi u ng i đ n khóa h c c a
ông đ tuy n ch n và m r ng nh ng tài năng trên th gi i. Nhà s h c al-Tabari đã
thêm từ "al-Qutrubbulli" vào tên c a al-Khwârizmî, là có ý đ c p đ n huy n
Qutrubbulli g n Baghdad. Do đó, Knuth nghĩ rằng al-Khwârizmî đ

c sinh ra

Khwarizm và sống ph n l n cu c đ i Qutrubbull sau đ c tri u t p t i Baghdad
c a Caliph, nh ng s th t có th s không bao gi đ c bi t đ n.

1.1.2. S hình thành khái ni m thu t toán trong Toán h c
Theo Dimitris Samaras (2009), thu t toán có vai trò quan tr ng trong Toán h c.
Các tài li u Toán h c c đi n đã bao g m các mô t v các thu t toán gi i quy t các
nhi m v khác nhau nh : tìm số nguyên tố, tìm ước số chung lớn nhất của hai số
nguyên. Khái ni m thu t toán không đ c đ nh nghĩa chính xác cho đ n t n th k
20. Tr c th k 20, các nhà Toán h c ch có m t khái niệm trực giác (intuitive
notation) v cái g i là thu t toán. Khái ni m tr c giác v thu t toán không đ đ có
m t cái nhìn sâu h n v vi c hi u thu t toán. Năm 1900, t i h i ngh Toán h c quốc
t

Paris, nhà Toán h c David Hilbert đã đ a ra 23 bài toán n i ti ng, mà theo ông


8
đây là nh ng h

ng nghiên cứu Toán h c lý thú cho các nhà Toán h c th gi i


th kỷ 20. Trong đó, yêu c u c a bài toán thứ 10 là “hãy tìm m t qui trình bao g m
m t số h u h n b c th c hi n mà nó cho phép xác định m t ph ng trình
Diophante có nghi m nguyên hay không”1. T i th i đi m này, Hilbert đã không s
d ng thu t ng “thu t toán” mà s d ng c m từ “qui trình v i m t số h u h n các
b c th c hi n” (c m từ này th hi n khái ni m tr c giác v thu t toán). Trong phát
bi u c a mình, Hilbert đã gi đ nh rằng “thu t toán” đ ki m tra là đã t n t i, ta ch
c n tìm ra nó. Nh ng đ n nay chúng ta đã bi t không tồn tại một thuật toán mà nó
có thể trả l i được câu hỏi “m t đa thức cho tr c có nghi m nguyên hay không”.
Khái ni m tr c giác v thu t toán đã không có tác d ng trong vi c ch ra không tồn
tại thuật toán đ gi i bài toán thứ 10 c a Hilbert. Vi c cung c p khái ni m “không
t n t i m t thu t toán đ gi i m t bài toán đã cho” đòi h i ph i có đ nh nghĩa chính
thức v thu t toán.
Năm 1936, Alonzo Church và Alan Turing đã đ xu t đ nh nghĩa hình thức cho
khái ni m thu t toán (formal definitions for the concept of algorithm) (xem
Goldberg, 2012). Church đã s d ng m t h thống khái ni m g i là phép toán  (calculus) đ đ nh nghĩa khái ni m thu t toán, còn Turing dùng máy Turing đ đ nh
nghĩa khái ni m thu t toán2. C hai đ nh nghĩa này đ u t ng đ ng và khá phức
t p, vì nó đ c phát bi u dài dòng và s d ng các thu t ng và kí hi u Toán h c. Lý
thuy t c a Church và Turing đ c t ng k t l i trong luận đề Church-Turing. Lu n
đ này khẳng đ nh mọi hàm Toán học tính được thì cũng có thể dùng các máy
Turing để tính, và do đó cho phép đ nh nghĩa các khái ni m nh s tính đ c c a
hàm hay thu t toán. Các đ nh nghĩa hình thức khác v thu t toán đã đ c nhi u tác
gi đ xu t nh Kleene s d ng các hàm truy h i (recursive functions), Markov s
d ng các qui t c đ o hàm và g i chúng là thuật toán chuẩn (normal algorithm). V
mặt b n ch t, các đ nh nghĩa này đ u t
máy Turing.

ng đ

ng v i nhau và t


ng đ

ng v i

1

Nguyên b n ti ng Anh bài toán thứ 10 c a Hilbert: “Given a Diophantine equation with any number of
unknown quantities and with rational integral numerical coefficients: To devise a process according to which
it can be determined in a finite number of operations whether the equation is solvable in rational integers.”
(Xem Barry Mazur (2010), “Hilbert’s Tenth Problem and Elliptuc Curves”, in Expository Articles - Notes for
Basic Notations talk, Department of Mathematics, University of Harvard).
2

Máy Turing là m t mô hình v thi t b x lý các ký t , tuy đ n gi n, nh ng có th th c hi n đ c t t c
các thu t toán máy tính. Máy Turing đ c xây d ng không dành cho vi c tr c ti p ch t o ra máy tính, mà là
dành cho các thí nghi m t ng t ng đ tìm hi u v các gi i h n c a vi c tính toán trên máy móc. Các máy
Turing đã đ c Alan Turing trình bày vào năm 1936.


9
Yiannis N. Moschovakis (2001) đã cho rằng: Khi các thu t toán đ

c đ nh nghĩa

m t cách chính xác (rigorously) thì chúng đ c nh n ra b i m t máy trừu tượng, là
mô hình Toán h c c a máy tính, đôi khi đ c lí t ng hóa bằng cách thêm vào m t
“b nh không gi i h n”. Yiannis đã trình bày định nghĩa thuật toán theo cách đệ
qui (recursive definitions) đ giao cho mô hình máy th c hi n sự cài đặt
(implementations), mô hình này cũng đ c xem là m t ki u c a thu t toán1. Tuy

nhiên, đ nh nghĩa thu t toán c a Yiamis, cũng nh c a nhi u nhà Toán h c thu n
túy, v n là m t đ nh nghĩa h t sức Toán h c, khó hi u và có m t kho ng cách xa so
v i m t đ nh nghĩa thu t toán mà s mô t nó ti m c n v i s cài đặt trên các máy
tính đ th c hi n.
Andreas R. Blass & Yuri Gurevichz (2003) đã mô t v quá trình “truy tìm” đ
hi u và đ nh nghĩa khái ni m thu t toán, b t đ u v i lu n đ Church – Turing, r i
gi i thi u m t số các cách ti p c n t ng ph n v i Church và Turing và cuối cùng
là m t số khám phá m i nh hình thức hóa các khái ni m thuật toán tuần tự
(sequential algorithms), thuật toán song song (parallel algorithms) và thuật toán
phân tán (distributed algorithms). Andreas và Yuri cho bi t có nh ng bằng chứng
th c nghi m không ng h lu n đ Church-Turing và các tác gi cho rằng lu n đ
Church-Turing là m t b c ti n l n t i s hi u bi t thu t toán, nh ng nó ch a tr c
ti p gi i quy t v n đ “thu t toán là gì”2.
Theo Andreas R. Blass & Yuri Gurevichz (2007), công vi c đi tìm b n ch t c a
đ nh nghĩa thu t toán l i đ c n l c quan tâm vào năm 1953 b i Andrei N.
Kolmogorov mà quan đi m thu t toán c a ông đ c trình bày l i nh sau:
-

M t qui trình c a thu t toán đ c chia ra thành các b c và đ phức t p c a
nó đ c gi i h n tr c. Gi i h n này đ c l p v i Input và tr ng thái hi n t i
c a vi c tính toán.

-

1

M i b c c a thu t toán th c hi n ngay m t s bi n đ i tr c ti p tr ng thái
hi n t i.

Nguyên b n: Algorithms are recursive definitions while machines model implementations, a special


kind of algorithms.
2
Theo Andreas Blass, Yuri Gurevichz (2003), ng
l iđ

i ta th

ng gi đ nh rằng lu n đ Church-Turing tr

c câu h i “thu t toán là gì?”, nh ng không hoàn toàn nh v y. N u nhìn l i năm 1936, Alonzo Church

đã đ a ra m t s ph ng đoán táo b o “các hàm truy h i là các hàm tính đ c”. Vài tháng sau, trong m t
nghiên cứu đ c l p, Alan Turing cũng chứng minh m t khẳng đ nh t ng t “m i số th c tính đ c là có th
tính đ c bằng m t máy Turing”. Nh v y lu n đ Church-Turing quan tâm đ n khái ni m hàm tính đ
nhi u h n là khái ni m thu t toán.

c


10
-

Bi n đ i này áp d ng ch m t ph n c a tr ng thái và không bi n đ i ph n còn
l i c a tr ng thái.

-

Qui trình c a thu t toán th c hi n cho đ n khi hoặc b


c ti p theo không th

x y ra hoặc có d u hi u đã đ t đ c l i gi i.
V i quan đi m trên, Kolmogorov đã đ xu t m t mô hình tính toán m i và cùng
v i Vladimir A. Uspensky, mô hình này đ c phát tri n thành m t mô hình t ng
quát h n cho máy Turing và kh c ph c nh ng h n ch c a máy Turing nguyên gốc.
K t lu n 1
-

Thu t toán là m t khái ni m có ngu n gốc từ Toán h c và đ

c hình thành từ

đ nh nghĩa tr c giác đ n đ nh nghĩa hình thức m t cách chính xác.
-

Máy Turing đ

c xem là m t đ nh nghĩa hình thức cho khái ni m thu t toán,

có th đ c trình bày d i d ng tr c quan hoặc Toán h c hình thức, nh ng
khá dài dòng và phức t p.
-

H u h t các đ nh nghĩa hình thức và chính xác hi n nay v khái ni m thu t
toán đ u t ng đ ng v i nhau và cùng xu t phát từ lu n đ Church – Turing
hoặc mô hình máy Kolmogorov.

1.1.3. Khái ni m thu t toán trong Khoa h c máy tính
Robert Sedgewick (1946) đã gián ti p đ c p đ n khái ni m thu t toán góc đ

l p trình nh sau: "Khi vi t m t ch ng trình máy tính, ta th ng cài đặt m t
ph ng pháp đã đ c nghĩ ra tr c đó đ gi i quy t m t v n đ . Ph ng pháp này
th ng đ c l p v i m t máy tính c th s đ c dùng, nó h u nh thích h p nh
nhau cho nhi u máy tính". Từ "thuật toán" được dùng trong Khoa học máy tính để
mô tả một phương pháp giải bài toán thích hợp cho việc cài đặt như là các chương
trình máy tính1. Thuật toán là "chất liệu" ("stuff") của Khoa học máy tính: chúng là
đối tượng nghiên cứu trung tâm trong nhiều, nếu không nói là hầu hết, các lĩnh vực
của Tin học". Quan đi m v thu t toán c a Robert không đi ng c l i các đ nh
nghĩa hình thức đúng đ n v thu t toán nh đã đ c p trên đây, và cũng giống nh
các nhà Khoa h c máy tính khác, Robert l c b các thu t ng phức t p c a Toán
h c, đ l t t m t cách d hi u rằng m t thu t toán m t khi nó đ c mô t b i m t
ng i làm v Khoa h c máy tính thì nó ph i đ g n gũi t a nh giả mã (pseudo
code), cũng nh đ đ d chuy n đ i sang m t mã nguồn (source code) nào đó
không ph thu c vào ph n cứng máy tính.
1

Nguyên b n: The term algorithm is universally used in computer science to describe problem-solving
methods suitable for implementation as computer programs.


11
Cùng quan đi m v i Robert, Donald E. Knuth (1975) đ nh nghĩa: ―Một thuật
toán là một dãy xác định các qui tắc mà nó cho biết sẽ thực hiện như thế nào để tạo
ra thông tin output từ thông tin input đã cho trong một số hữu hạn các bước.1‖ Đặc
bi t, Knuth đã cho rằng ―Một thể hiện riêng của thuật toán được gọi là một chương
trình, cũng giống như chúng ta dùng từ ―dữ liệu‖ để chỉ một thể hiện riêng của
―thông tin‖. Donald E. Knuth (1980) đã m t m t th i gian dài đ tr l i câu h i:
―Vai trò thực sự của khái niệm thuật toán trong khoa học Toán học là gì?‖, ―Khoa
học máy tính và mối quan hệ của nó với Toán học là gì?‖. Trong nhi u năm, Knuth
đã thuy t ph c các đ ng nghi p rằng Khoa học máy tính là nguyên nhân chính dẫn

đến nhu cầu cần phải nghiên cứu thuật toán, và đã có nh ng ng i không đ ng ý
v i quan đi m c a ông. Nguyên nhân c a s b t đ ng quan đi m này đ n gi n là có
r t nhi u đ nh nghĩa thu t toán. Knuth cho rằng, thuật toán bao gồm tất cả các khái
niệm về những qui trình được xác định rõ ràng, chứa đựng cấu trúc dữ liệu được
thao tác, cũng như chứa đựng các cấu trúc tuần tự các phép toán được thực hiện.
Tr l i v i al-Khwârizmî, nhà khoa h c n i ti ng th k 19 mà tên g i c a ông là
ngu n gốc c a từ “thu t toán”. Donald E. Knuth (1980) bình lu n rằng: N u g i các
thu t toán là các qui t c đ i số mà al-Khwârizmî phát minh, đ th c hi n các phép
toán c ng, trừ, nhân và chia, thì các thu t toán này đã b qua r t nhi u gi i thích chi
ti t m t cách Toán h c, k c khi chúng đ c vi t b i chính al-Khwârizmî!
Nh ng nhà Toán h c và Khoa h c máy tính, đặc bi t là các nhà Khoa h c máy
tính thu n túy, th ng đ a ra các khái ni m chính thức v thu t toán theo cách tr c
quan và h ng đ n đối t ng “hi u đ c”, đ ng th i có kh năng “th c hi n đ c”
thu t toán. Steven C. Althoen & Robert J. Bumcrot (1988) đã đ a ra m t đ nh nghĩa
khá đ n gi n: "Một thuật toán là một danh sách các bước chỉ dẫn để giải quyết một
bài toán cụ thể‖2. Ví d , công thức làm bánh bao từ b t y n m ch là m t thu t toán
đ n s , là b n đ ch đ ng". Ng c l i, Leonard Soicher & Franco Vivaldi (2004)
đã đ a ra đ nh nghĩa m t cách th n tr ng nh sau: “Một cách không chính thức, một
thuật toán là một dãy xác định các chỉ dẫn rõ ràng để thực hiện một nhiệm vụ cụ
thể”3. Karlheinz Essl (2007), ng i sáng t o ph ng pháp “So n nh c theo thu t
toán” (“Algorithmic Compositon”), đã đ nh nghĩa thu t toán nh sau: “Một thuật
toán có thể được định nghĩa như là một tập xác định trước các chỉ dẫn để giải quyết
1

Nguyên b n: An algorithm is a precisely-defined sequence of rules telling how to produce specified
output information from given input information in a finite number of steps.
2

3


Nguyên b n: An algorithm is a step-by-step list of instructions for solving a particular problem.
Nguyên b n: Informally, an algorithm is a finite sequence of unambiguous instructions to perform a

specific task.


12
một vấn đề cụ thể trong một số giới hạn các bước. Thuật toán có thể thay đổi từ một
dãy các phép toán số học đơn giản đến sự kết hợp các thủ tục phức tạp hơn, sử
dụng nhiều chỉ dẫn hơn từ Khoa học máy tính như dựa trên nguyên tắc ngữ pháp,
đệ quy và suy luận xác suất.”1 Piotr Fulmanski (2008) đã đ nh nghĩa ―Trong Toán
học và trong Khoa học máy tính, thuật toán là một danh sách xác định, có thứ tự
các thao tác được định nghĩa rõ ràng, cần đến để thực hiện một nhiệm vụ nào đó‖2.
Chung-Yang Huang et al. (2009) đã đ a ra đ nh nghĩa thu t toán h ng tr c ti p
đ n máy tính, là đối t ng th c hi n thu t toán, m t cách rõ ràng rằng: ―Một thuật
toán là một danh sách có thứ tự các chỉ dẫn được chỉ ra chính xác để thực hiện một
công việc hay giải quyết một bài toán. Nó có thể được mô tả trong ngôn ngữ tự
nhiên, giả mã, sơ đồ, hoặc thậm chí trong ngôn ngữ lập trình‖3.
João Fernando Peixoto Ferreira (2010) đã gi i thích câu nói nôm na “Toán h c là
thu t toán” m t cách t nhiên nh sau: “Khi ta nói rằng Toán học là thuật toán một
cách tự nhiên, không có nghĩa là thuật toán dùng để giải toán. đây, chúng tôi
muốn nói rằng các nguyên tắc và kĩ thuật được phát triển để xây dựng và giải quyết
những vấn đề thuật toán có thể được sử dụng để giải quyết nhiều vấn đề Toán
học‖4, và ông đã đ nh nghĩa ―Một thuật toán là một dãy xác định các chỉ dẫn mà nó
có thể được thực hiện một cách hệ thống trong l i giải bài toán đã cho‖5.
K t lu n 2
-

Các đ nh nghĩa thu t toán đ u h
t ng cuối cùng là máy tính.


ng đ n đối t

ng th c hi n thu t toán, đối

-

Các thu t toán đ c nh n m nh đ n tính gi i đ
và tính xác đ nh.

c, tính đúng đ n, tính dừng,

-

Thu t toán có các hình thức bi u di n nh : ngôn ngữ tự nhiên, giả mã, sơ đồ,
và ngôn ngữ lập trình.

1

Nguyên b n: An algorithm can be defined as a predetermined set of instructions for solving a specific
problem in a limited number of steps. Algorithms can range from a mere succession of simple arithmetical
operations to more complex combinations of procedures, utilising more involved constructions from
computer science such as rule-based grammars, recursion and probabilistic inference.
2
Nguyên b n: In mathematic and computer science, algorithm mean finite, ordered sequence of clearly
defined actions, needed to perform some task.
3

Nguyên b n: An algorithm is a sequence of well-defined instructions for completing a task or solving a problem. It


can be described in a natural language, pseudocode, a flowchart, or even a programming language.
4
Nguyên b n: When we say that mathematics is algorithmic in nature, we do not mean that we have an algorithm to
do mathematics. Instead, we want to say that the principles and techniques that have been developed to formulate and
solve algorithmic problems can be used to solve many mathematical problems.
5

Nguyên b n: An algorithm is a finite sequence of instructions that can be systematically executed in the solution of
a given problem.


13
M t thu t toán không đ

-

c xem là m t l i bài toán bao g m c vi c chứng

minh tính đúng đ n c a l i gi i. Nói cách khác, có th xem thu t toán là m t
l i gi i tóm t t cho m t bài toán, l c b đi r t nhi u các gi i thích chi ti t.

1.1.4. Khái ni m thu t toán đ

cd y

tr

ng ph thông

Lu n án cho rằng khái ni m thu t toán đ c phát bi u trong Tin h c l p 10 SGK (2006) đ m b o đ c s chính xác tuy t đối. Đ nh nghĩa thuật toán đ c d a

trên khái ni m bài toán trong Tin h c, c th nh sau:
Khái ni m bài toán: "Trong phạm vi Tin học, "bài toán" là một việc nào đó ta
muốn máy tính thực hiện". Trong đ nh nghĩa bài toán đ c nêu trên, c m từ "một
việc nào đó" bao g m các bài toán giải được theo thuật toán thu c lĩnh v c Toán
h c và bao g m các bài toán của riêng Tin học.
Ví d xét nh ng việc sau đây:
1

Hãy in lên màn hình m t dòng văn b n thu c “bài toán” c a riêng
chuy n đ ng.
Tin h c

2

Hãy chứng minh t p các số nguyên tố là vô nói chung thu c “bài toán”
t n.
c a riêng Toán h c.

3

Hãy gi i b t ph ng trình b c nh t ax + b thu c “bài toán” c a Toán
≤ 0 v i các số th c a, b cho tr c.
h c và Tin h c.

4
5

Hãy ki m tra xem m t dãy số có l p thành thu c “bài toán” c a Toán
c p số c ng không.
Hãy t p lái xe ô tô trên hi n tr


h c và Tin h c.
ng.

không thu c “bài toán” c a
Toán h c hoặc Tin h c.

Đ nh nghƿa thu t toán: "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ự nhất định sao cho khi thực hiện dãy thao
tác ấy, từ Input (là dữ liệu vào của bài toán), ta nhận được output (là dữ liệu ra của
bài toán) cần tìm".
Đ nh nghĩa trên đây nh n m nh dãy “thao tác” ph i đ m b o hai tính ch t: (1)
tính hữu hạn đ đ m b o thu t toán ph i dừng l i sau m t số b c th c hi n, và (2)
tính có qui tắc đ đ m b o các ch d n (các thao tác) trong thu t toán đ c vi t theo
m t qui đ nh nh t quán v cách mô t , bi u di n chúng.
Đ nh nghĩa v thu t toán đ c nêu trên đây hàm ý nh n m nh vi c ch ra m t qui
trình rõ ràng và chính xác đ tìm ra k t qu (output) từ d li u vào (input) c a bài
toán. Đ nh nghĩa này còn ng ý thu t toán không b đòi h i ph i gi i quy t các yêu
c u đ nh tính c a các bài toán trong Toán h c (ví d nh chứng minh s t n t i hay


×