Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore 1 การออกแบบและการเขียนอัลกอริทึม

1 การออกแบบและการเขียนอัลกอริทึม

Published by jaruwan.nat, 2020-06-29 00:10:04

Description: 1 การออกแบบและการเขียนอัลกอริทึม

Search

Read the Text Version

วทิ ยาการคานวณ ชั้นมัธยมศกึ ษาปที ี่ 1 ครูผู้สอน นางสาวจารุวรรณ สุดใสดี

ตัวช้ีวัด ว. 4.2 เทคโนโลยี (วิทยาการคานวณ) 1. ออกแบบอลั กอรทิ มึ ทใี่ ชแ้ นวคดิ เชิงนามธรรมเพอื่ แกป้ ญั หาหรืออธิบายการทางานท่ีพบ ในชวี ติ จรงิ 2. ออกแบบและเขยี นโปรแกรมอยา่ งงา่ ย เพอื่ แกป้ ญั หาทางคณติ ศาสตร์หรอื วทิ ยาศาสตร์ 3. รวบรวมขอ้ มลู ปฐมภมู ิ ประมวลผล ประเมนิ ผล นาเสนอข้อมลู และสารสนเทศ ตาม วตั ถุประสงค์โดยใช้ซอฟตแ์ วร์หรอื บริการบนอนิ เทอร์เน็ตท่ีหลากหลาย 4. ใชเ้ ทคโนโลยีสารสนเทศอยา่ งปลอดภัย ใชส้ อ่ื และแหลง่ ข้อมลู ตามข้อกาหนดและ ขอ้ ตกลง

หนว่ ยที่ 1 การออกแบบและการ เขยี นอลั กอรทิ ึม

หนว่ ยที่ 1 การออกแบบและการเขยี นอลั กอรทิ มึ 1. แนวคดิ เชงิ นามธรรม 2. อัลกอริทมึ เบ้อื งตน้ 3. การเขียนอัลกอรทิ ึม และการแกป้ ญั หา ด้วยภาษาธรรมชาติ 4. การเขียนอัลกอรทิ ึม 5. การเขียนอัลกอริทมึ ดว้ ยรหสั จาลอง ดว้ ยผงั งาน

1. แนวคดิ เชิงนามธรรมและการแก้ปญั หา แนวคิดเชิงนามธรรม (abstract thinking หรือ abstraction) เป็นองค์ประกอบ หน่ึงของแนวคิดเชิงคานวณ (computational thinking) ซึ่งใช้กระบวนการคัดแยก คุณลักษณะที่สาคัญออกจากรายละเอียดปลีกย่อยในปัญหา หรืองานท่ีกาลังพิจารณา เพอ่ื ให้ไดข้ ้อมูลท่จี าเปน็ และเพยี งพอในการแก้ปัญหา

1. แนวคดิ เชิงนามธรรมและการแก้ปญั หา การแก้ปญั หาประกอบดว้ ย 4 ข้ันตอน ดังนี้ วเิ คราห์และกาหนด การวางแผนการ การดาเนินการ การตรวจสอบและ รายละเอยี ดของ แก้ปญั หา แกป้ ญั หา ประเมนิ ผล ปญั หา

การแก้ปญั หาประกอบดว้ ย 4 ขน้ั ตอน 1) การวิเคราะห์และกาหนดรายละเอียดของปญั หา ในการท่ีจะแกป้ ญั หาใดปัญหาหนง่ึ ไดน้ น้ั ส่ิงแรกทีต่ อ้ ง ทาคอื ทาความเข้าใจเกย่ี วกบั ถ้อยคาตา่ งๆ ในปัญหา แลว้ แยกปัญหาใหอ้ อกว่าอะไรเปน็ ส่งิ ท่ีต้องหา แลว้ มี อะไรเป็นข้อมลู ทก่ี าหนด และมเี งื่อนไขใดบา้ ง หลังจากนน้ั จงึ พิจารณาว่าข้อมลู และเง่ือนไขทกี่ าหนดให้นน้ั เพียงพอที่จะหาคาตอบของปัญหาได้หรอื ไม่ ถ้าไม่เพียงพอ ให้หาขอ้ มูลเพ่มิ เตมิ เพื่อที่จะสามารถแกไ้ ขปัญหา ได้ ดงั นี้ 1.1 การระบขุ อ้ มูลเข้า ได้แก่ การพิจารณาข้อมลู และเงื่อนไขทีก่ าหนดมากบั ปัญหา 1.2 การระบขุ อ้ มูลออก ไดแ้ ก่ การพจิ ารณาเป้าหมายหรือสงิ่ ที่ต้องหาคาตอบหรือผลลัพธ์ 1.3 การกาหนดวิธปี ระมวลผล ไดแ้ ก่ การพจิ ารณาวิธีหาคาตอบ หรือผลลัพธ์

