โครงสร้างการเขียนโปรแกรม ภาษาโปรแกรม

 

ก่อนเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษาคอมพิวเตอร์ ที่จะนำมาช่วยงานโดยพิจารณาจากปัจจัยต่าง ๆ ในการทำงาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนโปรแกรม สภาพแวดล้อมในการทำงานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกใช้ได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา ภาษาเดลฟาย ภาษา php (พีเอชพี) ภาษา Python (ไพทอน) ถึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่แตกต่างกันแต่ทุกภาษาจะต้องมีโครงสร้างควบคุมหลักทั้ง 3 แบบ ได้แก่ โครงสร้างแบบลำดับ sequential structure (ชิเคลวเทอ สตักเจอร์) โครงสร้างแบบทางเลือก selection structure (ซีเลคชัน สตักเจอ) และ โครงสร้างแบบวนซ้ำ repetition structure (รีเพคติชัน สตักเจอ)

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

โครงสร้างแบบลำดับเมื่อเขียนเป็นผังงาน มีกระบวนการทำงานพื้นฐานอยู่ 3 ชนิด ได้แก่

     – การคำนวณ เป็นกระบวนการที่คอมพิวเตอร์ทำการคำนวณ ประมวลผล ซึ่งจะรวมไปถึงการกำหนดค่าให้กับตัวแปร เพื่อให้สามารถนำค่าของตัวแปรนั้นมาใช้ในภายหลังได้

     – การรับข้อมูลเข้า เป็นกระบวนการรับข้อมูลจากอุปกรณ์ของหน่วยรับเข้า เช่น คีย์บอร์ด เพื่อนำค่าไปกำหนดให้กับตัวแปร และเก็บไว้ในหน่วยความจำ

     – การส่งข้อมูลออก เป็นกระบวนการนำค่าของข้อมูลไปแสดงผลยังอุปกรณ์ของหน่วยส่งออก เช่น จอภาพหรือเครื่องพิมพ์ ข้อมูลที่จะส่งออกโดยทั่วไปจะเป็นค่าคงที่ หรือค่าของตัวแปร

ตัวอย่าง : การเขียนผังงาน

โครงสร้างแบบลำดับ sequential structure (ชิเคลวเทอ สตักเจอร์)
โครงสร้างแบบลำดับ sequential structure (ชิเคลวเทอ สตักเจอร์)

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

     โครงสร้างการทำงานแบบทางเลือกที่กล่าวมาแล้ว อาจเรียกว่ามีโครงสร้างการทำงานแบบ if…then…else… ซึ่งเป็นการเลือกทำแบบทางใดทางหนึ่ง เนื่องจากต้องมีการเลือกทำชุดคำสั่งใดชุดคำสั่งหนึ่งตามผลของเงื่อนไข แต่ในการเขียนโปรแกรมหรือผังงานเพื่อแก้ปัญหา นักเขียนโปรแกรมอาจไม่ต้องการทำงานใด ๆ เมื่อผลของเงื่อนไขเป็นเท็จก็ได้ ซึ่งเรียกว่ามีโครงสร้างของการทำงานแบบเลือกทำเพียงทางเดียว หรือแบบ if…then…

ตัวอย่าง : การเขียนผังงาน

โครงสร้างแบบทางเลือก selection structure (ชิเลคชัน สตักเจอ)
โครงสร้างแบบทางเลือก selection structure (ชิเลคชัน สตักเจอ)

3. โครงสร้างแบบวนซ้ำ repetition structure (รีเพคติชัน สตักเจอ)
     ในการแก้ปัญหาบางอย่างอาจต้องมีการทำงานในบางคำสั่งหรือบางชุดของคำสั่งซ้ำกันมากกว่าหนึ่งรอบขึ้นไป โครงสร้างแบบมีการวนซ้ำนี้จะต้องมีการตัดสินใจร่วมกันอยู่ด้วยเสมอ เพื่อเป็นเงื่อนไขที่จะตัดสินใจว่าเมื่อใดจะวนซ้ำ หรือเมื่อใดจะถึงเวลาหยุดการวนซ้ำ การวนซ้ำแบบที่ต้องตรวจสอบเงื่อนไขที่จะให้วนซ้ำก่อนที่จะทำงานตามชุดคำสั่งในโครงสร้างแบบวนซ้ำ เรียกว่า การวนซ้ำแบบ while (ไว) ซึ่งจะสังเกตได้ว่าถ้าเงื่อนไขไม่เป็นจริงตั้งแต่แรก ตัวอย่างของการวนซ้ำ เช่น การรับค่าตัวเลขเข้ามาหลายค่าเพื่อคำนวณหาผลรวม
สิ่งที่ควรระวังในการใช้งานขั้นตอนวิธีแบบมีการวนซ้ำ คือ ต้องตรวจสอบว่าได้กำหนดเงื่อนไขอย่างรัดกุมและถูกต้อง มิเช่นนั้นแล้วอาจเกิดกรณีของการวนซ้ำไม่รู้จบ infinite loop (อินพิเนต ลูป) หรือกรณีที่วนซ้ำไม่ได้ตามจำนวนรอบที่ต้องการ

ตัวอย่าง : การเขียนผังงาน

โครงสร้างแบบวนซ้ำ repetition structure (รีเพคติชัน สตักเจอ)
โครงสร้างแบบวนซ้ำ repetition structure (รีเพคติชัน สตักเจอ)

 

อ้างอิง
wordpress.com

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คำสั่งให้แสดง ไฟล์ใน folder ทั้งหมดเรียงตามขนาดไฟล์ใน Folder ls -alh
โดย mindphp พ 10 ม.ค. 2024 3:29 pm บอร์ด Linux - Web Server
0
753
พ 10 ม.ค. 2024 3:29 pm โดย mindphp View Topic คำสั่งให้แสดง ไฟล์ใน folder ทั้งหมดเรียงตามขนาดไฟล์ใน Folder  ls -alh
มีหนังสือ แนะนำ Developing Extensions for Joomla! 5
โดย mindphp พ 10 ม.ค. 2024 2:52 pm บอร์ด MindPHP News & Feedback
0
296
พ 10 ม.ค. 2024 2:52 pm โดย mindphp View Topic มีหนังสือ แนะนำ Developing Extensions for Joomla! 5
Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
โดย noncup302 พ 10 ม.ค. 2024 12:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
784
พฤ 11 ม.ค. 2024 8:53 pm โดย บุคคลทั่วไป View Topic Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
โดย Anonymous อ 09 ม.ค. 2024 12:40 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
352
พ 10 ม.ค. 2024 12:24 pm โดย noncup302 View Topic อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
โดย mindphp อ 07 ม.ค. 2024 6:05 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
1193
อ 07 ม.ค. 2024 6:09 pm โดย mindphp View Topic ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
โดย mindphp อ 07 ม.ค. 2024 3:15 am บอร์ด MindPHP News & Feedback
1
339
อ 07 ม.ค. 2024 3:20 am โดย mindphp View Topic ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
โดย Anonymous อ 07 ม.ค. 2024 3:00 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
913
อ 07 ม.ค. 2024 6:34 pm โดย mindphp View Topic สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด
โดย chenyuting ศ 05 ม.ค. 2024 4:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
483
ศ 05 ม.ค. 2024 4:52 pm โดย chenyuting View Topic หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด