งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ใบความรู้ (Information Sheet)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ใบความรู้ (Information Sheet)"— ใบสำเนางานนำเสนอ:

1 ใบความรู้ (Information Sheet)
หน่วยการเรียนที่ 3 เรื่อง ขั้นตอนการแก้ไขปัญหา (Algorithm) ปัญหาคืออุปสรรคในการดำเนินชีวิตประจำวัน โดยแต่ละบุคคลจะมีกระบวนการในการแก้ไขปัญหาที่แตกต่างกัน โดยผ่านกระบวนการคิดและปฏิบัติอย่างมีระบบ ผลที่ได้จากการฝึกจะช่วยให้สามารถตัดสินใจแก้ปัญหาต่างๆ ด้วยวิธีการคิดอย่างสมเหตุสมผล โดยใช้ความรู้ทางทักษะ กระบวนการ ทำความเข้าใจปัญหานั้นๆ มาประกอบกันเพื่อเป็นข้อมูลในการแก้ปัญหา โดยเราสามารถกำหนดแนวทางกระบวนการแก้ปัญหาในชีวิตประจำวันได้ดังนี้

2 ภาพที่ 3. 1 อุปสรรคในการดำเนินชีวิตประจำวัน ที่มา : http://blog
ภาพที่ 3.1 อุปสรรคในการดำเนินชีวิตประจำวัน ที่มา :

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

4 ประสบการณ์เดิมได้คือ การมองดูสิ่งที่ต้องหา แล้วพยายามเลือกปัญหาเดิมที่มีลักษณะคล้ายคลึงกัน เมื่อเลือกได้แล้วก็เท่ากับมีแนวทางว่าจะใช้ความรู้ใดในการหาคำตอบ โดยพิจารณาว่าวิธีการแก้ปัญหาเดิมนั้นมีความเหมาะสมกับปัญหาหรือไม่ หรือต้องมีการปรับปรุงเพื่อให้ได้วิธีการแก้ปัญหาที่ดีขึ้นในกรณีที่ไม่เคยมีประสบการณ์ในการแก้ปัญหาทำนองเดียวกันมาก่อน ควรเริ่มจากการมองดูสิ่งที่ต้องการหาแล้วพยายามหาวิธีการเพื่อให้ได้ความสัมพันธ์ระหว่างสิ่งที่ต้องการหากับข้อมูลที่มีอยู่ เมื่อได้ความสัมพันธ์แล้วควรพิจารณาว่าความสัมพันธ์นั้นสามารถหาคำตอบได้หรือไม่ ถ้าไม่ได้ก็แสดงว่าจะต้องหาข้อมูลเพิ่มเติม หรืออาจจะต้องหาความสัมพันธ์ในรูปแบบอื่นต่อไป เมื่อได้แนวทางในการแก้ปัญหาแล้ว จึงวางแผนในการแก้ปัญหาอย่างเป็นขั้นตอน Your Text Here Contents

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

6 ในการแก้ไขปัญหานั้น บางครั้งอาจจะมีความสลับซับซ้อนจนยากที่เราจะสามารถแก้ไขปัญหาได้เองการพัฒนาโปรแกรมคอมพิวเตอร์ก็เช่นกันจึงต้องมีตัวช่วยในการแก้ไขปัญหา ซึ่งกระบวนการแก้ไขปัญหานั้นยังมีความจำเป็นที่ต้องเข้าใจหลักการทำงานของคอมพิวเตอร์และกระบวนการในการเขียนโปรแกรมเป็นอย่างดีโดยมีแนวทางแก้ไขปัญหาการเขียนโปรแกรมดังนี้ 1.ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์ การพัฒนาโปรแกรมคอมพิวเตอร์หรือแอพพลิเคชั่นในรูปแบบต่างๆ ในปัจจุบัน ด้วยภาษาระดับสูงที่มีขั้นตอนการทำงานที่สลับซับซ้อน โดยผู้เขียนโปรแกรมต้องมีความเข้าใจ ขั้นตอนการทำงานปัญหาของระบบ วิเคราะห์ความต้องการของผู้ใช้งาน เพื่อนำมาออกแบบการทำงาน ไม่ว่าจะเป็นการรับข้อมูลผ่านอินพุต การประมวลผลข้อมูล และการแสดงผลลัพธ์ ที่ต้องการในการเขียนโปรแกรม ให้ตอบสนองความต้องการของผู้ใช้งานโปรแกรม ผู้พัฒนาโปรแกรมจึงมีความเข้าใจในกระบวนการออกแบบโปรแกรม

7 คอมพิวเตอร์ เพื่อลดปัญหาที่จะเกิดจากการเขียนโค๊ดโปรแกรมที่มีความสลับซับซ้อนให้กระบวนการพัฒนาโปรแกรมเป็นไปอย่างมีระบบ โดยขั้นตอนในการพัฒนาโปรแกรมประกอบ 6 ขั้นตอนดังนี้ 1.1 การวิเคราะห์ปัญหา (Problem Analysis) คือกระบวนการกำหนดปัญหาวิเคราะห์ความต้องการของผู้ใช้งาน จากข้อมูลที่นำเข้ามา ผลลัพธ์ที่ต้องการ และนำสิ่งที่ได้มาพัฒนากระบวนการทำงานและการแก้ไขปัญหาของโปรแกรมโดยพิจารณาจากข้อมูลพื้นฐานจริง โดยกระบวนการวิเคราะห์ปัญหา ประกอบด้วยขั้นตอนต่างๆ ดังนี้ 1.1.1 กำหนดวัตถุประสงค์ของงาน เพื่อพิจารณาว่าโปรแกรมต้องทำการประมวลผลอะไรบ้าง 1.1.2 พิจารณาข้อมูลนำเข้า เพื่อให้ทราบว่าจะต้องนำข้อมูลอะไรเข้าคอมพิวเตอร์ ข้อมูลมีคุณสมบัติเป็นอย่างไร ตลอดจนถึงลักษณะและรูปแบบของข้อมูลที่จะนำเข้า

8 ภาพที่ 3.2 ขั้นตอนการวิเคราะห์ปัญหา ที่มา : อิทธิพล สุขเติม, 2560
พิจารณาการประมวลผล เพื่อให้ทราบว่าโปรแกรมมีขั้นตอนการประมวลผลอย่างไรและมีเงื่อนไปการประมวลผลอะไรบ้าง พิจารณาข้อมูลนำออก เพื่อให้ทราบว่ามีข้อมูลอะไรบ้างที่จะแสดง ตลอดจนรูปแบบและสื่อที่จะใช้ในการแสดงผล กำหนดวัตถุประสงค์ของงาน ภาพที่ 3.2 ขั้นตอนการวิเคราะห์ปัญหา ที่มา : อิทธิพล สุขเติม, 2560

9 1.2 การออกแบบโปรแกรม (Design) กระบวนการออกแบบโปรแกรมจะเป็นการกำหนดแนวทางในการพัฒนาโปรแกรมโดยการออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้ จะเป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยออกแบบ เช่น คำสั่งจำลอง (Pseudo code) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น ผู้พัฒนาโปรแกรมสามารถเลือกใช้เครื่องมือมาช่วยในการออกแบบ เพื่อให้ลดข้อผิดพลาดและช่วยในการกำหนดเป้าหมายของงานได้ถูกต้องยิ่งขึ้น ดังนี้ 1.2.1 อัลกอริทึม (Algorithm) กระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการ ในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจนเมื่อนำเข้าอะไรแล้วจะต้องได้ผลลัพธ์เช่นไร โดยขั้นตอนจะประกอบด้วยวิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

10 1.2.2 ผังงาน (Flowchart) หมายถึง รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพื่อการนำเสนอขั้นตอนของงานให้เข้าใจตรงกันระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่าเมื่อใช้รูปภาพหรือสัญลักษณ์ รหัสจำลอง (Pseudo code) คือ รหัสจำลองที่ใช้เป็นตัวแทนของอัลกอริทึมโดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งที่การแสดงขั้นตอนวิธีการที่ใช้ภาษาเขียนที่เข้าใจได้ง่ายอาจใช้ภาษาไทยหรือภาษาอังกฤษก็ได้ขึ้นอยู่กับความสะดวกของผู้เขียนและกิจกรรมที่จะนำเสนอมักใช้รูปแบบคล้ายประโยคภาษาอังกฤษเพื่ออธิบายรายละเอียดของอัลกอริทึม ดังนั้นรหัสจำลองจึงเป็นเครื่องมืออีกแบบที่นิยมนำมาใช้อธิบายการออกแบบโปรแกรมคอมพิวเตอร์

11 1.3 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ (Programming) การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่างๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดง่ายต่อการตรวจสอบและโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ 1.4 การทดสอบและแก้ไขโปรแกรม (Testing) การทดสอบโปรแกรมเป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษาและผลการทำงานของโปรแกรมนั้นๆ ถ้าพบว่ายังไม่ถูกต้องก็ทำการแก้ไขให้ถูกต้องต่อไป ตามขั้นตอนการทดสอบและแก้ไขโปรแกรม อาจแบ่งได้เป็น 3 ขั้นตอนดังนี้

12 1.4.1 สร้างแฟ้มเก็บโปรแกรมซึ่งส่วนใหญ่นิยมนำโปรแกรมเข้าผ่านทางแป้นพิมพ์โดยใช้โปรแกรมประมวลคำ
1.4.2 ใช้ตัวแปลภาษาคอมพิวเตอร์แปลโปรแกรมที่สร้างขึ้นเป็นภาษาเครื่องโดยระหว่างการแปลจะมีการตรวจสอบความถูกต้องของรูปแบบและกฎเกณฑ์ในการใช้ภาษาถ้าคำสั่งใดมีรูปแบบไม่ถูกต้องก็จะแสดงข้อผิดพลาดออกมาเพื่อให้ผู้เขียนนำไปแก้ไขต่อไปถ้าไม่มีข้อผิดพลาดเราจะได้โปรแกรมภาษา เครื่องที่สามารถให้คอมพิวเตอร์ประมวลผลได้ 1.4.3 ตรวจสอบความถูกต้องของการประมวลผลของโปรแกรม โปรแกรมที่ถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษาแต่อาจให้ผลลัพธ์ของการประมวลผลไม่ถูกต้องก็ได้ ดังนั้นผู้เขียนโปรแกรมจำเป็นต้องตรวจสอบว่าโปรแกรมประมวลผลถูกต้องตามต้องการหรือไม่วิธีการหนึ่ง เช่น สมมติข้อมูลตัวแทนจากข้อมูลจริงนำไปให้โปรแกรมประมวลผลแล้วตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่

13 ถ้าพบว่า ไม่ถูกต้องก็ต้องดำเนินการแก้ไขโปรแกรมต่อไป การสมมติข้อมูลตัวแทนเพื่อการทดสอบเป็นสิ่งที่มีความสำคัญเป็นอย่างมาก ลักษณะของข้อมูลตัวแทนที่ดีควรจะสมมติทั้งข้อมูลที่ถูกต้องและข้อมูลที่ผิดพลาดเพื่อทดสอบว่าโปรแกรมที่พัฒนาขึ้นสามารถครอบคลุมการปฏิบัติงานในเงื่อนไขต่างๆ ได้ครบถ้วนนอกจากนี้อาจตรวจสอบการทำงานของโปรแกรมด้วยการสมมุติตัวเองเป็นคอมพิวเตอร์ที่จะประมวลผลแล้วทำตามคำสั่งทีละคำสั่งของโปรแกรมนั้นๆ วิธีการนี้อาจทำได้ยากถ้าโปรแกรมมีการประมวลผลที่ซับซ้อน 1.5 การทำเอกสารประกอบโปรแกรม (Documentation) การทำเอกสารประกอบโปรแกรมเป็นงานที่สำคัญของการพัฒนาโปรแกรมเอกสารประกอบโปรแกรมช่วยให้ผู้ใช้โปรแกรมเข้าใจวัตถุประสงค์ข้อมูลที่จะต้องใช้กับโปรแกรมตลอดจนผลลัพธ์ที่จะได้จากโปรแกรม การทำโปรแกรมทุกโปรแกรมจึงควรต้องทำเอกสารกำกับเพื่อใช้สำหรับการอ้างอิงเมื่อจะใช้งานโปรแกรมและเมื่อต้องการแก้ไขปรับปรุงโปรแกรมเอกสารประกอบโปรแกรมที่จัดทำควรประกอบด้วยหัวข้อต่อไปนี้

14 1.5.1 วัตถุประสงค์ ประเภทและชนิดของคอมพิวเตอร์และอุปกรณ์ที่ใช้ในโปรแกรม วิธีการใช้โปรแกรม แนวคิดเกี่ยวกับการออกแบบโปรแกรม รายละเอียดโปรแกรม ข้อมูลตัวแทนที่ใช้ทดสอบ ผลลัพธ์ของการทดสอบ 1.6 การบำรุงรักษาโปรแกรม (Maintenance) เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้วและถูกนำมาให้ผู้ใช้ได้ใช้งานในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้างดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้นหรือในการใช้งานโปรแกรมไปนานๆ ผู้ใช้อาจต้องการ

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

16 การกำหนดแนวคิดอย่างมีเหตุผลที่ผู้พัฒนาโปรแกรม (Programmer) หรือนักวิเคราะห์ระบบ(System Analysis) ใช้ในการอธิบายวิธีการทำงานอย่างเป็นขั้นตอนตามลำดับในการที่จะพัฒนาโปรแกรมนั้นๆให้กับผู้ที่สนใจหรือผู้ที่เป็นเจ้าของงาน หรือผู้ที่รับผิดชอบได้ทราบถึงขั้นตอนต่างๆในการเขียนหรือพัฒนาโปรแกรม ในขณะเดียวกันก็สามารถช่วยให้ผู้ที่เป็นเจ้าของงานหรือผู้ที่รับผิดชอบได้ตรวจสอบขั้นตอนต่างๆ ในการทำงานและความถูกต้องในแต่ละขั้นตอนการทำงานโดยผู้ที่เป็นเจ้าของผลงานหรือผู้ที่รับผิดชอบนั้นๆ ไม่จำเป็นต้องมีความรู้เขียนโปรแกรมมาก่อน 2.1 หลักการเขียนอัลกอริทึม การเขียนอัลกอริทึมมีหลายรูปแบบโดยผู้เขียนอัลกอริทึมสามารถใช้อัลกอริทึมหลายรูปแบบประกอบกันในการออกแบบอัลกอริทึมนั้นๆ เพื่อใช้ในการแก้ปัญหาการเขียนโปรแกรมได้โดยมีหลักการเขียนอัลกอริทึมแบ่งเป็น 5 ขั้นตอนดังนี้ การเริ่มต้นกระบวนการจากจุดเริ่มต้นเดียว กำหนดขั้นตอนการทำงานอย่างชัดเจน ลำดับขั้นในการทำงานควรกระชับสั้นชัดเจน การแสดงผลลัพธ์ในแต่ละขั้นตอนควรแสดงผลอย่างต่อเนื่อง การออกแบบอัลกอริทึมที่ดีควรออกแบบให้ครอบคลุมการทำงานในหลาย รูปแบบ

17 ภาพที่ 3.4 อัลกอริทึมแบบลำดับ (Sequential)
2.2 รูปแบบการเขียนอัลกอริทึม (Algorithm)  การเขียนอัลกอริทึมมีหลายรูปแบบโดยสามารถใช้อัลกอริทึมประกอบการออกแบบและพัฒนาโปรแกรมได้หลากหลายเพื่อใช้ในการแก้ไขปัญหา แบบลำดับ (Sequential) ลักษณะการทำงานจะเป็นไปตามลำดับขั้นตอนก่อน - หลัง ต่อเนื่องกันไปตามลำดับ โดยการทำงานแต่ละขั้นตอนต้องทำให้เสร็จก่อน แล้วจึงไปทำขั้นตอนต่อไป ขั้นตอนที่ 1 ขั้นตอนที่ 2 ขั้นตอนที่ 3 ขั้นตอนที่ N ภาพที่ 3.4 อัลกอริทึมแบบลำดับ (Sequential)

18 ตารางที่ 3.1 อัลกอริทึมการต้มบะหมี่กึ่งสำเร็จรูป
อัลกอริทึม การต้มบะหมี่กึ่งสำเร็จรูป 1. ต้มน้ำ 2. ฉีกซอง 3. ใส่ชาม 4. ใส่น้ำร้อน 5. ปิดฝาทิ้งไว้ 3 นาที 6. ปรุงรส 3. เอาบะหมี่ใส่ชาม 5. ปิดฝาทิ้งไว้ 5 นาที 6. ใส่เครื่องปรุงรส 7. ใส่พริกป่น 8. ใส่น้ำตาล 9. ใส่น้ำปลา

19 ภาพที่ 3.5 อัลกอริทึมแบบทางเลือก (Decision)
เริ่มต้น ตรวจสอบ เงื่อนไข คำสั่ง จบการ ทำงาน อัลกอริทึม การสอบ ข้อเขียน 1. คะแนนสอบนักเรียน 2. ตรวจสอบคะแนน (เงื่อนไข) มากกว่า 50 คะแนน สอบผ่าน น้อยกว่า 50 คะแนน สอบไม่ผ่าน 3. ประกาศผลการสอบ ภาพที่ 3.5 อัลกอริทึมแบบทางเลือก (Decision)

20 ภาพที่ 3.6 อัลกอริทึมแบบทำซ้ำ (Repetition)
เริ่มต้น ตรวจสอบ เงื่อนไข คำสั่ง จบการ ทำงาน จ ริง อัลกอริทึม การซื้อส้ม 1. หยิบถุงพลาสติก 2. หยิบส้มมาเลือก โดยเลือก ผลที่มีสีส้ม 3. ตรวจสอบเงื่อนไข (น้อย กว่า 1 กิโลกรัม) จริง เลือกส้มต่อ เท็จ หยุดเลือก 3. จ่ายเงินให้ผู้ขาย ภาพที่ 3.6 อัลกอริทึมแบบทำซ้ำ (Repetition)

21 3. รหัสเทียม (Pseudo Code)
3. รหัสเทียม (Pseudo Code) รหัสเทียม (Pseudo code) เป็นคำสั่งที่จำลองความคิดที่เป็นลำดับขั้นตอนการทำงานของการเขียนโปรแกรมคอมพิวเตอร์โดยใช้สัญลักษณ์เป็นประโยคภาษาอังกฤษ ซึ่งรหัสเทียมหรือซูโดโค้ดนี้ไม่ใช่ภาษาโปรแกรมทางคอมพิวเตอร์จึงไม่สามารถนำไปประมวลผลได้คือ ไม่สามารถสั่งให้คอมพิวเตอร์ทำงานตามคำสั่ง แต่เป็นการเขียนจำลองคำสั่งจริงแบบย่อๆ ตามอัลกอริทึมของโปรแกรมระบบเพื่อนำไปพัฒนาเป็นการเขียนโปรแกรมภาษาคอมพิวเตอร์ได้ การเขียนโปรแกรมในรูปแบบภาษาอังกฤษที่มีขั้นตอนและรูปแบบแน่นอนกะทัดรัดและมองดูคล้ายภาษาระดับสูงที่ใช้กับเครื่องคอมพิวเตอร์ซึ่งไม่เจาะจงภาษาใดภาษาหนึ่ง เพื่อใช้ในการออกแบบโปรแกรมก่อนที่โปรแกรมเมอร์จะทำการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์จริง

22 3. 1 ประโยชน์ของรหัสเทียม (Pseudo code). 3. 1

23 3. 2 วิธีการเขียนรหัสเทียม. 3. 2
3.2 วิธีการเขียนรหัสเทียม ประโยคคำสั่ง (Statement) จะอยู่ในรูปแบบของภาษาอังกฤษ อย่างง่าย ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว ควรใช้ย่อหน้า เพื่อแยกคำเฉพาะ (Keywords) ได้ชัดเจนรวมถึง จัดโครงสร้างการควบคุมให้เป็นสัดส่วนซึ่งช่วยให้อ่านโค้ดได้ง่าย แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่างโดยมีทางเข้า เพียงทางเดียวและมีทางออกทางเดียวเท่านั้น กลุ่มของประโยคคำสั่งต่างๆ อาจจัดรวมกลุ่มเข้าด้วยกันใน รูปแบบของโมดูลแต่ต้องมีการกำหนดชื่อของโมดูลด้วยเพื่อให้สามารถ เรียกใช้งานโมดูลนั้นได้

24 3. 3 ตัวอย่างคำสั่งรหัสเทียม (Pseudo code)
3.3 ตัวอย่างคำสั่งรหัสเทียม (Pseudo code) ในการคำนวณหาพื้นที่สามเหลี่ยมเขียนคำสั่งรหัสเทียม (Pseudo code) ได้ดังต่อไปนี้ ตารางที่ 3.2 ตัวอย่างคำสั่งรหัสเทียม (Pseudo code) คำนวณหาพื้นที่สามเหลี่ยม การอธิบายการเขียนรหัสเทียมการคำนวณหาพื้นที่สามเหลี่ยมหรืออาจเขียนเป็นภาษาอังกฤษ เริ่มต้น 1. รับค่าความยาวของด้านที่เป็นฐานมาเก็บไว้ในตัวแปร X 2. รับค่าความยาวของส่วนสูงมาเก็บในตัวแปร Y 3. คำนวณพื้นที่โดย Area = (X*Y)/2 4. แสดงค่าพื้นที่ Area จบการทำงาน  START         1. READ X         2. READ Y         3. Compute Area = (X*Y)/2         4. Write Area  STOP

25 4. การเขียนผังงาน (Flow Chart)
4. การเขียนผังงาน (Flow Chart) ผังงาน (Flowchart) เป็นแผนภาพที่ใช้อธิบายการทำงานและออกแบบการทำงานของโปรแกรมโดยอาศัยรูปทรงต่างๆ ควบคู่ไปกับเส้นลูกศรแต่ละรูปในแผนภาพจะหมายถึง การทำงานหนึ่งขั้นตอน ส่วนลูกศรจะแทนลำดับการทำงานขั้นตอนต่างๆ รวมทั้งทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นจนได้ผลลัพธ์ตามต้องการ ระบบงานทุกชนิดที่ผ่านการวิเคราะห์เป็นลำดับขั้นตอนแล้วจะสามารถเขียนเป็นผังงานได้การเขียนผังงานสามารถแบ่งออกเป็น 2 ประเภท คือ ผังงานระบบ (System Flowchart) ใช้แสดงขั้นตอนการทำงานในระบบงานหนึ่งๆ โดยกล่าวถึงข้อมูลต่างๆ ที่เกี่ยวข้องทั้งหมด เช่น เอกสารเบื้องต้นคืออะไร วัสดุที่ใช้คืออะไร หน่วยความจำประเภทใด จะต้องส่งผ่านไปยังหน่วยงานใด วิธีการประมวลผลและการแสดงผลลัพธ์ โดยอาจจะกล่าวอย่างกว้างๆ ไม่สามารถนำมาเขียนเป็นโปรแกรมได้

26 ผังงานโปรแกรม (Program Flowchart) ผังงานประเภทนี้ จะแสดงถึงขั้นตอนของคำสั่งที่ใช้ใน โปรแกรม การรับส่งข้อมูล การประมวลผล การแสดงข้อมูล บางครั้งเรียกว่า ผังการเขียนโปรแกรม ประโยชน์ของผังงาน 4.1.1 ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม 4.1.2 ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย 4.1.3 ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไข โปรแกรมได้ง่าย 4.2 การเขียนผังงานที่ดี 4.2.1 ใช้สัญลักษณ์ตามที่กำหนดไว้  ผังงานจะต้องมีจุดเริ่มต้น (Start) และสิ้นสุด (Stop/End/Finish)  ใช้หัวลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง

27 4. 2. 4 ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า 1 เส้นและออก 1 เส้น. 4. 2
4.2.4 ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า 1 เส้นและออก 1 เส้น เขียนคำอธิบายการทำงานในแต่ละขั้นตอนโดยใช้ข้อความที่สั้นกะทัดรัด เข้าใจง่าย  4.2.6 หลีกเลี่ยงโยงเส้นไปมาทำให้เกิดจุดตัดมากเพราะจะทำให้เกิดข้อผิดพลาด 4.3 สัญลักษณ์ในการเขียนผังงาน สัญลักษณ์ในการเขียนผังงานได้ถูกกำหนดเป็นมาตรฐาน นอกจากนั้นผังงานยังมีองค์ประกอบของเส้นสายและลูกศร เพื่อแสดงการเชื่อมโยงการทำงาน ลำดับ และทิศทางการเชื่อมโยงระหว่างข้อมูลต่างๆ แบ่งกลุ่มสัญลักษณ์ของผังงานโปรแกรมออกเป็น 4 กลุ่ม ดังนี้

28 ตารางที่ 3.3 กลุ่มสัญลักษณ์ในการรับส่งและเก็บข้อมูล
ชื่อสัญลักษณ์ คำอธิบาย Terminator จุดเริ่มต้นและจุดสิ้นสุดโปรแกรม Manual Input การรับส่งข้อมูลโดยใช้แป้นพิมพ์ (Keyboard) Punched Card การรับส่งข้อมูลโดยใช้บัตรเจาะรู Input / Output การรับส่งข้อมูลโดยไม่เจาะจงตัวกลางที่ใช้ Punched Tape การรับส่งข้อมูลโดยใช้เทปกระดาษ Magnetic Tape การรับส่งข้อมูลโดยใช้เทปแม่เหล็ก Magnetic Disk การรับส่งข้อมูลโดยใช้จานแม่เหล็ก Store Data แสดงการเก็บข้อมูล Delay แสดงการหน่วงเวลาการประมวลผล

29 ตารางที่ 3.4 กลุ่มสัญลักษณ์ในการแสดงผล
ชื่อสัญลักษณ์ คำอธิบาย Display การนำข้อมูลออกทางจอภาพ (Monitor) Connector การนำข้อมูลเข้าทางกระดาษในรูปแบบเอกสาร (Document) ตารางที่ 3.5 กลุ่มสัญลักษณ์ในการเชื่อมต่อข้อมูล สัญลักษณ์ ชื่อสัญลักษณ์ คำอธิบาย Off-Page Connector การแสดงจุดต่อเนื่องที่อยู่คนละหน้ากระดาษ Connector การแสดงจุดต่อเนื่องใช้เชื่อมต่อส่วนต่างๆของผังงาน Arrow ลูกศรแสดงทิศทางของข้อมูลและการประมวลผลข้อมูล Summing Junction การแสดงจุดต่อร่วมการแสดงตัว

30 ตารางที่ 3.6 กลุ่มสัญลักษณ์ในการประมวลผลข้อมูล
ชื่อสัญลักษณ์ คำอธิบาย Process การประมวลผลข้อมูลอัตโนมัติ การกำหนดค่าข้อมูล Decision การตัดสินใจ Alternate Process การประมวลผลข้อมูล Manual Operation การประมวลผลข้อมูลด้วยมือ External Subroutine การประมวลผลข้อมูลด้วยโปรแกรมย่อยที่อยู่ภายนอกโปรแกรมหลัก Internal Subroutine การประมวลผลข้อมูลด้วยโปรแกรมย่อยที่อยู่ภายในโปรแกรมหลัก Preparation การเตรียมข้อมูลใช้กำหนดชื่อและรูปแบบของข้อมูล

31 ภาพที่ 3.7 ตัวอย่างการเขียนผังงาน
เริ่ม เส้นทางจากบ้านไปวิทยาลัย เวลา > 7.45 นั่งรถเมล์ นั่งรถมอเตอร์ไซต์ ถึงวิทยาลัย หยุด ภาพที่ 3.7 ตัวอย่างการเขียนผังงาน

32 5. แผนภูมิโครงสร้าง (Structure chart)
5. แผนภูมิโครงสร้าง (Structure chart) แผนภูมิโครงสร้าง (Structure Chart) หมายถึง เครื่องมือที่ใช้ในการอธิบายถึงการแบ่งการทำงานของระบบออกเป็นส่วนย่อยหรือโมดูล โดยทำการแสดงโมดูลเป็นลำดับขั้นตามการเรียกใช้ข้อมูล พร้อมทั้งแสดงถึงความสัมพันธ์ระหว่างโมดูล ผังที่ได้จากการปรับเปลี่ยนรูปของผัง DFD มีลักษณะเป็นแบบชั้นแผนภูมิ (Hierarchy) เรียงจากส่วนบนลงล่างและด้านซ้ายไปขวา โดยกำหนดให้ โมดูลบนสุดเป็นโมดูลคุม (พ่อ) และมีลำดับงานย่อยๆ ใดบ้าง (โมดูลระดับชั้นรองลงมา) โมดูลย่อยใดทำก่อนให้ไว้ด้านซ้าย และเรียงมาทางขวาตามลำดับ จากตัวอย่างผัง DFD (Data Flow Diagram) ที่กล่าวมาแล้วข้างต้นสามารถแปลงเป็นผังโครงสร้างได้โดยพิจารณาจากจุดที่มีการเปลี่ยนแปลงข้อมูลไปจากเดิม ในที่นี้จุดเปลี่ยนแปลงข้อมูลจากเวลาเข้า-ออกงาน เป็นใบสลิปเงินเดือน คือกระบวนการคำนวณเงินเดือน