การแกป้ ญั หาประกอบด้วย 4 ขัน้ ตอน 2) การวางแผนในการแกป้ ญั หา จากการทาความเข้าใจกบั ปัญหาจะช่วยใหเ้ กดิ การคาดคะเนว่าจะใช้วิธีการ ใดในการแก้ปัญหาเพ่ือให้ได้มาซ่ึงคาตอบ ประสบการณ์เดิมของผู้แก้ปัญหาจะมีส่วนช่วยอย่างมาก ฉะนั้นใน การเร่มิ ต้นจึงควรจะเรม่ิ ด้วยการถามตนเองว่า “เคยแกป้ ญั หาในทานองเดยี วกนั นม้ี ากอ่ นหรอื ไม่” ในกรณีท่ีมี ประสบการณ์มาก่อนควรจะใช้ประสบการณ์เป็นแนวทางในการแก้ปัญหา พยายามหาวิธีการเพ่ือให้ได้ ความสัมพันธ์ระหว่างสิ่งที่ต้องการหากับข้อมูลท่ีมีอยู่ เมื่อได้ความสัมพันธ์แล้วต้องพิจารณาว่าความสัมพันธ์ น้ันสามารถหาคาตอบได้หรือไม่ ถ้าไม่ได้ก็แสดงว่าต้องหาข้อมูลเพิ่มเติมหรืออาจจะต้องหาความสัมพันธ์ใน รปู แบบอื่นตอ่ ไป เมื่อไดแ้ นวทางในการแกป้ ัญหาแลว้ จงึ วางแผนในการแก้ปญั หาเป็นข้ันตอน

การแก้ปัญหาประกอบด้วย 4 ขัน้ ตอน 3) การดาเนินการแกป้ ญั หาตามแนวทางทีว่ างไว้ เมือ่ ได้วางแผนแล้วก็ดาเนินการแกป้ ัญหา ระหว่างการ ดาเนนิ การแก้ปญั หาอาจทาใหเ้ หน็ แนวทางทด่ี ีกวา่ วิธที ่คี ิดไว้ ก็สามารถนามาปรับเปล่ียนได้ 4) การตรวจสอบ เมือ่ ได้วธิ กี ารแกป้ ญั หาแลว้ จาเป็นต้องตรวจสอบว่า วิธกี ารแกป้ ัญหาได้ผลลัพธถ์ กู ต้อง หรือไม่

การแก้ปัญหาประกอบดว้ ย 4 ขนั้ ตอน ตัวอยา่ งที่ 1 การวางแผนทาบะหมนี่ ้าโดยใชบ้ ะหมก่ี ึ่งสาเรจ็ รูป โดยสามารถจาลองความคดิ เปน็ ข้อความไดด้ งั นี้ 1) การวิเคราะหแ์ ละ 2) การวางแผนในการ 3) การดาเนินการ 4) การตรวจสอบ กาหนดรายละเอียด แกป้ ัญหา แก้ปัญหาตามแนวทาง ของปัญหา ทีว่ างไว้ 1.1 การระบขุ อ้ มูลเขา้ คอื • 1) เริม่ ต้น • ปฏิบตั ิตามข้ันตอนในข้อ • บะหมน่ี า้ ที่ต้มสกุ บะหมี่กงึ่ สาเรจ็ รูป • 2) ต้มน้าใหเ้ ดือด 2 • 3) ใส่บะหม่ลี งในนา้ เดอื ด • 1.2 การระบขุ อ้ มูลออก คือ • 4) รอ 2 นาที บะหมี่น้า • 5) ใส่เครอ่ื งปรงุ แลว้ ยกหม้อ • 1.3 การกาหนดวิธี ลงจากเตา ประมวลผล คอื การตม้ • 6) จบ

2. อัลกอริทึมเบอ้ื งต้น อัลกอริทึม หมายถึง ขั้นตอนวิธี ท่ีสามารถเข้าใจได้ และมีความยาวจากัดบอกถึงลาดับ หรือ วิธีการในการแก้ปัญหาใดปัญหาหนึ่งอย่างเป็นข้ันเป็นตอนและชัดเจน ว่าทาอย่างไร เมื่อนาเข้าอะไรแล้วจะ ไดผ้ ลลพั ธ์เช่นไร (วิถีมเี ดยี สารานุกรมเสรี) อัลกอริทึม (Algorithm) หมายถึง กระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลาดับหรือวิธีการ ในการแก้ปัญหาใดปัญหาหน่ึงอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนาเข้าอะไรแล้วจะได้ผลลัพธ์เช่นไร ซ่ึง แตกตา่ งจากการแก้ปัญหาแบบสามัญสานกึ หรือฮวิ รสิ ตกิ (Heuristic)

2. อลั กอริทมึ เบอ้ื งตน้ คุณสมบตั ิของอัลกอรทิ มึ 1. มีความถูก 2. ใช้เวลาใน 3. สนั้ กระชับ 4. ใช้เนอื้ ทใี่ น 5. มีความ 6. ใชเ้ วลาใน 7. ง่ายต่อการ ตอ้ ง การปฏิบตั งิ าน มเี ฉพาะ หนว่ ยความจา ยดื หยนุ่ ในการ การพฒั นา ทาความ ขัน้ ตอนท่ี น้อยทส่ี ดุ เข้าใจ นอ้ ยท่ีสุด นอ้ ยท่สี ดุ ใช้งาน จาเปน็ เท่าน้นั

