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

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

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

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

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

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

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

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

9
00:01:07,966 --> 00:01:11,966
ได้ยินไหมคะ

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

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

12
00:01:47,987 --> 00:01:51,987
จำได้นะคะ อันนี้คือลิสต์นะ ที่ครูยกตัวอย่างมาให้

13
00:01:51,988 --> 00:01:55,988
list ตัวนี้ มีขนาดเท่ากับเท่าไร

14
00:01:55,990 --> 00:01:59,990
มีขนาดคือมเท่าไหร่ ขนาด คือ

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

16
00:02:03,996 --> 00:02:07,996
5 โอเค 5 นะคะ

17
00:02:07,998 --> 00:02:11,998
list ลิสต์ที่เราเห็นในหน้าจอตรงนี้

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

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

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

21
00:02:24,011 --> 00:02:28,011
เรารู้ได้อย่างไรว่ามันคือลิสต์ เห็น

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

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

24
00:02:36,020 --> 00:02:40,020
แบบนี้มีชื่อเรียกว่า "ลิสต์" นะคะ

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

26
00:02:44,027 --> 00:02:48,027
ใน list index

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

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

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

30
00:03:00,035 --> 00:03:04,035
ในลิสต์นี่ ถ้าเราลองวาด

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

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

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

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

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

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

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

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

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

40
00:03:44,058 --> 00:03:48,058
ข้อมูลที่อยู่ในลิสต์ ตอนนี้

41
00:03:48,062 --> 00:03:52,062
ครูตั้งชื่อลิสต์ตัวนี้มีชื่อว่า x

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

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

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

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

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

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

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

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

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

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

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

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

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

55
00:04:44,091 --> 00:04:48,091
คราวนี้ แล้วเราเอาลิสต์

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

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

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

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

60
00:05:04,102 --> 00:05:08,102
ง Stack นะคะ Stack ตัวนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

118
00:09:00,234 --> 00:09:04,234
เราพูดถึง Stack ก็เหมือนภาชนะนะ Stack

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

120
00:09:08,240 --> 00:09:12,240
ในแนวตั้ง ถ้าเราพูดถึง Stack นะ

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

122
00:09:16,243 --> 00:09:20,243
มันจะอยู่ในแนวนอนหรือแนวตั้งก็ได้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

140
00:10:28,299 --> 00:10:32,299
ถูกไหม เอาข้อมูลเข้าไปเก็บ ส่วน Pop ก็คือเอาออกนะคะ Pop คือ เอาออก

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

181
00:13:24,411 --> 00:13:28,411
นะคะ อย่างที่ครูบอกว่าลิสต์

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

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

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

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

186
00:13:44,416 --> 00:13:48,416
ก็ได้นะ สามารถวาดเป็นแนวนอน

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

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

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

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

191
00:14:08,428 --> 00:14:12,428
ในรูปแบบที่เป็นลิสต์นี่

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

211
00:15:36,478 --> 00:15:40,478
มันก็ไหลลงไปจนถึงตัวสุดท้าย

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

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

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

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

216
00:15:56,488 --> 00:16:00,488
ในการจัดเก็บข้อมูล เราใช้ลิสต์ในการจัดเก็บข้อมูล

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

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

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

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

221
00:16:16,503 --> 00:16:20,503
ในลิสต์นะคะ ใส่ชื่อ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

238
00:17:24,550 --> 00:17:28,550
Stack ไม่ว่างนะ มันมีข้อมูลอยู่ตั้ง 3 ตัว

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

269
00:20:40,676 --> 00:20:44,676
มี 4 ช่องในแนวตั้งถูกหรือเปล่า

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

351
00:40:33,797 --> 00:40:37,797
คราวนี้ เดี๋ยวเรามาดูเ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

389
00:49:54,135 --> 00:49:58,135
คราวนี้นะคะ

390
00:49:58,136 --> 00:50:02,136
มาดูเฉลยด้วยกัน

391
00:50:02,137 --> 00:50:06,137
ครูสั่ง Push 5 แสดงว่า

392
00:50:06,137 --> 00:50:10,137
ครูกำลังจะใส่ข้อมูลลงใน Stack

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

394
00:50:14,142 --> 00:50:18,142
เอาเลข 5 มาหย่อนเลยนะคะ

395
00:50:18,143 --> 00:50:22,143
ถัดมา ครูใช้คำสั่ง Push

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

397
00:50:26,150 --> 00:50:30,150
ของเดิมยกลงมาก่อน ยกของเดิม

398
00:50:30,154 --> 00:50:34,154
มาใส่ก่อนนะคะ ก็จะมี 3 ,

399
00:50:34,156 --> 00:50:38,156
1 แล้วก็ 5

400
00:50:38,158 --> 00:50:42,158
จากนั้น เรา Push ค่าใหม่ ใส่ค่าใหม่

401
00:50:42,161 --> 00:50:46,161
ลงไป ก็คือ 6

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

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

404
00:50:54,169 --> 00:50:58,169
ก็คือเอาออก ก็คือเอาตัวล่าสุด

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

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

