จุดประสงค์ (เมื่อเรียนจบ นักเรียนสามารถ)
อธิบายขั้นตอนการแก้ปัญหา
วางแผนการแก้ปัญหาโดยใช้รหัสลำลองและผังงาน
แก้ปัญหาตามขั้นตอนการแก้ปัญหา
นักเรียนทราบหรือไม่ว่าทุกคนสามารถเขียนโปรแกรมได้ เนื่องจากพื้นฐานการเขียนโปรแกรม คือการคิดแก้ปัญหาอย่างเป็นขั้นตอน และเป็นระบบ ซึ่งนักเรียนต้องเคยฝึกฝนวิธีการแก้ปัญหาต่างๆ ในชีวิตจริงมาแล้วทั้งสิ้น ในบทนี้จะกล่าวถึงขั้นตอน และเครื่องมือสำหรับการแก้ปัญหาในชีวิตประจำวันและปัญหาที่ใช้การคำนวณเป็นพื้นฐานเพื่อนำไปสู่การเขียนโปรแกรมในบทถัดไป
การแก้ปัญหา ประกอบด้วย 4 ขั้นตอน ดังนี้
1.การวิเคราะห์และกำหนดรายละเอียดของปัญหา เป็นการทำความเข้าใจเกี่ยวกับรายละเอียดเงื่อนไข ข้อกำหนด รวมถึงข้อจำกัดต่าง ๆ ของปัญหา ข้อมูลที่จำเป็นในการแก้ปัญหา ตรวจสอบว่ามีข้อมูลเพียงพอหรือไม่ จะหาข้อมูลเพิ่มเติมให้ครบถ้วนต่อการใช้แก้ปัญหาได้อย่างไร ข้อมูลผลลัพธ์ที่ได้คืออะไร และจะตรวจสอบความถูกต้องผลลัพธ์ที่ได้อย่างไร
2. การวางแผนการแก้ปัญหา เป็นการคิดค้นกระบวนการต่าง ๆ ที่เป็นขั้นตอน ตั้งแต่เริ่มต้นจนกระทั่งได้ผลลัพธ์ที่ต้องการ อาจเลือกใช้รหัสลำลอง หรือผังงาน โดยวิธีการแก้ปัญหาที่ได้เรียกว่า ขั้นตอนวิธีหรืออัลกอริทึม (algorithm) ซึ่งเป็นลำดับขั้นตอนในการแก้ปัญหา
3.การดำเนินแก้ปัญหา เป็นการปฏิบัติ หรือพัฒนาโปรแกรมเพื่อแก้ปัญหา โดยใช้ภาษาโปรแกรมช่วยในการดำเนินการ
4. การตรวจสอบและประเมินผล เป็นการตรวจสอบผลลัพธ์ที่ได้ หากผลลัพธ์ที่ได้ไม่ถูกต้อง ต้องย้อนกลับไปทำซ้ำตั้งแต่ขั้นตอนแรกจนกว่าจะได้ผลที่ถูกต้อง
รหัสลำลอง เป็นการใช้คำบรรยายขั้นตอนในการแก้ปัญหา หรือการทำงานของโปรแกรม อาจเขียนเป็นภาษาพูด ทำให้เขียนง่ายไม่ต้องกังวลรูปแบบ ตัวอย่าง รหัสลำลองคำนวนหาพื้นที่สามเหลี่ยม
เริ่มต้น
1.รับค่าความยาวฐาน
2. รับค่าความสูง
3. คำนวณพื้นที่สามเหลี่ยม จากสูตร พื้นที่ =1/2 x ฐาน x สูง
4. แสดงผลลัพธ์
จบ
ผังงาน เป็นเครื่องมือหนึ่งที่ใช้ในการวางแผนหรือออกแบบการแก้ปัญหาเพื่อให้สามารถนำไปปฏิบัติตาม หรือเขียนโปรแกรมเพื่อสั่ง ให้เครื่องคอมพิวเตอร์ทำงานได้ง่าย สถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute : ANSI) ได้กำหนดสัญลักษณ์ที่เป็นมาตรฐานในการเขียนผังงานไว้ ซึ่งในที่นี้แนะนำการใช้งาน 5 สัญลักษณ์ สัญลักษณ์ขึ้นพื้นฐาน
ตัวอย่างผังงาน หาพื้นที่สามเหลี่ยม
การกำหนดค่าอย่างใดอย่างหนึ่งให้กับตัวแปรสามารถทำได้ 3 วิธีคือ
> การรับค่าจากภายนอก
> การกำหนดค่าจากค่าคงที่หรือตัวแปรอื่น
> การกำหนดค่าจากการคำนวณ
การตั้งชื่อตัวแปร ควรให้เหมาะสมกับค่าที่เก็บ เช่น name เก็บชื่อข้มูลชื่อ age เก็บข้อมูลอายุ
ตัวอย่าง รหัหลำลองและผังงานที่มีการใช้ตัวแปร
ภาษาโปรแกรมคอมพิวเตอร์ มีวิวัฒนาการมายาวนาน นับตั้งแต่การสั่งงานคอมพิวเตอร์ด้วยภาษาเครื่องที่ประกอบด้วยเลข 0 และ 1 ในยุคเริ่มต้นของคอมพิวเตอร์ซึ่งเป็น อุปสรรคต่อการเขียนโปรแกรมขนาดใหญ่ เนื่องด้วยความยากของการเขียนคอมพิวเตอร์ จนมาถึงปัจจุบันที่ภาษาโปรแกรมคอมพิวเตอร์มีความคล้ายคลึง กับภาษาอังกฤษทำให้การเขียนโปรแกรมขนาดใหญ่ทำได้รวดเร็วและมีความผิดพลาดน้อยลง แต่เนื่องจากคอมพิวเตอร์ยังคงต้องทำงานตามคำสั่งภาษาเครื่อง เมื่อเราเขียนโปรแกรมแล้วจึงต้องมีการแปลให้เป็นภาษาเครื่องก่อน
ตัวแปลภาษาโปรแกรมมี 2 ประเภทคือ
1 คอมไพเลอร์ (compiler) จะแปลโปรแกรมทั้งโปรแกรมให้ถูกต้อง จึงจะได้ผลเป็นโปรแกรมภาษาเครื่องที่นำไปส่งงานคอมพิวเตอร์ได้ภาษาที่ต้องแปลด้วยคอมพิวเตอร์ เช่น C , C++, Java
2. อินเทอร์พรีเตอร์ (interpreter) จะแปลคำสั่งในโปรแกรมที่ทีละคำสั่งให้เป็นภาษาเครื่องส่งให้คอมพิวเตอร์ทำงานทันที โดยไม่ต้องรอให้แปลเสร็จทั้งโปรแกรม เช่น Python Logo
ปัจจุบันยังมีภาษาอีกกลุ่มหนึ่ง ที่ไม่ได้ใช้ในการสั่งงานคอมพิวเตอร์โดยตรง แต่ใช้ในการกำหนดรูปแบบการแสดงผล หรือรูปแบบการเก็บข้อมูล เพื่อให้เป็นมาตรฐานสำหรับแอพพลิเคชั่นต่าง ๆ ใช้งานข้อมูลร่วมกันได้ เช่น ภาษาเอชทีเอ็มแอล (Hyper Text Markup Up Language : HTML) ที่ใช้ในการกำหนดรูปแบบการแสดงผลของหน้าเว็บ หรือเอกซ์เอ็มแอล (Extensible Markup Language : XML) ที่ใช้เป็นมาตรฐานในการเก็บข้อมูล
นอกจากภาษาโปรแกรมมาตรฐานที่ใช้ในการทำงานเหล่านี้แล้ว ยังมีการพัฒนาเครื่องมือการโปรแกรมที่อยู่ในรูปแบบกราฟิก เพื่อใช้ในการเริ่มต้นศึกษาแนวคิดการโปรแกรม เช่น Scratch และ Alice โดยเครื่องมือเหล่านี้จะมีบล็อกคำสั่งต่าง ๆ ให้นักเรียนลากวางประกอบกันเป็นโปรแกรม แล้วสั่งให้ทำงานได้ อาจมีการเชื่อมต่อกับอุปกรณ์รับสัญญาณอื่น หรือสั่งงานให้อุปกรณ์ไฟฟ้าอื่น ปฏิบัติตามคำสั่งได้ ส่วนใหญ่แล้วเครื่องมือเหล่านี้จะนิยมใช้เพื่อการเรียนรู้แนวคิดการโปรแกรม