﻿1
00:00:23,958 --> 00:00:27,958
(อาจารย์สุธาสินี) ทำไมเป็นอย่างนั้นล่ะ

2
00:00:27,959 --> 00:00:31,959
คราวนี้ได้ยินครูนะ คราวที่แล้ว

3
00:00:31,963 --> 00:00:35,963
นะคะ เราพูดถึงในเรื่องของ

4
00:00:35,965 --> 00:00:39,965
เหมือนล่ามไม่ได้ยินเลย อ๋อ ค่ะ

5
00:00:39,969 --> 00:00:43,969
คราวที่แล้วเราพูดถึงเรื่อง list นะ lis

6
00:00:43,972 --> 00:00:47,972
t ตัวนี้แล้วเราก็ทำข้อสอบไปแล้วนะคะ

7
00:00:47,975 --> 00:00:51,975
เรื่อง

8
00:00:59,982 --> 00:01:03,982
List ได้ไหมคะ

9
00:01:07,988 --> 00:01:11,988

10
00:01:11,992 --> 00:01:15,992
ยังไม่ได้ยิน

11
00:01:44,010 --> 00:01:48,010
คราวที่แล้วนะคะ เราพูดถึงเรื่อง List นะทุกคน

12
00:01:48,013 --> 00:01:52,013
จำได้นะคะ อันนี้คือ List นะ ที่ครูยกตัวอย่างมาให้

13
00:01:52,017 --> 00:01:56,017
List ตัวนี้มีขนาดเท่ากับเท่าไร

14
00:01:56,017 --> 00:02:00,017
มีขนาดเท่าไร ขนาด คือ

15
00:02:00,021 --> 00:02:04,021
มีจำนวนเท่าไร มี 5 คนอื่นมีเท่าไรคะ

16
00:02:04,024 --> 00:02:08,024
5 โอเค 5 นะคะ

17
00:02:08,027 --> 00:02:12,027
List ที่เราเห็นในหน้าจอตรงนี้

18
00:02:12,030 --> 00:02:16,030
จะมีอยู่ 5 ตัวถูกไหมคะ มีข้อมูลอยู่ 5 ตัว

19
00:02:16,032 --> 00:02:20,032
มี 1 มี 2 มี 3 มี 4

20
00:02:20,035 --> 00:02:24,035
แล้วก็มี 5 มีทั้งหมด 5 ตัวนะคะ คราวนี้

21
00:02:24,035 --> 00:02:28,035
เรารู้ได้อย่างไรว่ามันคือ List เห็น

22
00:02:28,039 --> 00:02:32,039
ก้ามปูเปิด-ก้ามปูปิดไหมคะ

23
00:02:32,042 --> 00:02:36,042
อันนี้เป็นสัญลักษณ์ที่บอกว่าการเก็บข้อมูลลักษณะ

24
00:02:36,044 --> 00:02:40,044
แบบนี้มีชื่อเรียกว่า "List" นะคะ

25
00:02:40,047 --> 00:02:44,047
จะเก็บค่าของข้อมูล

26
00:02:44,050 --> 00:02:48,050
ใน List index

27
00:02:48,054 --> 00:02:52,054
ก็คือหมายเลขถูกไหมคะ คือ หมายเลขของข้อมูล

28
00:02:52,057 --> 00:02:56,057
นี่ เราเริ่มต้นที่หมายเลขอะไรเอ่ย

29
00:02:56,060 --> 00:03:00,060
พอเราวาดเป็นช่อง ใช่ไหมคะ

30
00:03:00,064 --> 00:03:04,064
ใน List นี่ ถ้าเราลองวาด

31
00:03:04,067 --> 00:03:08,067
การจัดเก็บนะ ก็จะเป็น 1

32
00:03:12,072 --> 00:03:16,072
แล้วก็จะเก็บข้อมูลลงไปในช่องแบบนี้

33
00:03:16,075 --> 00:03:20,075
นะคะ หมายเลขช่องหรือว่า

34
00:03:20,079 --> 00:03:24,079
Index ตัวแรกเราจะเริ่มต้นที่ตรงไหน

35
00:03:24,079 --> 00:03:28,079
ตรงนี้ index เราจะเริ่มที่เราไรเอ่ย

36
00:03:28,082 --> 00:03:32,082
0 นะ ใช่ไหมคะ

37
00:03:32,083 --> 00:03:36,083
1 2 3 แล้วก็ 4

38
00:03:36,084 --> 00:03:40,084
ก็คือหมายเลขช่องนะ ถ้าเราวาดรูปให้

39
00:03:40,087 --> 00:03:44,087
เป็นรูปสี่เหลี่ยมในการจัดเก็บข้อมูล แล้วเวลาครูเข้าถึง

40
00:03:44,089 --> 00:03:48,089
ข้อมูลที่อยู่ใน List  ตอนนี้

41
00:03:48,090 --> 00:03:52,090
ครูตั้งชื่อ List ตัวนี้มีชื่อว่า x

42
00:03:52,092 --> 00:03:56,092
x index 3

43
00:03:56,096 --> 00:04:00,096
ตอบเท่ากับเท่าไรเอ่ย index

44
00:04:00,098 --> 00:04:04,098
เป็น 3 ตัวนี้ตอบ 4 ใช่

45
00:04:04,101 --> 00:04:08,101
ตรงนี้ต้องตอบว่า 4 นะคะ ทุกคนจำได้นะ

46
00:04:08,104 --> 00:04:12,104
แล้วถ้า x

47
00:04:12,108 --> 00:04:16,108
เราต้องการหลาย ๆ ค่า 2 จนถึง 4

48
00:04:16,109 --> 00:04:20,109
จะตอบเท่าหับเท่าไหร่คะ

49
00:04:20,112 --> 00:04:24,112
3 กับ...

50
00:04:24,114 --> 00:04:28,114
3 กับอะไรเอ่ย 4 ใช่ไหม

51
00:04:28,117 --> 00:04:32,117
คือ 3 กับ 4 นะ มันเริ่มต้นที่ 2 ใช่ไหมคะ ก็คือ

52
00:04:32,120 --> 00:04:36,120
เริ่มต้นที่ตัวนี้ ก็คือเริ่มต้นด้วยตัว

53
00:04:36,122 --> 00:04:40,122
ถึง 4 แล้วก็ลดลงมา 1 ช่อง ก็จะได้ข้อมูลตัวนี้

54
00:04:40,124 --> 00:04:44,124
ก็คือ 3 กับ 4

55
00:04:44,129 --> 00:04:48,129
คราวนี้ แล้วเราเอา

56
00:04:48,133 --> 00:04:52,133
List มาทำอะไรนะคะ เราเก็บข้อมูล

57
00:04:52,133 --> 00:04:56,133
รูปแบบ List  แล้วเราเอามาใช้ทำอะไรนะคะ

58
00:04:56,136 --> 00:05:00,136
วันนี้เราจะพูดถึงโครงสร้างอีกแบบหนึ่ง

59
00:05:00,137 --> 00:05:04,137
ที่มีชื่อว่า stack นะ

60
00:05:04,140 --> 00:05:08,140
stack นะคะ stack ตัวนี้

61
00:05:08,140 --> 00:05:12,140
จะใช้วิธีการเก็บข้อมูลแบบ

62
00:05:12,146 --> 00:05:16,146
List นะคะ แล้วลักษณะแบบไหน

63
00:05:16,147 --> 00:05:20,147
ที่เราจะเรียกว่า "stack" นะคะ ดูด้วยกัน

64
00:05:20,151 --> 00:05:24,151
เขาบอกว่า Stack

65
00:05:24,151 --> 00:05:28,151
ก็คือการที่เราใส่ข้อมูลเข้าไปแล้วก็ดึงออกมา

66
00:05:28,154 --> 00:05:32,154
นะคะ แล้วข้อมูล

67
00:05:32,155 --> 00:05:36,155
ที่ถูกใส่เข้าไปใน Stack จะถูก

68
00:05:36,155 --> 00:05:40,155
เอาออกมาใช้ทีหลัง อันนี้ คือ

69
00:05:40,158 --> 00:05:44,158
วิธีการเก็บข้อมูลแบบ stack หรือที่เรียกว่า

70
00:05:44,158 --> 00:05:48,158
เข้าทีหลังออกก่อน

71
00:05:48,160 --> 00:05:52,160
เข้าก่อนออกทีหลัง ความหมายเหมือนกัน

72
00:05:56,164 --> 00:06:00,164
ยกตัวอย่างเช่น ทุกคนเคย

73
00:06:00,167 --> 00:06:04,167
ไปที่ร้านก๋วยเตี๋ยวไหมคะ ทุกคนเคยไปที่ร้านก๋วยเตี๋ยวนะ

74
00:06:04,170 --> 00:06:08,170
แล้วเห็นถ้วยก๋วยเตี๋ยวก่อนที่เขาจะ

75
00:06:08,172 --> 00:06:12,172
เอามาใส่เส้น ใส่เครื่องปรุง ใส่หมูให้เรา

76
00:06:12,176 --> 00:06:16,175
ชามก๋วยเตี๋ยวมันเรียงขึ้นไปแบบนี้

77
00:06:16,175 --> 00:06:20,175
ใช่ไหมคะ เวลาแม่ค้าเขาจะเอาชามก๋วยเตี๋ยวมาใส่ให้เรา

78
00:06:20,181 --> 00:06:24,180
เขาจะเอาชามก๋วยเตี๋ยวมาใส่ให้เรา เขาเอาชามที่อยู่

79
00:06:24,180 --> 00:06:28,180
ข้างบน หรือชามที่อยู่ข้างล่าง

80
00:06:28,185 --> 00:06:32,185
เอาชามข้างบนหรือข้างล่างคะ ข้างบน

81
00:06:32,186 --> 00:06:36,186
เขาเอาข้างบนมาทำให้เรา

82
00:06:36,188 --> 00:06:40,188
แล้วเวลาเขาล้างจานเสร็จแล้วนี่ เอาจาน

83
00:06:40,190 --> 00:06:44,190
มาซ้อนข้างล่างหรือซ้อนข้างบน ซ้อนข้างบน

84
00:06:44,194 --> 00:06:48,194
ใช่ไหมคะ เพราะฉะนั้น จานที่

85
00:06:48,197 --> 00:06:52,197
อยู่บนสุดจะถูกเอาออกมาใช้ก่อน

86
00:06:52,200 --> 00:06:56,200
และจากที่อยู่บนสุดนะคะ จะถูก

87
00:06:56,202 --> 00:07:00,202
เอาเข้ามาเก็บทีหลัง อันนี้คือรูปแบบ

88
00:07:00,205 --> 00:07:04,205
ของ Stack เช่นนะคะ เช่น ๆ

89
00:07:04,211 --> 00:07:08,211
เช่น สมมติ ครูมีกระดาษ 1 แผ่นนะ

90
00:07:08,212 --> 00:07:12,212
ครูมีกระดาษอยู่ 1 แผ่น ทุกคนดูนะคะ

91
00:07:12,215 --> 00:07:16,215
ครูจะใส่กระดาษแผ่นที่1 ครูจะใส่กระดาษแผ่น 2

92
00:07:16,219 --> 00:07:20,219
เห็นไหมคะ ครูซ่อนกระดาษแผ่นที่ 2 อยู่ข้างบน

93
00:07:20,222 --> 00:07:24,222
ครูใส่ ครูใส่กระดาษ

94
00:07:24,225 --> 00:07:28,225
แผ่นที่ 3 เข้าไปนะคะ แล้วครูก็ใส่

95
00:07:28,229 --> 00:07:32,229
กระดาษแผ่นที่ 4 เข้าไปในมือครู เวลา

96
00:07:32,232 --> 00:07:36,232
ครูจะเอาออกมาใช้ครูจะเอาตัวล่างสุดหรือตัวบนสุดออกไปใช้

97
00:07:36,235 --> 00:07:40,235
ตัวบนสุดถูกไหมคะ

98
00:07:40,237 --> 00:07:44,237
ครูไม่พยายามจะดึงตัวล่างสุดออกมานะคะ แต่ครูจะหยิบตัวบน

99
00:07:44,240 --> 00:07:48,240
สุดอกไปใช้ ซึ่งตัวบนสุดนี่

100
00:07:48,243 --> 00:07:52,243
คือกระดาษแผ่นที่เราใส่ไปล่าสุดนะคะ

101
00:07:52,246 --> 00:07:56,246

102
00:07:56,249 --> 00:08:00,249
เราสามารถสรุปได้แบบนี้นะ ข้อมูลที่เข้ามาใน Stack

103
00:08:00,253 --> 00:08:04,253
ตัวแรกจะอยู่ด้านล่างสุด

104
00:08:04,257 --> 00:08:08,257
ข้อมูลที่หย่อนลงไปใน Stack ตัวแรกจะอยู่ด้านล่างสุดเลย

105
00:08:08,258 --> 00:08:12,258
นะคะ ตัวถัดไปก็จะซ้อนขึ้นมา

106
00:08:12,260 --> 00:08:16,260
เรื่อย ๆ ข้อมูลที่

107
00:08:16,263 --> 00:08:20,263
เข้าไปใน Stack เป็นตัวสุดท้าย

108
00:08:20,265 --> 00:08:24,265
จะอยู่บนสุดนะคะ จะอยู่บนสุด แล้วเวลา

109
00:08:24,268 --> 00:08:28,268
เราเอาข้อมูลใน Stack ออกมาใช้งาน

110
00:08:28,271 --> 00:08:32,271
ข้อมูลที่เข้าไปเป็นตัวล่าสุด

111
00:08:32,275 --> 00:08:36,275
หรือตัวลำดับสุดท้ายจะถูก

112
00:08:36,277 --> 00:08:40,277
ดึงออกมาใช้งานก่อน ตัวไหน

113
00:08:40,280 --> 00:08:44,280
ที่เข้าไปตัวแรกจะถูกเอามาใช้งาน

114
00:08:44,281 --> 00:08:48,281
เป็นตัวสุดท้ายนะคะ เพราะมันอยู่ล่างสุด

115
00:08:48,284 --> 00:08:52,284
เวลาดึงออกมาใช้มันก็ใช้ยาก เราต้องใช้ตัวบน ค่อย ๆ ดึงตัวบน

116
00:08:52,287 --> 00:08:56,287
ออกไปก่อน

117
00:08:56,295 --> 00:09:00,294
คราวนี้เวลาเราเอาข้อมูลใส่ใน Stack

118
00:09:00,294 --> 00:09:04,294
เราพูดถึง Stack ก็เหมือนภาชนะนะ ตอนนี้ทุกคนมอง Stack

119
00:09:04,298 --> 00:09:08,298
เป็นช่องแบบนี้เป็นช่องสี่เหลี่ย

120
00:09:08,301 --> 00:09:12,301
มเป็นช่องในแนวตั้ง ถ้าเราพูดถึง Stack นะ

121
00:09:12,303 --> 00:09:16,303
ดูรูปนี้ก่อน อย่างนี้ มันจะอยู่ในแนวนอนหรือแนวตั้งก็ได้

122
00:09:16,305 --> 00:09:20,305

123
00:09:20,310 --> 00:09:24,310
ถ้าพูดถึง Stack ก็คือเป็นชั้น ๆ

124
00:09:24,314 --> 00:09:28,314
เลื่อนขึ้นไปเรื่อย ๆ นะ ใน Stack

125
00:09:28,317 --> 00:09:32,317
เราทำอะไรได้บ้าง เราใส่ข้อมูลลงไป

126
00:09:32,319 --> 00:09:36,319
เราดึงข้อมูลออกมา คราวนี้

127
00:09:36,321 --> 00:09:40,321
Stack  ถ้ามันไม่มีข้อมูลอะไรเลย

128
00:09:40,322 --> 00:09:44,322
เราเรียกว่า "Stack ว่าง" คือ มันมีค่าว่าง ๆ

129
00:09:44,322 --> 00:09:48,322
ไม่มีตัวเลขไม่มีตัวอักษรอะไรเลยนะ อันนี้

130
00:09:48,327 --> 00:09:52,327
คือ Stack ว่าง

131
00:09:52,329 --> 00:09:56,329
ถ้าเราจะใส่ข้อมูลลงไปใน Stack

132
00:09:56,331 --> 00:10:00,331
เราจะมีคำสั่งที่ชื่อว่า "Push

133
00:10:00,334 --> 00:10:04,334
" คือคำสั่งตัวนี้นะคะ

134
00:10:04,337 --> 00:10:08,337
คำสั่ง Push ก็คือใส่

135
00:10:08,341 --> 00:10:12,341
ข้อมูลลงไปใน Stack ถ้าต้องการเอา

136
00:10:12,341 --> 00:10:16,341
ข้อมูลออกจาก Stack เราใช้คำสั่ง Pop นะคะ

137
00:10:16,344 --> 00:10:20,344
มีอยู่ 2 ตัวที่ทุกคนต้องรู้จัก

138
00:10:20,345 --> 00:10:24,345
เมื่อพูดถึง Stack คือ Push กับ Pop

139
00:10:24,349 --> 00:10:28,349
Push คือใส่ ก็คือเอ

140
00:10:28,349 --> 00:10:32,349
าส่วน Pop ก็คือเอาออกนะคะ Pop คือ เอาออก

141
00:10:36,354 --> 00:10:40,354
คราวนี้มาดูตัวอย่างนะคะ มีแต่ Push กับ Pop

142
00:10:40,355 --> 00:10:44,355
2 ตัว เราเริ่มต้น Stack ไม่มีอะไรเลย

143
00:10:44,355 --> 00:10:48,355
เป็นค่าว่าง ๆ ถูกไหมคะ เป็น Stack ว่าง

144
00:10:48,358 --> 00:10:52,358
ครูบอกว่าครู Push

145
00:10:52,362 --> 00:10:56,362
เห็นไหมคะ คำสั่ง Push Push ค่าอะไร ค่า a เมื่อไรก็ตาม

146
00:10:56,366 --> 00:11:00,366
ที่ใช้คำสั่ง Push ต้องบอก

147
00:11:00,366 --> 00:11:04,366
ด้วยว่าจะใส่ค่าอะไรด้วยนะคะ

148
00:11:04,370 --> 00:11:08,370
เรา Push ค่า a ลงไป

149
00:11:08,373 --> 00:11:12,373
เห็นไหม มันก็อยู่ด้านล่างสุดนะคะ ถัดมา

150
00:11:12,375 --> 00:11:16,375
ถ้าครูใส่คำสั่ง

151
00:11:16,378 --> 00:11:20,378
ตัวบนก่อน Push b ก็ใส่ b ลงมาเห็นไหมคะ

152
00:11:20,382 --> 00:11:24,382
ถัดจาก a ก็คือ b Push c

153
00:11:24,383 --> 00:11:28,383
c ก็อยู่ถัดขึ้นไป และ Push d d ก็อยู่

154
00:11:28,386 --> 00:11:32,386
บนสุดนะคะ เรียงตรามลำดับของการ

155
00:11:32,389 --> 00:11:36,389
ใส่ข้อมูลลงไป

156
00:11:36,390 --> 00:11:40,390
คราวนี้อยากจะเอาออกบ้าง

157
00:11:40,393 --> 00:11:44,393
เอาข้อมูลออกจาก Stack ไปใช้งาน จะใช้คำสั่ง Pop

158
00:11:44,397 --> 00:11:48,397
Pop นะ Pop

159
00:11:48,398 --> 00:11:52,398
แล้วตามด้วยวงเล็บเปิดและวงเล็บปิด ไม่ต้องใส่ค่าอะไร

160
00:11:52,398 --> 00:11:56,398
เพราะเราจะไปดึงค่าที่อยู่ใน Stack ออกมา

161
00:12:00,401 --> 00:12:04,400
เราสั่งคำสั่ง Pop เราเอาข้อมูล

162
00:12:04,400 --> 00:12:08,400
บนสุดนะคะ Pop ให้เอาข้อมูลบนสุด

163
00:12:08,403 --> 00:12:12,403
ที่อยู่ใน Stack ดึงออกมา

164
00:12:12,405 --> 00:12:16,405
เพราะฉะนั้น เดิมเป็นแบบนี้ถูกไหม

165
00:12:16,405 --> 00:12:20,405
ครูใช้คำสั่ง Pop  อะไรออกมาเอ่ย

166
00:12:20,406 --> 00:12:24,406
ตัว D Dog จะออกมา เพราะว่า D Dog

167
00:12:24,410 --> 00:12:28,409
อยู่บนสุดนะคะ

168
00:12:28,409 --> 00:12:32,409
ถัดมา

169
00:12:32,413 --> 00:12:36,413
ครู Push Push คือใส่เข้าไป

170
00:12:36,413 --> 00:12:40,413
ตอนนี้ไม่มี D Dog แล้วนะ ครู Push e เห็นไหมคะ เวลา Push

171
00:12:40,414 --> 00:12:44,414
ต้องบอกด้วยว่าเราใส่ค่าอะไร

172
00:12:44,416 --> 00:12:48,416
แล้วก็ใส่ตัว e วงเล็บปิด ครู Push ค่า e ลงไป

173
00:12:48,416 --> 00:12:52,416
e จะอยู่ด้านบน c  เสร็จแล้ว Push

174
00:12:52,418 --> 00:12:56,418
อีกครั้งหนึ่ง f ก็จะอยู่บนสุดนะคะ

175
00:12:56,418 --> 00:13:00,418
ถัดมาครู Pop

176
00:13:00,422 --> 00:13:04,422
Pop คือเอาออก เอาอะไรออกข้างบนสุดคืออะไรคะ

177
00:13:04,422 --> 00:13:08,422
เอา f ออก เพราะฉะนั้น ข้อมูล

178
00:13:08,423 --> 00:13:12,423
จะเหลืออยู่ 4 ตัว ก็คือ a, b, c แล้วก็ e

179
00:13:16,429 --> 00:13:20,429
โอเค ถัดมา

180
00:13:20,434 --> 00:13:24,434
เราแทน Stack ด้วยอะไร

181
00:13:24,438 --> 00:13:28,438
นะคะ อย่างที่ครูบอกว่า

182
00:13:28,441 --> 00:13:32,441
List จะถูกเอามาใช้แทนนะคะ การจัดเก็บข้อมูล

183
00:13:32,445 --> 00:13:36,445
ใน Stack เราพูดถึง Stack แล้วมันจัดเก็บแบบไหนเราก็ใช้List

184
00:13:36,445 --> 00:13:40,445
นั่นล่ะ ในการเก็บข้อมูล

185
00:13:40,448 --> 00:13:44,448
List นะคะ เราสามารถวาดเป็นแนวตั้งหรือแนวนอน

186
00:13:44,451 --> 00:13:48,451
ก็ได้นะ สามารถวาดเป็นแนวตั้งหรือแนวนอน

187
00:13:48,454 --> 00:13:52,454
ก็ได้ ข้อมูลที่ใส่เข้ามาตัวแรกนะคะ

188
00:13:52,455 --> 00:13:56,455
จะอยู่ที่ index 0 ก็คือข้อมูลตัวแรก

189
00:13:56,455 --> 00:14:00,455
ไล่ไปเรื่อย ๆ จนถึงข้อมูลตัวสุดท้าย

190
00:14:04,456 --> 00:14:08,456
Stack ที่ครูให้มานี่ ที่เก็บอยู่

191
00:14:08,456 --> 00:14:12,456
ในรูปแบบที่เป็น List นี่

192
00:14:12,460 --> 00:14:16,459
มันมีที่ว่างไหมคะ มันมีที่ให้ใส่ได้อีกไหม Stack รูปนี้

193
00:14:16,459 --> 00:14:20,459
มีอยู่ 4 ช่องด้วยกัน ทุกช่องมีค่าไหมคะ

194
00:14:20,463 --> 00:14:24,463
ทุกช่องมีค่านะ

195
00:14:24,463 --> 00:14:28,463
มันเต็มหรือยังคะ

196
00:14:28,466 --> 00:14:32,466
มันมีที่ว่างให้ใส่ไหม มันมีที่ว่างให้ใส่อีกไหมคะ ไม่มีแล้ว

197
00:14:32,466 --> 00:14:36,466
อย่างนี้เรียกว่า Stack เต็มแล้ว

198
00:14:36,469 --> 00:14:40,469
นะคะ คือ ไม่มีช่องว่างให้เราใส่ข้อมูลตัวใหม่ได้แล้ว

199
00:14:40,469 --> 00:14:44,469
นะคะ แบบนี้เรียกว่า "Stack มันเต็มแล้

200
00:14:52,473 --> 00:14:56,473
ว" คราวนี้เรามี 2 คำสั่ง

201
00:14:56,473 --> 00:15:00,473
ที่พูดถึงนะ Push กับ Pop

202
00:15:00,473 --> 00:15:04,473
นะคะ Push ก็คือใส่ข้อมูลลงไปใน Stack

203
00:15:04,473 --> 00:15:08,473
เช่น ครูมี Stack

204
00:15:08,474 --> 00:15:12,474
อย่างนี้ใช่ไหม มันมีที่ว่างให้ครูใส่ข้อมูลได้ไหมคะ มีนะมันมี

205
00:15:12,475 --> 00:15:16,475
ที่ว่างให้ครูใส่ข้อมูลได้นะคะ ครู

206
00:15:16,478 --> 00:15:20,478
ก็เลยสั่งคำสั่ง Push 3 ก็คือเอาข้อมูล 3 นี่

207
00:15:20,483 --> 00:15:24,483
ไปหย่อนลงใน Stack มันจะเอามาใส่ช่องนี้

208
00:15:24,484 --> 00:15:28,484
ช่องที่ 1 หรือช่องที่ 2 คะ ช่องที่ 1

209
00:15:28,487 --> 00:15:32,487
ถูกไหม ก็ไล่ลำดับลงมาเรื่อย ๆ

210
00:15:32,490 --> 00:15:36,490
มันอยู่ช่องนี้แล้ว ข้อมูลตัวล่าสุดอยู่ช่องนี้

211
00:15:36,492 --> 00:15:40,492
เพราะฉะนั้น เวลาเราหย่อนลงไปมันก็ไหลลงไปจนถึงตัวสุดท้าย

212
00:15:40,496 --> 00:15:44,496
ที่มันสามารถจะใส่ได้ ก็คือในช่องตรงนี้ ก็คือจะเอา 3

213
00:15:44,499 --> 00:15:48,499
มาใส่

214
00:15:48,503 --> 00:15:52,503
แล้วเราใส่ด้วยคำสั่งอะไร

215
00:15:52,506 --> 00:15:56,506
เราใช้ List นะคะ

216
00:15:56,506 --> 00:16:00,506
ในการจัดเก็บข้อมูล เราใช้ List ในการจัดเก็บข้อมูล

217
00:16:00,509 --> 00:16:04,509
เพราะฉะนั้น คำสั่งของการ

218
00:16:04,510 --> 00:16:08,510
เพิ่มข้อมูลลงไปใน Stack ก็คือใช้คำสั่ง

219
00:16:08,514 --> 00:16:12,514
Append ได้เลย เพราะ Append

220
00:16:12,516 --> 00:16:16,516
เป็นคำสั่งของการเพิ่มข้อมูลลงไป

221
00:16:16,519 --> 00:16:20,519
ใน List นะคะ ใส่ชื่อ .

222
00:16:20,521 --> 00:16:24,521
แล้วตามด้วยคำสั่ง Append(d)

223
00:16:24,525 --> 00:16:28,525
ใส่ค่าข้อมูลตัวใหม่แล้วก็วงเล็บปิด

224
00:16:28,528 --> 00:16:32,528
ถัดมา

225
00:16:32,531 --> 00:16:36,531
Pop

226
00:16:36,533 --> 00:16:40,533
คือ เอาออกนะคะ คือ Pop คือ เอาออก

227
00:16:40,536 --> 00:16:44,536
ก่อนที่เราจะเอาข้อมูลออก

228
00:16:44,539 --> 00:16:48,539
นี่ เราต้องเช็กก่อนว่า Stack เรา

229
00:16:48,542 --> 00:16:52,542
นี่ มีข้อมูลอยู่ไหม ถ้า Stack

230
00:16:52,545 --> 00:16:56,545
มันไม่มีข้อมูลอยู่เลยเราจะเอาอะไรออกมาได้ไหม ไม่ได้

231
00:16:56,548 --> 00:17:00,548
นะคะ เพราะมันไม่มีข้อมูลอะไรให้เราดึงออกมา

232
00:17:00,550 --> 00:17:04,550
เพราะฉะนั้น อันดับแรกนี่ เราต้องเช็กก่อน

233
00:17:04,554 --> 00:17:08,554
มันมีข้อมูลอยู่ไหมนะคะ มันมีข้อมูลอยู่ไหม

234
00:17:08,557 --> 00:17:12,557
ถ้ามันไม่มีข้อมูลอยู่เลย เราจะบอกว่า

235
00:17:12,560 --> 00:17:16,560
มันคือ Stack ว่าง เราไม่สามารถทำคำสั่ง Pop

236
00:17:16,564 --> 00:17:20,564
ได้นะคะ แต่ถ้า

237
00:17:20,569 --> 00:17:24,569
Stack ไม่ว่าง เช่น

238
00:17:24,570 --> 00:17:28,570
ในบรรทัดแถวที่ 2 Stack ไม่ว่างนะ มันมีข้อมูลอยู่ตั้ง 3 ตัว

239
00:17:28,573 --> 00:17:32,573
เราใช้คำสั่ง Pop

240
00:17:32,574 --> 00:17:36,574
ข้อมูลอะไรจะถูกดึงออกมา มีอยู่ 3 ค่านี่

241
00:17:36,576 --> 00:17:40,576
ข้อมูลที่จะเอาออกมาจาก Stack

242
00:17:40,580 --> 00:17:44,580
ก็คือข้อมูลค่าอะไรเอ่ย

243
00:17:44,582 --> 00:17:48,582
อะไรคะ 1 หรือ 2

244
00:17:48,586 --> 00:17:52,586
หรือ 3 3 ใช่ไหม

245
00:17:52,588 --> 00:17:56,588
เอาตัวที่อยู่บนสุด

246
00:17:56,590 --> 00:18:00,590
ตัวล่าสุดน่ะ ตัวล่าสุดถูกไหมคะ ถ้าอยู่ในแนวนอนตัวล่าสุดจะอยู่

247
00:18:00,594 --> 00:18:04,594
ด้านขวา

