แนวคิดเชิงนามธรรม (abstract thinking หรือ abstraction) เป็นองค์ประกอบหนึ่งของแนวคิดเชิงคำนวณ (computational thinking) ซึ่งใช้กระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียด ปลีกย่อยในปัญหา หรืองานที่กำลังพิจารณา เพื่อให้ได้ข้อมูลที่จำเป็นและเพียงพอต่อการแก้ปัญหา ในส่วนของรายละเอียดที่ไม่สำคัญ จะต้องตัดออกไป เพื่อให้ได้ข้อมูลที่ตรงและสามารถนำมาใช้ในการแก้ปัญหาได้อย่างตรงจุด
แนวคิดเชิงนามธรรม
แนวคิดเชิงนามธรรม (abstract thinking หรือ abstraction) เป็นองค์ประกอบหนึ่งของแนวคิดเชิงคำนวณ (computational thinking) ใช้กระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดปลีกย่อยในปัญหา หรืองานที่กำลังพิจาณา เพื่อให้ได้ข้อมูลที่จำเป็นและเพียงพอในการแก้ปัญหา
วิธีการใช้แนวคิดเชิงนามธรรม
1. พิจารณาข้อมูลทั้งหมดที่ได้
2. คัดเลือกข้อมูลที่จำเป็นต่อการแก้ปัญหาออกจากข้อมูลที่ไม่จำเป็น
3. นำข้อมูลที่จำเป็น ไปแก้ไขปัญหา
บางตำราก็บอกว่า การคิดเชิงนามธรรม คือความสามารถในการคิดต่อไปนี้
การคัดเลือกรายละเอียดที่จำเป็นต่อการแก้ปัญหา
สรุปรูปแบบจากสถานการณ์ต่างๆ
การเปรียบเทียบสิ่งต่างๆ และบอกคุณสมบัติที่สิ่งเหล่านั้นมีเหมือนกัน
การเชื่อมโยงข้อมูล เช่น ความเข้าใจในความสัมพันธ์ของเหตุการณ์ต่างๆ
เข้าใจความหมายที่ซ่อนอยู่ภายใต้ข้อความ เหตุการณ์และสถานการณ์
นอกจากนี้เรายังสามารถกล่าวได้อีกว่า การคิดเชิงนามธรรม (Abstract Thinking) ก็คือด้านตรงกันข้ามของการคิดเชิงรูปธรรม (Concrete Thinking) นั่นเอง ยกตัวอย่างเช่น มีคน 2 คน มองดูภูเขาลูกเดียวกัน
การคิดเชิงรูปธรรม (Concrete Thinking) การคิดเชิงนามธรรม (Abstract Thinking)
คนที่ 1 กล่าวว่า “ดูภูเขาลูกนั้นสิ ต้นไม้เขียวขจี ขึ้นเต็มไปหมดเลย” คนที่ 2 กล่าวว่า “ต้นไม้เหล่านั้นจะช่วยให้สิ่งมีชีวิตต่างๆ ได้อาศัย”
แม้คนทั้งสองจะมองคนละอย่าง แต่ทั้งสองความคิดก็มีพื้นฐานของความคิดและมีคุณค่าไม่แตกต่างกัน ทั้งที่เป็นรูปธรรมและนามธรรม บางคนอาจคิดแบบนามธรรมเก่งกว่า แต่บางคนก็อาจคิดแบบรูปธรรมเก่งกว่า แต่เมื่อเราเผชิญกับปัญหาใหม่ๆ สิ่งที่เราใช้แก้ปัญหาคือการคิดเชิงนามธรรม เพราะการคิดเชิงนามธรรม จะช่วยให้เราประยุกต์ใช้ความรู้ในการแก้ปัญหาใหม่ๆ ที่เราไม่เคยเจอมาก่อนได้
คุณสมบัติของคนที่เป็นนักคิดเชิงนามธรรม
คุณคิดว่าทุกสิ่งทุกอย่างมีความเกี่ยวข้องกันเป็นภาพใหญ่
คุณไม่เพียงแค่ถามว่าอย่างไร แต่คุณมักถามว่าทำไม
คุณมองหาความหมายและรูปแบบที่ลึกซึ้งยิ่งขึ้น
คุณพยายามที่จะเข้าใจทุกสิ่งทุกอย่างว่ามันเกี่ยวข้องกันอย่างไร
สรุป แนวคิดเชิงนามธรรม คือกระบวนการตัดสินใจเลือกข้อมูลที่สำคัญจริงๆ และเพียงพอ สำหรับการแก้ไขปัญหา เรียกสั้นว่า ขอเนื้อๆเน้นๆ นั่นเองครับ ^^
อัลกอริทึม
อัลกอริทึม (Algorithm) คือ กระบวนการในการทำงานที่ใช้การตัดสินใจด้วยหลักเหตุผล
เป็นตัวช่วยในการเลือกวิธีการ หรือขั้นตอนการดำเนินงานถึงขั้นตอนสุดท้าย เป็นวิธีที่ใช้การแยกย่อยและเรียงลำดับขั้นตอนของกระบวนการในการทำงานต่างๆ เพื่อเพิ่มประสิทธิภาพในการค้นหา และแก้ไขปัญหา เป็นกระบวนการแก้ปํญหาที่สามารถเข้าใจได้ มีลำดับและวิธีการในการแก้ปัญหาอย่างเป็นขั้นตอนและชัดเจน ในการเขียนอัลกอริทึม *** Algorithm ไม่ใช่คำตอบแต่เป็นชุดคำสั่งที่จะทำให้ได้คำตอบ วิธีการในการอธิบาย Algorithm มี 3 รูปแบบ ได้แก่
1. Natural Language อธิบายแบบใช้ภาษาธรรมชาติ หรือภาษาที่เราสื่อสารกันทั่วไป
2.Pseudocode อธิบายด้วยรหัสจำลองหรือรหัสเทียม
3.Flowchart อธิบายด้วยแผนผัง
การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ
ภาษาธรรมชาติ (natural language) คือ รูปแบบภาษาที่มนุษย์เข้าใจ หรือเป็นภาษามนุษย์ที่ใช้สื่อสารกันมีรูปแบบภาษาที่ไม่แน่นอนตายตัวและเป็นไปตามธรรมชาติของมนุษย์ตามเชื้อชาติ เช่น ภาษาไทย ภาษาอังกฤษ ภาษาจีน เป็นต้น
การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ
การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ คือ การบรรยายขั้นตอนการทำงานของอัลกอริทึมใด ๆ โดยใช้ภาษามนุษย์เพื่ออธิบายถึงลำดับขั้นตอนการทำงานของอัลกอริทึมตามลำดับการทำงานก่อนหลัง
ตัวอย่าง การอธิบายการคำนวณหาพื้นที่สี่เหลี่ยม และแสดงผลลัพธ์การคำนวณ ด้วยการใช้ภาษาธรรมชาติ
สูตรการคำนวณหาพื้นที่สี่เหลี่ยม
พื้นที่สี่เหลี่ยม = ความกว้าง × ความยาว
Area of a Rectangle = width x length
1. เริ่มต้นการทำงาน
2. นำเข้าข้อมูล ความกว้างของสี่เหลี่ยม
3. นำเข้าข้อมูล ความยาวของสี่เหลี่ยม
4. คำนวณ พื้นที่สี่เหลี่ยม = ความกว้าง × ความยาว
5. แสดงผล พื้นที่สี่เหลี่ยม
6. จบการทำงาน
การเขียนอัลกอริทึมด้วยรหัสจำลองหรือรหัสเทียม
รหัสจำลอง (Pseudo Code)
รหัสจำลอง คือ รูปแบบภาษาที่มีโครงสร้างที่ชัดเจน กระชับ เพื่อใช้อธิบายขั้นตอนการทำงานของอัลกอริทึมใด ๆ โดยไม ่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง และสามารถแปลงรหัสจำลองเป็นภาษาคอมพิวเตอร์ได้ง่าย โดยรหัสจำลองสามารถใช้รูปแบบคำสั่งที่เป็นภาษาอังกฤษหรือภาษาไทยก็ได้ อีกทั้งสามารถใช้คำสั่งเฉพาะที่มีอยู่ในภาษาโปรแกรมคอมพิวเตอร์มาช ่วยในการเขียนรหัสจำลองได้ ดังนั้น รหัสจำลองจึงคล้ายคลึงกับการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ จึงเป็นเครื่องมือที่นิยมใช้ในการอธิบายขั้นตอนอัลกอริทึมของโปรแกรมคอมพิวเตอร์ด้วยรหัสจําลอง
การเขียนอัลกอริทึมด้วยรหัสจำลอง
เป็นคำสั่งที่จำลองความคิดเป็นลำดับขั้นตอนโดยใช้สัญลักษณ์เป็นประโยคภาษาอังกฤษ รหัสจำลองไม่ใช่ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่สามารถนำไปประมวลผลได้ และไม่สามารถสั่งให้คอมพิวเตอร์ทำงานตามคำสั่ง แต่เป็นการเขียนจำลองคำสั่งจริงแบบย่อตามอัลกอริทึมของโปรแกรมระบบ เพื่อนนำไปพัฒนาเป็นการเขียนโปรแกรมภาษาคอมพิวเตอร์ได้
ตัวอย่างประโยคภาษาอังกฤษเขียนจำลองคำสั่ง
Input a number : ใส่ข้อมูลนำเข้าเป็นค่าตัวเลข
Find the sum of the number : คำนวณรวมค่าตัวเลขที่นำเข้า
Print the sum : แสดงผลรวมของข้อมูลทั้งหมด
หลักเกณฑ์การเขียนรหัสจําลอง
1. ควรใช้คำสั่งเป็นรูปแบบภาษาที่สั้น กระชับ และเข้าใจง่าย เช่น
start หมายถึง การเริ่มต้นการทำงาน
stop หมายถึง การจบการทำงาน
2. ควรมีหมายเลขลำดับขั้นตอนชัดเจน
3. ไม่จำเป็นต้องมีเครื่องหมายวรรคตอน
4. รหัสจำลองต้องไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง
5. ในหนึ่งบรรทัดให้มีคำสั่งเพียงคำสั่งเดียว
6. ในการเขียนคำสั่งให้เรียงจากบนลงล่าง และมีจุดสิ้นสุดเพียงจุดเดียว
ตัวอย่าง การอธิบายการคำนวณหาพื้นที่สี่เหลี่ยม และแสดงผลลัพธ์การคำนวณ ด้วยการใช้รหัสจำลอง
สูตรการคำนวณหาพื้นที่สี่เหลี่ยม
พื้นที่สี่เหลี่ยม = ความกว้าง × ความยาว
Area of a Rectangle = width x length
ประโยชน์ของรหัสจำลอง
เป็นเครื่องมือในการกำหนดโครงร่างกระบวนการทำงานของการเขียนโปรแกรมแต่ละโปรแกรม
เป็นต้นแบบในการทบทวน ปรับปรุงแก้ไข และพัฒนาโปรแกรมของโปรแกรมเมอร์ และนักวิเคราะห์ระบบ
เป็นตัวกำหนดงานเขียนโปรแกรม เพื่อให้โปรแกรมเมอร์นำไปพัมนา เพื่อสั่งให้คอมพิวเตอร์ทำงานตามกระบวนการที่ได้จำลองกระบวนการจริงไว้ในรหัสจำลอง
การเขียนอัลกอริทึมด้วยผังงาน (flowchart)
ผังงาน (flowchart)
คือ การใช้ภาพสัญลักษณ์เพื่อแสดงลำดับขั้นตอนการทำงานของอัลกอริทึม หรือการทำงานต่าง ๆ ตั้งแต่เริ่มต้นจนจบการทำงานให้ได้ผลลัพธ์ที่ต้องการในการเขียนโปรแกรมคอมพิวเตอร์สามารถใช้ผังงานเพื่อช่วยลำดับแนวความคิดในการเขียนโปรแกรม เรียกว่า ผังงานโปรแกรม (program flowchart) ซึ่งเป็นวิธีที่นิยมใช้เพราะทำให้เข้าใจการทำงานของโปรแกรมได้ง่ายกว่าการอธิบายด้วยข้อความ เมื่อมีข้อผิดพลาดจะสามารถดูจากผังงานทำให้การแก้ไขหรือปรับปรุงโปรแกรมทำได้ง่ายขึ้น ซึ่งสัญลักษณ์ที่ใช้ในการเขียนผังงานบางส่วน มีดังนี้
รูปแบบการเขียนผังงาน
การเขียนผังงานจะเขียนในลักษณะบนลงล่าง (Top-Down) หรือซ้ายไปขวา โดยมีรูปแบบการเขียนผังงาน 3 ลักษณะ ดังนี้
1. เรียงลำดับ (sequence) คือ การเขียนผังงานแบบเรียงลำดับจากบนลงล่าง หรือจากซ้ายไปขวา เป็นรูปแบบที่ง่ายที่สุด เนื่องจากมีการทำงานที่เรียงลำดับไปทีละลำดับ โดยไม่มีทางเลือกหรือการทำซ้ำใด ๆ
2. เลือกกระทำ/เงื่อนไข (decision/selection) คือ การเขียนผังงานในลักษณะการนำข้อมูลไปเปรียบเทียบเพื่อเลือกกระทำ หากเปรียบเทียบแล้วข้อมูลเป็นจริงจะกระทำกระบวนการหนึ่ง หากเป็นเท็จจะกระทำกระบวนการหนึ่ง แต่หากการเปรียบเทียบหรือเงื่อนไขมีความซับซ้อน จำเป็นต้องใช้เงื่อนไขหลายชั้นเพื่อให้ครอบคลุมการเปรียบเทียบ
3. ทำซ่ำ (loop) คือ การเขียนผังงานในลักษณะที่มีการทำกระบวนการซ้ำหลายครั้งขึ้นอยู่กับเงื่อนไขที่กำหนด
การเขียนอัลกอริทึมด้วยผังงาน
หลักการเขียนผังงานจะอ้างอิงจากกระบวนการทางคอมพิวเตอร์ 3 กระบวนการ ได้แก่ การรับข้อมูล (input) การประมวลผล (process) และการแสดงผลลัพธ์ (output) โดยการเขียนผังงานที่ดีควรมีหลักการเขียน ดังนี้
การใช้สัญษณ์ที่เป็นมาตรฐานสากล
เขียนทิศทางการทำงานจากบนลงล่าง หรือซ้ายไปขวา โดยมีหัวลูกศรกำหนดทิศทาง
จุดเริ่มต้นและสิ้นสุดควรมีเพียงจุดเดียว
การเขียนคำอธิบายควรเขียนภายในภาพสัญลักษณ์ โดยใช้ข้อความที่กระชับ ชัดเจน และเข้าใจง่าย
ประโยชน์ของผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (problem define)
2. แสดงลำดับการทำงาน (step flowing)
3. หาข้อผิดพลาดได้ง่าย (easy to debug)
4. ทำความเข้าใจโปรแกรมได้ง่าย (easy to read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (flexible language)
ตัวอย่าง การอธิบายการคำนวณหาพื้นที่สี่เหลี่ยม และแสดงผลลัพธ์การคำนวณ ด้วยการใช้ผังงาน
สูตรการคำนวณหาพื้นที่สี่เหลี่ยม
พื้นที่สี่เหลี่ยม = ความกว้าง × ความยาว
Area of a Rectangle = width x length
การเขียนอัลกอริทึมด้วยผังงาน
ขอบคุณที่มา : ห้องเรียนครูปรีชา