407
00:51:06,179 --> 00:51:10,179
เห็นไหมคะ เอาเลข 6 ออกมา

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

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

410
00:51:18,189 --> 00:51:22,189
3 ,1 แล้วก็ 5 นะคะ

411
00:52:34,242 --> 00:52:38,242
คราวนี้นะคะ มาดูต่อ

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

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

414
00:52:54,251 --> 00:52:58,251
เราพูดถึง Stack ไปแล้วนะ

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

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

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

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

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

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

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

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

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

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

425
00:53:38,280 --> 00:53:42,280
ใช้ Stack

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

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

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

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

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

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

432
00:54:06,302 --> 00:54:10,302
นะคะ

433
00:54:10,308 --> 00:54:14,306
ก็คือ Prefix

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

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

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

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

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

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

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

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

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

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

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

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

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

447
00:55:06,331 --> 00:55:10,331
เรามีลำดับความสำคัญของ

448
00:55:10,334 --> 00:55:14,334
เครื่องหมาย

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

493
00:58:22,453 --> 00:58:26,453
มากสุด

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

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

496
00:58:34,461 --> 00:58:38,461
หรือเอา 2 x 2 2 x 2

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

498
00:58:42,466 --> 00:58:46,466
5 เป็นเท่าไiคะ

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

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

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

502
00:59:06,485 --> 00:59:10,485
เลข 2 นะ เดี๋ยวนะ

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

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

505
00:59:34,506 --> 00:59:38,506
+ 2 เท่ากับ 12 คนอื่น

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

532
01:01:26,584 --> 01:01:30,584
เหมือนทีเราได้เมื่อกี้ คอมพิวเตอร์จะคิดแบบไหนนะคะ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

552
01:02:46,635 --> 01:02:50,635
มีทั้งหมด 7 ขั้นตอนด้วยกัน ครูให้เวลา

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

626
01:09:54,909 --> 01:09:58,909
อันดับแรกวาดตาราง 3 ช่อง

627
01:09:58,910 --> 01:10:02,910
วาดตาราง 3 ช่อง จำนวนแถว

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

668
01:12:43,001 --> 01:12:47,001
ตรงกับข้อ 3 ในขั้นตอนนะ

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

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

671
01:12:55,011 --> 01:12:59,011
นะคะ

672
01:13:03,020 --> 01:13:07,020
ถัดมา

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

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

675
01:13:15,026 --> 01:13:19,026
หรือเอาอะไรเข้าเพิ่ม

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

677
01:13:23,032 --> 01:13:27,032
ใน Stack

678
01:13:27,036 --> 01:13:31,036
เรามีเครื่องหมายบวกอยู่แล้วใช่ไหมคะ

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

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

681
01:13:39,043 --> 01:13:43,043
จะต้องทำการเปรียบเทียบ

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

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

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

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

686
01:13:59,057 --> 01:14:03,057
ี่เราพบคืออะไร คูณมีค่า

687
01:14:03,060 --> 01:14:07,060
มากกว่าบวก ให้ทำอย่างไร

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

689
01:14:11,068 --> 01:14:15,068
ใส่คูณ

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

691
01:14:19,075 --> 01:14:23,075
ตัวถัดมา คือเลข 2

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

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

694
01:14:31,085 --> 01:14:35,085
เสร็จแล้วเราพบว่า

695
01:14:35,088 --> 01:14:39,088
ไม่มีข้อมูลแล้ว ข้อมูลมันหมดแล้วน่ะ

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

697
01:14:43,094 --> 01:14:47,094
ใน Stack ยังมีข้อมูลอยู่

698
01:14:47,097 --> 01:14:51,097
เพราะฉะนั้น ต้องดึงค่า

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

700
01:14:55,102 --> 01:14:59,102
ตัวล่าสุด ตัวบนสุด คือ คูณ

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

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

703
01:15:07,111 --> 01:15:11,111
ก็เอาบวกออกมา

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

705
01:15:15,118 --> 01:15:19,118
นะคะ

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

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

708
01:15:31,131 --> 01:15:35,131
หนึ่ง

709
01:15:55,146 --> 01:15:59,146
3 + 5 x 1

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

711
01:16:15,161 --> 01:16:19,161
ผลลัพธ์เท่ากับเท่าไรเอ่ย ตอบ

712
01:16:19,162 --> 01:16:23,162
เท่ากับ

713
01:16:23,166 --> 01:16:27,166
อันนี้ตอบเท่ากับเท่าไร่เอ่ย

714
01:16:27,169 --> 01:16:31,169
8

715
01:16:31,173 --> 01:16:35,173
ข้างหลังตอบอะไร

716
01:16:35,177 --> 01:16:39,177
ได้เท่ากับอะไรคะ คำตอบ

717
01:16:39,179 --> 01:16:43,179
ก็คือ 8

718
01:16:43,182 --> 01:16:47,182
เอา 5 x 1 ก่อน ได้เท่าไร

719
01:16:47,185 --> 01:16:51,185
ค่อยบวกกับ 3

720
01:16:51,188 --> 01:16:55,188
5 x 1 เป็น 5 แล้วบวกกับ 3

721
01:16:55,191 --> 01:16:59,191
ได้เท่ากับ 8

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

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

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

725
01:17:11,205 --> 01:17:15,205
ได้ค่าว่า 8 มันมาจากไหน เราสั่งให้คอมพิวเตอร์มัน

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

727
01:17:19,210 --> 01:17:23,210
ฉะนั้น ครูบอกว่าต้องมีคอลัมน์อยู่ 3 คอลัมน์

728
01:17:35,225 --> 01:17:39,225
ครูมี 3 คอลัมน์แล้ว มี

729
01:17:39,226 --> 01:17:43,226
Input Stack

730
01:17:43,230 --> 01:17:47,230
แล้วก็ Output

731
01:17:47,233 --> 01:17:51,233
จากนั้นครูวาดตารางเลย

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

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

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

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

736
01:18:07,249 --> 01:18:11,249
นะคะ เครื่องหมายคูณ

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

738
01:18:15,255 --> 01:18:19,255
งเสร็จแล้ว

739
01:18:27,267 --> 01:18:31,267
ทุกคน

740
01:18:31,271 --> 01:18:35,271
วาดตามครูก่อนเลย เราวาด

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

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

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

744
01:18:47,279 --> 01:18:51,279
มาเรียงใส่ทีละบรรทัด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

795
01:24:11,506 --> 01:24:15,506
8

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

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

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

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

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

801
01:24:47,526 --> 01:24:51,526
พอได้ค่าผลลัพธ์แล้วนี่ คือ ตัวนี้

802
01:24:51,529 --> 01:24:55,529
ใช่ไหม 3 5 1

803
01:24:55,529 --> 01:24:59,529
x +  มาหาผลลัพธ์ต่อนะคะ ค่านี้จะเป็นค่าสุดท้ายแล้ว

804
01:24:59,530 --> 01:25:03,530
ที่เราจะได้คำตอบออกมา

805
01:25:07,531 --> 01:25:11,531
ตัวแรกตัวนี้ใช่ไหมคะ

806
01:25:11,533 --> 01:25:15,533
ขั้นตอนถัดมา ถ้าเป็น

807
01:25:15,534 --> 01:25:19,534
ตัวเลข ถ้าเป็นตัวเลขจะ Push

808
01:25:19,534 --> 01:25:23,534
ลง Stack อันนี้อีกอันหนึ่งนะ อีก

809
01:25:23,537 --> 01:25:27,537
ขั้นตอนหนึ่งนะคะ ถ้าเป็นตัวเลขจะ

810
01:25:27,537 --> 01:25:31,537
Push ลง Stack ดูพร้อมครูเลยง ตัวที่ 1 มา

811
01:25:31,540 --> 01:25:35,540
คือตัวเลขอะไรคะ เลข 3

812
01:25:35,542 --> 01:25:39,542
เราเอาใส่ใน Stack

813
01:25:39,544 --> 01:25:43,544
ดูพร้อมกันนะ เลข 3

814
01:25:43,547 --> 01:25:47,547
ตัวแรก เอาลง Stack ตัวถัดมา

815
01:25:47,550 --> 01:25:51,550
เลขอะไรคะ เลข 5

816
01:25:51,554 --> 01:25:55,554
ก็เอาเลข 5 Push ลง  Stack เหมือนกัน

817
01:25:59,555 --> 01:26:03,555
ตัวถัดมาเลขอะไร

818
01:26:03,559 --> 01:26:07,559
เลข 1 ก็เอาเลข 1

819
01:26:07,559 --> 01:26:11,559
Push ลง Stack เหมือนกัน

820
01:26:19,565 --> 01:26:23,565
ถัดมา

821
01:26:23,569 --> 01:26:27,569
เราเครื่องหมายคูณ ให้

822
01:26:27,571 --> 01:26:31,571
Pop ค่าบนสุดอออกมา แล้ว

823
01:26:31,572 --> 01:26:35,572
วางไว้ขวามือ เอาเลข 1 ออกมา เห็นไหมคะ

824
01:26:35,575 --> 01:26:39,575
จากนั้นใส่เครื่องหมาย

825
01:26:39,576 --> 01:26:43,576
ถ้ามันเครื่องหมายนะ ตัวที่เราอ่านมา เรา Pop

826
01:26:43,579 --> 01:26:47,579
ตัวเลขออกมาก่อน แล้วใส่เครื่องหมาย

827
01:26:47,583 --> 01:26:51,583
แล้วเอาตัวที่ 2 ออกมาแบบนี้

828
01:26:51,586 --> 01:26:55,586
นะคะ เอาตัวบนสุดออกมา

829
01:26:55,588 --> 01:26:59,588
แล้วใส่เครื่องหมายที่เราอ่าน แล้วเอา

830
01:26:59,591 --> 01:27:03,591
ตัวข้อมูล

831
01:27:03,595 --> 01:27:07,595
ตัวเลขที่อยู่ใน Stack ตัวถัดมานี่ออกมา ได้ผลลัพธ์เป็นอะไรคะ

832
01:27:07,597 --> 01:27:11,597
5 x 1 เป็น 5

