﻿WEBVTT

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


