(อาจารย์) คราวที่แล้วนะคะ เราพูดถึงรูปแบบของการการจัดเก็บข้อมูล ยังจำ array ได้ไหม จำได้ไหมคะ เคยได้ยินไหม Aray แล้วก็อีกตัวหนึ่งคืออะไรที่เรียนไปคราวที่แล้ว คือ list ใช่ไหมคะ จะมี Arry นะคะ ที่เราเรียนไปแล้วคราวก่อน รูปแบบของการจัดเก็บข้อมูลกับ List 1 ตัวแปรเก็บได้กี่ค่าเอ่ย 1 ตัวแปร เก็บได้หลายค่า ได้ไหมคะ ได้ไหม ใครคิดว่าได้ยกมือเร็ว ได้ไหม ถ้าเป็น List กับ Array เก็บได้มากกว่า 1 ค่า จริงหรือเท็จ จริงไหม (นักศึกษา) จริงครับ (อาจารย์) จริงใช่ไหมคะ เห็นไหมคะ 1 ตัวแปรกี่ค่า หลายค่าใช่ไหมคะ 1 ตัวแปรจะเก็บได้หลายค่า แต่ความแตกต่างระหว่าง Aray กับ List นะคะ ในการจัดเก็บข้อมูลที่เขาเก็บได้หลายค่านี่ ถ้าเป็น Array ทุกค่าจะต้องเป็นชนิดข้อมูลเดียวกัน ชนิดข้อมูลเดียวกันเช่น เป็นตัวเลขก็ต้องตัวเลขทั้งหมด ใช่ไหมคะ เป็นตัวอักษร เป็นตัวหนังสือน่ะ ก็ต้องเป็นตัวหนังสือทั้งหมดนะคะ แต่ถ้าเป็น List ต้องเเก็บข้อมูลแบบ List ข้างในนี่สามารถเก็บได้มากกว่า 1 ประเภท คือข้อมูลข้างในนี่สามารถมีผสมกันได้ เป็นตัวเลข หรือข้อความก็ได้นะคะ อันนี้คือความแตกต่างระหว่าง Array กับ List เวลาเราจะเข้าถึงข้อมูลที่อยู่ใน List หรือ Aray เราจะใช้อะไรคะ เป็นตัวระบุว่าจะจะเข้าถึงข้อมูลที่ตำแหน่งไหน indexเริ่มต้นมีค่าเท่ากับ มีค่าเท่ากับอะไรเอ่ย Index มีค่า 0 นะคะ ข้อมูลตัวแรกนี่ Index คือ 0, 1 2 3 นะคะ ครูถามว่า ถ้าครูพูดถึง xค่าที่ได้คือออะไร เราเข้าถึงนี้ข้อมูลตัวที่เท่าไร ตัวที่ ตัวไหนคะ ตอบอะไร สมมุติตอบว่า x แล้ว Index เป็็น 1 แล้วค่าที่ได้ ก็คือมีค่าเป็น 2 เพราะว่าเราเริ่มต้น Index ที่ 0 แล้วก็ 1 ก็คือ เพราะฉะนั้นคำตอบก็คือ 2 ใช่ไหมคะ งงไหม ไม่งง Index ที่ 1 2 นี่ครูจะชี้ให้เห็นว่า ตัวแรกเป็น 0 เป็น 2 เป็น 3 นะคะ คราวที่แล้ว ที่ทำ List ไป สงสัยอะไรไหม ถ้าครูอยากจะเพิ่มข้อมูลลงไปใน Liaเอ่ย ใช้อะไรคะ ถ้าครูอยากจะเพิ่มข้อมูลใหม่ อย่างเช่น เพิ่มค่า 10 ลงไปใน List ครูจะต้องใช้คำสั่งอะไรเอ่ย X. อะไรคะ Applain x.append แล้วก็ ( แล้วก็ใส่ค่า จำได้ไหมน่ะ จำได้ คราวนี้ วันนี้เราจะมาดดูรูปแบบของการจัดเก็บข้อมูลอีก 1 ประเภทนะคะ ซึ่งรูปแบบนี้มีเฉพาะใน Python ก็คือ Dictionary ก็คือตัวนี้นะคะ ดิชันนารีนะคะ เมื่อกี๊เราเห็นการจัดเก็บข้อมูลหรือ Array แล้ว เราจะเก็บค่าข้อมูลที่เราต้องการ เก็บเรียงต่อกันไปเรื่อย ๆ นะคะ โดยใช้เครื่องหมาย เป็นตัวคั่นเก็บไว้ใน 1 ตัวแปร กรณีที่เป็น Dictionary จะมีความแตกต่างจาก List หรือ หรือ Aray โดยรูปแบบในการจัดเก็บ เรามเก็บแล้วไม่ได้เก็บค่าเพียงอย่างเดียว แต่เราเก็บ Key นะคะ เก็บ มันด้วย เดิมใน List กับ กับ ฤแต่ใน Dictionary เราจะเก็บ Key กับ Value เราจะเก็บ Key กับ Value โดย KeY จะหมายถึงตัว Index ที่จะเข้าถึงข้อมูล ซึ่งเราจะกำหนดเองนะคะ เราสามารถกำหนดเองได้ ส่วน Value ก็คือค่าข้อมูลที่จะต้องสอดคล้องกับตัว Key ที่เราใส่ลงไป คราวนี้มาดูรูปแบบของการจัดเก็บนะคะ เราจะใช้ { ใช้สัญลักษณ์ ถ้า List จะใช้แบบนี้ เปิดปิดแต่ถ้าเป็น Dictionary จะใช้ {} นะคะ ต่างกัน ถ้าเป็น Dicenary นะคะ [ แล้วต้องตามด้วย Key 1นะคะ Key จะเป็นตัวอะไรก็ได้ตัวเลข ตัวหนังสือเป็นได้หมดนะคะ ; แล้วก็ค่านะคะ อันนี้คือข้อมูลชุดที่ 1 , ใส่ข้อมูลชุดที่ 2 ใส่แบบไปเรื่อย ๆ ตรงนี้เราจะเห็นว่า1 ตัวนี้คืออะไรเอ่ย คือ Key หรือ Value 1 ก็คือ Key นะคะ One ก็คือ Value นี้นะคะ ข้างหน้า ; คือ Key ข้างหลังคือ Vale อะไร Dictionary เก็บข้อมูล 1. ภาษาอังกฤษ คือออะไร 2. ภาษาอังกฤษคืออะไร 3 คืออะไร อย่างนี้เป็นต้น การเข้าถึงข้อมูลใน Dictionary การเข้าถึงข้อมูลใน Dictionary ก่อน ใช้เหมือนเดิมเลยนะคะ ต้องใส่ชื่อ Di List เลยมีชื่อ Dictionary ก้ามปูเกิด แล้วก็ต้องใส่ค่า Key นะคะ ต้องใส่ค่า Key ตัวนี้มาดู Dicเก็บค่าคะแนนของแต่ละคนเจมได้คะแนนเท่าไร แล้วก็บ๊อบบี้ แต่ละคนจะมีคะแนนที่แตกต่างกัน จะเห็นว่าในตัวแปร Score นะคะ ตัวแปล Dictionary ครูมีข้อมูลกี่ตัว ครูมีข้อมูลกี่ตัว (นักศึกษา) 4 (อาจารย์) 4 ตัว ครูคืออะไรบ้าง Key James, แดนนี้ แล้วก็บ๊อบบี้ สิ่งเหล่านี้คืออะไรคะ คือ Key 1828 , 3,000 9,000 ก็คือ Value ใช่ไหม เวลาครูต้องการเข้าถึงค่าคะแนนของบ๊อบบี้ ครูอยากเข้าถึง อยากรู้ว่าบ๊อบบี้ ครูก็อ้างอิงถึง Score ก้ามปูเปิดแล้วก็ Key ของตัวนี้ คือบ๊อบบี้นะคะ แล้วก็ปิด คราวนี้ทุกคนเปิดอนาคอนดาอยู่หรือเปล่า อยู่ใช่ไหม คราวนี้สร้าง Dictionary ให้ครูหน่อย สร้างตัวนี้ Score เราจะมี Dictionary นะคะ ชื่อ Score อยู่ 4 ตัว Value อยู่ 4 ค่านะคะ เราจะมาสร้าง Dictionary ชื่อ Score กันนะคะ สไลด์ครูมีอยู่ใน Classroom นะคะ เป็นไฟล์ PDF กับไฟล์ PowerPoint ให้อยู่ในเสร็จหรือยัง คราวนี้ ถ้าใครเสร็จแล้วนะคะ ถ้าใครพิมพ์เสร็จแล้ว หาคำตอบให้ครูหน่อยว่า Score James นะคะ Score แล้วค่าคะแนนของเจมส์ แล้วเจมส์คือคือ Jame James มีคะแนนเท่าไหร่ เวลาเราจะ Print ใช่ไหมคะ เวลาเราจะแสดงข้อมูลนี่ เราก็ใช้คำสั่งอะไร print แล้ว Jame ตัวหน้านี่ เป็นสิ่งที่หน้าจอใช่ไหมคะ เป็นข้อความที่เราต้องการให้แสดง เราก็เลยมีเครื่องหมาย เครื่องหมายคำพูด แล้ว , ค่าที่เราต้องการแสดงคืออะไรก็คือคะแนนของ James ก็คือ Score [แล้วก็คีย์ก็คือ Jame ลองดูสิคะ ว่าบรรทัดที่ 1 ของคำสั่งแรกนี่จะตอบว่าอะไร บรรทัดนี้ตอบอะไรเอ่ย ตอบเท่าไรคะ ผลลัพธ์จากการใช้คำสั่ง Pnตัวนี้ผลลัพธ์เป็นอะไรคะ ผลลัพธ์เป็น 1828 คนอื่นได้ไหม คะแนนของ Jame ก็คือ 1828 ได้คำตอบหรือยังคะ คำสั่งที่ 1 ได้แล้ว คราวนี้พอได้คำสั่งที่ 1 คำสั่งที่ 2, 3, 4 ไม่พิมพ์นะ ไม่ต้องพิมพ์นะคะ แต่ตอบครูได้ไหมว่า Score โทมัส ตอบเท่าไหร่คะ 3,628 รู้ได้อย่างไร ตัวนี้ โทมัสตัวนี้คือ Key ใช่ไหม คือ นะคะ เพราะฉะนั้นเอา Key มาเทียบในตัว Dic แล้วเราอยากรู้ว่า แล้ว Key คือ โทมัสนี่ ก็คือ 3,628 ใช่ไหมคะ พิมพ์อันเดียวก็พอ แต่อันอื่นเราก็ตอบได้ เห็นคำสั่ง คำสั่งเราก็ตอบได้นะคะ Danny Score Dany เป็นเท่าไร 9,310 นะคะ Score บ๊อบบี้ ก็คือ 4,401 ใช่ไหม โอ.เค ได้นะ อันนี้คือการเข้าถึงข้อมูลใน Dictionary นะคะ เมื่อเราดึงข้อมูลจาก Dictionary แล้วนะคะ ถ้าเราอยากจะปรับปรุงข้อมูลที่อยู่ใน Dictionary บ้างจะทำอย่างไร ถ้าเราอยากจะปรับปรุง คือ เปลี่ยนค่าคะแนนนะคะ เราจะทำอย่างไร เราก็กำหนดค่าเขาได้เลยนะคะ ให้ Score [ นะคะ ต้องการปรับค่าข้อมูลที่คีย์ตัวไหน ก็ระบุลงไปนะคะ แล้วก็ ] เท่ากับค่าใหม่ที่เราต้องการเปลี่ยนแปลง ครูต้องการเปลี่ยนค่า โทมัส จากเดิม คือ 3,628 เปลี่ยนค่าเป็น 100 ครูก็เอาค่าใหม่นี่ ไปใส่ลงไปในคีย์ที่ชื่อว่าโทมัสนะคะ พอครูเปลี่ยนค่า แล้วเราอยากรู้ว่ามันเปลี่ยนจริงไหมต้องใช้คำสั่งอะไรคะ Print ออกมา ตอนนี้ทุกคนเปลี่ยนค่าของโทมัสสิคะ พิมพ์คำสั่งนี้ เปลี่ยนค่าของโทให้เป็น 100 แล้วลองเช็กดูสิว่า มันเปลี่ยนจริงไหม ทำ 2 คำสั่งนี้ เราจะเปลี่ยนค่าของโทมัสได้ไหมคะ เราจะเปลี่ยนค่าของ Thomas เราพิมพ์ผิดนะคะ เราก็จะปรับปรุงค่าใหม่ พอเรา P เปลี่ยนไหมคะ ลองทำเฉพาะคำสั่งที่ครูตีกรอบสี่เหลี่ยมตัวนี้พิมพ์คือคำสั่งนี้ ที่ครูตีกรอบสี่เหลี่ยมให้ เสร็จแล้วเราก็ต้องการอยากรู้ว่าค่ามันเปลี่ยนไหม ก็ต้อง ก็ใช้คำสั่งนี้นะคะ เขียนแค่ 2 คำสั่งมีคำสั่งที่ 1 แล้วก็ คำสั่งที่ 2 คราวนี้ ผ่านไหมคะ ได้นะ อันนี้คือเราเข้าถึงข้อมูลทีละค่า ใช่ไหมคะ เราอ่านข้อมูลทีละค่าตาม Key ที่เราระบุลงไป เราอ่านทีละค่าตามคีย์ที่เรากำหนด คราวนี้ ถ้าครูอยากจะอ่านข้อข้อมูลที่อยู่ใน Dictionary ทั้งหมดเลย ว่าประกอบไปด้วยข้อมูลอะไรบ้าง อยากจะ Print ออกมาทั้งเลยนะคะ ว่าใน Dic ขึ้นนี่ มีข้อมูลอะไรบ้างนะคะ เราจะไม่เข้าถึงข้อมูลทีละตัว ถ้าเราต้องการเข้าถึงข้อมูลพร้อมกันทั้งหมดนะคะ หลาย ๆ ค่าเราจะใช้ Loop for เราจะใช้ Loop for การทำงานซ้ำ ก็คือการวนซ้ำนะคะ การวนซ้ำ ก็คือทำไปเรื่อย ๆ จนกว่าจะครบตามที่เรากำหนด สมมุติครูมี ดูพร้อมกันก่อนนะคะ ครูมี Dictionary อยู่ 1 ตัว เก็บข้อมูลประเทศนะคะ โดย Key คือชื่อย่อของประเทศ Value คือชื่อเต็มของประเทศนะคะ เป็นภาษาอังกฤษ ครูอยากจะแสดงข้อมูลทั้งหมดที่อยู่ใน Dictionaryที่ชื่อว่า Coutry นะคะ ที่ชื่อว่า Contren เราจะใช้ Loop for เป็นตัววน Loop เราจะใช้นะคะ คำสั่ง คือ Item ดูทีละตัว for K, ,V คือ ตัวแปรเอาไว้ใช้ในการรับค่า Key กับ value นะคะ ที่เราสร้างขึ้นจะใช้เป็นตัวแปรกชื่ออะไรก็ได้นะคะ ครูกำหนดให้เป็น K กับ V K ค่าคีย์ V เก็บค่า Value In ตามด้วยชื่อของ Dictionary Dictionary.Items มี S นะคะ นะคะ [ ] ใส่ ; เราต้องการแสดงค่า Key กับ Value ตอนนี้เขาจะอ่านทีละตัว แล้วเก็บในตัวแปร K กับ V เราต้อง print ตัวแปร K ก็คือ Key ถูกไหม และตัวแปร V ก็คือ Value ออกมา เขาทำงานอยู่ทั้งหมด 4 รอบด้วยกัน ใช่ไหมคะ รอบที่ 1 ก็จะเอาข้อมูลตัวแรกออกมาก่อน วน อ่านซ้ำ ขยับไปตัวถัดไป อ่านซ้ำ ก็จะดึงตัวถัดมาลงแสดง แสดงแล้วก็ตัวสุดท้ายเขาก็จะทำงานทั้งหมด 4 รอบ คือ Print เท่ากับจำนวนที่อยู่ใน Dictionary โอ.เค. ไหมดูก่อนนะแล้วค่อทำ อันนี้คือการอ่านค่า DicTionary คราวนี้ ถ้าเราต้องการเฉพาะ key อย่่ชชเอา Key ออกมาอย่างเดียวา ไม่อยากรู้ว่ามี Value อะไรบ้าง ใน Dictionary ของเรานี่ มีคีย์อะไรบ้าง ก็วน Loop เหมือนกเดิม ก็เป็น for K ก็คือตัวแปรที่ครูสร้างขึ้น เพื่อเก็บค่า Key In Country .key เอาเฉพาะ Key มาก็ .Key (); ต้องการแสดงก็ใช้ Print ใช่ไหมคะ เอาค่า K ออกมาอย่างเดียว ถ้าครูมีเฉพาะ K นะคะ คำตอบมันจะเรียงลงมาทีละบรรทัด แต่ถ้าครูต้องการให้มันเรียงต่อในบรรทัดเดียวกัน ก็จะใช้แบบนี้นะคะ N = ช่องว่างก็คือใส่ Dea ' ช่องว่างตรงนี้นะคะ อันนี้คือเอาเฉพาะ Key ถ้าเอาเฉพาะ บ้าง ก็เปลี่ยนจาก Key ตรงนี้เป็น Value เฉย ๆ เลยนะคะ ก็เปลี่ยนจากคำสั่ง Key นี่ เป็น Values เติม S ตัวแปรตัวนี้จะใส่เป็นอะไรก็ได้นะคะ ครูสร้างตัวแปรคือ V เสร็จแล้วเราก็ Print ค่า V ออกมาที่หน้าจอ มันจะเหมือน ๆ กันเลยถูกไหมคะ ไม่ได้มีอะไรต่างกันเลย เปลี่ยนแค่คำสั่ง ถ้าต้องการ ใช้ Item ต้องการ Key เฉย ๆ ใช้คำสั่ง Keys ต้องการใช้ Valก็ใช้คำสั่ง Values คือมันก็ตรงไปตรงมา คราวนี้ถ้าบอกว่าไม่อยากวนลูปนะคะ มีคำสั่งอื่นไหม ที่แสดงได้แบบง่าย ๆ เลย ก็ใช้คำสั่งนี้เลยนะคะ Country.Key ไม่ต้องใช้ Loop for นะคะ หรือ Country.value ก็จะแสดงออกมาให้นะคะ แต่ผลลัพธ์ที่ได้จะอยู่ในรูปแบบของ List นะคะอันนี้คือจะง่าย เดี๋ยวต่อลองทำนะคะ ถ้าอยากหาขนาดของ Dictionary Len หาคำสั่งของ List ก็ใช้อะไร ก็ใช้ Lenคำสั่งจะคล้าย ๆ กัน หาคำสั่ง หาขนาดของ List ก็ใช่ Len ของ Dictionary ก็ใช้ Len Len Country คิดว่าจะตอบเป็นอะไร มีค่าเท่ากับ 4 ใช่ มีค่าเท่ากับ 4 ก็คือมี 4 ตัวเท่านั้นเองถ้านับนะคะ ถ้าอยากเอา Dictionary มารวมกัน ถ้าอยากเอา Dictionary มารวมกันทำอย่างไร เอา D1 กับ D 2 รวมกันนะคะ รวมเสร็จแล้วเอาไปไว้ที่ไหน ก็เอาไปไว้ที่ D1 ก็คือเอา D2 มาต่อ D1 ก็จะใช้คำสั่ง UpDate น.Updat ( แล้วก็ D2 นะคะ เราก็ Print ออกมาดูซิ D1 มีค่าเป็นอะไร เอาข้อมูลตัวที่ 2 มาต่อตัวที่ 1 อันนี้คือการต่อข้อมูลกันใน Dictionary คราวนี้ ทุกคนมีสไลด์ใช่ไหม เข้า Classroom ได้ไหมคะ ได้ ครูให้นะคะ เราทำถึงตรงนี้ใช่ไหม ครูจะให้ทุกคนลองสร้าง ลองทำพร้อมกันก็ได้ค่ะ แต่ถ้าใครทำเร็ว ก็ลองไปดูในสไลด์ใน Classroom ทุกคำสั่งไม่ว่าจะเป็oการใช้ Value ใช่ไหมคะ การใช้ แล้วก็การหาขนาด เริ่มต้น สร้างตัวแปรที่ชื่อว่า Conrเก็บข้อมูล Dictionary นะคะแล้วก็แสดงข้อมูลตรงนี้ออกมาดู ทำทีละคำสั่ง จะได้ฝึกพิมพ์นะคะ การที่เราฝึกพิมพ์จะได้รู้ว่า อ๋อ พิมพ์คำสั่งแบบนี้แล้วต้องดูผลลัพธ์ด้วยนะคะ ไม่ใช่พิมพ์เฉย ๆ นะ พิมพ์ตามครู พิมพ์แล้วก็ต้องดูด้วยว่าผลลัพธ์ที่ได้ อ๋อมันเป็นแบบนี้ได้ผลลัพธ์แบบนี้นะคะ ถ้าใครเสร็จก่อนนะคะ ไปดึงสไลด์ใน Classroom นะคะแล้วพิมพ์ตามนะคะ จากหน้านี้เป็นต้นไป ใครพิมพ์แล้ว Error ยกมือนะคะเดี๋ยวครูไปดูให้ใครเสร็จแล้วก็มาทำสไลด์ตรงนี้ ใช่ไหม พิมพ์ตรงไหน ก็พิมพ์คำสั่ง For พิมพ์คำสั่ง for ตรงนี้นะคะ ต้องสร้างใหม่ไหม ไม่สร้างแล้วสร้างครั้งเดียวพอนะคะ Dictionary ไม่ต้องสร้างใหม่แล้วนะคะ ถ้ามันมีของเดิมอยู่ก็ใช้ของเดิม เราก็แค่มาใช้คำสั่งตรงนี้นะคะ เดี๋ยวครูย้อนกลับไปบางคนยังไม่เสร็จอันเดิม ทุกคนนะคะ ถ้าใครพิมพ์หน้าแรกเสร็จแล้ว เข้ามาที่ Classroom วิชานี้เร็ว เพราะบางที่เราพิมพ์ความเร็วไม่เท่ากันนะคะ เข้ามาที่ Classroom ตัวนี้หรือยังคะ เข้ามาที่สไลด์ตัวนี้ Array.ppt เห็นไหมคะ เปิดขึ้นมา เห็นไหมเราก็จะเริ่มสไลด์ที่ 29 นะคะ อันนี้เราทำแล้วใช่ไหม เราก็เปิดไปสไลด์ที่ 30 นะคะ เราก็ใช้คำสั่งตรงนี้ for ใช่ไหม นะคะ เราต้องการเอาเฉพาะคีย์ เราก็พิมพ์ตัวนี้ for สไลด์ถัดมา 31 เราก็พิมพ์เฉพาะคำสั่งนี้นะคะ ได้ไหม อันนี้ใครยังไม่เสร็จ หน้านี้ใครยังไม่เสร็จ กับ Value เอาแค่คำสั่ง 2 บรรทัดนี้ ไม่ต้องพิมพ์เยอะนะคะ เอาแค่คำสั่ง 2 บรรทัดนี้ คราวนี้เสร็จแล้ว เอาเฉพาะ Key ก็คือพิมพ์คำสั่งนี้ใช่ไหมคะ เอาเฉพาะ Key เฉย ๆ อันนี้เสร็จยัง คำสั่งนี้ได้ไหมคะ ถ้าเป็น K กับ V ถูกไหมคะ ถ้าใช้ Item ต้องมี K กับ V เพราะว่า Item ต้องการรค่าแสดง 2 ค่า คือ Key กับ Valueได้ไหม แต่ถ้าเป็น Key คำสั่งเป็น Key ตรงนี้เอาเฉพาะค่าเดียวก็คือค่า K ถ้าใครเสร็จแล้ว ก็ถ้าเราต้องการเฉพาะ Value เอาเฉพาะค่า ที่อยู่ใน Dictionary เข้ามาเราสามารถดึงค่า Value ออกมาได้ คราวนี้ ลองใช้ 2 คำสั่งนี้ดูสิคะ ลองใช้ 2 คำสั่งนี้ดู จะได้ผลลัพธ์ออกมาเป็นอย่างไร คราวนี้ใครเสร็จแล้ว ครูขอปเปิดแป๊บหนึ่ง ได้ไหม ให้ทำแบบฝึกหัด ลองนะ คนทำเสร็จแล้ว ทำแบบฝึกหัดต่อเลย ใครยังไม่เสร็จทำก่อน ขนาดเสร็จขนาดหรือยังคะ แล้วก็รวม หาขนาดเสร็จแล้วก็รวมนะคะ ใช้คำสั่งที่ครูสร้าง Block ให้ รวม Dictionary อันนี้คือรวม Dictionary นะคะ รวมได้ไหม รวมเสร็จแล้ว เดี๋ยวเรามาดูแบบฝึกหัดนะ ทำข้อ 2 ก่อน ข้อ 2 ง่าย ทำข้อ 2 ก่อนข้อ 2 ง่ายมากเอา 2 อันมารวมกัน ทำอย่างไร เอา Dictionary 2 อันเดี๋ยวเรเดี๋ยวเราทำข้อ 2 ก่อน ข้อ 2 จะง่ายกว่าข้อ 1 เอา Dictionary ใช้คำรวมกันใช้คำสั่งอะไรคะ Update คราวนี้ดูข้อ 2 ค่ะ ดูโจทย์ข้อ 2 ดูแบบฝึกหัดข้อ 2 นะ ครูบอกว่าให้ดู Dictionary อันดับแรกเราก็ต้องสร้าง Dictionary ก่อน เสร็จแล้วก็สร้าง Dic 2 เสร็จแล้วนี่เอา Dic 2 มารวมกับ Dict 1 ใช้คำสั่ง Update ใช่ไหมคะ Dic1.update (Dic 2 ไม่สร้าง ตัวที่ 1 ตัวที่ 2 นะคะรวม Dictionary ไม่เขียนนะคะบรรทัดนี้น่ะ ไม่เขียน ไม่ต้องลอกโจทย์สร้างเลย สร้าง Dic สร้าง Dict ใช่ไหม เราจะรวมใช้คำสั่งอะไรเหมือนตรงนี้เลย จะรวม ๆ ๆ ใช้คำสั่งอะไร Update เหมือนกันเลย ถ้าใครทำแบบฝึกหัดพิมพ์ตามครูแล้ว อันนี้จะต้องทำได้ใช้ Update นี้เลย คราวนีข้อ 2 นะคะ เราก็ใช้คำสั่ง เดี๋ยว คราวนี้มาดู ข้อ 2 ทำแบบเดียวกันไหม เราสร้าง Dict 1 แล้วก็ Dic2 แล้วใช่ไหมคะ ครูอยากจะรวม Dic/ข้อมูล 2 อัน มาเก็บไว้ที่ Dictionary 1 ครูก็ใช้คำสั่ง Dict1. [Dic2 นะคะ เอา 2 มารวมไว้ที่ 1 เสร็จแล้วก็สั่ง Print ออกมาดู คราวนี้ย้อนกลับมาดูข้อ 1 ย้อนกลับมาดู เร็ว ในโจทย์ข้อ 1 นะคะ ครูบอกว่า สร้าง Dictionary นะคะ มีค่าแบบนี้ถูกไหม เราก็ต้องสร้างก่อนนะคะ สมมุติ ครูให้เป็แล้วก็สร้าง Dictionary ก่อนนะคะ ทุกคนสร้างขึ้นมาเป็นตัวแปรอะไรก็ได้ อันดับแรกครูให้สร้าง Dic ก่อน เราสร้างแล้ว ใช่ไหมคะ จากนั้น ครูให้เพิ่มค่าใช่ไหมคะ ค่า Key คือ 2 Value คือ 30 เวลาเราจะเพิ่มข้อมูลลงไปใน Dictionary เราจะใช้คำสั่ง Update ถูกไหม คราวที่แล้ว เราเอามาต่อกัน แสดงว่าเราเพิ่มข้อมูลลงไปใน Dictionary เราจะเพิ่มข้อมูลลงไปใน Dictionary ตัวนี้ ก็ใช้เป็น x. อะไรคะ Update [] ก่อนจะเอาค่าอะไรใส่ลงไปเนื่องจากมันเป็น Key กับ Value ต้องอยู่ภายใต้ [ กับ ] เอาค่าอะไรคะ 2 กับ 30 ลงไปจากนั้น อยากรู้ว่ามันเพิ่มจริงไหม ก็ใช้คำสั่ง Print อะไรคะ Print X จะเห็นว่าจากเดิมนะคะ ที่เราใช้ เดี๋ยวครูเพิ่มอีกข้อหนึ่งให้เรา ข้อที่ 2 นะ .update Dic2 มันก็คือ Dictionary ถูกไหม คุณสามารถเอาค่ามันมาใส่เลย หรือ เอาตัวแปรมาใส่ก็ได้ อันนี้คือใช้ตัวแปรใช่ไหม อันนค่าที่ต้องการจะเพิ่มน่ะมาใส่เลยนะคะ เหมือนกัน ได้ไหม ถ้าใครเสร็จแล้วให้เบรก 5 นาที ให้พัก 5 นาที ค่อย ๆ นั่งดูนะคะ ค่อย ๆ นั่งดู คำสั่งนี้คืออะไร เอาสไลด์มา แล้วก็มาหัดทำทีละคำสั่ง คราวนี้ดูนะคะ ครูอยากรู้ว่าเราแยก List กับ Dictionary ออกไหม คือเหมือนรูปร่างนะ เหมือนเราแยกผลไม้ตามรูปร่างอันนี้คือผลไม้ชนิดอะไรนะคะ อย่าง List กับ Dictionary นี่ รูปแบบการเขียนไม่เหมือนกันเลยนะคะ ครูแค่อยากรู้ว่า เราพอมองออกไหมว่า List เป็นอย่างไร เป็นอย่างไร Dictionary ครูมีโจทย์อยู่ 3 ข้อด้วยกัน มี X Y Z ตัวแปร X Y ข้อไหนเป็น List บ้าง ข้อไหน เป็น List บ้าง 1 กับ 3 เป็น List ข้อ 2 เป็นอะไรคะ เป็นมีใครแยกไม่ออกไหมว่ารูปแบบการเขียนอะไหน ที่เป็น List รูปแบบอันไหนที่เป็น Dictionary นะคะ Dictionary ต้องมี KValue ใช่ไหมคะต้องมี Key กับ Value นะคะ เราจะใช้ Index ในการเข้าถึงข้อมูลนะคะ O.K. ที่ใส่ไม่มีนะไม่เป็นไรค่ะ เราจะมาดูรูปแบบของโครงสร้างข้อมูลอีกแบบหนึ่ง ก็คือ สแตก็คือ Sอันนี้นะคะ Stack เป็นรูปแบบอีกไหมหนึ่งนะคะ เคยท่านก๋วยเตี๋ยวไหมคะ ทุกคนเคยไปผ่านร้านก๋วยเตี๋ยวไหม เคยนั่งมองถ้วยที่เขาเอามาทำก๋วยเตี๋ยวไหม เคยนั่งมองไหม ระหว่างรอก๋วยเตี๋ยว เขาวางถ้วยเป็นลักษณะแบบนี้ใช่ไหม บางร้านก็จะคว่ำ ก็จะคว่ำใช่ไหมคะไม่สำคัญ ก็คือจะมีการเรียงถ้วยขึ้นไปแบบนี้ใช่ไหมคะ เวลาเขาหยิบชามมาทำให้คุณ เขาหยิบจาก หรือหยิบจากข้างบน มีร้านไหนไหมหยิบมาจากข้างล่าง มีไหม ไม่มี ใช่ไหมคะ เวลาเขาทำก๋วยเตี๋ยวในร้านใช่ไหมคะ เขาจะหยิบถ้วยข้างบนอคราวนี้พอเรานั่งมองไปเรื่อย ๆ ถ้วยมันก็ลดลงไปถูกไหม เขาก็เอาถ้วยใหม่มาวาง เขาซ้อนด้านล่างหรือซ้อนด้านบนถูกไหมคะ ถ้วยแรกนี่ที่เขาเอามาวางนี่จะถูกใช้ตอนไหน ตอนสุดท้ายเลย ถูกไหม ไม่ถูกใช้สักทีน่ะ วางทับขึ้นไปเรื่อย ๆ ถูกไหมคะ ถ้วยนี่ ล่าสุดที่วางจะถูกหยิบเอาไปใช้ก่อน ถูกไหม ใช่ไหมคะ ถ้วยที่วางตั้งแต่เช้านี่ จะถูกใช้ทีหลังนะคะ อันนี้คือรูปแบบของการเก็บ เก็บข้อมูลแบบ Stack นะคะและละการเรียกใช้ข้อมูลแบบ Stack คือ เข้าก่อน ออกทีหลัง เข้าก่อนออกทีหลังนะคะ เข้าทีหลังออก ออกก่อนใช่ไหม เข้าก่อนออกทีหลัง เข้าที่หลังจะออกก่อนนะคะ คราวนี้ เราเทียบกับอะไร ถ้าเราเทียบคือข้อมูลนี่แทนจาน แทนถ้วยแต่ละใบนะคะ ข้อมูลไหนที่เข้ามาเก็บก่อนจะถูกดึงมาใช้ทีหลัง ส่วนข้อมูลไหนที่อยู่บนสุดหรืออยู่ล่างสุดนี่จะถูกดึงออกไปใช้ก่อนนะคะ เราไม่สามารถดึง ตรงกลางออกมาได้ เคยเห็นไหมเวลาทานก๋วยเตี๋ยว เขาออกไปใช้ ไม่มีใช่ไหมคะ เพราะฉะนั้นเวลาเอาข้อมูลออกไปใช้เราต้องเอาตัวล่าสุดที่อยู่ข้างบนออกไปใช้ จะไม่มาดึงตรงกลางนะ ไม่มาดึงออกตรงกลางนะคะ คราวนี้รูปแบบของการจัดเก็บแบบนี้เข้าที่หลังออกก่อน ก็คือ Last in Fistout เข้าที่หลังออกก่อน อย่างที่ครูอธิบาย ข้อมูลที่เข้ามาใน Stack อันดับแรกจะอยู่ด้านล่างสุดถูกไหม อยู๋ด้านล่างสุดของ Stack เราจะเรียกโครงสร้างตรงนี้ว่า สแตด ข้อมูลที่เข้ามาเป็นลำดับสุดท้าย ก็จะอยู่บนสุด เข้ามูลที่เข้ามาในลำดับสุดท้าย จะถูกมาใช้งานก่อน ข้อมูลที่เข้ามาแรกสุดเลย จะถูกเอาใช้ทีหลังสุดนะคะ คราวนี้ แล้ว Stack นะคะ รูปแบบของการจัดเก็บข้อมูลแบบสแตด เราเก็บแบบไหน เราใช้เป็น List ก็ได้ มันจะเป็นต่อกันไปหรือ Array นะคะ หรือเป็น Link List ก็ได้นะคะ แล้วแต่เราจะเลือกวิธีการเก็บ แต่คอนเซ็ปต์ ทีหลังออกก่อนถึงจะเรียกว่ามันคือ Stack นะคะ คราวนี้ดู การทำงานของ สแตดต้องมีเข้ากับออกใช่ไหม การทำงานของ Ster จะมีเข้ากับออกได้กี่ทาง Stack เรามองร้านก๋วยเตี๋ยว มองถ้วยทีที่เขาเรียงต่อไป มีทางเข้าทางออกกี่ทาง ทางเดียว ถูกไหม ใช่ไหม ถ้า 2 ทาง คือต้องมีบนกับล่าง แต่เราเอาออกแค่ด้ายนบน เอาออกด้านบน เอาเข้าด้านบน จะมีทางเข้าทางออกเพียงแค่ 1 ทาง เท่านั้นนะคะ การนำข้อมูลเข้าไปเก็บไว้ใน Stack เราจะใช้คำสั่งที่ชื่อว่า Push ถูกไปไหมคะ ก็คือดันน่ะ เหมือนประตแล้วเวลาเราเอาข้อมูลออกจาก Stack จะใช้คำสั่ง Pop ถ้าพูดถึงสแตดต้องรู้จัก Pu คราวนี้มาดู อันนี้คือตัวอย่างนะ เราไม่สามารเปิดออกมาได้ดูว่า ในหน่วยความจำสแตดเก็บแบบไหน เราก็ต้องจินตนาการ นี่มันเก็บแบบนี้ เราเข้าใจ ได้ไหม คราวนี้ Stack ว่าง Stack ว่างมีข้อมูลไหม ถ้าพูดถึงคำว่า stat ว่าง stat ว่างมีข้อมูลไหม ไม่มีนะคะ ถ้าพูดถึง คือไม่มีข้อมูลเลย Stack ว่างอยู่นะคะ ถ้าครูต้องการใส่ข้อมูลลงไปใน State หรือ Poจะใส่ข้อมูลลงไปใน Stack หย่อนข้อมูลลงไป ครูก็ใช้คำสั่ง Psdh(a) A คือข้อมูล เห็นไหมคะ เห็นไหมเราสร้างกล่องขึ้นมากล่องหนึ่ง อันนี้ คือในจินตนาการนะ ครูสร้างกล่องขึ้นมากล่องหนึ่งนะคะ ถ้าครูสั่ง Push ต่อ ก็คือจะได้กล่อง B ถูกไหม ครูใช้คำสั่ง Push ก็จะได้กล่อง C ครูใช้คำสั่ง Push D ก็จะได้กล้อง D ข้างบน คราวนี้ครูอยากเอาข้อมูลออกจาก Stack ครูใช้คำสั่ง Pop อะไรออกก่อน อะไรจะถูกดึงออกมา D dog ถูกไหมคะ D dog หายทันทีเพราะครูดึงมันออกมาแล้วนะคะ ครูคำสั่ง Push E ก็ใส่ลงมา Push F ก็ใส่ลงมา แล้วครู Pop อะไรออก F หรือ A F F ก็จะหายไปนะคะ อันนี้คือลักษณะการทำงานของสแตด มีแค่ Put นะคะ Push คือใส่เข้า Pop คือเอาออก เวลาเราเอาออก เราต้องบอกให้ได้ว่าเอาอะไรออกนะคะ เอาข้อมูล เอาค่าข้อมูลอะไรออกจาก Stack คราวนี้ เราจะแทน Stack ด้วยอะไรได้บ้างนะคะ เราสามารถใช้ List แบบนี้เป็น Stck โดยเราจะเขียนเป็นแนวตั้งหรือแนวนอนได้หมด เพราะมันคือ List ข้อมูลจะเรียงต่อกันไปเรื่อย ๆ คราวนี้ ทุกคนดูตัวอย่างนี้ไว้นะคะ เดี๋ยวครูจะเขียนคำสั่ง แล้วให้ทุกคนวาดแบบนี้ได้ไหมนะคะ แล้วทุกคนก็จะวาดกล่องขึ้นมา ครูแจกกรครูจ่ายกระดาษให้คนละ 1 ใบ ครูมีคำสั่งนะคะ อยู่ 6 ข้อ มีแค่ Push กับ Pop แค่นั้นเอง ไม่มีอะไรอย่างอื่นเลย Push กับ Phวาดรูปให้ครูหน่อยได้ไหมคะ วาดรูป ในแต่ละข้อทำอย่างไร ข้อ 1 ใช่ไหมคะ ลอกโจทย์ก่อน Push 10 เพราะฉะนั้นคืออะไร 10 อย่างนี้ใช่ไหมค ่ะถัดไปข้อ 2 Push เท่าไหร่คะ 20 แต่ละข้อ ทำต่อเนื่องนะคะ Push 20 เพราะฉะนั้น (นักศึกษา) อยู่บน (อาจารย์) อยู่บนอย่างนี้ทำไปเรื่อย ๆ จนครบ 6 ข้อ เขียนใส่กระดาษให้ครูหน่อย คราวนี้ข้อ 3 คือ Push 30 ข้อ 4 คือ Pop เอา Pop ตรงไหนออกดี เอา Pop ตรงไหนออกไป ไม่รู้ ต้องไล่ลงมาก่อน ต้องดูก่อนว่า พอ Push 30 แล้ว 3แล้วเวลา Pop เอาอะไรออกสุดท้ายแล้ว Stack เหลือค่าอะไรบ้าง งงไหม ค่อย ๆ ทำทีละ 1 ข้อ ถูกไหมคะ Push 10 เราก็สร้าง Block เก็บข้อมูล 10 ข้อ 2 เรามี 10 แล้ว เรา Push เท่าไรคะ push 20 ลงไป แล้ว Push เท่าไหร่ Push 30 จะอยู่ตรงไหนดี เอามาเรียงต่อด้านบน ด้านข้าง หรือด้านล่าง วาดนะคะ ข้อ 4 Pop เอาอะไรออกล่ะ Pลบอะไรออก แป็บหนึ่๊นะคะ ถ้าใครงง เอาสไลด์หน้านี้ขึ้นมาดู ครูโหลด ครูอัพไว้ให้ที่ Classroom แล้ว มาดูเห็นไหม Push A ได้อะไร เห็นไหม ทีละอัน แต่เผอิญเขาใส่ทีละคำสั่งครูให้ทำทีละคำสั่ง Push B ใส่อะไร ก็คือไล่ไปอย่างนี้ เป็นข้อ ๆ นึกออกนะ ครูทำข้อ 1 กับข้อ 2 ไว้ให้แล้ว ทำจนครบ 6 ข้อ ลองดูซิ ข้อ 1 ครูทำแบบไหน คำสั่งนี้ ข้อ 2 ครูทำแบบไหน มาข้อ 3 ก็ลองเลียนแบบสิ่งที่ครูทำดูสิคะ ดูนะคะ Push ตัวล่าง 10 มันจะถูกดันลงมานะคะ 10 จะถูกดันลงมา แล้วก็ใส่ตัวใหม่ ถูกไหม พอ Push อีก 2 ตัวนี้ก็ถูกดันลงมาแล้วก็ใส่มาใหม่ ไม่เอามาต่อข้างหลังนะ นึกถึงถ้วยก๋วยเตี๋ยวน่ะ จะถึงจากด้านล่างหรอ ต่อด้านล่าง ดัน ๆ ขึ้นไปหรือ คงไม่ใช่นะคะ อันนี้มาดูพร้อมกันค่ะ มา ๆ เดี๋ยวครูลบใหม่ก่อน คราวนี้ ดู ๆ นะคะ เดี๋ยวครูให้ทำแบบฝึกหัดอีกข้อหนึ่ง ครูใช้คำสั่ง Push 10 ใช่ไหมคะ ก่อนครูใช้คำสั่ง Push 10 ครูสร้าง Block 10 มา ครูใช้คำสั่งอะไรคะPush 20 เพราะฉะนั้นเดิมมีอะไรคะ เดิมมี 10 ก็เขียนของเดิ มของเดิมก่อนคือ 10 แล้วต่อข้างบนด้วยอะไร 20 นะคะ ดูบนกระดานก่อน มา ๆ ๆ ต่อมาข้อ 3 ครูใช้คำสั่งอะไรคะ Push 30 เดิมมีอยู่กี่อัน มีอยู่แล้ว 2 อัน ถูกไหมคะถ้า Push ให้วาดของเดิมก่อน มีอะไร เสร็จแล้วเราใส่อะไรไป 30 ก็ต้องมาต่อข้างบน ถัดมา ครูใช้คำสั่ง Pop Pop เอาออก เอาข้างบนหรือข้างล่างออก เอาข้างบนออกถูกไหมคะ เพราะฉะนั้นเหลืออะไร 20 กับ 10 ถูกไหมครูใช้คำสั่ง Pop คือเอาออก เอาอะไรออก ก็ต้องเอาตัวบนสุดออก เพราะฉะนั้นมันจะเหลืออะไร เหลือ 20 กับ 10 ถูกไหมคะ หลังจากที่เราใช้คำสั่ง Pop อีกหนึ่งครั้งเหลือ 10 หลังจากที่เราใช้คำสั่งนี้ แล้วผลลัพธ์เป็นอย่างไร เราก็วาดรูปนะคะ เสร็จอะไรคะ Push 50 เดิมมีอะไร มี 10 Push ข้างบนเป็นเลข 50 ได้ไหมพอได้ไหม อีกอันหนึ่ง ลองทำอีกข้อหนึ่ง แบ่งครึ่งกระดาษก็ได้ เขียนในกระดาษแผ่นนั้นล่ะ ครูมีอยู่ 5 ข้อ Push A Push B Pop Pop แล้วก็ Push C แสดงวิธีทำ หลังจากที่ทำแต่ละคำสั่งผลลัพธ์เป็นอะไร ครู Push A ครูสร้างบล็อก A ขึ้นมา เสร็จแล้ว Push b ทำอย่างไร เอา A เดิมมาไว้ก่อน ถูกไหมคะ แล้วก็ต่อด้วย B สงสัยไหม ถ้าสงสัยต้องถามนะคะว่ามันคืออะไร Pop Pop นี่ เดี๋ยววันนี้เราเอา Stack นะคะ Push ให้เข้าใจคราวนี้มาดูครู Push B ได้แล้วมาดูข้อ 3 คือ Pop คือ Pop ใช่ไหม เอาอะไรออก เอา B ออก เพราะฉะนั้น เหลือ A เหลือ A นะคะ ข้อ 4 ครูสั่ง Pop อีกครั้งหนึ่ง เพราะฉะนั้นเหลืออะไร ไม่เหลือ นะคะ จะเขียนหรือไม่เขียนก็ได้ เสร็จแล้ว ครูใส่คำสั่ง Push C ก็คือครูต้องสร้างบล็อกใหม่ คือ C นะคะ Stack มีข้อมูC ได้นะ มีใครยังงงอีก ไม่รู้ว่า Push กับ Pop อย่างไร งงไหม คราวนี้ต่อไปไหมนะคะ เวลาเราจะใช้คำสั่ง Push ข้อมูลลง Stack อันนี้ให้ดูก่อนนะ เดี๋ยวสัปดาห์หน้าเราค่อยมาเขียนนะคะ เวลาเราจะเพิ่มข้อมูลลงไปใน Stack เราบอกว่าข้อมูลของเรานะคะเรากำหนดให้ Stack ของเราคือ List ที่เราเรียนไปนี่ คราวก่อน เพราะฉะนั้นคำสั่งใน Reach ที่จะเพิ่มข้อมูลคือใช้คำว่า Append ใช่คำว่า Append ครูเขียนฟังก์ชันขึ้นมา 1 ตัว ก็คือ Push โดยส่งค่าข้อมูลที่เราจะ ญลงไป เสร็จแล้วครูก็สั่งถูกไหมคะ ครูก็สั่ง Stack Stack.append( ค่าข้อมูลที่จะใส่ไปคืออะไร อันนี้คือ Push Concept ของ Push เรารู้แล้ว อันนี้คือแปลงมาเป็น Code ของโปรแกรม Stack ว่างนะคะ Stack ว่างนะคะ Stack คือไม่มีข้อมูลครูถามว่า ถ้า Stack มันว่าง เราสามารถ Pop ได้ไหม ถ้า Stack ไม่มีจานเลยสักใบนี่จะเอาไปใส่ก๋วยเตี๋ยวได้ไหม ไม่ได้ ใช่ไหมคะ Concept แบบเดัียวกถ้า Stack มันว่าง แสดงว่ามันไม่มีข้อมูลอะไรแล้ว ต้องแสดงว่ามันไม่มีข้อมูลอะไรแล้ว เราก็ต้องโชว์ Stack ว่างหรือ Stack Entry นะคะ เพื่อบอกว่า ต่อไปต้องหาข้อมูลมาใส่นะ แต่ถ้ามีก็ดึงออกมานะคะ ถ้ามันยังมีข้อมูลอยู่ใน Stack เราก็ดึคราวนี้ มาดูนะคะ จะรู้ได้อย่างไรว่า Stack มันว่าง ก็หาขนาดของ List ถูกไหมคะ Stack มันว่างหรือเปล่าก็ ถ้าขนาดเป็นอะไรคะ เป็น 0 แสดงว่ามีข้อมูลไหม ถ้าขนาดของ List แสดงว่ามี ขนาดเป็น 0 ก็ไม่มีสิ ถ้ามีข้อมูล 1 ตัว ขนาดเท่ากับเท่าไร เท่ากับ 1 เราก็เช็กก่อนว่า Stack มันว่างไหม ขนาดของ Stack นะคะ ถ้ามันว่างก็ไม่ต้องทำอะไร แต่ถ้ามันไม่ว่างก็ Pop มันออกมานะคะ ก็ใช้คำสั่ง Pop ได้เลย ครูต่อนะคะ ถ้า ครูอยากดูข้อมูลบนสุดที่อยู่ใน Stack นะคะ อยากรู้ว่าข้อมูลที่อยู่ใน Stack มันคืออะไรนะคะ เราจะใช้ Stack [-1 ก็คือตัว ถ้ามองเป็น Reach ก็คือตัวสุดท้ายนะคะ เอาข้อมูลตัวสุดท้ายจะใช้ Index นะคะก็เหมือนเรากลับน่ะข้างหน้าเป็น 0 ข้างหลังก็กลับ ให้เป็น -1 หาขนาด หาขนาดของ Stack ใช้คำสั่ง Len นะคะ เดี๋ยวเราจะมาเขียน Code กันนะคะ คราวหน้า ดูว่าจะเอาข้อมูลเข้า เอาข้อมูลออก นะคะเดี๋ยวสัปดาห์หน้า Stack เอาไปใช้ทำอะไร เดี๋ยวดูคร่าว ๆ ก่อนนะ เStack เอาไปใช้ทำอะไร บวกเลขได้ไหม บวกลบเลขได้ไหม ได้ทุกคน บวก ลบเลขได้หมดเลย เดี๋ยวแป๊บหนึ่ง ครูถามว่า 5+4*2 ตอบเท่าไรคะ ตอบให้ครูหน่อย 5 + 4 )( มีใครได้คำตอบอื่นไหม ใช้ความรู้เดิม 5+4*2 ตอบ เท่ากับ... มีใครได้คำตอบอะไรบ้าง 1. คือ 13 ได้เท่าไหร่คะ (นักศึกษา) 18 (อาจารย์) มีคนอื่นได้อีกไหมทำไมโจทย์เดียวกันได้ค่า 2 ค่า มีใครได้มากกว่า 13 กับ 18 ไหมคะ ใครได้ 13 ยกมือหน่อยเร็วใครคำนวณแล้วได้ 13 ยกมือ ไหนมี 1 คน แล้วมีใครอีกคะ มี 2 คน คู่นั้น ใครได้ 18 อ่าวที่ไม่ยกคือออะไร บวกเลขไม่เป็นหรือ บวกเลขเป็น มี 13 กับ 18 ใช่ไหมคะ ตอนสมัยเรียน ประถม มัธยมคุณครูบอกว่าถ้าเจอวงเล็บก่อนให้ทำข้างในวงเล็บใช่ไหมถ้ามีวงเล็บ ให้ทำให้วงเล็บ แต่บังเอิญว่าอันนี้ไม่มีวงเล็บนะคะ ระหว่างบวกกับคูณอันไหนมีลำดับความสำคัญมากกว่ากัน บวกกับคูณ อะไรสำคัญกว่ากัน คูณ เพราะฉะนั้นควรทำบวกก่อน หรือคูณก่อน ควรทำอะไรก่อน (นักศึกษา) คูณ (อาจารย์) คูณก่อน 4*2 เป็น 8 บวกกับ 5 ตอบเท่ากับ 13 ใช่ไหมนะคะ กรณีที่ไม่มีวงเล็บไง อันไหนคือลำดับความสำคัญมากกว่า บวกกับลบ เท่ากัน ทำอะไรก่อนก็ได้ อย่างนี้เท่ากันนะคะ แต่คูณจะมากกว่าบวกกับลบ จะเห็นไหมคะว่า การบวกเลขตรงนี้ ถ้าเราเอาใส่ใน Excle หรือในคอมพิวเตอร์ที่สามารถประมวลผล ไม่ใช่เครื่องคิดเลขนะ เพราะเครื่องคิดเลขที่ตัว ถ้าใครเอาเครื่องคิดเลขธรรมดานะ มาจิ้มก็ไม่ถูกนะ ต้องเป็นเครื่องคิดเลขวิทยาศาสตร์ที่ใส่เป็นชุดได้ นะคะ เราบวกลบเลขใช่ไหมคะ แล้วคอมพิวเตอร์ เราใส่ข้อมูลตัวนี้ คอมพิงนี่จะคำนวณให้ได้ไหม ได้เอาไปลอง Test ใน Excel นะคะ คำนวณได้อย่างไร เขาใช้ Stack นะคะ ช่วยในการคำนวณตัวเลขให้ออกมาเป็น 13 นะคะ เดี๋ยวรอบหน้านี่จะมีวิธีการคำนวณนะะค ว่า คอมพิวเตอร์คำนวณ มาได้เลข 13 นี่ คำนวณอย่างไร ไม่ได้ง่าย ๆ เลยนะ มีขั้นตอนเยอะมากกว่าจะได้เลข 13 มาแต่เราทำอย่างไรคะใส่เลขใน Excel ออกมาเลยใช่ไหมคะ ออกมาเลย แต่เราจะมาดู แล้วเบื้องหลังมันคำนวณแบบไหนนะคะ รอบหน้า เราคำนวณได้เราต้องรู้ด้วยว่าแล้วคอมพิวเตอร์คำนวณอย่างไรนะคะ เดี๋ยวครูจะฝากการบ้านนะ ทุกคนมีชีตนะคะ Dictionary นะคะ Stack เดี๋ยวครูฝากการบ้านกับพี่ปอย ง่าย ๆ ไม่ยาก เดี๋ยวจะปริ้นมาให้นะคะ เป็นการทบทวน เผื่อเวลาสสอบนะจะได้เข้าใจนะคะ จะได้จำได้ เดี๋ยวเจอกันสัปดาห์หน้านะคะ เดี๋ยวครูจะฝากการบ้านไว้ให้ค่ะ เดี๋ยว [สิ้นสุดการถอดความ]