248
00:18:04,596 --> 00:18:08,596
ถ้าเป็นแนวตั้งตัวล่าสุดจะอยู่ข้างบนใช่ไหมคะ

249
00:18:08,601 --> 00:18:12,601
ก็คือเลข 3 จะถูก

250
00:18:12,604 --> 00:18:16,604
ดึงออกมานะคะ หลังจากที่เราใช้คำสั่ง Pop

251
00:18:20,611 --> 00:18:24,611
โอเค

252
00:18:24,611 --> 00:18:28,611
ถัดมาตัวนี้จะเป็นคำสั่ง

253
00:18:28,614 --> 00:18:32,614
ที่เราใช้เขียน เช่น

254
00:18:32,616 --> 00:18:36,616
เราจะเช็กว่า Stack นั้นเป็น Stack ว่าง

255
00:18:36,617 --> 00:18:40,617
หรือเปล่า เราก็ดูขนาดของ Stack ใช่ไหมคะ

256
00:18:40,621 --> 00:18:44,621
หาขนาดของ Stack ว่ามันมีขนาด

257
00:18:44,623 --> 00:18:48,623
เท่าไร ถ้าขนาดมันมีค่าเป็น 0

258
00:18:48,626 --> 00:18:52,626
แสดงว่ามันเป็น Stack ว่าง คือ ไม่มีข้อมูลอยู่เลย

259
00:18:52,628 --> 00:18:56,628
ก็ไม่ต้องทำอะไรใช่ไหมคะ แต่ถ้า

260
00:18:56,632 --> 00:19:00,632
มันไม่ใช่ Stack ว่างเราก็

261
00:19:00,636 --> 00:19:04,636
จะดึงค่าที่อยู่บนสุดออกมา

262
00:19:04,639 --> 00:19:08,639
คราวนี้

263
00:19:08,643 --> 00:19:12,643
อันนี้จะเป็นโค้ดเป็นโปรแกรมที่เราจะเขียนทั้งหมด

264
00:19:12,645 --> 00:19:16,645
เดี๋ยวครูบอกอีกทีข้างหลัง

265
00:19:16,648 --> 00:19:20,648
นะคะ สมมติว่า

266
00:19:32,658 --> 00:19:36,658
ครูอยาก...

267
00:20:32,704 --> 00:20:36,704
คราวนี้ดูนะคะ

268
00:20:36,705 --> 00:20:40,705
ครูมี Stack มาให้ Stack ครูมีกี่ช่องคะ

269
00:20:40,706 --> 00:20:44,706
มี 4 ช่องในแนวตั้งถูกไหม

270
00:20:44,709 --> 00:20:48,709
Stack เป็น Stack ในแนวตั้ง มี 4 ช่องนะคะ

271
00:20:48,713 --> 00:20:52,713
ตัวแรก ตัวแรกน่ะจะอยู่

272
00:20:52,716 --> 00:20:56,716
ด้านฐาน จะอยู่ด้านล่างสุดนะ เวลาเราหย่อนข้อมูลลงไป ตัวแรก

273
00:20:56,720 --> 00:21:00,720
จะลงมาอยู่ช่องล่างสุดแล้วค่อยขยับไปช่องถัดไป

274
00:21:00,721 --> 00:21:04,721
ถัดไปนะคะ จะซ้อนขึ้นไปข้างบนนะ ถ้าเป็น Stack ในแนวตั้ง

275
00:21:04,722 --> 00:21:08,722
คำสั่ง

276
00:21:08,725 --> 00:21:12,725
อย่างที่บอกเรามีแค่ 2 คำสั่งนะ มีแค่ Push กับ Pop

277
00:21:12,727 --> 00:21:16,727
ใช่ไหมคะ Push

278
00:21:16,730 --> 00:21:20,730
ใส่ข้อมูล

279
00:21:20,734 --> 00:21:24,734
กับ Pop

280
00:21:24,737 --> 00:21:28,737
เอาข้อมูลออก คือใส่กับเอาออก

281
00:21:28,740 --> 00:21:32,740
นะคะ คราวนี้ดู

282
00:21:32,741 --> 00:21:36,741
Push 5 เห็นไหมคะ ครูใส่หมายเลขช่องก่อนนะ

283
00:21:36,744 --> 00:21:40,744
อันนี้เป็นหมานยเลข 1, 0, 1, 2, 3

284
00:21:40,749 --> 00:21:44,749
นะ เราจะได้เข้าใจตรงกัน โอเค

285
00:21:44,752 --> 00:21:48,752
นะคะ มีหลายเลขช่องแล้วนะ  เริ่มตั้งแต่ 0 1 2 3

286
00:21:48,756 --> 00:21:52,756
ครูสั่ง Push 5 5 จะ

287
00:21:52,759 --> 00:21:56,759
ไปอยู่ที่ช่องไหน ช่องไหนเอ่ย

288
00:21:56,760 --> 00:22:00,760
ช่องหมายเลขอะไร ครูหย่อน 5

289
00:22:00,764 --> 00:22:04,764
ลงไปมันก็จะไหลลงมามันอยู่ที่ช่องไหนคะ

290
00:22:04,767 --> 00:22:08,767
ช่อง 0 เห็นไหม พอครูหย่อน 5 ลงมา

291
00:22:08,768 --> 00:22:12,768
ไหลลงมาเรื่อย ๆ จนมาอยู่ที่

292
00:22:12,771 --> 00:22:16,771
ช่อง 0 เสร็จแล้วครูสั่งคำสั่ง Push

293
00:22:16,774 --> 00:22:20,774
10 เดิมมันมี 5 อยู่แล้วนะ

294
00:22:20,778 --> 00:22:24,778
แล้วครูสั่ง Push 10 เพราะฉะนั้น 10 จะมาอยู่ที่ไหนคะ

295
00:22:24,779 --> 00:22:28,779
10 จะมาอยู่ที่

296
00:22:28,782 --> 00:22:32,782
1 ถูกไหมคะ ก็หย่อน 10 ลงมานะ

297
00:22:32,785 --> 00:22:36,785
ถัดมาเดิม

298
00:22:36,786 --> 00:22:40,786
เดิม มี 5 กับ 10 แล้ว ครูเขียนเรียบร้อยก่อน

299
00:22:40,789 --> 00:22:44,789
นะคะ ใส่ที่ช่อง 0 กับช่อง 1 ครู

300
00:22:44,800 --> 00:22:48,800
สั่ง Push 15 ไปอยู่ที่ช่องไหนคะ 2

301
00:22:48,803 --> 00:22:52,803
เห็นไหมพอ Push ข้อมูลลงไป

302
00:22:52,805 --> 00:22:56,805
คราวนี้ จากรูปนี้ ครูสั่ง Pop

303
00:22:56,809 --> 00:23:00,809
เอาอะไรออกมา

304
00:23:00,812 --> 00:23:04,812
จากรูปนี้พอครูสั่ง Pop ปุ๊บ เอาอะไรออกมาคะ

305
00:23:04,815 --> 00:23:08,815
เอาอะไรออกมาเอ่ย

306
00:23:08,818 --> 00:23:12,818
15 ใช่ไหม เอาตัวบนสุด

307
00:23:12,819 --> 00:23:16,819
เลือก

308
00:23:16,821 --> 00:23:20,821
เราเลือก

309
00:23:20,824 --> 00:23:24,824
ตัวบนสุดออกมาใช่ไหมคะ

310
00:23:24,827 --> 00:23:28,827
เพราะฉะนั้น 15 จะถูกดึง

311
00:23:28,830 --> 00:23:32,830
ออกมาข้างนอกเห็นไหมคะ

312
00:23:32,833 --> 00:23:36,833
เพราะฉะนั้น ใน Stack จะเหลือแค่ 10 กับ 5

313
00:23:36,834 --> 00:23:40,834
ครูสั่ง Pop อีกทีหนึ่ง

314
00:23:40,834 --> 00:23:44,834
อะไรออกมาคะ เดิม

315
00:23:44,837 --> 00:23:48,837
มี 5 กับ 10

316
00:23:48,842 --> 00:23:52,842
คราวนี้เอาอะไรออกมาครูสั่ง Pop ปุ๊บ อะไรออกมาคะ

317
00:23:52,843 --> 00:23:56,843
10 ออกมาเห็นไหม 10 ไม่เหลือแล้ว

318
00:23:56,845 --> 00:24:00,845
เพราะฉะนั้น ตอนนี้ใน Stack เราเหลือกี่ค่าคะ

319
00:24:00,850 --> 00:24:04,850
ค่าเดียว คือเลข 5

320
00:24:04,852 --> 00:24:08,852
จดตัวนี้ไว้ในกระดาษให้ครูหน่อย

321
00:24:12,855 --> 00:24:16,855
เดี๋ยวครูจะให้ทำแบบฝึกหัด

322
00:24:16,859 --> 00:24:20,859
นะคะ

323
00:25:20,894 --> 00:25:24,894
มีกระดาษไหมคะ มีใครไม่มีกระดาษไหม

324
00:25:24,897 --> 00:25:28,897
ครูมีกระดาษมาแจกมีไหมคะ

325
00:25:28,900 --> 00:25:32,900
มันจะมีเส้น

326
00:30:37,108 --> 00:30:41,108
คราวนี้นะคะ ครูมีโจทย์มาให้แล้วก็มี

327
00:30:41,112 --> 00:30:45,112
คำสั่งมาให้

328
00:30:45,112 --> 00:30:49,112
ทำเหมือนเดิมเลยใช่ไหมคะ แต่ครูมีตัว

329
00:30:49,113 --> 00:30:53,113
เริ่มต้นให้ ครูมีให้อยู่แล้วอยู่ใน Stack

330
00:30:53,115 --> 00:30:57,115
คือ 5 ใช่ไหมคะ อันแรกเราหย่อน

331
00:30:57,116 --> 00:31:01,116
เลข 2 ลงไป อันที่ 2 เขียนของเดิมก่อน

332
00:31:01,120 --> 00:31:05,120
ใช่ไหมคะ แล้วค่อยหย่อนเลข 7 ลงไป

333
00:31:05,125 --> 00:31:09,124
ถัดมาหย่อนเลข 1 Pop

334
00:31:09,124 --> 00:31:13,124
คือ เอาออกนะ คือ เอาออกแล้วบอกครูด้วยว่า

335
00:31:13,127 --> 00:31:17,127
ข้อมูล

336
00:31:17,129 --> 00:31:21,129
ที่เอาออกมา

337
00:31:21,132 --> 00:31:25,132
คืออะไร เสร็จแล้ว

338
00:31:25,136 --> 00:31:29,136
ก็มีคำสั่งตัวสุดท้าย คือ Push ตัวเลข 7 ลงไป

339
00:31:33,142 --> 00:31:37,142
ลองทำดูนะคะ

340
00:31:41,146 --> 00:31:45,146
เพราะฉะนั้น แต่ละข้อ

341
00:31:45,150 --> 00:31:49,150
มันจะต่อเนื่องกันไปนะคะ

342
00:31:49,151 --> 00:31:53,151
ทำตัวแรก ข้อที่ 1 เสร็จ เอาข้อมูลนี่

343
00:31:53,154 --> 00:31:57,154
มาตั้งต้นไว้ก่อนแล้วเราค่อย Push

344
00:31:57,155 --> 00:32:01,155
เลข 7 ลงไป เดี๋ยวเราทำด้วยกัน 1 ข้อนะ

345
00:32:01,158 --> 00:32:05,158
อันนี้คือ Push เลข 2 คือหย่อนเลข 2

346
00:32:05,161 --> 00:32:09,161
ลงไป

347
00:32:13,166 --> 00:32:17,166
ข้อที่ 2 ครูจะใส่เลข 7  เพราะฉะนั้น ครู

348
00:32:17,169 --> 00:32:21,169
ต้องใส่ข้อมูลเดิมก่อน

349
00:32:21,172 --> 00:32:25,172
นะคะ และก็หย่อนเลข 7 ลงไป ทำต่อให้ครูหน่อย

350
00:32:25,175 --> 00:32:29,175
อีก 3 อัน

351
00:40:33,517 --> 00:40:37,517
คราวนี้เดี๋ยวเรามาดูเฉลยพร้อมกัน

352
00:40:45,528 --> 00:40:49,528
นะคะ ข้อ 3 นะคะ ครูสั่งให้ Push 1 ก็คือใส่เลข 1 ลง

353
00:40:49,531 --> 00:40:53,531
ใน Stack เดิม

354
00:40:53,533 --> 00:40:57,533
เอาของเดิมยกมาก่อนนะ อย่าเพิ่งใส่นะคะ ของเดิม

355
00:40:57,534 --> 00:41:01,534
มี 3 ค่านะ เขียนก่อนนะคะ

356
00:41:01,535 --> 00:41:05,535
เขียนค่าเดิมก่อนใส่ค่าเดิมมาก่อน

357
00:41:05,538 --> 00:41:09,538
นะคะ เสร็จแล้วครูสั่ง Push 1

358
00:41:09,541 --> 00:41:13,541
1 จะอยู่ด้านบนเลข 7

359
00:41:13,545 --> 00:41:17,545
ใช่ไหมคะ

360
00:41:17,546 --> 00:41:21,546
จากนั้นครูสั่ง Pop Pop คือ เอาออก

361
00:41:21,550 --> 00:41:25,550
บนสุดคืออะไร คือ 1 ใช่ไหมคะ เพราะฉะนั้น

362
00:41:25,553 --> 00:41:29,553
เอาอะไรออก เอา 1 ออก เพราะฉะนั้น ที่เหลื

363
00:41:29,556 --> 00:41:33,556
อก็คือ 5, 2, 7 ใช่ไหมคะ 1

364
00:41:33,558 --> 00:41:37,558
จะถูกเอาออกมาใช่ไหม เพราะฉะนั้น ข้อมูล

365
00:41:37,560 --> 00:41:41,560
ที่นำออกจาก Stack ก็คือ 1

366
00:41:41,563 --> 00:41:45,563
นะคะ

367
00:41:45,564 --> 00:41:49,564
ครูสั่ง Push อีกครั้งหนึ่งทำอย่างไร

368
00:41:49,568 --> 00:41:53,568
ก็เอาของเดิมที่มีอยู่ใน Stack เขียนก่อน

369
00:41:53,570 --> 00:41:57,570
เพราะฉะนั้น กรณีที่ Push ข้อ

370
00:41:57,572 --> 00:42:01,572
มูลลงไปใน Stack ยกของเดิมมาก่อน

371
00:42:01,575 --> 00:42:05,575
เสร็จแล้ว

372
00:42:05,578 --> 00:42:09,578
ใส่ตัวเลขที่ครูสั่งลงไป ก็คือ 7 7

373
00:42:09,582 --> 00:42:13,582
ก็จะอยู่ด้านบนนะคะ อันนี้คือ

374
00:42:13,584 --> 00:42:17,584
Stack ที่ได้หลังจากที่เราใช้

375
00:42:17,587 --> 00:42:21,587
คำสั่งทั้งหมด 5 คำสั่ง

376
00:42:25,594 --> 00:42:29,594
โอเค

377
00:42:33,600 --> 00:42:37,600
ถัดมาครูเปลี่ยนได้ไหม จากแนวตั้ง

378
00:42:37,601 --> 00:42:41,601
เป็นแนวนอนนะคะ ถ้าครูลองเปลี่ยน Stack เป็นแนวนอน

379
00:42:41,605 --> 00:42:45,605
บ้าง

380
00:43:17,626 --> 00:43:21,626
คราวนี้ครูลองเปลี่ยน Stack เป็นอีกรูปแบบหนึ่ง

381
00:43:21,629 --> 00:43:25,629
เป็นแนวนอนบ้างนะคะ

382
00:43:25,632 --> 00:43:29,632
และครูมีตัวเลข

383
00:43:29,633 --> 00:43:33,633
ที่อยู่ใน Stack ไว้ให้ คือ 3

384
00:43:33,635 --> 00:43:37,635
แล้วก็ 1 ถูกไหม ตัวแรกจะอยู่ซ้ายสุด ใช่ไหมคะ

385
00:43:37,637 --> 00:43:41,637
ถัดมาก็จะเป็นตัวที่ 2

386
00:43:41,642 --> 00:43:45,642
แล้วครูใช้คำสั่ง Push 5 ข้อที่ 2

387
00:43:45,646 --> 00:43:49,646
ครู Push 6 เสร็จแล้ว

388
00:43:49,646 --> 00:43:53,646
ครู Pop นะคะ ลองทำสิ

389
00:49:53,892 --> 00:49:57,892
คราวนี้นะคะ

390
00:49:57,892 --> 00:50:01,892
มาดูเฉลยด้วยกัน

391
00:50:01,896 --> 00:50:05,896
ครูสั่ง Push 5 แสดงว่า

392
00:50:05,897 --> 00:50:09,897
ครูกำลังจะใส่ข้อมูลลงไปใน Stack

393
00:50:09,901 --> 00:50:13,901
คือเลข 5 ครูก็เอาเลข 5 มาหย่อนลงเลยนะ

394
00:50:13,904 --> 00:50:17,904
เอาเลข 5 มาหย่อนเลยนะคะ

395
00:50:17,910 --> 00:50:21,910
ถัดมาครูใช้คำสั่ง Push

396
00:50:21,910 --> 00:50:25,910
ครูใช้คำสั่ง Push ทำอย่างไร เอา

397
00:50:25,913 --> 00:50:29,913
ของเดิมยกลงมาก่อนนะ ยกของเดิม

398
00:50:29,914 --> 00:50:33,914
มาใส่ก่อนนะคะ  ก็จะมี 3,

399
00:50:33,916 --> 00:50:37,916
1 แล้วก็ 5

400
00:50:37,918 --> 00:50:41,918
จากนั้นเรา Push ค่าใหม่ ใส่ค่าใหม่

401
00:50:41,921 --> 00:50:45,921
ลงไป ก็คือ 6

402
00:50:45,924 --> 00:50:49,924
โอเคนะ ใส่ค่า 6  ก็คือค่าใหม่ลงไปใน Stack

403
00:50:49,927 --> 00:50:53,927
เสร็จแล้วครูใช้คำสั่ง Pop

404
00:50:53,929 --> 00:50:57,929
ก็คือเอาออก ก็คือเอาตัวล่าสุด

405
00:50:57,933 --> 00:51:01,933
ก็คือที่อยู่ด้านขวาเอาออก

406
00:51:01,936 --> 00:51:05,936
นะคะ เพราะฉะนั้น ค่าที่ถูกเอาออก ก็คือเลข 6

407
00:51:05,940 --> 00:51:09,940
เห็นไหมคะ เอาเลข 6 ออกมา

408
00:51:09,944 --> 00:51:13,944
แล้วเราก็ยกตัวที่เหลือ

409
00:51:13,946 --> 00:51:17,946
ลงมาใส่ก็จะเหลือเป็น

410
00:51:17,948 --> 00:51:21,948
3, 1 แล้วก็ 5 นะคะ

411
00:52:34,002 --> 00:52:38,002
ครบแล้วหรือ โอเค คราวนี้นะคะ มาดูต่อ

412
00:52:38,003 --> 00:52:42,003
กระดาษที่ครูแจกเอาวางไว้ก่อนนะคะ อย่าเพิ่งใช้ เรายังไม่ใช้ตอนนี้

413
00:52:50,012 --> 00:52:54,012
เราใช้ Stack ทำอะไร เมื่อกี้

414
00:52:54,015 --> 00:52:58,015
เราพูดถึง Stack ไปแล้วนะ เข้าก่อนออกทีหลัง

415
00:52:58,016 --> 00:53:02,016
นะคะ ข้อมูลไหนเข้าก่อน

416
00:53:02,019 --> 00:53:06,019
จะถูกเอาออกทีหลัง

417
00:53:06,022 --> 00:53:10,022
แล้วเราใช้ Stack ทำอะไรบ้าง

418
00:53:10,022 --> 00:53:14,022
เราใช้ Stack มาทำอะไรบ้าง

419
00:53:14,025 --> 00:53:18,025
ทุกคนบวกเลขเป็นใช่ไหม ทุกคนบวกลบคูณหาร

420
00:53:18,028 --> 00:53:22,028
นะคะ สมการทางคณิตศาสตร์ได้ Stack

421
00:53:22,031 --> 00:53:26,031
จะถูกเอามาใช้ในการ

422
00:53:26,032 --> 00:53:30,032
หาผลลัพธ์ของสมการคณิตศาสตร์

423
00:53:30,035 --> 00:53:34,035
บวกเลข บวกลบเลขนะคะ

424
00:53:34,037 --> 00:53:38,037
คราวนี้ ก่อนที่จะไปดูรูปแบบของการ

425
00:53:38,040 --> 00:53:42,040
ใช้ Stack แล้ว Stack มันเกี่ย

426
00:53:42,042 --> 00:53:46,042
วข้องอย่างไรกับบวก ลบ คูณ หาร นะคะ เรามาดูรูปแบบก่อนว่า

427
00:53:46,046 --> 00:53:50,046
เราใช้ Stack เพื่อเป็นนิพ

428
00:53:50,049 --> 00:53:54,049
จน์ ก็คือลักษณะของสมการ

429
00:53:54,051 --> 00:53:58,051
มีอยู่ 3 รูปแบบ รูปแบบแรก ก็คื

430
00:53:58,052 --> 00:54:02,052
อ infix ก็คือ

431
00:54:02,053 --> 00:54:06,053
บวก ลบ คูณ หาร จะอยู่ระหว่างตัวเลข

432
00:54:06,054 --> 00:54:10,054
นะคะ อันนี้คือ Infix นิพจน์ตัวที่ 2

433
00:54:10,056 --> 00:54:14,056
ก็คือ

434
00:54:14,059 --> 00:54:18,059
Prefix เครื่องหมาย บวก ลบ คูณ หาร จะอยู่ด้านหน้า

435
00:54:18,062 --> 00:54:22,062
และตัวสุดท้าย คือ

436
00:54:22,065 --> 00:54:26,065
Postfix เครื่องหมายจะไปอยู่ด้านหลังของตัวเลข

437
00:54:26,071 --> 00:54:30,071
AC อันนี้คือตัวเลขนะคะ

438
00:54:30,072 --> 00:54:34,072
เราจะแทนด้วยตัวเลขใด ๆ

439
00:54:34,074 --> 00:54:38,074
คราวนี้ดูนะคะ ในการคำนวณ

440
00:54:38,078 --> 00:54:42,078
ทางคณิตศาสตร์นะ

441
00:54:42,081 --> 00:54:46,081
เวลาเราเจอนะคะ การบวก ลบ

442
00:54:46,084 --> 00:54:50,084
ที่มันมีมากกว่า 2 ตัวเลข

443
00:54:50,086 --> 00:54:54,086
เช่นแบบนี้

444
00:54:54,088 --> 00:54:58,088
5 + 2 x 2 มันมีตัวเลขมากกว่า 2 ตัว

445
00:54:58,091 --> 00:55:02,091
นะคะ แล้วเรา

446
00:55:02,096 --> 00:55:06,096
จะบวกลบเลขอย่างไร

447
00:55:06,099 --> 00:55:10,099
เรามีลำดับความสัมพันธ์ของ

448
00:55:10,102 --> 00:55:14,102
เครื่องหมายเจอวงเล็บ

449
00:55:14,103 --> 00:55:18,103
ก่อนทำในวงเล็บ

450
00:55:18,104 --> 00:55:22,104
ใช่ไหมคะ เราเจอในวงเล็บเรา

451
00:55:22,104 --> 00:55:26,104
บวกลบเลขนี่ ในวงเล็บก่อน

452
00:55:26,109 --> 00:55:30,109
จากนั้นลำดับความสำคัญตัวที่ 2 ที่จะต้อง

453
00:55:30,112 --> 00:55:34,112
ทำก่อน คือ เครื่องหมาย

454
00:55:34,115 --> 00:55:38,115
ยกกำลัง เช่น 2 ยกกำลัง 2 ถูกไหมคะ

455
00:55:38,115 --> 00:55:42,115
3 ยกกำลัง 2 อย่างนี้เป็นต้น

456
00:55:42,118 --> 00:55:46,118
เจอเลขยกกำลังเสร็จแล้ว

457
00:55:46,121 --> 00:55:50,121
เราจะคำนวณเครื่องหมายไหนต่อไป

458
00:55:50,124 --> 00:55:54,124
คูณกับหาร คูณกับหารมีลำดับความสำคัญ

459
00:55:54,125 --> 00:55:58,125
เท่ากันนะคะ มีลำดับความสำคัญ

460
00:55:58,129 --> 00:56:02,129
เท่ากัน ตามด้วยบวกกับลบ

461
00:56:02,131 --> 00:56:06,131
นะ บวกกับลบก็มีความสำคัญ

462
00:56:06,135 --> 00:56:10,135
เท่ากัน แต่จะทำ

463
00:56:10,138 --> 00:56:14,138
หลังการทำเครื่องหมายคูณกับหาร

464
00:56:18,142 --> 00:56:22,142
นะคะ คราวนี้มาดูโจทย์ครู 2 ตัวนี้

465
00:56:22,145 --> 00:56:26,145
เป็นตัวเลขตัวเดียวกันเลย 5 + 2

466
00:56:26,146 --> 00:56:30,146
x 2 ตัวแรก

467
00:56:30,150 --> 00:56:34,150
ครูมีวงเล็บเปิดกับวงเล็บปิด โจทย์ตัวที่ 2 ไม่

468
00:56:34,152 --> 00:56:38,152
ได้ใส่วงเล็บนะคะ ครูไม่มีวงเล็บนะ

469
00:56:38,153 --> 00:56:42,153
คราวนี้มาดูข้อแรกก่อน

470
00:56:42,156 --> 00:56:46,156
อย่างที่บอกว่าถ้าเจอวงเล็บ

471
00:56:46,157 --> 00:56:50,157
วงเล็บเปิด วงเล็บปิด ทำ

472
00:56:50,158 --> 00:56:54,158
ข้างในวงเล็บก่อน

473
00:56:54,160 --> 00:56:58,160
เพราะฉะนั้น  เราเอาอะไรบวกกันก่อน 5 + 2

474
00:56:58,162 --> 00:57:02,162
เป็นเท่าไรคะ เป็น 7

475
00:57:02,162 --> 00:57:06,162
7 แล้วคูณด้วย 2 เท่ากับเท่าไร

476
00:57:06,163 --> 00:57:10,163
เท่ากับเท่าไรคะ

477
00:57:10,166 --> 00:57:14,166
เท่ากับ 14

478
00:57:18,170 --> 00:57:22,170
ตัวเลขเท่ากับ 14 ตัวแรกนะคะ เท่ากับ 14

479
00:57:22,171 --> 00:57:26,171
แล้วมาดูข้อ 2 ครูตัด

480
00:57:26,172 --> 00:57:30,172
วงเล็บทิ้งไป 5 + 2 x 2

481
00:57:30,173 --> 00:57:34,173
เราทำตรงไหนก่อน

482
00:57:34,173 --> 00:57:38,173
ย้อนกลับขึ้นมาดูข้างบน ระหว่างบวกกับคูณ

483
00:57:38,174 --> 00:57:42,174
อะไรสำคัญมากกว่ากัน

484
00:57:42,175 --> 00:57:46,175
อะไรมีความสำคัญมากกว่ากันคะ

485
00:57:46,175 --> 00:57:50,175
บวกกับคูณ

486
00:57:54,180 --> 00:57:58,180
ใช่คูณจากข้อมูลข้างบนเห็นไหมคะ ว่า 1 นี่

487
00:57:58,183 --> 00:58:02,183
มีความสำคัญมากสุดนะ 2 ความสำคัญรองลงมา

488
00:58:02,185 --> 00:58:06,185
ตัวนี้ เบอร์ 3 ความสำคัญ

489
00:58:06,188 --> 00:58:10,188
รองลงมา เบอร์ 4 ความสำคั

490
00:58:10,192 --> 00:58:14,192
ญน้อยสุดเลย งเพราะฉะนั้น คูณกับบวก

491
00:58:14,195 --> 00:58:18,195
อะไรมีความสำคัญมากกว่ากัน

492
00:58:18,196 --> 00:58:22,196
คูณใช่ไหมคะ อันนี้คือมากสุด

493
00:58:22,199 --> 00:58:26,199

494
00:58:26,203 --> 00:58:30,203
เพราะฉะนั้น เรา

495
00:58:30,205 --> 00:58:34,205
ทำอะไรก่อน 5 + 2 หรือเอา 2

496
00:58:34,206 --> 00:58:38,206
x 2  2 x 2

497
00:58:38,209 --> 00:58:42,209
เป็น 4 4 + 5

498
00:58:42,209 --> 00:58:46,209
เป็นเท่าไรคะ

499
00:58:46,213 --> 00:58:50,213
เป็น 9

500
00:58:50,214 --> 00:58:54,214
โอเค

501
00:58:54,216 --> 00:58:58,216
ถ้าครูเขียนใหม่

502
00:59:06,222 --> 00:59:10,222
เลข 2 หรือ เดี๋ยวนะ

503
00:59:26,235 --> 00:59:30,235
โจทย์ข้อนี้

504
00:59:30,238 --> 00:59:34,238
5 x 2

505
00:59:34,241 --> 00:59:38,241
+ 2 = 12 คนอื่น

506
00:59:38,242 --> 00:59:42,242
ได้ไหมคะ เห็นไหม ตัวเลขเดียวกันเลย

507
00:59:42,246 --> 00:59:46,246
สลับแล้วก็เครื่องหมายมีเหมือนกัน

508
00:59:46,249 --> 00:59:50,249
เลย แค่สลับตำแหน่งค่าก็เปลี่ยนแล้ว

509
00:59:50,252 --> 00:59:54,252
ทันไหมคะ คูณกับบวกแสดงว่า

510
00:59:54,255 --> 00:59:58,255
ทำคูณก่อน 5 x 2

511
00:59:58,256 --> 01:00:02,256
เป็น 10 10 + 2 เป็น 12

512
01:00:06,262 --> 01:00:10,262
โอเค

513
01:00:10,266 --> 01:00:14,266
เอาตัวนี้บวกกันก่อน... คูณกันก่อนนะคะ

514
01:00:14,269 --> 01:00:18,269
5 x 2 เป็น 10 แล้ว 10 ค่อยมาบวกกับ

515
01:00:18,270 --> 01:00:22,270
2 โอเค

516
01:00:22,273 --> 01:00:26,273
จะเห็นว่า

517
01:00:26,275 --> 01:00:30,275
อันนี้คือเราคิดใช่ไหม

518
01:00:30,279 --> 01:00:34,279
อันนี้คือเราคิดนะคะ แล้วเราจะสั่งให้คอมพิวเตอณ์น

519
01:00:34,281 --> 01:00:38,281
ี่เข้าใจแบบที่เราคิดเมื่อกี้ได้อย่างไร

520
01:00:38,282 --> 01:00:42,282
รู้ว่าถ้าเจอคูณนี่ต้องทำคูณก่อนเลย

521
01:00:42,287 --> 01:00:46,287
เจอวงเล็บเปิดต้องทำวงเล็บเปิด

522
01:00:46,290 --> 01:00:50,290
ก่อน ตอนนี้เราจะสั่งให้คอมพิวเตอร์นี่ สามารถคำนวณ

523
01:00:50,290 --> 01:00:54,290
ให้ได้แบบที่เราคำนวณเมื่อกี้

524
01:00:54,292 --> 01:00:58,292
เราใช้

525
01:00:58,295 --> 01:01:02,295
Stack เข้ามาช่วยในการคำนวณนะคะ

526
01:01:02,298 --> 01:01:06,298
เราใช้ Stack เข้ามาในการคำนวณ

527
01:01:06,298 --> 01:01:10,298
วิธีการทำแบบไหน

528
01:01:10,302 --> 01:01:14,302
มาดูวิธีการนะคะ เรามีตัวเลขอยู่ชุดหนึ่ง

529
01:01:14,305 --> 01:01:18,305
เราต้องการหาค่าออกมา เช่น

530
01:01:18,306 --> 01:01:22,306
ครูมีตัวเลขชุดนี้ล่ะ

531
01:01:22,309 --> 01:01:26,309
นี่ครูสั่งให้คอมพิวเตอร์คำนวณนี่ จะต้องได้ผลลัพธ์ 9

532
01:01:26,312 --> 01:01:30,312
คอมพิวเตอร์จะคิดแบบไหนนะคะ

533
01:01:30,316 --> 01:01:34,316
1. เราต้องสร้างตารางแบบนี้ก่อน

534
01:01:34,318 --> 01:01:38,318
มี 3 ช่อง ช่องแรก คือ ใส่ Input

535
01:01:38,318 --> 01:01:42,318
ก็คือข้อมูลนำเข้า Stack

536
01:01:42,322 --> 01:01:46,322
แล้วก็ผลลัพธ์นะคะ

537
01:01:46,325 --> 01:01:50,325
เรามีวิธีการทำนี่ 2 ช่วงด้วยกัน ช่วงที่ 1

538
01:01:50,328 --> 01:01:54,328
ต้องแปลงนิพจน์

539
01:01:54,330 --> 01:01:58,330
นะคะ ให้เป็นแบบ Postfix

540
01:01:58,332 --> 01:02:02,332
เอาเครื่องหมายไปไว้ข้างหลังให้หมดก่อน เอาเครื่องหมาย

541
01:02:02,336 --> 01:02:06,336
ไปไว้ข้างหลังให้หมดก่อนนะคะ แล้วค่อยคำนวณออกมาเป็น

542
01:02:06,340 --> 01:02:10,340
ตัวเลขผลลัพธ์

543
01:02:10,343 --> 01:02:14,343
เรามี 3 ช่องนะ ทุกคนต้องตีตาราง 3 ช่อง

544
01:02:14,346 --> 01:02:18,346
อันแรกเขียนว่า Input Stack แล้วก็ O

545
01:02:18,347 --> 01:02:22,347
utput นะคะ ถัดมา

546
01:02:22,351 --> 01:02:26,351
ขั้นตอนวิธีการแปลง

547
01:02:26,354 --> 01:02:30,354
จาก Infix ให้เป็น Prefix

548
01:02:30,355 --> 01:02:34,355
ทุกคนมี Sheet ที่ครูให้แบบนี้เลย

549
01:02:34,357 --> 01:02:38,357
ก็คือสิ่งที่อยู่บนสไลด์นะคะ ครูพรินต์ออกมาให้

550
01:02:38,361 --> 01:02:42,361
เรามีอยู่ทั้งหมด 7 ขั้นตอนด้ว

551
01:02:42,364 --> 01:02:46,364
ยกัน มีทั้งหมด 7 ขั้นตอนด้วยกัน

552
01:02:46,367 --> 01:02:50,367
ครูให้เวลา

553
01:02:50,370 --> 01:02:54,370
2 นาที อ่าน 7 ขั้นตอน

554
01:02:54,373 --> 01:02:58,373
นี้ในกระดาษของตัวเองสิคะ

555
01:02:58,374 --> 01:03:02,374
ให้อ่านในกระดาษนะ หรือจะอ่านจากหน้าจอก็ได้

556
01:03:02,377 --> 01:03:06,377
ให้เวลา 2 นาที อยากให้อ่านก่อน

557
01:04:58,447 --> 01:05:02,447
คราวนี้เดี๋ยวมาดูพร้อมกัน

558
01:05:02,450 --> 01:05:06,450
เรามีอยู่ทั้งหมด 7 ขั้นตอนนะคะ เดี๋ยวเราจะ

559
01:05:06,454 --> 01:05:10,454
ลองฝึกนะ แล้วก็เทียบ

560
01:05:10,457 --> 01:05:14,457
ไปทีละขั้น

561
01:05:14,459 --> 01:05:18,459
ขั้นที่ 1 นะคะ กำหนดให้ Stack ว่าง

562
01:05:18,460 --> 01:05:22,460
ก็คือวาดตาราง 3 ช่องนี้

563
01:05:22,464 --> 01:05:26,464
ใช่ไหมคะ อันดับแรกสร้าง Stack ว่าง ก็คือวาด

564
01:05:26,466 --> 01:05:30,466
3 ช่องนะคะ กี่แถวยังไม่รู้นะ

565
01:05:30,471 --> 01:05:34,471
แต่มีอยู่ 3 คอลัมน์

566
01:05:38,472 --> 01:05:42,472
นะคะ 3 ช่อง อันนี้คือ Stack ว่าง อันดับแรกนะคะ อันดับที่ 2

567
01:05:42,475 --> 01:05:46,475
อ่านข้อมูลจากซ้ายไปขวา ก็คือ

568
01:05:46,477 --> 01:05:50,477
อ่านข้อมูลทีละตัวใช่ไหมคะ อ่านเลข 5

569
01:05:50,480 --> 01:05:54,480
เครื่องหมายบวก เลข 2 เครื่องหมายคูณ แล้วก็เลข 2

570
01:05:54,483 --> 01:05:58,483
อันนี้คืออ่านจากซ้ายไปขวา

571
01:05:58,485 --> 01:06:02,485
ทีละตัวนะคะ แล้วก็อ่านเข้ามาทีละตัว

572
01:06:02,490 --> 01:06:06,490
สมมติครูใช้ตัวเลขนะคะ

573
01:06:06,490 --> 01:06:10,490
เช่น

574
01:06:14,497 --> 01:06:18,497
อ่านข้อมูลจากซ้ายไปขวา ตัวแรก ก็คือ

575
01:06:18,498 --> 01:06:22,498
5 ใช่ไหม อ่านจากซ้าย ซ้าย ก็คือตัวแรก

576
01:06:22,499 --> 01:06:26,499
นะคะ ก็คือเลข 5 ถัดมา

577
01:06:26,502 --> 01:06:30,502
ขั้นถัดมาเป็นขั้นที่ 3

578
01:06:30,513 --> 01:06:34,508
ถ้าข้อมูลที่อ่านเข้ามา

579
01:06:34,508 --> 01:06:38,508
เป็นตัวเลข เช่น

580
01:06:38,509 --> 01:06:42,509
เลข 5 ใช่ไหมคะ ข้อมูลที่เราอ่านเข้ามา

581
01:06:42,512 --> 01:06:46,512
คือเลข 5 มันเป็นเป็นตัวเลขใช่ไหม ใช่ เอามัน

582
01:06:46,515 --> 01:06:50,515
ไปไว้ที่ไหน เอามันไปไว้ที่ช่องผลลัพธ์ ก็คือ

583
01:06:50,519 --> 01:06:54,519
ช่องสุดท้าย

584
01:06:54,522 --> 01:06:58,522
ก็คือช่องนี้ใช่ไหมคะ ช่อง Output

585
01:06:58,525 --> 01:07:02,525
ถัดมาถ้าตัวที

586
01:07:02,528 --> 01:07:06,528
่เราอ่านเข้ามานี่ มันไม่ใช่ตัวเลขแสดงว่า

587
01:07:06,531 --> 01:07:10,531
มันต้องเป็นเครื่องหมายทางคณิตศาสตร์

588
01:07:10,534 --> 01:07:14,534
อะไรสักอย่างหนึ่งนี่ล่ะ เช่น เครื่องหมายบวก

589
01:07:14,536 --> 01:07:18,536
ใช่ไหมคะ เครื่องหมายบวก

590
01:07:18,536 --> 01:07:22,536
เราอ่านเครื่องหมายบวกเข้ามา

591
01:07:22,540 --> 01:07:26,540
แล้วเขาให้เราเช็กก่อนว่า

592
01:07:26,540 --> 01:07:30,540
แล้วใน Stack มันมีค่าอยู่หรือเปล่า Stack ก็คือช่องนี

593
01:07:30,544 --> 01:07:34,544
้ช่องที่ 2 นี่ มัน

594
01:07:34,546 --> 01:07:38,546
มีค่าอยู่ไหม ถ้ามันไม่มีค่าอยู่เลย

595
01:07:38,549 --> 01:07:42,549
ก็หย่อนมันลงไปใน Stack

596
01:07:42,553 --> 01:07:46,553
แต่ถ้าใน Stack มันมีข้อมูล

597
01:07:46,555 --> 01:07:50,555
อยู่แล้ว เราจะต้องทำการ

598
01:07:50,559 --> 01:07:54,559
เปรียบเทียบก่อนว่าข้อมูล

599
01:07:54,560 --> 01:07:58,560
ที่เราอ่านเข้ามานี่

600
01:07:58,562 --> 01:08:02,562
มันมีค่ามากกว่าหรือน้อยกว่าตัวที่อยู่ใน

601
01:08:02,565 --> 01:08:06,565
Stack

602
01:08:06,566 --> 01:08:10,566
ถ้ามันมากกว่า

603
01:08:10,571 --> 01:08:14,571
ถ้ากรณีที่ตัวที่เราอ่านมีค่ามากกว่า

604
01:08:14,572 --> 01:08:18,572
ก็หย่อนลงไปใน Stack ได้เลย

605
01:08:18,573 --> 01:08:22,573
ถ้าสิ่งที่

606
01:08:22,577 --> 01:08:26,577
เราอ่านเข้ามามันมีค่าน้อยกว่าสิ่งที่

607
01:08:26,581 --> 01:08:30,581
อยู่ใน Stack

608
01:08:30,583 --> 01:08:34,583
ให้เอาเครื่องหมายใน Stack

609
01:08:34,586 --> 01:08:38,586
ออกไปไว้ที่ผลลัพธ์

610
01:08:38,587 --> 01:08:42,587
แล้วเอาเครื่องหมายตัวที่เราอ่านเข้ามาหย่อนลงไปใน Stack

611
01:08:42,592 --> 01:08:46,592
โอเค

612
01:08:46,595 --> 01:08:50,595
ถ้า

613
01:08:50,596 --> 01:08:54,596
เราอ่านจนครบข้อมูล

614
01:08:54,597 --> 01:08:58,597
ทุกตัวแล้ว เรายังมีข้อมูลอยู่ใน Stack

615
01:08:58,601 --> 01:09:02,601
เราก็ดึงมันออกมา ก็คือ Pop มันออกมา

616
01:09:02,603 --> 01:09:06,603
นะคะ เป็นผลลัพธ์

617
01:09:06,604 --> 01:09:10,604
มาดูตัวอย่างนะ ทุกคนถือ... ดูก

618
01:09:10,607 --> 01:09:14,607
ระดาษที่เป็นขั้นตอนด้วยนะคะ

619
01:09:26,615 --> 01:09:30,615
โอเค

620
01:09:30,618 --> 01:09:34,618
โจทย์

621
01:09:34,620 --> 01:09:38,620
ที่ครูให้ทุกคนดูที่หน้าจอนะคะ

622
01:09:38,622 --> 01:09:42,622
ครูมีโจทย์

623
01:09:42,625 --> 01:09:46,625
มาให้นะคะ ก็คือ 5 + 2

624
01:09:46,628 --> 01:09:50,628
x 2

625
01:09:50,631 --> 01:09:54,631
อันดับแรกครูต้องทำอะไร

626
01:09:54,633 --> 01:09:58,633
ครูต้องวาดตารางก่อนใช่ไหมคะ อันดับแรกวาดตาราง 3 ช่อง

627
01:09:58,634 --> 01:10:02,634
จำนวนแถว

628
01:10:02,638 --> 01:10:06,638
ก็เอาข้อมูลตัวเลขกับเครื่องหมาย

629
01:10:06,641 --> 01:10:10,641
มาใส่ทีละบรรทัด 5

630
01:10:10,645 --> 01:10:14,645
บรรทัดที่ 1 ถูกไหมคะ บวกบรรทัด

631
01:10:14,647 --> 01:10:18,647
ใส่เลข 2 บรรทัดถัดมาใส่เครื่องหมายคูณ

632
01:10:18,650 --> 01:10:22,650
แล้วก็ใส่เลข 2

633
01:10:22,651 --> 01:10:26,651
เราก็จะวาดตารางเรียบร้อยแล้วใช่ไหมคะ จำนวนแถว

634
01:10:26,655 --> 01:10:30,655
ขึ้นอยู่กับจำนวนข้อมูล

635
01:10:30,657 --> 01:10:34,657
ในโจทย์ว่ามีกี่ตัวก็สร้างแถว

636
01:10:34,661 --> 01:10:38,661
ใส่ข้อมูลให้เลย

637
01:10:38,661 --> 01:10:42,661
เรากำหนด

638
01:10:42,664 --> 01:10:46,664
Stack ว่างแล้วใช่ไหมคะ

639
01:10:46,669 --> 01:10:50,669
ถัดมาต้องอ่านข้อมูลทีละตัว

640
01:10:50,672 --> 01:10:54,672
เราต้องอ่านข้อมูลทีละตัวจากซ้าย

641
01:10:54,675 --> 01:10:58,675
ไปขวาตัวแรกคืออะไรคะ

642
01:10:58,676 --> 01:11:02,676
คือ 5 ใช่ไหม ครูเขียนเรียงแล้ว

643
01:11:02,682 --> 01:11:06,682
5  + มี 2 มีคูณ แล้วก็มี 2

644
01:11:06,682 --> 01:11:10,682
อันนี้คือข้อมูลที่เราอ่านจากซ้ายไปขวา

645
01:11:10,685 --> 01:11:14,685
ตัวแรก เป็นตัวเลขใช่ไหมคะ

646
01:11:14,687 --> 01:11:18,687
มันเป็นตัวเลขแล้วมันตรงกับข้อไหน

