ฟุตบอลตัวนั้นเรียกว่า อัลกอริทึม คราวนี้นะคะคราวที่แล้วเราพูดถึงอัลกอริทึมของการต้มไข่ ใช่ไหมคะ มีต้มไข่ทำมาม่า ทุกคนจะเห็นว่า แต่ละคนมีกระบวนการของการต้มมาม่าไม่เหมือนกัน แต่สิ่งที่ได้ เราได้มาม่าเหมือนกัน พร้อมรับประทานนะคะ จะเห็นว่า โจทย์ 1 โจทย์ เราสามารถมีวิธีการแก้ไขปัญหา ที่แตกต่างกันได้หลากหลายรูปแบบ นอกจากตัวอัลกอริทึมที่เราพูดไปแล้วนะคะเราแสดงอัลกอริทึม ในรูปแบบ ที่เป็นขั้นตอน 123 นะคะ นอกจากนั้นแล้วเรายังเขียนในลักษณะ เป็นของผู้ชาย หรือว่าผังงาน ค่ะ OK โดยผังงานตัวนั้นนี่ เราเริ่มต้น เราจะมีสัญลักษณ์ของการเริ่มต้น แล้วก็มีสัญลักษณ์ของการสิ้นสุด นะคะสิ่งที่อยู่ข้างในก็คือโพสต์ คือสิเหลี่ยม สี่เหลี่ยมผืนผ้า Android process นะ กระบวนการหมายที่เราต้องการ ตัดสินใจ จะใช้สีเหลี่ยมข้าวหลามตัด แล้วแต่การตัดสินใจของเรานี่ ก็คือตัดสินใจว่าจริงหรือไม่จริง ถ้าจริงให้ทำอะไร ไม่จริงให้ทำอะไร แล้วก็คราวที่แล้วนะคะแล้วพูดถึงเรื่องของการเดิน ซื้อของนก ที่ไปกินหมู ให้ทุกคนสามารถเดินได้ โดยการเดินไหน ที่เราเดินซ้ำๆถูกไหมคะ อะไรที่เราเดิมซ้ำๆทำเหมือนกันเลย เราไม่จำเป็นต้นเขียนขั้นตอนเหล่านั้นฉันซ้ำ เราจะใช้การวนลูป ข้าจำได้ เราจะเขียนการวนซ้ำนะคะ แล้วข้างในก็ใช้สัญลักษณ์หรือคำสั่งที่เราเขียน หลายๆบรรทัดนั่นแหละ เหลือแค่หนึ่งคำสั่ง แล้วเราก็ระบุว่าเราทำคำสั่งนั้นอีกครั้ง นั่นก็คือการวนลูปหรือการทำซ้ำ คราวนี้จากอัลกอริทึมที่เราเขียนไป แล้วเราจะรู้ได้อย่างไร ว่าอัลกอริทึมที่เราเขียนมันมีประสิทธิภาพ มันดีหรือเปล่า มาทำงานได้เร็วหรือเปล่า เราต้องมีวิธีการวัด นะ มีวิธีการวัดนะ เราวัดจากอะไรได้บ้าง วัดจากเวลา ที่ใช้ในการประมวลผล โปรแกรมที่เราเขียนขึ้น ใช้เวลาประมวลผลเป็นอย่างไร ใช้หน่วยความจำในคอมพิวเตอร์เป็นอย่างไร นะคะ เหมือนกับเทียบ กับการเรียน พอเรียนเสร็จก็ต้องมีการวัดผล รับข้อมูลเหมือนกันอันนี้เหมือนกันทุกคนเลย การวัดผล ทุกคนอาจจะแตกต่างกันบางคนได้ก็ได้บีได้เหมือนกันนะคะ อัลกอริทึมก็มีวิธีการวัดประสิทธิภาพเราจะได้รู้ว่า สิ่งที่เราเขียนนี่มีประสิทธิภาพมากแค่ไหน มันคือว่าจากเวลาจากหน่วยความจำนะคะ ในคอร์สนี้ ครูจะใช้วิธีการ วิเคราะห์เวลาจากการประมวลผล เข้าใจนี้วิธีการ ขอเวลาที่ใช้จากการประมวลผล คราวนี้ เวลาที่ใช้ในการประมวลผล จะเป็นการประมาณเวลา โดยการใช้ตัววัด ที่ มีชื่อว่า bigo มิโกะ เขียนแบบนี้นะ b i g แล้วก็ขีดแล้วก็ตัว O ตัวนี้ก็คือ Big O จริงๆมันมีตัววัด ประสิทธิภาพหลายตัว bigo isetta แต่ที่เราจะใช้กันวันนี้ ก็คือ bigo ทุกคนจะหา Big O จากอัลกอริทึม 1 ตัวจะดูว่า เราจะใช้เวลาในการประมวลผล คิดเป็นเท่าไหร่ เขาบอกว่า bigo ก็คือหน่วยวัดความเร็วของการทำงานของโปรแกรม โดยที่ เราวัดจาก จำนวนรอบของการทำงาน กับข้อมูล นับจำนวนรอบของการทำงานหมายความว่าอะไร เราเขียนโปรแกรมแต่ละบรรทัด เราเขียนโปรแกรมแต่ละบรรทัด เรียงลำดับลงมา เวลาเรากด ผมร้านปุ๊บ มันจะค่อยๆทำงานทีละบรรทัดใช่ไหมคะ มันจะทำงานทีละบรรทัดใช่ไหมคะ ไม่ลงมาจากบนลงล่าง ถ้าเราเขียนโค้ด เรียงลำดับลงมาเรื่อยๆ อย่าทำงานเพียงหนึ่งครั้ง ทำบรรทัดที่ 1 เสร็จ ทำบรรทัดที่ 27 บรรทัดที่ 3 บรรทัดที่ 4 เรื่อยๆนะคะ แอบเมื่อไหร่ก็ตาม ที่เราใช้ Room หรือว่าการทำงานแบบวนซ้ำ ที่เราเคยพูดไปแล้วนะตัวนี้ อย่างเช่นตรงนี้นะคะ เป็นการทำงานแบบวนซ้ำ แสดงว่า เราทำงานมากกว่า 1 รอบ ใช่ไหมคะ เมื่อไหร่ก็ตามที่มีการใช้รูปหรือว่าวนซ้ำ แสดงว่าคำสั่งนะนี่ อาจจะมีการทำงานมากกว่า 1 ครั้ง เราจะต้องรู้ว่า แล้วมันทำงานกี่ครั้ง OK ถ้าไม่มีการวนลูปมันจะทำงาน 1 ครั้งนะคะ แต่ถ้าเมื่อไหร่ก็ตามที่มีการทำซ้ำหรือวนลูป มันจะทำงานตามจำนวนรอบที่เรากำหนด ว่า แล้วกำหนดให้มันทำงานกี่ครั้ง เราถึงจะเอามาหานะ ความเร็วของการทำงานของโปรแกรม คราวนี้สัญลักษณ์ของ Big O คืออะไร ก็คือตัวโอ๋ใหญ่ เราจะใช้ตัวก็ใหญ่เป็นสัญลักษณ์ ในการหาความเร็วนะคะ ของการทำงาน เราเริ่มต้น ครูบอกว่า Big O คือ การวัดความเร็วของการทำงาน วัดจากจำนวนรอบ เพราะฉะนั้น มาดูว่า แล้วเรานัดจำนวนครั้งของการทำงาน จำนวนรอบของการทำงานนี่ นับอย่างไร มีอยู่ 2 แบบนะคะ แบบค่าคงที่ ก็คืออย่างที่ครูบอกทำเรียงลำดับนำมาเรื่อยๆ หรือ ทำงานแบบหลุด ลำดับก็คือวนซ้ำ เราใช้รูปอะไรบ้าง ในการเขียนโปรแกรมในการวนซ้ำ แล้วทำรูปอะไรบ้างเอ่ย ที่เราเขียน python ใช้รูปอะไรบ้างเอ่ย จำได้ไหม จำได้ไหมคะ ในการวนลูปในภาษา python รถใช้รูปอะไรบ้าง ใช่เราใช้อะไรคะ ใน python ที่เขา เขียน เมื่อคืนลูก floor ใช่ มีไวน์ ใช่ไหมคะ มีไวน์ อย่างที่เพื่อนบอกนะคะ อีกตัวหนึ่งคืออะไร floor นะคะ เราจะคุ้นเคยนะ การทำงานแบบวนซ้ำหรือวุฒินี่ มี For กับ y For กับ while ต่างกันอย่างไร ทราบไหมคะ เมื่อไหร่เราจะใช้โปรเมื่อไหร่เราจะใช้ Wifi อันนี้เราสันนิษฐานได้เลยอาจจะทำงาน 1 ครั้งหรือมากกว่า 1 ครั้ง ขึ้นอยู่กับเงื่อนไข แสดงว่า ถ้าเราต้องการวนซ้ำ เราสามารถใช้ for หรือใช้ WiFi ได้ เมื่อไหร่ที่เราทราบจำนวนรอบ ที่แน่นอนของการวนซ้ำ เราจะใช้ for นะคะเพื่อความง่าย เมื่อไหร่ก็ตามที่เรารู้จำนวนรอบของการวนซ้ำ เราจะใช้ for เช่น ครูบอกว่าให้วิ่งรอบสนามฟุตบอล 10 รอบ แสดงว่าต้องวิ่ง 10 รอบใช่ไหม วิ่ง 11 รอบได้ไหม ไม่นับถูกไหม กูบอกว่า 10 รอบก็ต้อง 10 รอบ เพราะฉะนั้นต้องใช้ for แต่ถ้าครูบอกว่า วิ่งจนกระทั่งเพื่อน เนย์มาร์ รู้ไหมกี่รอบ ไม่รู้ ไม่รู้ว่านายเอมาตอนไหน วิ่งเรื่อยๆจนกว่าจะนายเอจะมา a มาเมื่อไหร่เราถึงจะหยุด เพราะฉะนั้นเราไม่รู้จำนวนรอบที่แน่นอน แบบฟอร์ม ใครคิดว่าเรารู้จำนวนรอบที่แน่นอน เช่น แม่ให้เงินมา มาโรงเรียน บอกว่า ไม่ใช่มาโรงเรียนหรอก แม่ให้ไปซื้อของ ไปซื้อหมูปิ้ง ให้เงิน 100 บาทไปซื้อหมูปิ้ง เรารู้ไหมต้องซื้อได้กี่ไม้ ไม่รู้เหมือนกันนะ แล้วก็มาใช้วายก็ได้ ซื้อไป จนกระทั่งเงินหมด เงินเป็นศูนย์เมื่อไหร่ ถึงหยุด แม่ก็ซื้อไปเรื่อยๆ มาซื้อหวยถูกไหม ซื้อไปเรื่อยๆไม่รู้ว่าจะถูกไหม ไม่รู้ว่าจำนวนรอบต้องซื้อกี่รอบ เราแยก รูปวาดกระดูกพอพอได้ คราวนี้ การนับตัวดำนวลเกลือ ก็คือ 1 2 3 4 การพับ จำนวนรอบ ในการทำงาน ในกรณีที่ไม่มีรูปการวนซ้ำเป็นคำสั่ง นะคะเรียงลำดับลงมาเรื่อยๆ คำสั่งเรียงกันลงมาเรื่อยๆ เช่นครูมีคำสั่งอยู่ 2 บรรทัด คำสั่งอยู่ 2 บรรทัดไม่ใช่การวนลูป บ่มีคำว่า For กับคำว่าวาย คำสั่งแรก เขาเท่ากับ 0 คืออะไร เราให้ ค่ากับตัวแปรที่ชื่อว่าเค้า c o u n t ตอนนี้ เมื่อเรารันคำสั่งนี้ปุ๊บ เมื่อคำสั่งนี้ถูกประมวลผล เขาจะมีค่าเป็นศูนย์ ทำงาน 1 รอบนี่ บรรทัดที่ 1 เนี่ย เมื่อผ่านบรรทัดที่ 1 ไปเขามีค่าเป็นศูนย์ เขาจะมีค่าเป็นศูนย์ เสร็จแล้วทำงานบรรทัดที่ 2 บรรทัดที่ 2 คือการคำนวณใช่ไหมคะ คำนวณเสร็จแล้วก็เก็บในตัวแปรที่ชื่อว่าโชว์ เวลาเรากด Run เวลาเราเขียนโปรแกรม python แล้วเรากด Run มันจะอ่านบรรทัดที่ 17 ในกรณีที่ไม่มี error บรรทัดที่ 1 แล้วก็มาบรรทัดที่ 2 มันหมดแล้วไม่มีอะไรมันก็จบการทำงานใช่ไหมคะ เพราะฉะนั้น กูเลยถามว่า คำสั่งของบรรทัดที่ 1 มันทำงานกี่ครั้ง คิดว่ามาทำงานกี่ครั้ง กูกดปุ่ม Run ปุ๊บ มันมาอ่านบรรทัดที่ 1 ใส่ค่าให้กับตัวแปรเค้า เสร็จแล้วก็มาทำประทัดที่ 2 คำนวณเศษเก็บในช่องแล้วก็จบ เพราะฉะนั้นบรรทัดที่ 1 เนี่ยทำงานกี่ครั้ง 1 ครั้ง ทำงานแค่ 1 ครั้ง การรัน บรรทัดที่ 2 ทำงานกี่ครั้ง กด run run ครั้งหนึ่ง มันอ่านบรรทัดที่ 11 ครั้งบรรทัดที่ 2 ก็ต้องทำ 1 ครั้งเหมือนกัน แล้วก็จบ ใช่ไหมคะ เพราะฉะนั้น เมื่อไหร่ก็ตาม โปรแกรมของเรา ไม่มีการวนลูป การทำงานแต่ละบรรทัด จะทำงาน 1 ครั้งเท่านั้น จะทำงาน 1 ครั้งเท่านั้น เราจะถือเป็นการมอบตัวดำเนินการตรงนี้ ก็คือ 1 1 ครั้ง ถ้าเราจะหาค่า Big O เรารับตัวดำเนินการได้แล้วต่อไปเราจะหาค่า Big O เราต้องหาค่าฟังก์ชันก่อนคือ F f ย่อมาจากฟังก์ชัน เท่ากับ เลขตัวนี้มาจากไหน 1 ตัวนี้ก็คือ 1 ตัวนี้ ของปะทะที่ 1 บวกด้วย 1 บรรทัดที่ 2 คือ จำนวนรอกของบรรทัดที่ 2 ทำงาน 1 ครั้ง ทำงาน 1 ครั้งบวกกันเป็นทำงาน 2 ครั้ง เราถือว่าค่า Big O ก็คือเป็นโอ 1 เขียนโอวงเล็บเปิดแล้วก็ใส่เลข 1 no1 แล้วถ้าเป็นเงื่อนไขบ้าง เป็นเงื่อนไขเป็นอะไรมีการตัดสินใจเมื่อไหร่ก็ตามที่เราตัดสินใจ คือการเลือก การตัดสินใจคือการเลือกถูกไหมคะ เลือกว่าจะไปทางซ้ายหรือจะไปทางขวาเวลาเรา สี่แยกแล้วต้องตัดสินใจ ต้องตัดสินใจก่อน เราจะตรงไปเลี้ยวซ้ายเลี้ยวขวา เพราะฉะนั้น การตัดสินใจเราใช้คำสั่ง ใช้คำสั่ง If ใน python คือถ้า ถ้า แล้วตามด้วยเงื่อนไข ใช่ไหมคะ ข้างในตรงนี้คือเงื่อนไข เงื่อนไขที่ครูกำหนดคือ ถ้า n น้อยกว่า 0 ถ้า n น้อยกว่า 0 n คือตัวเลขเดี๋ยวเราจะไม่เซ็นค่า n กัน จาก Code ตัวนี้นะคะ ถ้า n น้อยกว่า 0 ให้ทำอะไร ค่าเงื่อนไขตัวนี้เป็นจริงจะมาทำบรรทัดที่ 2 โอเคจะมาทำมาทักที่ 3 นะคะพูดผิด จะมาธรรมชาติที่ 3 ถ้าเงื่อนไขตัวนี้เป็นจริง มาทำบรรทัดที่ 3 ก็คือให้เป็นคำว่า งั้นก็จีบ integer เอวคืออะไรคะ ถ้าเงื่อนไขตัวนี้ ไม่จริง ก็คือ n มันมาก เท่ากับ 0 ใช่ไหมคะ เงื่อนไขตรงนี้ไม่จริงคืออะไร คือเอนมากกว่าเท่ากับศูนย์ ตรงคำถามกับ ถ้าข้างบนไม่จริง ก็คือเอ็นเรานี่ต้องมากกว่าหรือเท่ากับ 0 เราจะทำอะไร hostess นะคะ คราวนี้ ทุกคนช่วยคุยดูนะ สิ่งที่เราจะต้องตอบครูให้ได้ว่า ไปทำงานประทับที่ 3 หรือทำงานบรรทัดที่ 7 นะคะ เดี๋ยวให้ยกมือนะ กูถามตัวเลข ผู้แทนค่า n ใดๆให้ เดี๋ยวให้เราลองบอกครูหน่อยว่า เราจะทำงานบรรทัดที่ 3 เหลือบรรทัดที่ 7 ด้วยเงื่อนไขตัวนี้ถ้า n น้อยกว่า 0 จะทำบรรทัดที่ 3 ถ้า a มากกว่า เท่ากับศูนย์ ครูกำหนดให้ n = 20 ธรรมทัศน์ไหนเอ่ย บรรทัดไหนดี n = 20 นะ คำถามคือ จะค้นตัวนี้ ใช่ไหมคะ โค้ดตัวนี้ที่ครูให้มา มาครูแทน Android ด้วยตัวเลขนี้ เราจะ