ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

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

 

ก่อนเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษาคอมพิวเตอร์ ที่จะนำมาช่วยงานโดยพิจารณาจากปัจจัยต่าง ๆ ในการทำงาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนโปรแกรม สภาพแวดล้อมในการทำงานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกใช้ได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา ภาษาเดลฟาย ภาษา 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการติดตั้ง Font TH Sarabun PSK ใน Google document บนระบบปฎิบัตรการ Ubuntu
โดย Bellamy ส 31 ต.ค. 2020 7:43 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
8
ส 31 ต.ค. 2020 7:43 pm โดย Bellamy
การไล่สีพื้นหลังด้วยสีพาสเทลให้ชิคๆเก๋ๆ ด้วย Photoshop cc 2019
โดย Bellamy ส 31 ต.ค. 2020 6:44 pm บอร์ด Graphic design
0
6
ส 31 ต.ค. 2020 6:44 pm โดย Bellamy
การตัดตัวอักษรด้วย Photoshop cc 2019
โดย Bellamy ส 31 ต.ค. 2020 6:23 pm บอร์ด Graphic design
0
4
ส 31 ต.ค. 2020 6:23 pm โดย Bellamy
สอบถามค่ะเรื่องต้องการลดขนาดตัวเลข ใน Nimbus
โดย Bellamy ส 31 ต.ค. 2020 5:05 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
4
16
ส 31 ต.ค. 2020 5:21 pm โดย mindphp
ไม่แสดงผลข้อมูลค้นหา , เมื่อมีการคลิกตัวปุ่มตัวอักษร ในส่วนเสริม Dictionary
โดย makup ส 31 ต.ค. 2020 4:16 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
4
28
ส 31 ต.ค. 2020 5:07 pm โดย makup
ไม่แสดงปุ่ม submit ที่เพิ่มมา , หลังจากที่ได้ทำการเพิ่มไปแล้ว
โดย makup ส 31 ต.ค. 2020 1:25 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
16
ส 31 ต.ค. 2020 1:53 pm โดย makup
แถบเมนูตรง ส่วนเสริม dict ขึ้นคำว่า .MODS ไม่เป็นภาษาไทย
โดย makup ส 31 ต.ค. 2020 11:04 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
16
ส 31 ต.ค. 2020 11:11 am โดย makup
ติดปัญหา ทำอย่างไงจะให้ Query ข้อมูลได้รวดเร็วยิ่งขึ้น
โดย makup ศ 30 ต.ค. 2020 7:47 pm บอร์ด Programming - PHP
4
24
ศ 30 ต.ค. 2020 7:59 pm โดย makup
การรวมข้อความจากหลายตาราง
โดย Bellamy ศ 30 ต.ค. 2020 6:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
14
ศ 30 ต.ค. 2020 6:55 pm โดย Bellamy
ตัวระบบปฎิบัติการ ubuntu ที่เครื่องทำงานมีปัญหา , เมื่อเวลาทำการเปิดเครื่องบน Ubuntu
โดย makup ศ 30 ต.ค. 2020 2:40 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
29
ศ 30 ต.ค. 2020 3:12 pm โดย mindphp
การแก้ไขปัญหาภาษาไทยสระทับซ้อนกันใน โปรแกรม Adobe Illustrator cc 2019
โดย Bellamy พฤ 29 ต.ค. 2020 5:32 pm บอร์ด Graphic design
0
18
พฤ 29 ต.ค. 2020 5:32 pm โดย Bellamy
ขอวิธีแก้ Bug ปุ่ม Next ให้เป็นภาษาไทย , หลังจากที่ได้ทำการติดตั้งตัง ตัวรับรองภาษาไทยแล้ว
โดย makup พฤ 29 ต.ค. 2020 5:15 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
54
ศ 30 ต.ค. 2020 5:34 pm โดย makup
เกิด Fatal error ในหน้าแรก , เกิดจากเข้าไปตรง ส่วนเสริม แล้วพอคลิกปุ่ม หน้าเว็บบอรด์
โดย makup พฤ 29 ต.ค. 2020 4:20 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
36
พฤ 29 ต.ค. 2020 4:33 pm โดย thatsawan
จะอัพเกรดJoomla 1.5 ไปเป็น 3.9
โดย somporn.so พฤ 29 ต.ค. 2020 3:56 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
29
พฤ 29 ต.ค. 2020 4:08 pm โดย mindphp
จำทำเว็บขายของ ใช้ Joomla Virtuemart ดีไหม
โดย Anonymous พฤ 29 ต.ค. 2020 3:10 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
31
พฤ 29 ต.ค. 2020 4:10 pm โดย mindphp
ขอวิธีการติดตั้ง phpBB ในตัวเครื่อง Ubuntu หน่อยครับ
โดย makup พฤ 29 ต.ค. 2020 1:37 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
4
42
พฤ 29 ต.ค. 2020 2:29 pm โดย mindphp
แจ้งเตือนชำระเงิน บน browser ด้วย Plugin System MZC Notify ใน MooZiiCart
โดย bolue พ 28 ต.ค. 2020 6:37 pm บอร์ด MindPHP News & Feedback
0
43
พ 28 ต.ค. 2020 6:37 pm โดย bolue
จัดการเว็บไซต์ที่มีหลายร้านค้าง่ายๆ ด้วย Plugin System MZC Multi Shop ใน MooZiiCart
โดย bolue พ 28 ต.ค. 2020 6:27 pm บอร์ด MindPHP News & Feedback
1
35
ศ 30 ต.ค. 2020 6:41 pm โดย bolue
ลบส่วนส่วนเกินในรูปภาพ โดย Photoshop cc
โดย Bellamy พ 28 ต.ค. 2020 5:49 pm บอร์ด Graphic design
0
35
พ 28 ต.ค. 2020 5:49 pm โดย Bellamy
สอนการ บวก ลบ คูณ หาร ง่ายๆ ผ่านการใช้ Excel ออนไลน์
โดย Bellamy อ 27 ต.ค. 2020 7:38 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
35
อ 27 ต.ค. 2020 7:38 pm โดย Bellamy