833
01:27:11,600 --> 01:27:15,600
ตอนนี้ใน Stack 1 กับ 5 ออก

834
01:27:15,603 --> 01:27:19,603
ไปแล้วนะ เราได้ผลลัพธ์

835
01:27:19,606 --> 01:27:23,606
คือ 5 แล้วอย่างไรต่อ

836
01:27:23,609 --> 01:27:27,609
ก็ Push ลง Stack

837
01:27:27,613 --> 01:27:31,613
เอาเลข 5 Push ลงไปใน Stack

838
01:27:31,616 --> 01:27:35,616
ตอนนี้เอาออกไปแล้ว 2 เหลือ 3

839
01:27:35,618 --> 01:27:39,618
พอคูณเสร็จเอา 5 กลับเข้ามา

840
01:27:43,622 --> 01:27:47,622
ดูนะคะ ถัดมา

841
01:27:47,626 --> 01:27:51,626
อ่านเครื่องหมายบวก

842
01:27:51,629 --> 01:27:55,629
ืทำเหมือนเดิมเลย เอาอะไรออกมาคะ

843
01:27:59,633 --> 01:28:03,633
เอา 5 ออกมาไว้ทางขวามือ แล้วก็ใส่เครื่องหมายบวก

844
01:28:03,636 --> 01:28:07,636
แล้วก็เอา 3 ออกมา คำตอบเป็นเท่าไรคะ

845
01:28:07,639 --> 01:28:11,639
เป็น 8

846
01:28:15,642 --> 01:28:19,642
แล้วก็เอา 8 ใส่ลงไปใน Stack จะเหลือเป็นค่าสุดท้าย

847
01:28:19,643 --> 01:28:23,643
นี่คือคำตอบของ

848
01:28:23,643 --> 01:28:27,643
โจทย์ข้อนี้ ได้เท่ากันเลยไหม

849
01:28:27,646 --> 01:28:31,646
ได้เท่ากันเลย คือ 8

850
01:28:31,649 --> 01:28:35,649
จะเห็นว่านี่คือกระบวนการที่คอมพิวเตอร์คิดค่า

851
01:28:35,651 --> 01:28:39,651
ตัวเลขให้เรานะคะ กว่าจะได้เลข 8

852
01:28:39,652 --> 01:28:43,652
ออกมานี่ คอมพิวเตอร์ต้องคิดแบบนี้นะคะ

853
01:28:55,664 --> 01:28:59,664
โอเค

854
01:28:59,665 --> 01:29:03,665
ใครเสร็จแล้ว

855
01:29:03,669 --> 01:29:07,669
ครูให้เบรกอีก 5 นาที จดตัวนี้ให้เสร็จนะคะ

856
01:29:07,673 --> 01:29:11,673
เสร็จแล้ว ครูให้เบรก 5 นาที

857
01:39:28,091 --> 01:39:32,091
(อาจารย์สุธาสินี) ค่ะ เดี๋ยวมาต่ออีกนิดหนึ่ง

858
01:39:36,097 --> 01:39:40,097
คราวนี้มาดูอีก 1 ตัวอย่างนะคะ

859
01:39:44,099 --> 01:39:48,099
ครูมีโจทย์ให้

860
01:39:52,106 --> 01:39:56,106
5 x 2

861
01:39:56,108 --> 01:40:00,108
+ 2

862
01:40:00,111 --> 01:40:04,111
ตอนนี้เราทำ

863
01:40:04,114 --> 01:40:08,114
จาก index ให้เป็น

864
01:40:08,117 --> 01:40:12,117
Postfix ก่อนนะคะ

865
01:40:12,120 --> 01:40:16,120
อันดับแรก

866
01:40:16,121 --> 01:40:20,121
ต้องวาดตารางก่อนใช่ไหมคะ

867
01:40:20,122 --> 01:40:24,122
วาดตาราง Stack ว่าง

868
01:40:24,125 --> 01:40:28,125
ครูก็วาด 3 ช่องเหมือนเดิม แล้วก็

869
01:40:28,125 --> 01:40:32,125
ตรง Input ครูก็เอาข้อมูลแต่ละตัว

870
01:40:32,128 --> 01:40:36,128
มาใส่ลงในแต่ละบรรทัด

871
01:40:52,138 --> 01:40:56,138
เริ่มต้นเลยนะคะ หย่อนเข้ามาตัวเลข

872
01:40:56,146 --> 01:41:00,143
คือ เลข 5 ใช่ไหม มันเป็นตัวเลข เพราะฉะนั้น

873
01:41:00,143 --> 01:41:04,143
เอาไปไว้ที่ Output

874
01:41:04,147 --> 01:41:08,147
นะคะ นะ ถ้าเป็นตัวเลข เอาไปไว้ที่ Output

875
01:41:08,150 --> 01:41:12,150
ได้เลย ตัวถัดมา

876
01:41:12,153 --> 01:41:16,153
เครื่องหมายคูณ

877
01:41:16,156 --> 01:41:20,156
แสดงว่าต้องเอาไปไว้ใน Stack

878
01:41:20,160 --> 01:41:24,160
ตอนนี้ Stack มันเป็น Stack ว่าง

879
01:41:24,162 --> 01:41:28,162
เราก็เลยเอาคูณมาใส่ใน

880
01:41:28,165 --> 01:41:32,165
Stack ได้เลย ส่วน Output

881
01:41:32,169 --> 01:41:36,169
ก็ยก 5 ลงมาเหมือนเดิม

882
01:41:40,173 --> 01:41:44,173
โอเคนะ ยังเป็นเหมือนเดิมอยู่นะ

883
01:41:44,173 --> 01:41:48,173
2 บรรทัดแรก ถัดมา

884
01:41:48,174 --> 01:41:52,174
เจอเลข 2 เลข 2

885
01:41:52,177 --> 01:41:56,177
2 มันเป็นตัวเลข ต้องเอาไปไว้ที่

886
01:41:56,179 --> 01:42:00,179
Output เพราะฉะนั้น 2

887
01:42:00,181 --> 01:42:04,181
จะอยู่ต่อจากเลข 5 นะคะ ใน Stack

888
01:42:04,184 --> 01:42:08,184
ก็ยกลงมาเหมือนเดิม

889
01:42:12,191 --> 01:42:16,191
ถึงตรงนี้นะคะ

890
01:42:20,196 --> 01:42:24,196
ถัดมาข้อมูลที่เราอ่านมา

891
01:42:24,201 --> 01:42:28,201
คืออะไร เครื่องหมายบวก พอเราเจอ

892
01:42:28,203 --> 01:42:32,203
เครื่องหมายบวก ครูบอกว่าต้องเอามัน

893
01:42:32,207 --> 01:42:36,207
ไปไว้ใน Stack แต่ก่อนอื่น ก่อนที่จะ

894
01:42:36,209 --> 01:42:40,209
เอาไปไว้ใน Stack เดิม

895
01:42:40,213 --> 01:42:44,213
เรามีข้อมูลใน Stack หรือเปล่า มีใช่หรือเปล่า มีเครื่องหมายคูณ

896
01:42:44,217 --> 01:42:48,217
เพราะฉะนั้น เรา

897
01:42:48,223 --> 01:42:52,223
ต้องเปรียบเทียบความสำคัญก่อน บวก

898
01:42:52,225 --> 01:42:56,225
มันน้อยกว่าหรือมากกว่าคูณ

899
01:42:56,227 --> 01:43:00,227
น้อยกว่าใช่ไหม บวก

900
01:43:00,229 --> 01:43:04,229
มีค่าน้อยกว่าคูณ เพราะฉะนั้น

901
01:43:04,233 --> 01:43:08,233
ทำอย่างไรคะ เอาคูณ

902
01:43:08,237 --> 01:43:12,237
ออกมา

903
01:43:12,240 --> 01:43:16,240
บวกมีค่าน้อยกว่าคูณ เพราะฉะนั้น

904
01:43:16,242 --> 01:43:20,242
ต้องเอา

905
01:43:20,243 --> 01:43:24,243
ข้อมูลที่อยู่บน Stack นี่ คือ คูณ เอามาไว้ที่

906
01:43:24,246 --> 01:43:28,246
Output เห็นไหมคะ

907
01:43:28,246 --> 01:43:32,246
เอามาไว้ที่ Output เสร็จแล้ว เราถึงเอา

908
01:43:32,250 --> 01:43:36,250
เครื่องหมายบวก Push ลงไปใน Stack

909
01:43:36,254 --> 01:43:40,253
นะคะ แล้วค่อยเอาเครื่องหมายบวก

910
01:43:40,253 --> 01:43:44,253
ใส่ลงไปใน Stack ได้เลย เพราะ Stack มันว่าง

911
01:43:44,254 --> 01:43:48,254
เพราะฉะนั้น ตรง Output จะเป็น

912
01:43:48,257 --> 01:43:52,257
5, 2 แล้วก็เครื่องหมายคูณ

913
01:43:52,261 --> 01:43:56,261
ทำไมคูณ

914
01:43:56,263 --> 01:44:00,263
ถึงต้องออกมา เพราะบวกมันน้อยกว่าคูณ

915
01:44:00,264 --> 01:44:04,264
เห็นไหมคะ บวกมันน้อยกว่าคูณ

916
01:44:04,268 --> 01:44:08,268
เลยเอาคูณออกมา

917
01:44:08,271 --> 01:44:12,271
ถัดมาเลขอะไรคะ เลข 2

918
01:44:12,274 --> 01:44:16,274
เอาไปไว้ที่ Output ได้เลย ก็เอามันไปต่อท้ายคูณ

919
01:44:16,276 --> 01:44:20,276
ใช่ไหม เอามันมาต่อท้ายคูณใช่หรือเปล่า เพราะมันคือคูณ

920
01:44:20,277 --> 01:44:24,277
เอา 2 มาต่อท้าย

921
01:44:28,284 --> 01:44:32,284
ตอนนี้เราอ่านข้อมูลครบหมดแล้ว

922
01:44:32,286 --> 01:44:36,286
แต่ใน Stack มันยังมีบวกค้างอยู่ เพราะฉะนั้น

923
01:44:36,288 --> 01:44:40,288
ต้อง Pop มันออกมา แ

924
01:44:40,290 --> 01:44:44,290
ล้วไว้ข้างหลังเลยนะคะ Pop มันออกมาและไว้ข้างหลัง

925
01:45:24,320 --> 01:45:28,320
โอเคนะ

926
01:45:28,323 --> 01:45:32,323
แบบฝึกหัด ช่วยครูทำหน่อยตอนนี้เลย

927
01:45:32,326 --> 01:45:36,326
ครูโจทย์ให้นะคะ 3 หาร 1

928
01:45:36,328 --> 01:45:40,328
- 2 แล้วครูก็บอกว่าหาร

929
01:45:40,329 --> 01:45:44,329
นี่ มันมีค่ามากกว่าลบนะ

930
01:45:44,334 --> 01:45:48,334
นะคะ หาค่าผลลัพธ์ของนิพจน์

931
01:45:48,335 --> 01:45:52,335
Postfix ให้ครูหน่อย

932
01:45:52,339 --> 01:45:56,339
ผลลัพธ์สุดท้ายตรงนี้ จะได้อะไร เริ่มต้น

933
01:45:56,339 --> 01:46:00,339
ทุกคนตีตารางก่อน

934
01:46:08,346 --> 01:46:12,346
ลองทำดูสิคะ มีกระดาษไหม

935
01:46:12,346 --> 01:46:16,346
ไม่มีมาเอาข้างหน้า

936
01:46:16,349 --> 01:46:20,349
ครูมีกระดาษให้นะ

937
01:46:32,365 --> 01:46:36,365
แบบฝึกหัด 1 ข้อนะคะ ทำตอนนี้เลย

938
01:46:48,373 --> 01:46:52,373
เหมือนกับโจทย์ที่ครูให้ไป

939
01:46:52,377 --> 01:46:56,377
นะคะ คล้าย ๆ กับโจทย์ที่เราให้ไป

940
01:46:56,378 --> 01:47:00,378
แล้วเราก็จดแล้วด้วยนะ

941
01:48:40,447 --> 01:48:44,447
เหมือนโจทย์สุดท้ายที่ครูให้ไปเมื่อกี้เลยนะ

942
01:48:44,450 --> 01:48:48,450
ลบ

943
01:48:48,454 --> 01:48:52,454
มันน้อยกว่าหารใช่ไหมคะ เรา

944
01:48:52,458 --> 01:48:56,458
เปรียบเทียบกัน ลบมันน้อยกว่าหาร

945
01:48:56,461 --> 01:49:00,461
เพราะฉะนั้น

946
01:49:00,463 --> 01:49:04,463
ก็ต้องเอาหารออกมา

947
01:54:20,674 --> 01:54:24,674
(อาจารย์สุธาสินี) คราวนี้นะคะ ดูด้วยกัน

948
01:54:28,680 --> 01:54:32,680
3

949
01:54:32,684 --> 01:54:36,684
เอา 3 ไปไว้ที่ไหนคะ ที่ Output

950
01:54:36,686 --> 01:54:40,686
เห็นไหมคะ เอา 3 ไปไว้ที่ Output

951
01:54:40,689 --> 01:54:44,689
เครื่องหมายหาร เอาเครื่องหมายหารไปไว้ที่ไหน Stack

952
01:54:44,692 --> 01:54:48,692
เพราะมันเป็น Stack ว่าง เราก็หย่อนเครื่องหมา

953
01:54:48,695 --> 01:54:52,695
ยหารได้เลย Output เรายกมันลงมาด้วยนะ

954
01:54:56,699 --> 01:55:00,699
ถัดไป เราอ่านเจอเลข 1 ใช่ไหมคะ  เลข 1 ไปไว้

955
01:55:00,699 --> 01:55:04,699
ที่ไหน Output

956
01:55:04,702 --> 01:55:08,702
ยกลงมาก่อน เสร็จแล้วก็เติมเลข 1 ลงไป

957
01:55:08,705 --> 01:55:12,705
ใน Stack ยังเหมือนเดิมนะ

958
01:55:12,708 --> 01:55:16,708
เรายังมีเครื่องหมายหารอยู่ เราก็ยกลงมาได้เลย

959
01:55:16,711 --> 01:55:20,711
ถัดมา

960
01:55:20,712 --> 01:55:24,712
เครื่องหมายลบใช่ไหมคะ เดิมใน Stack เรามี

961
01:55:24,714 --> 01:55:28,714
หารอยู่แล้วใช่ไหม ครูเขียนให้ดูก่อน

962
01:55:28,718 --> 01:55:32,718
เรามีหารอยู่แล้วนี่ เราเอาลบมาเทียบกับ

963
01:55:32,722 --> 01:55:36,722
หาร ปรากฎว่า

964
01:55:36,725 --> 01:55:40,725
ค่าลบมันน้อยกว่า

965
01:55:40,726 --> 01:55:44,726
ให้ทำอย่างไร

966
01:55:44,728 --> 01:55:48,728
ให้เอาหารนี่ เอาออกมาไว้ที่

967
01:55:48,731 --> 01:55:52,731
Output เพราะฉะนั้น จะได้เป็น

968
01:55:52,735 --> 01:55:56,735
3, 1 แล้วก็หาร ตรงนี้หายไปใช่ไหมคะ

969
01:55:56,738 --> 01:56:00,738
เสร็จแล้วก็ใส่ค่าลบ

970
01:56:00,741 --> 01:56:04,741
ลงมาใน Stack

971
01:56:04,745 --> 01:56:08,745
ถัดมา เราหย่อนอะไร

972
01:56:08,749 --> 01:56:12,749
2 ยกของเดิมลงมาก่อนที่ Output แล้วก็ใส่เลข 2

973
01:56:12,753 --> 01:56:16,753
ใน Stack หรืออะไรคะ

974
01:56:16,753 --> 01:56:20,753
เครื่องหมายลบใช่ไหม อ่านครบหมดแล้วนะ

975
01:56:20,754 --> 01:56:24,754
แต่ใน Stack

976
01:56:24,758 --> 01:56:28,758
เรายังมีค่าอยู่เลย เราต้องเอาค่าจาก Stack ออกมา เป็น

977
01:56:28,760 --> 01:56:32,760
3 1 หาร 2 แล้วอะไรคะ ลบ

978
01:56:32,763 --> 01:56:36,763
เห็นไหม

979
01:56:36,765 --> 01:56:40,765
เราเอาค่าที่อยู๋ใน Stack ตัวสุดท้ายมาใส่ข้างหล

980
01:56:40,768 --> 01:56:44,768
ังได้เลยนะคะ

981
01:56:44,773 --> 01:56:48,773
โอเค

982
01:56:48,775 --> 01:56:52,775
อีกข้อหนึ่ง

983
01:56:52,778 --> 01:56:56,778
แล้วจะให้เลิก ครูให้โจทย์มาแค่นี้เอง วาดตารางเองด้วย

984
01:57:12,794 --> 01:57:16,794
โจทย์ข้อนี้อันดับแรก

985
01:57:16,797 --> 01:57:20,797
วาดตารางก่อนเลย ตีตารางค่ะ

986
01:59:48,886 --> 01:59:52,886
(อาจารย์สุธาสินี) ดูนิดหนึ่ง

987
01:59:52,889 --> 01:59:56,889
คูณมันมากกว่าลบ

988
01:59:56,892 --> 02:00:00,892
ใช่หรือเปล่า คูณมันมีค่ามากกว่าลบ

989
02:00:00,895 --> 02:00:04,895
เพราะฉะนั้น ทำอะไร ็ Push คูณลง  Stack ได้เลย

990
02:00:04,898 --> 02:00:08,898
นะคะ Push คูณ

991
02:00:08,901 --> 02:00:12,901
ลงใน Stack ได้เลย

992
02:04:13,069 --> 02:04:17,069
(อาจารย์สุธาสินี) โอเค

993
02:04:17,071 --> 02:04:21,071
มาดูนะคะ

994
02:04:21,074 --> 02:04:25,074
6

995
02:04:25,077 --> 02:04:29,077
เป็นตัวเลข เอาไว้ที่ Output ใช่หรือเปล่า

996
02:04:29,080 --> 02:04:33,080
ลบ เอาไว้ที่ Stack นะคะ

997
02:04:33,086 --> 02:04:37,085
6 ก็ใส่มาเหมือนเดิม

998
02:04:37,085 --> 02:04:41,085
5 เอาไว้ที่ไหนคะ  เอาไว้ที่

999
02:04:41,086 --> 02:04:45,086
Output Stack ก็ยกลงมาเหมือนเดิมนะคะ

1000
02:04:45,086 --> 02:04:49,086
ถัดมา คูณ

1001
02:04:49,090 --> 02:04:53,090
เจอคูณ

1002
02:04:53,092 --> 02:04:57,092
ใช่ไหมคะ เจอคูณให้เ

1003
02:04:57,094 --> 02:05:01,094
ปรียบเทียบกับตัวนี้รากฏว่าคูณมีค่ามากกว่าลบ

1004
02:05:01,095 --> 02:05:05,095
ให้ Push คูณลง Stack

1005
02:05:05,099 --> 02:05:09,099
ได้เลย เพราะฉะนั้น

1006
02:05:09,102 --> 02:05:13,102
Stack เดิมเป็น push

1007
02:05:13,105 --> 02:05:17,105
ครูบอกว่า Push ลงมาได้เลยนะคะ เพราะคูณ

1008
02:05:17,107 --> 02:05:21,107
มันมากกว่านะ มันมากกว่านะคะ

1009
02:05:21,110 --> 02:05:25,110
ข้างหลัง คือ 6 กับ 5

1010
02:05:25,114 --> 02:05:29,114
ถัดมา 2

1011
02:05:29,117 --> 02:05:33,117
เป็นตัวเลขไว้ข้างหลังนะคะ

1012
02:05:33,120 --> 02:05:37,120
Stack มีเท่าไรยกลงมา