647
01:11:18,689 --> 01:11:22,689
ในขั้นตอน ข้อ

648
01:11:22,692 --> 01:11:26,692
3 ที่บอกว่าถ้าเป็นตัวเลข

649
01:11:26,696 --> 01:11:30,696
ให้เอาไปไว้ที่ไหน เอาไปไว้ที่

650
01:11:30,698 --> 01:11:34,698
ผลลัพธ์ ถ้าเป็น

651
01:11:34,700 --> 01:11:38,700
ตัวเลขเอาไปไว้ที่ผลลัพธ์ได้เลย

652
01:11:38,702 --> 01:11:42,702
ถัดมา

653
01:11:42,705 --> 01:11:46,705
เจอเครื่องหมายบวกนะคะ เจอเครื่องหมายบวก

654
01:11:46,706 --> 01:11:50,706
ตอนนี้ใน Stack มันไม่มีค่า

655
01:11:50,708 --> 01:11:54,708
อะไรเลยทำอย่างไรคะ

656
01:11:54,708 --> 01:11:58,708
ก็ใส่ได้เลย ใส่เครื่องหมายบวก

657
01:11:58,712 --> 01:12:02,712
ลงมาได้เลย ถ้ามันเป็น Stack ว่าง เห็นไหมคะ

658
01:12:02,712 --> 01:12:06,712
ตัวบนเป็น Stack ว่าง เราก็เอาใส่ได้เลย

659
01:12:06,715 --> 01:12:10,715
แล้วก็เขียน 5 ลงมาเหมือนเดิมนะคะ

660
01:12:10,715 --> 01:12:14,715
ยก 5 ลงมาเหมือนเดิมนะ

661
01:12:14,718 --> 01:12:18,718
ดู ๆ พร้อมครูก่อนนะ

662
01:12:18,719 --> 01:12:22,719
เดี๋ยวครู...

663
01:12:22,722 --> 01:12:26,722
จะถ่ายรูป

664
01:12:26,726 --> 01:12:30,726
เอาขึ้น Classroom ให้

665
01:12:30,729 --> 01:12:34,729
ถัดมา เลข 2 ใช่ไหมคะ เลข 2 มันเป็นอะไร

666
01:12:34,731 --> 01:12:38,731
มันเป็นตัวเลข เพราะฉะนั้น ต้องเอาไปไว้ที่ไหน

667
01:12:38,732 --> 01:12:42,732
ไปไว้ที่ผลลัพธ์

668
01:12:42,736 --> 01:12:46,736
ตรงกับข้อ 3 ในขั้นตอนนะ

669
01:12:46,738 --> 01:12:50,738
เอา 2 มาไว้ที่ Output แต่ต้องเขียน

670
01:12:50,741 --> 01:12:54,741
หลัง ก็คือเขียนต่อจากเลข 5

671
01:12:54,743 --> 01:12:58,743
นะคะ

672
01:13:02,747 --> 01:13:06,747
ถัดมา

673
01:13:06,751 --> 01:13:10,751
ยกเครื่องหมายบวกลงมาด้วยนะ

674
01:13:10,754 --> 01:13:14,754
เพราะมันอยู่ใน Stack นะคะ เรายังไม่ได้เอาอะไรออก

675
01:13:14,757 --> 01:13:18,757
หรือเอาอะไรเข้าเพิ่ม

676
01:13:18,758 --> 01:13:22,758
ถัดมาเป็นเครื่องหมายคูณ

677
01:13:22,759 --> 01:13:26,759
ใน Stack

678
01:13:26,762 --> 01:13:30,762
เรามีเครื่องหมายบวกอยู่แล้วนะคะ

679
01:13:30,765 --> 01:13:34,765
ใน Stack นี่เรามีเครื่องหมายบวกอยู่แล้ว

680
01:13:34,767 --> 01:13:38,767
ตัวที่เราอ่านเข้ามา คือ คูณ เรา

681
01:13:38,768 --> 01:13:42,768
จะต้องทำการเปรียบเทียบ

682
01:13:42,771 --> 01:13:46,771
ค่าที่เราอ่านเข้ามาใหม่ คือ คูณ

683
01:13:46,771 --> 01:13:50,771
กับตัวเดิมที่อยู่ใน Stack

684
01:13:50,771 --> 01:13:54,771
คือ บวก เราเปรียบเทียบ ถูกไหมคะ

685
01:13:54,774 --> 01:13:58,774
กับตัวบนสุดคือเครื่องหมายบวก สิ่งท

686
01:13:58,776 --> 01:14:02,776
ี่เราพบคืออะไร คูณมีค่า

687
01:14:02,778 --> 01:14:06,778
มากกว่าบวก ให้ทำอย่างไร

688
01:14:06,781 --> 01:14:10,781
ก็เอาคูณหย่อนลงมาได้เลย

689
01:14:10,782 --> 01:14:14,782
ใส่คูณ

690
01:14:14,784 --> 01:14:18,784
ลงไปใน Stack ได้เลยนะคะ ผลลัพธ์ก็เป็นเหมือนเดิม

691
01:14:18,788 --> 01:14:22,788
ตัวถัดมาคือเลข 2

692
01:14:22,790 --> 01:14:26,790
เลข 2 มันเป็นตัวเลขใช่ไหม เอามาไว้ที่

693
01:14:26,794 --> 01:14:30,794
ผลลัพธ์นะคะ เอามาต่อด้านหลัง

694
01:14:30,798 --> 01:14:34,798
เสร็จแล้วเราพบว่า

695
01:14:34,800 --> 01:14:38,800
ไม่มีข้อมูลแล้ว ข้อมูลมันหมดแล้วน่ะ

696
01:14:38,800 --> 01:14:42,800
ข้อมูลมันหมดแล้วนะคะ แต่สิ่งที่เราเจอคืออะไร

697
01:14:42,804 --> 01:14:46,804
ใน Stack ยังมีข้อมูลอยู่

698
01:14:46,807 --> 01:14:50,807
เพราะฉะนั้น ต้องดึงค่า

699
01:14:50,810 --> 01:14:54,810
ออกจาก Stack ให้หมด เราเอาอะไรออกมาก่อนคะ

700
01:14:54,812 --> 01:14:58,812
ตัวล่าสุด ตัวบนสุด คือ คูณ

701
01:14:58,817 --> 01:15:02,817
เอาคูณมาต่อท้ายที่ Output หรือว่าผลลั

702
01:15:02,820 --> 01:15:06,820
พธ์เอาคูณออกมาแล้วมันเหลืออีกตัวหนึ่งใช่ไหม

703
01:15:06,823 --> 01:15:10,823
ก็เอาบวกออกมา

704
01:15:10,829 --> 01:15:14,829
อันนี้คือผลลัพธ์ ผลลัพธ์สุดท้าย

705
01:15:14,830 --> 01:15:18,830
นะคะ

706
01:15:18,830 --> 01:15:22,830
จะอยู่ในรูปแบบของ Postfix คือ แปลงนิพจน์

707
01:15:26,834 --> 01:15:30,834
ได้ไหมคะ เดี๋ยวเรามาทำพร้อมกันอีกตัวหนึ่ง

708
01:15:30,838 --> 01:15:34,838
หนึ่ง

709
01:15:54,855 --> 01:15:58,855
3 + 5 x 1

710
01:16:10,865 --> 01:16:14,865
ครูมีโจทย์ใช่ไหมคะ 3 + 5 x 1

711
01:16:14,868 --> 01:16:18,868
ผลลัพธ์เท่ากับเท่าไหร่เอ่ย ตอบ

712
01:16:18,871 --> 01:16:22,871
เท่ากับ

713
01:16:22,874 --> 01:16:26,874
อันนี้ตอบเท่ากับเท่าไหร่เอ่ย

714
01:16:26,876 --> 01:16:30,876
(นักศึกษาชาย) 8

715
01:16:30,878 --> 01:16:34,878
(อาจารย์สุธาสินี) 8 ข้างหลังตอบอะไร

716
01:16:34,881 --> 01:16:38,881
ได้เท่ากับอะไรคะ คำตอบ

717
01:16:38,883 --> 01:16:42,883
ก็คือ 8

718
01:16:42,883 --> 01:16:46,883
เอา 5 x 1 ก่อนได้เท่าไร

719
01:16:46,887 --> 01:16:50,887
ค่อยบวกกับ 3

720
01:16:50,891 --> 01:16:54,891
5 1 เป็น 5 แล้วบวกกับ 3

721
01:16:54,894 --> 01:16:58,894
8

722
01:16:58,896 --> 01:17:02,896
เดี๋ยวเราจะมาทำจะมาแปลงนิพจน์กัน

723
01:17:02,898 --> 01:17:06,898
นะคะ แล้วเราจะมาหาค่าว่ามันได้ 8 ได้อย่างไร

724
01:17:06,898 --> 01:17:10,898
อันนี้เรากำลังจะมาแสดงวิธีทำ

725
01:17:10,903 --> 01:17:14,902
ของการได้ค่าว่า 8 มันมาจากไหน เราสั่งให้คอมพิวเตอร์

726
01:17:14,902 --> 01:17:18,902
คิดแบบไหน อันดับแรกวาด Stack ว่าง

727
01:17:18,903 --> 01:17:22,903
ใช่ไหม ครูบอกว่าต้องมีคอลัมน์อยู่ 3 คอลัมน์

728
01:17:34,915 --> 01:17:38,915
ครูมี 3 คอลัมน์แล้วมี

729
01:17:38,916 --> 01:17:42,916
Input Stack

730
01:17:42,920 --> 01:17:46,920
แล้วก็ Output

731
01:17:46,924 --> 01:17:50,924
จากนั้นครูวาดตารางเลย

732
01:17:50,925 --> 01:17:54,925
โดยเอาข้อมูลมาใส่ในแต่ละแถวเลยนะคะ

733
01:17:54,927 --> 01:17:58,927
ครูอ่านเข้ามาทีละตัว

734
01:17:58,930 --> 01:18:02,930
ซ้ายไปขวาตัวแรก คือ 3 ถัดมา

735
01:18:02,934 --> 01:18:06,934
คือเครื่องหมายบวกเลข 5

736
01:18:06,938 --> 01:18:10,938
นะคะ เครื่องหมายคูณ

737
01:18:10,942 --> 01:18:14,942
แล้วก็เลข 1 อันนี้ครูวาดตารา

738
01:18:14,943 --> 01:18:18,943
งเสร็จแล้ว

739
01:18:26,953 --> 01:18:30,953
ทุกคน

740
01:18:30,956 --> 01:18:34,956
วาดตามครูก่อนเลยเราวาด

741
01:18:34,957 --> 01:18:38,957
ตารางเปล่า ๆ แบบนี้ก่อนนะคะ

742
01:18:38,958 --> 01:18:42,958
คอลัมน์แรกหรือช่องแรก เอา

743
01:18:42,961 --> 01:18:46,961
ตัวเลขกับเครื่องหมาย

744
01:18:46,966 --> 01:18:50,966
มาเรียงใส่ทีละบรรทัด

745
01:20:03,010 --> 01:20:07,010
คราวนี้

746
01:20:07,013 --> 01:20:11,013
พอทุกคนลอกตารางเสร็จแล้วใช่ไหมคะ เดี๋ยวเราจะมาทำด้วยกัน

747
01:20:11,016 --> 01:20:15,016
เริ่มต้นตัวแรก

748
01:20:15,019 --> 01:20:19,019
ใช่ไหมคะ ทุกคนเริ่มต้นตัวแรกมันเป็นตัวเลข

749
01:20:19,024 --> 01:20:23,024
ใช่หรือเปล่า มันเป็นตัวเลข เพราะฉะนั้น เอาไปไว้ที่ช่องทางไหน

750
01:20:23,025 --> 01:20:27,025
ทางขวา

751
01:20:27,029 --> 01:20:31,029
ใส่ก่อนเลข 3 ใช่ถูกต้อง

752
01:20:31,031 --> 01:20:35,031
ถัดมา

753
01:20:35,033 --> 01:20:39,033
เป็นเครื่องหมายบวกใช่ไหมคะ

754
01:20:39,036 --> 01:20:43,036
เป็นเครื่องหมายบวก ตรงนี้มีอะไรไหม ไม่มี

755
01:20:43,038 --> 01:20:47,038
เพราะฉะนั้น เอา + มาใส่ตรงนี้ได้เลยไหม

756
01:20:47,042 --> 01:20:51,042
ได้ ถ้าเป็นเครื่องหมายเอาลงที่

757
01:20:51,044 --> 01:20:55,044
Stack เพราะฉะนั้น ตอนนี้ Stack

758
01:20:55,048 --> 01:20:59,047
ว่าง ก็ใส่เครื่องหมายบวกได้เลย

759
01:20:59,047 --> 01:21:03,047
3 ยกลงมาเหมือนเดิมนะคะ เหมือน

760
01:21:03,051 --> 01:21:07,051
ตรง Output ยก 3 ลงมาเหมือนเดิม

761
01:21:15,057 --> 01:21:19,057
ถัดมาเลข 5 เป็นตัวเลข

762
01:21:19,060 --> 01:21:23,060
เอาไว้ที่ไหน เอาไว้

763
01:21:23,063 --> 01:21:27,063
Output ใช่ไหม เพราะฉะนั้น เอาของเด

764
01:21:27,065 --> 01:21:31,065
ิมยกลงมาก่อน คือ 3 แล้วเอาเลขอะไรมาใส่

765
01:21:31,066 --> 01:21:35,066
เลข 5 นะคะ อันนี้

766
01:21:35,069 --> 01:21:39,069
ยกลงมาไหม เครื่องหมายบวกยกลงมาด้วยนะ

767
01:21:39,071 --> 01:21:43,071
ยกลงมาด้วย

768
01:21:51,080 --> 01:21:55,080
เสร็จแล้วถัดมา

769
01:21:55,081 --> 01:21:59,081
เครื่องหมายคูณ

770
01:21:59,084 --> 01:22:03,084
คูณต้องเอามาลง Stack ใช่หรือเปล่า แต่คูณ

771
01:22:03,089 --> 01:22:07,089
มันมากกว่าบวกใช่ไหม คูณ

772
01:22:07,092 --> 01:22:11,092
กับบวกอะไรมากกว่ากัน คูณ เพราะฉะนั้น

773
01:22:11,095 --> 01:22:15,095
เราก็ใส่ลงไปใน Stack ได้เลย โดย

774
01:22:15,097 --> 01:22:19,097
โดยเอาของเดิมลงมาก่อน

775
01:22:19,098 --> 01:22:23,098
แล้วก็ใส่เครื่องหมายคูณ

776
01:22:23,101 --> 01:22:27,101
อันนี้ยกลงมาเหมือนเดิมไหม ยกลงมาเหมือนเดิม

777
01:22:31,108 --> 01:22:35,108
ตรงสุดท้าย 1 เอาไว้ที่ไหน

778
01:22:35,110 --> 01:22:39,110
Output แต่มีของเดิมอยู่แล้วใช่ไหม

779
01:22:39,112 --> 01:22:43,112
ยกของเดิมลงมาก่อน แล้วก็ใส่เลข 1

780
01:22:47,118 --> 01:22:51,118
อันนี้ยกลงมาเลยได้ไหมได้นะคะ ใน Stack

781
01:22:51,121 --> 01:22:55,121
เราก็ยกเครื่องหมายออกมาเครื่องหมายนะคะ

782
01:22:55,123 --> 01:22:59,123
บวกกับคูณ

783
01:23:03,129 --> 01:23:07,129
เสร็จแล้ว

784
01:23:07,132 --> 01:23:11,132
ผลลัพธ์ที่ได้ตอนนี้ข้อมูลหมดแล้วใช่ไหม

785
01:23:11,135 --> 01:23:15,135
ใน Stack ยังมีอยู่  ใน Stack ยังมีอยู่ ต้อง

786
01:23:15,138 --> 01:23:19,138
Pop ออกมา ต้อง Pop ออกมา ใช่ไหมคะ

787
01:23:19,141 --> 01:23:23,141
ยกตรง Output ของเดิมลงมาก่อน Pop

788
01:23:23,143 --> 01:23:27,143
บวกกับคูณเอาอะไรออกมาก่อน

789
01:23:27,146 --> 01:23:31,146
คูณ แล้วตามด้วยบวก เห็นไหมคะ

790
01:23:31,149 --> 01:23:35,149
เอาตัวแรกออกมาก่อน แล้วก็เอาตัวที่ 2

791
01:23:35,151 --> 01:23:39,151
ออกมา

792
01:23:51,162 --> 01:23:55,162
เดี๋ยวต่ออีกนิดหนึ่งนะคะ เดี๋ยวเขียนตรงนี้ให้เสร็จก่อน

793
01:24:03,166 --> 01:24:07,166
เรายังไม่ได้ค่าเลข 8 เลย

794
01:24:07,167 --> 01:24:11,167
จะทำอย่างไรให้ได้เลข 8

795
01:24:11,169 --> 01:24:15,169

796
01:24:15,170 --> 01:24:19,170
ถัดมา เสร็จหรือยังคะ

797
01:24:19,171 --> 01:24:23,171
เดี๋ยวรอเพื่อน

798
01:24:23,177 --> 01:24:27,177
แป๊บหนึ่งนะ

799
01:24:35,183 --> 01:24:39,183
โอเค เราได้ผลลัพธ์

800
01:24:39,184 --> 01:24:43,184
แล้วใช่ไหมคะ จากตารางที่เราทำใน Stack

801
01:24:47,190 --> 01:24:51,190
พอได้ค่าผลลัพธ์แล้วนี่ คือ ตัวนี้

802
01:24:51,193 --> 01:24:55,193
3 5 1 คูณบวก

803
01:24:55,195 --> 01:24:59,195
มาหาผลลัพธ์ต่อนะคะ ค่านี้จะเป็นค่าสุดท้ายแล้ว

804
01:24:59,198 --> 01:25:03,198
ที่เราจะได้คำตอบออกมา

805
01:25:07,204 --> 01:25:11,204
ตัวแรกตัวนี้ใช่ไหมคะ

806
01:25:11,209 --> 01:25:15,209
ขั้นตอนถัดมา ถ้าเป็น

807
01:25:15,210 --> 01:25:19,210
ตัวเลข ถ้าเป็นตัวเลขจะ Push

808
01:25:19,211 --> 01:25:23,211
ลง Stack อันนี้อีกอันหนึ่งนะ อีก

809
01:25:23,214 --> 01:25:27,214
ขั้นตอนหนึ่งนะคะ ถ้าเป็นตัวเลขจะ

810
01:25:27,217 --> 01:25:31,217
Push ลง Stack ดูพร้อมครูเลย ตัวที่ 1 มา

811
01:25:31,220 --> 01:25:35,220
คือตัวเลขอะไรคะ เลข 3

812
01:25:35,223 --> 01:25:39,223
เราเอาใส่ใน Stack

813
01:25:39,227 --> 01:25:43,227
ดูพร้อมกันนะ เลข 3

814
01:25:43,227 --> 01:25:47,227
ตัวแรก เอาลง Stack ตัวถัดมา

815
01:25:47,230 --> 01:25:51,230
เลขอะไรคะ เลข 5

816
01:25:51,230 --> 01:25:55,230
ก็เอาเลข 5 Push ลง Stack เหมือนกัน

817
01:25:59,236 --> 01:26:03,236
ตัวถัดมาเลขอะไร

818
01:26:03,239 --> 01:26:07,239
เลข 1 ก็เอาเลข 1

819
01:26:07,242 --> 01:26:11,242
Push ลง Stack เหมือนกัน

820
01:26:19,246 --> 01:26:23,246
ถัดมา

821
01:26:23,249 --> 01:26:27,249
เราเครื่องหมายคูณให้

822
01:26:27,252 --> 01:26:31,252
Pop ค่าบนสุดอออกมา แล้ว

823
01:26:31,255 --> 01:26:35,255
วางไว้ขวามือ เอาเลข 1 ออกมา เห็นไหมคะ

824
01:26:35,257 --> 01:26:39,257
จากนั้นใส่เครื่องหมาย

825
01:26:39,259 --> 01:26:43,259
ถ้ามันเครื่องหมายนะ ตัวที่เราอ่านมาเรา Pop

826
01:26:43,262 --> 01:26:47,262
ตัวเลขออกมาก่อน แล้วใส่เครื่องหมาย

827
01:26:47,266 --> 01:26:51,266
แล้วเอาตัวที่ 2 ออกมาแบบนี้

828
01:26:51,271 --> 01:26:55,271
นะคะ เอาตัวบนสุดออกมา

829
01:26:55,272 --> 01:26:59,272
แล้วใส่เครื่องหมายที่เราอ่าน แล้วเอา

830
01:26:59,273 --> 01:27:03,273
ตัวข้อมูล

831
01:27:03,276 --> 01:27:07,276
ตัวเลขที่อยู่ใน Stack ตัวถัดมานี่ออกมา ได้ผลลัพธ์เป็นอะไรคะ

832
01:27:07,279 --> 01:27:11,279
5 x 1 เป็น 5

833
01:27:11,283 --> 01:27:15,283
ตอนนี้ใน Stack 1 กับ 5 ออก

834
01:27:15,286 --> 01:27:19,286
ไปแล้วนะ เราได้ผลลัพธ์

835
01:27:19,286 --> 01:27:23,286
คือ 5 แล้วอย่างไรต่อ

836
01:27:23,289 --> 01:27:27,289
ก็ Push ลง Stack

837
01:27:27,291 --> 01:27:31,291
เอาเลข 5 Push ลงไปใน Stack

838
01:27:31,296 --> 01:27:35,296
ตอนนี้เอาออกไปแล้ว 2 เหลือ 3

839
01:27:35,298 --> 01:27:39,298
พอคูณเสร็จเอา 5 กลับเข้ามา

840
01:27:43,303 --> 01:27:47,303
ดูนะคะ ถัดมา

841
01:27:47,304 --> 01:27:51,304
อ่านเครื่องหมายบวก

842
01:27:51,306 --> 01:27:55,306
ทำเหมือนเดิมเลย เอาอะไรออกมาคะ

843
01:27:59,310 --> 01:28:03,310
เอา 5 ออกมาไว้ทางขวามือ แล้วก็ใส่เครื่องหมายบวก

844
01:28:03,313 --> 01:28:07,313
แล้วก็เอา 3 ออกมา คำตอบเป็นเท่าไหร่คะ

845
01:28:07,316 --> 01:28:11,316
เป็น 8

846
01:28:15,319 --> 01:28:19,319
แล้วก็เอา 8 ใส่ลงไปใน Stack จะเหลือเป็นค่าสุดท้าย

847
01:28:19,320 --> 01:28:23,320
นี่คือคำตอบของ

848
01:28:23,324 --> 01:28:27,324
โจทย์ข้อนี้ได้เท่ากันเลยไหม

849
01:28:27,328 --> 01:28:31,328
ได้เท่ากันเลย คือ 8

850
01:28:31,331 --> 01:28:35,331
จะเห็นว่านี่คือกระบวนการคอมพิวเตอร์คิดค่า

851
01:28:35,331 --> 01:28:39,331
ตัวเลขให้เรานะคะ กว่าจะได้เลข 8

852
01:28:39,332 --> 01:28:43,332
ออกมานี่ คอมพิวเตอร์ต้องคิดแบบนี้นะคะ

853
01:28:55,348 --> 01:28:59,348
โอเค

854
01:28:59,357 --> 01:29:03,353
ใครเสร็จแล้ว

855
01:29:03,353 --> 01:29:07,353
ครูให้เบรกอีก 5 นาที จดตัวนี้ให้เสร็จนะคะ

856
01:29:07,354 --> 01:29:11,354
ครูให้เบรก 5 นาที

857
01:39:27,748 --> 01:39:31,748
ค่ะ เดี๋ยวมาต่ออีกนิดหนึ่ง

858
01:39:35,752 --> 01:39:39,752
คราวนี้มาดูอีก 1 ตัวอย่างนะคะ

859
01:39:43,759 --> 01:39:47,759
ครูมีโจทย์ให้

860
01:39:51,764 --> 01:39:55,764
5 x 2

861
01:39:55,766 --> 01:39:59,766
+ 2

862
01:39:59,769 --> 01:40:03,769
ตอนนี้เราทำ

863
01:40:03,775 --> 01:40:07,775
จาก Infix ให้เป็น

864
01:40:07,777 --> 01:40:11,777
Postfix ก่อนนะคะ

865
01:40:11,780 --> 01:40:15,780
อันดับแรก

866
01:40:15,782 --> 01:40:19,782
ต้องวาดตารางก่อนใช่ไหมคะ

867
01:40:19,782 --> 01:40:23,782
วาดตาราง Stack  ว่าง

868
01:40:23,786 --> 01:40:27,786
ครูก็วาด 3 ช่องเหมือนเดิม แล้วก็

869
01:40:27,789 --> 01:40:31,789
ตรง Input ครูก็เอาข้อมูลแต่ละตัว

870
01:40:31,792 --> 01:40:35,792
มาใส่ลงในแต่ละบรรทัด

871
01:40:51,807 --> 01:40:55,807
เริ่มต้นเลยหย่อนเข้ามาตัว

872
01:40:55,809 --> 01:40:59,809
แรกคือเลข 5 ใช่ไหม มันเป็นตัวเลข เพราะฉะนั้น

873
01:40:59,812 --> 01:41:03,812
เอาไปไว้ที่ Output

874
01:41:03,816 --> 01:41:07,816
นะคะ นะ ถ้าเป็นตัวเลขเอาไปไว้ที่ Outpu

875
01:41:07,819 --> 01:41:11,819
t ได้เลย ตัวถัดมา

876
01:41:11,822 --> 01:41:15,822
เครื่องหมายคูณ

877
01:41:15,825 --> 01:41:19,825
แสดงว่าต้องเอาไปไว้ใน Stack

878
01:41:19,826 --> 01:41:23,826
ตอนนี้ Stack มันเป็น Stack ว่าง

879
01:41:23,829 --> 01:41:27,829
เราก็เลยเอาคูณมาใส่ใน

880
01:41:27,832 --> 01:41:31,832
Stack ได้เลยส่วน Output

881
01:41:31,836 --> 01:41:35,836
ก็ยก 5 ลงมาเหมือนเดิม

882
01:41:39,839 --> 01:41:43,839
โอเคนะ ยังเป็นเหมือนเดิมอยู่นะ

883
01:41:43,841 --> 01:41:47,841
2 บรรทัดแรก ถัดมา

884
01:41:47,845 --> 01:41:51,845
เจอเลข 2 เลข 2

885
01:41:51,849 --> 01:41:55,849
2 มันเป็นตัวเลข ต้องเอาไปไว้ที่

886
01:41:55,851 --> 01:41:59,851
Output เพราะฉะนั้น 2

887
01:41:59,853 --> 01:42:03,853
จะอยู่ต่อจากเลข 5 นะคะ ใน Stack

888
01:42:03,856 --> 01:42:07,856
ก็ยกลงมาเหมือนเดิม

889
01:42:11,862 --> 01:42:15,862
ถึงตรงนี้นะคะ

890
01:42:19,867 --> 01:42:23,867
ถัดมาข้อมูลที่เราอ่านมา

891
01:42:23,871 --> 01:42:27,871
คืออะไร เครื่องหมายบวก พอเราเจอ

892
01:42:27,874 --> 01:42:31,874
เครื่องหมายบวก ครูบอกว่าต้องเอามัน

893
01:42:31,877 --> 01:42:35,877
ไปไว้ใน Stack แต่ก่อนอื่นก่อนที่จะ

894
01:42:35,879 --> 01:42:39,879
เอาไปไว้ใน Stack เดิม

895
01:42:39,881 --> 01:42:43,881
เรามีข้อมูลใน Stack หรือเปล่า มีใช่หรือเปล่า มีเครื่องหมายคูณ

896
01:42:43,882 --> 01:42:47,882
เพราะฉะนั้น เรา

897
01:42:47,898 --> 01:42:51,894
ต้องเปรียบเทียบความสำคัญก่อน บวก

898
01:42:51,894 --> 01:42:55,894
มันน้อยกว่าหรือมากกว่าคูณ

899
01:42:55,896 --> 01:42:59,896
น้อยกว่า ใช่ไหม บวก

900
01:42:59,899 --> 01:43:03,899
มีค่าน้อยกว่าคูณ เพราะฉะนั้น

901
01:43:03,903 --> 01:43:07,903
ทำอย่างไรคะ เอาคูณ

902
01:43:07,906 --> 01:43:11,906
ออกมา

903
01:43:11,909 --> 01:43:15,909
บวกมีค่าน้อยกว่าคูณ เพราะฉะนั้น

904
01:43:15,910 --> 01:43:19,910
ต้องเอา

905
01:43:19,911 --> 01:43:23,911
ข้อมูลที่อยู่บน Stack นี่ คือ คูณ เอามาไว้ที่

906
01:43:23,915 --> 01:43:27,915
Output เห็นไหมคะ

907
01:43:27,918 --> 01:43:31,918
เอามาไว้ที่ Output เสร็จแล้ว เราถึงเอา

908
01:43:31,919 --> 01:43:35,919
เครื่องหมายบวก Push ลงไปใน Stack

909
01:43:35,921 --> 01:43:39,921
นะคะ แล้วค่อยเอาเครื่องหมายบวก

910
01:43:39,923 --> 01:43:43,923
ใส่ลงไปใน Stack ได้เลย เพราะ Stack มันว่าง

911
01:43:43,926 --> 01:43:47,926
เพราะฉะนั้น ตรง Output จะเป็น

912
01:43:47,926 --> 01:43:51,926
5, 2 แล้วก็เครื่องหมายคูณ

913
01:43:51,930 --> 01:43:55,930
ทำไมคูณ

914
01:43:55,933 --> 01:43:59,933
ถึงต้องออกมา เพราะบวกมันน้อยกว่าคูณ

915
01:43:59,936 --> 01:44:03,936
เห็นไหมคะ บวกมันน้อยกว่าคูณ

916
01:44:03,939 --> 01:44:07,939
เลยเอาคูณออกมา

917
01:44:07,942 --> 01:44:11,942
ถัดมาเลขอะไรคะ เลข 2

918
01:44:11,945 --> 01:44:15,945
เอาไปไว้ที่ Output ได้เลย ก็เอามันไปต่อท้ายคูณ

919
01:44:15,948 --> 01:44:19,948
ใช่หรือเปล่า เพราะมันคือคูณ

920
01:44:19,954 --> 01:44:23,954
เอา 2 มาต่อท้าย

921
01:44:27,957 --> 01:44:31,957
ตอนนี้เราอ่านข้อมูลครบหมดแล้ว

922
01:44:31,960 --> 01:44:35,960
แต่ใน Stack มันยังมีบวกค้างอยู่ เพราะฉะนั้น

923
01:44:35,962 --> 01:44:39,962
ต้อง Pop มันออกมา

924
01:44:39,963 --> 01:44:43,963
แล้วไว้ข้างหลังนะคะ Pop มันออกมาและไว้ข้างหลัง

925
01:45:23,992 --> 01:45:27,992
โอเคนะ

926
01:45:27,996 --> 01:45:31,996
แบบฝึกหัดช่วยครูทำหน่อยตอนนี้เลย

927
01:45:31,997 --> 01:45:35,997
ครูมีโจทย์ให้นะคะ 3 หาร 1

928
01:45:35,998 --> 01:45:39,998
- 2 แล้วครูก็บอกว่าหาร

929
01:45:39,999 --> 01:45:43,999
นี่มันมีค่ามากกว่าลบนะ

930
01:45:44,001 --> 01:45:48,001
นะคะ หาค่าผลลัพธ์ของนิพจน์

931
01:45:48,002 --> 01:45:52,002
Postfix ให้ครูหน่อย

932
01:45:52,005 --> 01:45:56,005
ผลลัพธ์สุดท้ายตัวนี้จะได้อะไร เริ่มต้น

933
01:45:56,007 --> 01:46:00,007
ทุกคนตีตารางก่อน

934
01:46:08,011 --> 01:46:12,011
ลองทำดูสิคะ มีกระดาษไหม

935
01:46:12,014 --> 01:46:16,014
ไม่มีมาเอาข้างหน้า

936
01:46:16,017 --> 01:46:20,017
ครูมีกระดาษให้นะ

937
01:46:32,028 --> 01:46:36,028
แบบฝึกหัด 1 ข้อนะคะ ทำตอนนี้เลย

938
01:46:48,039 --> 01:46:52,039
เหมือนกับโจทย์ที่ครูให้ไป

939
01:46:52,042 --> 01:46:56,042
นะคะ คล้าย ๆ กับโจทย์ที่เราให้ไป

940
01:46:56,045 --> 01:47:00,045
แล้วเราก็จดแล้วด้วยนะ

941
01:48:40,101 --> 01:48:44,101
เหมือนโจทย์สุดท้ายที่ครูให้ไปเมื่อกี้เลยนะ

942
01:48:44,104 --> 01:48:48,104
ลบ

943
01:48:48,107 --> 01:48:52,107
มันน้อยกว่าหารใช่ไหมคะ เรา

944
01:48:52,114 --> 01:48:56,114
เปรียบเทียบกันลบมันน้อยกว่าหาร

945
01:48:56,115 --> 01:49:00,115
เพราะฉะนั้น

946
01:49:00,118 --> 01:49:04,118
ต้องเอาหารออกมา

947
01:54:20,331 --> 01:54:24,331
คราวนี้นะคะ ดูด้วยกัน

948
01:54:28,339 --> 01:54:32,339
3

949
01:54:32,342 --> 01:54:36,342
เอา 3 ไปไว้ที่ไหนคะ ที่ Output

950
01:54:36,345 --> 01:54:40,345
เห็นไหมคะ เอา 3 ไปไว้ที่ Output

951
01:54:40,346 --> 01:54:44,346
เครื่องหมายหาร เอาเครื่องหมายหารไปไว้ที่ไหน Stack

952
01:54:44,349 --> 01:54:48,349
เพราะมันเป็น Stack ว่าง  เราก็หย่อนเครื่องหมา

953
01:54:48,350 --> 01:54:52,350
ยหารได้เลย Output เรายกมันลงมาด้วยนะ

954
01:54:56,354 --> 01:55:00,354
ถัดไปเราอ่านเจอเลข 1 ใช่ไหมคะ เลข 1 เราต้องเอาเลข 1 ไปไว้

955
01:55:00,357 --> 01:55:04,357
ที่ไหน Output

956
01:55:04,360 --> 01:55:08,360
ยกลงมาก่อน เสร็จแล้วก็เติมเลข 1 ลงไป

957
01:55:08,364 --> 01:55:12,364
ใน Stack ยังเหมือนเดิมนะ

958
01:55:12,368 --> 01:55:16,368
เรายังมีเครื่องหมายหารอยู่เราก็ยกลงมาได้เลย

959
01:55:16,369 --> 01:55:20,369
ถัดมา

960
01:55:20,372 --> 01:55:24,372
เครื่องหมายลบใช่ไหมคะ เดิมใน Stack เรามี

961
01:55:24,375 --> 01:55:28,375
หารอยู่แล้วใช่ไหม ครูเขียนให้ดูก่อน

962
01:55:28,378 --> 01:55:32,378
เรามีหารอยู่แล้วนี่ เราเอาลบนี่มาเทียบกับ

963
01:55:32,382 --> 01:55:36,382
หารปรากฎว่า

964
01:55:36,384 --> 01:55:40,384
ค่าลบมันน้อยกว่า

965
01:55:40,388 --> 01:55:44,388
ให้ทำอย่างไร

966
01:55:44,388 --> 01:55:48,388
ให้เอาหารนี่ เอาออกมาไว้ที่

967
01:55:48,392 --> 01:55:52,392
Output เพราะฉะนั้น จะได้เป็น

968
01:55:52,395 --> 01:55:56,395
3, 1 แล้วก็หารตรงนี้หายไปใช่ไหมคะ

969
01:55:56,398 --> 01:56:00,398
เสร็จแล้วก็ใส่ค่าลบ

970
01:56:00,401 --> 01:56:04,401
ลงมาใน Stack

971
01:56:04,401 --> 01:56:08,401
ถัดมาหย่อนอะไร

972
01:56:08,405 --> 01:56:12,405
เอาไว้ที่ Output ยกของเดิมลงมาก่อนที่ Output แล้วก็ใส่เลข 2

973
01:56:12,406 --> 01:56:16,406
ใน Stack หรืออะไรคะ

974
01:56:16,408 --> 01:56:20,408
เครื่องหมายลบใช่ไหม อ่านครบหมดแล้วนะ

975
01:56:20,410 --> 01:56:24,410
แต่ใน Stack

976
01:56:24,413 --> 01:56:28,413
เราต้องเอาค่าจาก Stack ออกมา เป็น

977
01:56:28,417 --> 01:56:32,417
3 1 หาร 2 แล้วอะไรคะ ลบ

978
01:56:32,421 --> 01:56:36,421
เห็นไหม

979
01:56:36,422 --> 01:56:40,422
เราเอาค่าที่อยู๋ใน Stack ตัวสุดท้ายมาใส่ข้างหล

980
01:56:40,423 --> 01:56:44,423
ังได้เลยนะคะ

981
01:56:44,427 --> 01:56:48,427
โอเค

982
01:56:48,430 --> 01:56:52,430
อีกข้อหนึ่ง

983
01:56:52,433 --> 01:56:56,433
แล้วจะให้เลิกครูให้โจทย์มาแค่นี้เอง วาดตารางเองด้วย

984
01:57:12,447 --> 01:57:16,447
โจทย์ข้อนี้อันดับแรก

985
01:57:16,447 --> 01:57:20,447
วาดตารางก่อนเลย ตีตารางค่ะ

986
01:59:48,542 --> 01:59:52,542
ดูนิดหนึ่ง

987
01:59:52,544 --> 01:59:56,544
คูณมันมากกว่าลบ

988
01:59:56,547 --> 02:00:00,547
ใช่หรือเปล่า คูณมันมีค่ามากกว่าลบ

989
02:00:00,550 --> 02:00:04,550
เพราะฉะนั้น ทำอะไรก็ Push คูณลง Stack ได้เลย

990
02:00:04,550 --> 02:00:08,550
นะคะ  Push คูณ

991
02:00:08,554 --> 02:00:12,554
ลงใน Stack ได้เลย

992
02:04:12,706 --> 02:04:16,706
โอเค

993
02:04:16,706 --> 02:04:20,706
มาดูนะคะ

994
02:04:20,708 --> 02:04:24,708
6

995
02:04:24,708 --> 02:04:28,708
เป็นตัวเลขเอาไว้ที่ Output ใช่หรือเปล่า

996
02:04:28,711 --> 02:04:32,711
ลบเอาไว้ที่ Stack นะคะ

997
02:04:32,714 --> 02:04:36,714
6 ก็ใส่มาเหมือนเดิม

998
02:04:36,717 --> 02:04:40,717
5 เอาไว้ที่ไหนคะ ไว้ที่ Output เอาไว้ที่

999
02:04:40,718 --> 02:04:44,718
Stack ก็ยกลงมาเหมือนเดิมนะคะ

1000
02:04:44,721 --> 02:04:48,721
ถัดมาคูณ

1001
02:04:48,724 --> 02:04:52,724
เจอคูณ

1002
02:04:52,728 --> 02:04:56,728
ใช่ไหมคะ เจอคูณให้เ

1003
02:04:56,730 --> 02:05:00,730
ปรากฏว่าคูณมีค่ามากกว่าลบ

1004
02:05:00,733 --> 02:05:04,733
ให้ Push คูณลง Stack

1005
02:05:04,736 --> 02:05:08,736
ได้เลย เพราะฉะนั้น

1006
02:05:08,739 --> 02:05:12,739
Stack เดิมเป็น ลบอยู่แล้ว

1007
02:05:12,742 --> 02:05:16,742
ครูบอกว่า Push ลงมาได้เลยนะคะ เพราะคูณ

1008
02:05:16,745 --> 02:05:20,745
มันมากกว่านะ มันมากกว่านะคะ

1009
02:05:20,746 --> 02:05:24,746
ข้างหลัง คือ 6 กับ 5

1010
02:05:24,750 --> 02:05:28,750
ถัดมา 2

1011
02:05:28,753 --> 02:05:32,753
เป็นตัวเลขไว้ข้างหลังนะคะ

1012
02:05:32,756 --> 02:05:36,756
Stack มีเท่าไรยกลงมา

1013
02:05:36,759 --> 02:05:40,759
โอเค เสร็จแล้ว หมดแล้วนะ ผลลัพธ์

1014
02:05:40,760 --> 02:05:44,760
สุดท้ายที่ได้ 6, 5, 2

1015
02:05:44,763 --> 02:05:48,763
เอาคูณออกมาก่อนแล้วตามด้วยลบนะคะ

1016
02:05:48,766 --> 02:05:52,766
เห็นนะโอเค

1017
02:05:56,772 --> 02:06:00,772
ทุกคนดู

1018
02:06:00,776 --> 02:06:04,776
นะคะ

1019
02:06:16,787 --> 02:06:20,787
เราสังเกตนะ

1020
02:06:20,791 --> 02:06:24,791
ทำไมตัวนี้

1021
02:06:24,794 --> 02:06:28,794
เอาหารออกมา ตัวนี้ไม่ได้เอาอะไรออกมานะคะ ตัวนี้

1022
02:06:28,798 --> 02:06:32,798
วิธีการสังเกต โอเค

1023
02:06:32,800 --> 02:06:36,800
ลบเทียบกับหาร ลบ

1024
02:06:36,801 --> 02:06:40,801
มันมีค่าน้อยกว่าหารเห็นไหมคะ

1025
02:06:40,801 --> 02:06:44,801
ลบมีค่าน้อยกว่าหาร

1026
02:06:44,804 --> 02:06:48,804
เลยต้องเอาหาร

1027
02:06:48,809 --> 02:06:52,809
ออกมา

1028
02:06:52,813 --> 02:06:56,813
แต่ถ้า Input

1029
02:06:56,817 --> 02:07:00,817
ที่ใส่เข้าไปนี่ มีค่ามากกว่า เร

1030
02:07:00,820 --> 02:07:04,820
าก็ใส่ลงไปใน Stack ได้เลย

1031
02:07:04,825 --> 02:07:08,825
นะคะ ถ้าตัวซ้ายมันมากกว่าตัวบนตรงนี้

1032
02:07:08,826 --> 02:07:12,826
เราก็ใส่ลงไปใน Stack ได้เลยนะคะ

1033
02:07:16,829 --> 02:07:20,829
โอเค

1034
02:07:20,829 --> 02:07:24,829
ต้องกลับไปทบทวนอีกรอบหนึ่งนะ นะคะ

1035
02:07:24,830 --> 02:07:28,830
เดี๋ยวสัปดาห์หน้าเดี๋ยวครูจะทวน

1036
02:07:28,831 --> 02:07:32,831
ให้อีกรอบหนึ่ง

1037
02:07:36,836 --> 02:07:40,836
โอเค

1038
02:07:40,837 --> 02:07:44,837
เดี๋ยวทั้งหมดนี้ครูจะอัปที่ Classroom ให้นะคะ

1039
02:07:44,837 --> 02:07:48,837
เดี๋ยวครูจะไปสแกนให้ แล้วก็อัปโหลด

1040
02:07:48,840 --> 02:07:52,840
ใน Classroom ให้ โอเค

1041
02:08:16,848 --> 02:08:20,848
เดี๋ยวครูเช็กชื่อหน่อยนะคะ

1042
02:08:48,861 --> 02:08:52,861
ครูเช็กชื่อหน่อย

1043
02:08:52,865 --> 02:08:56,865
ศิริลักษณ์

1044
02:08:56,868 --> 02:09:00,868
02

1045
02:09:00,869 --> 02:09:04,869
มาไหม 02

1046
02:09:04,871 --> 02:09:08,871
คนนี้หรือ

1047
02:09:08,871 --> 02:09:12,871
03

1048
02:09:12,874 --> 02:09:16,874
อดิศร (นักศึกษาหญิง) อดิศร

1049
02:09:16,878 --> 02:09:20,878
เป็น COVID(อาจารย์สุธาสินี)  4 นพกิต

1050
02:09:20,878 --> 02:09:24,878
คนนี้ 5.

1051
02:09:24,882 --> 02:09:28,882
พงพร ไหน

1052
02:09:28,885 --> 02:09:32,885
อ๋อ จันทกานต์

1053
02:09:32,885 --> 02:09:36,885
ไหนคะ

1054
02:09:36,887 --> 02:09:40,887
กัญญานัฐ

1055
02:09:40,890 --> 02:09:44,890
ธัญญาลักษณ์

1056
02:09:44,893 --> 02:09:48,893
อ๋อ โอเค วริษา

1057
02:09:48,896 --> 02:09:52,896
คนนี้

1058
02:09:52,899 --> 02:09:56,899
ภัทรดา 11 ไม่มา

1059
02:09:56,901 --> 02:10:00,901
เทพอักษร

1060
02:10:00,902 --> 02:10:04,902
ธนภัทร 15 โอเค

1061
02:10:04,902 --> 02:10:08,902
ภากร

1062
02:10:08,905 --> 02:10:12,905
16 โอเค ค่ะ เจอกันสัปดาห์หน้า

1063
02:10:40,924 --> 02:10:44,924
[สิ้นสุดการถอดความ]