2. อลั กอริทมึ เบ้อื งตน้ ในการเขียนอัลกอริทึม มีเคร่อื งมอื ช่วยในการเขียนที่นิยมใช้ 3 แบบ คอื 1. บรรยาย (narrative 2. ผังงาน (flowchart) 3. รหสั เทยี ม (pseudo description) code)

3. การเขียนอัลกอริทึมดว้ ยภาษาธรรมชาติ การบรรยายขน้ั ตอนการทางานของอัลกอรทิ ึมใด ๆ โดยใช้ภาษามนุษย์เพอื่ อธิบายถงึ ลาดบั ขัน้ ตอนการทางาน ตามลาดบั การทางานกอ่ นหลงั ตวั อย่าง การอธิบายการการคานวณหาพน้ื ท่สี ่ีเหลี่ยม และแสดงผลลพั ธ์การคานวณ ดว้ ยการใช้ภาษาธรรมชาติ สตู รการคานวณหาพ้นื ท่ีสีเ่ หล่ยี ม พน้ื ที่สเี่ หลีย่ ม = ความกวา้ ง x ความยาว เรม่ิ ต้นการ นาเข้าขอ้ มูล นาเขา้ ข้อมูล คานวณพ้ืนที่ แสดงผลพื้นที่ จบการทางาน ทางาน ความกวา้ ง ความยาวของ ส่เี หลี่ยม ส่ีเหล่ยี ม ของส่เี หลย่ี ม สีเ่ หล่ียม ความกวา้ ง x ความยาว

4. การเขียนอัลกอรทิ มึ ด้วยรหัสจาลอง เป็นคาส่งั ที่จาลองความคดิ เป็นลาดับข้ันตอนโดยใช้สญั ลกั ษณ์เปน็ ประโยคภาษาอังกฤษ ตวั อยา่ งประโยคภาษาองั กฤษเขียน จาลองคาสง่ั เชน่ Input a number : ใส่ข้อมลู นาเข้าเปน็ คา่ ตัวเลข Find the sum of the number : คานวณรวมค่าตัว เลขท่นี าเขา้ ตวั อย่าง การอธบิ ายการการคานวณหาพนื้ ท่สี ่ีเหลย่ี ม และแสดงผลลพั ธ์การคานวณ ดว้ ยการใชร้ หัสจาลอง รหสั จาลอง สูตรการคานวณหาพืน้ ทสี่ ่เี หลีย่ ม พน้ื ทีส่ ีเ่ หล่ียม = ความกวา้ ง x ความยาว INPUT width INPUT length START COMPLETE area OUTPUT area STOP = width x length ภาษาธรรมชาติ นาเข้าข้อมูล คานวณพนื้ ท่สี ี่เหล่ยี ม แสดงผล จบการทางาน ความยาวของส่ีเหลย่ี ม ความกวา้ ง x ความยาว พ้นื ที่สี่เหลี่ยม เริ่มตน้ นาเขา้ ข้อมลู การทางาน ความกวา้ งของส่เี หลีย่ ม

5. การเขยี นอลั กอริทมึ ด้วยผงั งาน หลักการเขยี นอลั กอริทึมดว้ ยผงั งานจะอา้ งองิ จากกระบวนการทางคอมพวิ เตอร์ 3 กระบวนการ ไดแ้ ก่ การรบั ข้อมูล การประมวลผล การแสดงผลลพั ธ์ (input) (process) (output)

โดยการการเขียนอลั กอรทิ ึมด้วยผงั งาน จะนิยมใช้สัญลักษณใ์ นการเขียนผงั งาน ซึง่ แตล่ ะสัญลักษณจ์ ะมคี วามหมายดงั นี้ ภาพ ความหมาย ภาพ ความหมาย สัญลักษณ์ สญั ลักษณ์ เร่มิ ต้น/ส้ินสดุ การทางาน แสดงผลทางหนา้ จอ รับข้อมูล/ การกาหนดค่า แสดงผลโดยไมก่ าหนดอปุ กรณ์ หรอื การประมวลผล รับข้อมูลทางแปน้ พิมพ์ predefined process หรือโปรแกรมย่อย ทางเลอื กเง่ือนไข ทิศทางการทางาน แสดงผลทาง เครอ่ื งพมิ พ์

ประโยชนข์ องผงั งาน ทาให้เขา้ ใจ แสดงลาดับ หา ทาความ ไม่ขน้ึ กบั และแยกแยะ การทางาน ข้อผดิ พลาด เขา้ ใจ ภาษาใด ปญั หาได้ง่าย โปรแกรมได้ ภาษาหน่งึ ได้งา่ ย งา่ ย


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook