﻿1
00:00:00,000 --> 00:00:01,726

2
00:00:02,358 --> 00:00:03,590

3
00:00:03,695 --> 00:00:10,492

4
00:00:10,415 --> 00:00:14,078

5
00:00:14,039 --> 00:00:15,327

6
00:00:15,286 --> 00:00:15,687

7
00:00:15,885 --> 00:00:22,119

8
00:00:22,096 --> 00:00:25,163

9
00:00:25,166 --> 00:00:29,192

10
00:00:29,134 --> 00:00:29,696

11
00:00:29,807 --> 00:00:30,943

12
00:00:31,096 --> 00:00:31,537

13
00:00:31,786 --> 00:00:33,916

14
00:00:34,758 --> 00:00:37,996
พวกเราเคยเจอปัญหาแบบนี้บ้างไหมครับ

15
00:00:38,327 --> 00:00:42,501
ปัญหาที่มีลักษณะเดียวกันซ้ำหลายๆรอบ

16
00:00:42,708 --> 00:00:42,915

17
00:00:43,009 --> 00:00:44,478
พวกเรา

18
00:00:44,537 --> 00:00:48,142
ลองไปชมสถานการณ์ตัวอย่างต่อไปนี้ดูนะครับ

19
00:00:48,016 --> 00:00:52,216

20
00:00:52,247 --> 00:00:53,046

21
00:00:53,145 --> 00:00:57,491

22
00:00:57,436 --> 00:00:58,129

23
00:00:58,186 --> 00:00:59,136

24
00:00:59,085 --> 00:01:00,729

25
00:01:00,768 --> 00:01:01,960

26
00:01:02,177 --> 00:01:02,575

27
00:01:02,625 --> 00:01:04,215

28
00:01:04,218 --> 00:01:09,398

29
00:01:09,586 --> 00:01:14,149

30
00:01:14,147 --> 00:01:14,576

31
00:01:14,536 --> 00:01:16,192

32
00:01:16,125 --> 00:01:19,268

33
00:01:19,215 --> 00:01:25,755

34
00:01:25,755 --> 00:01:31,085
ควรจะสั่งอย่างไรเพื่อให้สั่งครั้งเดียวแล้วสามารถทำงานได้ตลอดนะ

35
00:01:31,245 --> 00:01:32,846
อ๋อ

36
00:01:32,925 --> 00:01:38,966
ใช้คำสั่งทำซ้ำเข้ามาช่วยดีกว่า

37
00:01:38,864 --> 00:01:40,383

38
00:01:40,337 --> 00:01:46,551

39
00:01:46,694 --> 00:01:47,186

40
00:01:47,204 --> 00:01:50,647

41
00:01:50,595 --> 00:01:54,038

42
00:01:54,053 --> 00:01:57,505

43
00:01:57,469 --> 00:01:59,957

44
00:02:00,198 --> 00:02:01,679
จากสถานการณ์ตัวอย่าง

45
00:02:01,814 --> 00:02:03,334
เราจะพบว่า

46
00:02:03,285 --> 00:02:03,662

47
00:02:03,553 --> 00:02:07,073
คุณครูได้สั่งงานให้นักเรียนทำการจัดโต๊ะ

48
00:02:07,303 --> 00:02:10,199
โดยใช้คำสั่งทีละคำสั่ง

49
00:02:10,786 --> 00:02:11,185

50
00:02:10,965 --> 00:02:13,981
คุณครูจำเป็นจะต้องสั่งคำสั่ง

51
00:02:13,907 --> 00:02:15,814
หลายครั้งมาก

52
00:02:15,769 --> 00:02:19,224
คุณครูจะเลือกใช้การทำซ้ำมาแก้ปัญหา

53
00:02:19,244 --> 00:02:24,679
นอกจากการทำซ้ำที่เราพบเจอในชีวิตประจำวันแล้วเรายังสามารถ

54
00:02:24,736 --> 00:02:27,626
การทำซ้ำในสำนักงานอื่นได้อีกครับ

55
00:02:27,823 --> 00:02:33,536
ตัวอย่างให้ครับ

56
00:02:33,523 --> 00:02:34,380

57
00:02:34,664 --> 00:02:39,947
เกมทายเลขมันเริ่มจะแบ่งผู้เล่นเป็น 2 ฝ่ายฝ่ายแรก

58
00:02:39,916 --> 00:02:45,176
เป็นผู้เขียนคำตอบไว้ในกระดาษซึ่งมีค่าตั้งแต่ 0 ถึง 100

59
00:02:45,434 --> 00:02:48,216
นั้นให้ฝ่ายที่ 2 ขายตัวเลข

60
00:02:48,196 --> 00:02:53,515
เมื่อไปที่ 2 ทายตัวเลขมีค่ามากกว่าคำตอบให้ฝ่ายแรก

61
00:02:53,445 --> 00:02:56,271
บอกว่าถ้ามากเกินไป

62
00:02:56,203 --> 00:02:56,424

63
00:02:56,329 --> 00:03:01,087
ที่ 2 คลายตัวเลขอีกถ้ามีค่าน้อยกว่าคำตอบ

64
00:03:00,943 --> 00:03:07,176
ให้ตอบว่าข้าน้อยเกินไปและเมื่อไปที่ 2 คล้ายตัวเลข

65
00:03:07,092 --> 00:03:09,650
หมายแรกจะตอบว่า

66
00:03:09,583 --> 00:03:13,103
ทายถูกต้องจากนั้นจะสลับกันเล่น

67
00:03:13,186 --> 00:03:17,008
โดยฝ่ายไหนทายตัวเลขได้น้อยครั้งกว่า

68
00:03:17,023 --> 00:03:18,282
เป็นผู้ชนะ

69
00:03:18,313 --> 00:03:18,669

70
00:03:18,612 --> 00:03:22,255
เราไปชมวีดีโอสาธิตการเล่นเกมทายเลขกันครับ

71
00:03:22,063 --> 00:03:27,275
เสร็จแล้วราคาได้เลย 15 เกินไป

72
00:03:27,197 --> 00:03:30,088

73
00:03:30,014 --> 00:03:33,969
เกินไปเกินไป

74
00:03:34,122 --> 00:03:42,600

75
00:03:42,763 --> 00:03:47,975
น้อยเกินไป

76
00:03:47,893 --> 00:03:54,229
ถูกแล้ว

77
00:03:54,373 --> 00:03:57,611
เมื่อเราทำกิจกรรมเกมทายเลขเรียบร้อยแล้วนะครับ

78
00:03:57,642 --> 00:04:00,252
พวกเราลองร่วมกัน

79
00:04:00,311 --> 00:04:03,475
เขียนรหัสลำลองของเกมทายเลขที่ดูนะครับ

80
00:04:03,913 --> 00:04:09,408

81
00:04:09,342 --> 00:04:14,651
เป็นยังไงบ้างครับ

82
00:04:14,741 --> 00:04:16,849
เขียนรหัสลำลองกันเสร็จแล้วใช่ไหม

83
00:04:16,901 --> 00:04:22,605
ลองดูนะครับว่าเหมือนของผมหรือเปล่าเริ่มต้นจากเราสุ่มตัวเลขตั้งแต่ 1

84
00:04:22,423 --> 00:04:26,306
ถึง 100 ครับจากนั้นไปเก็บไว้จนจบแปลก 11

85
00:04:26,472 --> 00:04:30,173
และจะทำคำสั่งต่อไปนี้ไปเรื่อยๆ

86
00:04:30,161 --> 00:04:32,417
เริ่มจากเรารัก

87
00:04:32,471 --> 00:04:34,061
ถ้าจะพูดเล่น

88
00:04:34,032 --> 00:04:37,139
ที่ถ่ายเป็นจำนวนเต็มมาเก็บไว้ซื้อกาแฟอันเซอร์

89
00:04:37,031 --> 00:04:37,435

90
00:04:37,481 --> 00:04:38,733
จากนั้น

91
00:04:38,775 --> 00:04:42,137
ตรวจสอบครับว่าต่อไปอาจจะมีค่าน้อยกว่า 11 ไหม

92
00:04:42,160 --> 00:04:42,572

93
00:04:42,731 --> 00:04:43,930
ถ้าใช่

94
00:04:43,873 --> 00:04:47,274
เราจะตอบกูเล่นไปว่าถ้าน้อยเกินไป

95
00:04:47,355 --> 00:04:47,710

96
00:04:47,741 --> 00:04:53,301
แต่ถ้าไม่ใช่เราจะมาตรวจสอบอีกครับว่าตัวแป้นเสริมมากกว่า 41

97
00:04:53,052 --> 00:04:53,807

98
00:04:54,070 --> 00:04:58,039
ถ้าใช่เราจะตอบไปว่าห้ามมากเกินไป

99
00:04:58,183 --> 00:04:59,766
และ

100
00:04:59,890 --> 00:05:02,832
เซ็นเซอร์มีค่าเท่ากับ 48 เมื่อไหร่

101
00:05:02,712 --> 00:05:02,914

102
00:05:02,831 --> 00:05:03,099

103
00:05:03,042 --> 00:05:06,330
เราก็จะตอบกูเล่นไปว่าทายถูกแล้ว

104
00:05:06,315 --> 00:05:06,759

105
00:05:06,701 --> 00:05:08,343
และให้จบการทำงาน

106
00:05:08,470 --> 00:05:14,450
แต่ในกรณีที่ยังขายไม่ถูกเราจะวนกลับไปรับค่าใหม่

107
00:05:14,321 --> 00:05:17,176
และตรวจสอบใหม่อีกครั้งนึงไปเรื่อยๆ

108
00:05:17,143 --> 00:05:23,052
จนกระทั่งเจอเงื่อนไขจบการทำงานครับ

109
00:05:23,293 --> 00:05:25,242
แล้วใช้วิธีการถ่ายแบบสูง

110
00:05:25,660 --> 00:05:29,610
ผังรายการทายน้อยที่สุดและพบคำตอบ

111
00:05:29,622 --> 00:05:31,328
คืนหนึ่งครั้ง

112
00:05:31,480 --> 00:05:34,506
จำนวนครั้งในการทานมากที่สุด