33 โปรแกรมคำนวณเงินเดือนค่าจ้าง (PAY ROLL)
รับข้อมูล (Input) จัดทำรายงานและ สลิปเงินเดือน (Report) รับข้อมูล (Get Data) ตรวจสอบความถูก ต้อง (Validate Data) ภาพที่ 3.8 ตัวอย่างแผนภูมิโครงสร้าง (Structure Chart) 

34 5. 1 วิธีการสร้าง Structure chart. 5. 1
5.1 วิธีการสร้าง Structure chart สร้าง Module หลักขึ้นมาตั้งชื่อตามชื่อระบบงาน เช่น ระบบคำนวณเงินเดือนค่าจ้าง สร้าง Module ในระดับถัดลงมาจาก Module หลักโดยเริ่มจาก Process ที่ทำหน้าที่นำข้อมูลเข้าสู่ Process ที่ทำหน้าที่ประมวลผล ส่วน Process ที่ทำหน้าที่รับข้อมูล Input ที่ไม่ได้ส่งข้อมูลให้ Process ที่เป็น Central Transform แต่ส่งข้อมูลให้ Input Process อื่น ให้เขียน Level ถัดมา  สร้าง Module ใน level เดียวกันให้กับ Process ที่ทำหน้าที่เปลี่ยนแปลงข้อมูล (Central Transform) ถ้ามี Process ที่ทำหน้าที่เปลี่ยนแปลงข้อมูลมากกว่า 1 Process ให้พิจารณาว่า Process ดังกล่าวทำงานในวัตถุประสงค์เดียวกันหรือไม่ เช่นทำการคำนวณเวลาปฏิบัติงาน ต้องทำการคำนวณรายได้ต่อเดือนและคำนวณภาษี สร้าง Module ให้กับ Process ที่ทำหน้าที่แสดงผลข้อมูลโดยรับผลลัพธ์ที่ได้จากการ

35 ภาพที่ 3.9 แผนภูมิโครงสร้าง (Structure Chart) งานบุคลากร
ประมวลผลมาแสดง โดยสร้าง Module ในระดับเดียวกันกับ Module ที่ทำหน้าที่ Input และ Transform ส่วน Process ที่ทำหน้าที่ Output ที่ไม่ได้รับข้อมูลให้ Process ที่เป็น Central Transform มาแสดงผลโดยตรง แต่รับข้อมูลจาก Output Process อื่นมาแสดงผล ให้สร้าง Module ใน Level ถัดมา  ภาพที่ 3.9 แผนภูมิโครงสร้าง (Structure Chart) งานบุคลากร

36 6. บทสรุปท้ายหน่วยเรียน
การพัฒนาโปรแกรมคอมพิวเตอร์หรือแอพพลิเคชั่นในรูปแบบต่างๆ ในปัจจุบันด้วยภาษาระดับสูงที่มีขั้นตอนการทำงานที่สลับซับซ้อน โดยผู้เขียนโปรแกรมต้องมีความเข้าใจขั้นตอนการทำงานปัญหาของระบบ วิเคราะห์ความต้องการของผู้ใช้งาน เพื่อนำมาออกแบบการทำงาน ไม่ว่าจะเป็นการรับข้อมูลผ่านอินพุต การประมวลผลข้อมูลและการแสดงผลลัพธ์ ที่ต้องการในการเขียนโปรแกรม ให้ตอบสนองความต้องการของผู้ใช้งานโปรแกรม ผู้พัฒนาโปรแกรมจึงมีความเข้าใจในกระบวนการออกแบบโปรแกรมคอมพิวเตอร์เพื่อลดปัญหาที่จะเกิดจากการเขียนโค๊ดโปรแกรมที่มีความสลับซับซ้อน ให้กระบวนการพัฒนาโปรแกรมเป็นไปอย่างมีระบบ โดยมีขั้นตอนการแก้ไขปัญหาโปรแกรมคอมพิวเตอร์ด้วยกันหลายรูปแบบ เช่น ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์ ขั้นตอนการแก้ไขปัญหา (Algorithm) รหัสเทียม (Pseudo Code) การเขียนผังงาน (Flow Chart) การเขียนแผนภูมิโครงสร้าง (Structure chart) เป็นต้น


ดาวน์โหลด ppt ใบความรู้ (Information Sheet)

งานนำเสนอที่คล้ายกัน


Ads by Google