1013
02:05:37,122 --> 02:05:41,122
โอเค เสร็จแล้ว หมดแล้วนะ ผลลัพธ์

1014
02:05:41,123 --> 02:05:45,123
สุดท้ายที่ได้ 6, 5, 2

1015
02:05:45,126 --> 02:05:49,126
เอาคูณออกมาก่อน แล้วตามด้วยลบนะคะ

1016
02:05:49,130 --> 02:05:53,130
เห็นนะ โอเค

1017
02:05:57,135 --> 02:06:01,135
ทุกคนดู

1018
02:06:01,137 --> 02:06:05,137
นะคะ

1019
02:06:17,148 --> 02:06:21,148
เราสังเกตนะ

1020
02:06:21,152 --> 02:06:25,152
ทำไมตัวนี้

1021
02:06:25,156 --> 02:06:29,156
เอาหารออกมา ตัวนี้ไม่ได้เอาอะไรออกมานะคะ ตัวนี้

1022
02:06:29,159 --> 02:06:33,159
วิธีการสังเกต โอเค

1023
02:06:33,164 --> 02:06:37,164
ลบเทียบกับหาร ลบ

1024
02:06:37,165 --> 02:06:41,165
มันมีค่าน้อยกว่าหารเห็นไหมคะ

1025
02:06:41,168 --> 02:06:45,168
ลบมีค่าน้อยกว่าหาร

1026
02:06:45,172 --> 02:06:49,172
เลยต้องเอาหาร

1027
02:06:49,175 --> 02:06:53,175
ออกมา

1028
02:06:53,175 --> 02:06:57,175
แต่ถ้า Input

1029
02:06:57,177 --> 02:07:01,177
ที่ใส่เข้าไปนี่ มีค่ามากกว่า เรา็

1030
02:07:01,180 --> 02:07:05,180
ใส่ลงไปใน Stack ได้เลย

1031
02:07:05,183 --> 02:07:09,183
ถ้าตัวซ้ายมันมากกว่าตัวบนตรงนี้

1032
02:07:09,186 --> 02:07:13,186
เราก็ใส่ลงไปใน Stack ได้เลยนะคะ

1033
02:07:17,191 --> 02:07:21,191
โอเค

1034
02:07:21,194 --> 02:07:25,194
ต้องกลับไปทบทวนอีกรอบหนึ่งนะ นะคะ

1035
02:07:25,194 --> 02:07:29,194
เดี๋ยวสัปดาห์หน้าครูจะทวน

1036
02:07:29,195 --> 02:07:33,195
ให้อีกรอบหนึ่ง

1037
02:07:37,200 --> 02:07:41,200
โอเค

1038
02:07:41,201 --> 02:07:45,201
เดี๋ยวทั้งหมดนี้ ครูจะอัปที่ Classroom ให้นะคะ

1039
02:07:45,206 --> 02:07:49,206
เดี๋ยวครูจะไปสแกนให้ แล้วก็อัปโหลด

1040
02:07:49,209 --> 02:07:53,209
ที่ Classroom ให้ โอเค

1041
02:08:17,223 --> 02:08:21,223
เดี๋ยวครูเช็กชื่อหน่อยนะคะ

1042
02:08:49,243 --> 02:08:53,243
ครูเช็กชื่อหน่อย

1043
02:08:53,244 --> 02:08:57,244
ศิริลักษณ์

1044
02:08:57,246 --> 02:09:01,246
02

1045
02:09:01,248 --> 02:09:05,248
มาไหม 02

1046
02:09:05,251 --> 02:09:09,251
คนนี้หรือ

1047
02:09:09,254 --> 02:09:13,254
03

1048
02:09:13,257 --> 02:09:17,257
อดิศร เป็น COVID

1049
02:09:17,258 --> 02:09:21,258
4 นพกิต

1050
02:09:21,261 --> 02:09:25,261
คนนี้  5

1051
02:09:25,263 --> 02:09:29,263
พงพร ไหน

1052
02:09:29,265 --> 02:09:33,265
อ๋อ จันทกานต์

1053
02:09:33,266 --> 02:09:37,266
(นักศึกษาหญิง) มาค่ะ (อาจารย์สุธาสินี) ไหนคะ

1054
02:09:37,268 --> 02:09:41,268
กัญญานัฐ

1055
02:09:41,270 --> 02:09:45,270
ธัญญาลักษณ์

1056
02:09:45,270 --> 02:09:49,270
อ๋อ โอเค วริษา

1057
02:09:49,271 --> 02:09:53,271
คนนี้

1058
02:09:53,271 --> 02:09:57,271
ภัทรดา 11 ไม่มา

1059
02:09:57,274 --> 02:10:01,274
เทพอักษร

1060
02:10:01,274 --> 02:10:05,274
ธนภัทร 15 โอเค

1061
02:10:05,275 --> 02:10:09,275
ภากร

1062
02:10:09,277 --> 02:10:13,277
16 โอเค ค่ะ เจอกันสัปดาห์หน้า

1063
02:10:41,299 --> 02:10:45,299
[สิ้นสุดการถอดความ]

1064
02:11:01,309 --> 02:11:05,309
-