113
00:05:34,481 --> 00:05:34,738

114
00:05:34,753 --> 00:05:34,992

115
00:05:34,871 --> 00:05:36,181
โอกาสถึง

116
00:05:36,102 --> 00:05:41,389
100 ครั้งเรามีกระบวนการ

117
00:05:41,471 --> 00:05:42,230
วิธีการ

118
00:05:42,194 --> 00:05:42,453

119
00:05:42,432 --> 00:05:44,233
ในการค้นหาข้อมูล

120
00:05:44,351 --> 00:05:45,813
เราจะใช้

121
00:05:45,970 --> 00:05:48,152
ในการถ่ายน้อยที่สุด

122
00:05:48,070 --> 00:05:50,869
และพบคำตอบคือ 1 ครั้งเช่นกัน

123
00:05:50,770 --> 00:05:51,040

124
00:05:51,221 --> 00:05:53,851
แต่จำนวนครั้งในการถ่ายมากที่สุด

125
00:05:53,771 --> 00:05:54,140

126
00:05:54,163 --> 00:05:57,055
จะเหลือเพียงแค่ 7 ครั้งเท่านั้น

127
00:05:57,162 --> 00:05:58,681

128
00:05:58,779 --> 00:06:04,121
เราลองหาข้อมูลเกี่ยวกับการค้นหาข้อมูลหรือการ search ข้อมูลนะครับ

129
00:06:04,033 --> 00:06:10,674
binary search ว่าน่าสนใจเลยทีเดียวนะครับ

130
00:06:10,874 --> 00:06:13,700
ลองหาข้อมูลดูนะครับ

131
00:06:13,749 --> 00:06:17,298
ปัญหาอย่างหนึ่งของการทำซ้ำคือ

132
00:06:17,230 --> 00:06:24,424
แล้วเมื่อไหร่ล่ะเราจึงได้หยิบการทำซ้ำนั้นมาใช้งานเราลองกลับไปศึกษาเรื่อง

133
00:06:24,520 --> 00:06:26,165
พิจารณารูปแบบ

134
00:06:26,201 --> 00:06:26,474

135
00:06:26,320 --> 00:06:28,551
หรือ internet connection

136
00:06:28,510 --> 00:06:29,768
เราจะพบว่า

137
00:06:29,709 --> 00:06:37,561
เมื่อไหร่ก็ตามที่เราพิจารณารูปแบบการแก้ปัญหาแล้วพบว่ามีรูปแบบการแก้ปัญหาที่เหมือนกัน

138
00:06:37,840 --> 00:06:42,220
เราก็จะสามารถยึดการทำซ้ำมาแก้ปัญหาในส่วนนี้ได้ครับ

139
00:06:42,226 --> 00:06:42,433

140
00:06:42,581 --> 00:06:42,952

141
00:06:42,912 --> 00:06:44,759
จากบทเรียนที่เรียนมา

142
00:06:44,712 --> 00:06:48,468
เราจะพบว่าการทำซ้ำนั่นนิ้ว 2 รูปแบบใหญ่ๆครับ

143
00:06:48,429 --> 00:06:49,898
รูปแบบแรกคือ

144
00:06:49,902 --> 00:06:55,852
การทำซ้ำที่มีจำนวนรอบที่ชัดเจนอย่างเช่นคุณครูสั่งให้นักเรียนยกโต๊ะครับ

145
00:06:55,898 --> 00:06:58,676
จะสังเกตว่านักเรียนจะทำ

146
00:06:58,868 --> 00:07:02,359
ไปเรื่อยๆจนกระทั่งหมดจำนวนโต๊ะก็จะหยุดการทำงาน

147
00:07:02,323 --> 00:07:07,858
กับอีกรูปแบบหนึ่งครับคือการทำซ้ำที่ไม่มีจำนวนรอบที่ชัดเจนครับ

148
00:07:08,228 --> 00:07:11,873
จบการทำงานก็ต่อเมื่อตรงตามเงื่อนไข

149
00:07:11,920 --> 00:07:14,633
ยกตัวอย่างเช่นเกมทายเลขครับ

150
00:07:14,678 --> 00:07:20,239
จะสังเกตว่าเกมไทยรจะไม่รู้ว่าจะจบการทำงานเมื่อครั้งที่เท่าไหร่

151
00:07:20,589 --> 00:07:22,540
จบการทำงานก็ต่อเมื่อ

152
00:07:22,568 --> 00:07:24,037
ตรงตามเงื่อนไขครับ

153
00:07:23,981 --> 00:07:24,215

154
00:07:24,157 --> 00:07:24,433

155
00:07:24,489 --> 00:07:26,122
แล้วพวกเรา

156
00:07:26,080 --> 00:07:31,952
ตุ๊กตาคำซ้ำในรูปแบบใดบ้างและเป็นอย่างไรลองคิดดูนะครับ

157
00:07:31,929 --> 00:07:37,033

158
00:07:36,968 --> 00:07:42,718

159
00:07:42,667 --> 00:07:49,705

160
00:07:49,658 --> 00:07:49,914

161
00:07:49,778 --> 00:07:51,958


