ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เทคนิคการ Contrast สำหรับงาน Graphic
โดย numtan5839 จ 11 พ.ย. 2019 6:57 pm บอร์ด Graphic design
0
6
จ 11 พ.ย. 2019 6:57 pm โดย numtan5839
การใช้ .attr() jquery
โดย bankjittapol จ 11 พ.ย. 2019 6:47 pm บอร์ด Jquery & Ajax Knowledge
0
3
จ 11 พ.ย. 2019 6:47 pm โดย bankjittapol
การเดินทางจากจังหวัดศรีสะเกษมากรุงเทพมหานคร
โดย chaiyasitpraphut จ 11 พ.ย. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
จ 11 พ.ย. 2019 5:50 pm โดย chaiyasitpraphut
จะทำอย่างไรไม่ให้ Xampp รัน PHP สองเวอร์ชั่น เวอร์ชั่น 7 start ขึ้นมาตอนกด start Xampp เวอร์ชั่น 5 ครับ
โดย jamepiyawat จ 11 พ.ย. 2019 5:16 pm บอร์ด Programming - PHP
2
17
จ 11 พ.ย. 2019 6:29 pm โดย jamepiyawat
Email Client คืออะไร
โดย chatee supasand จ 11 พ.ย. 2019 4:54 pm บอร์ด Share Knowledge
0
8
จ 11 พ.ย. 2019 4:54 pm โดย chatee supasand
เเชร์ความรู้ การใช้ Java script ในการลบ และเลือกใช้ข้อมูล
โดย chaiyasitpraphut จ 11 พ.ย. 2019 4:49 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
13
จ 11 พ.ย. 2019 4:49 pm โดย chaiyasitpraphut
ประโยชน์และการนำค่าเฉลี่ยเคลื่อนที่ไปใช้งาน
โดย numtan5839 จ 11 พ.ย. 2019 2:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
จ 11 พ.ย. 2019 2:54 pm โดย numtan5839
ค่าเฉลี่ยเคลื่อนที่ (Moving Average)
โดย numtan5839 จ 11 พ.ย. 2019 11:57 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
จ 11 พ.ย. 2019 11:57 am โดย numtan5839
Note
โดย chaiyasitpraphut จ 11 พ.ย. 2019 11:26 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
2
จ 11 พ.ย. 2019 11:26 am โดย chaiyasitpraphut
ต้องการให้ค่า transform เก็บไว้ในตัวแปร เพื่อเก็บในฐานข้อมูล
โดย bankjittapol จ 11 พ.ย. 2019 11:17 am บอร์ด Programming - PHP
2
18
จ 11 พ.ย. 2019 12:37 pm โดย bankjittapol
การใช้ฟังก์ชัน SQRT ใน Excel
โดย numtan5839 จ 11 พ.ย. 2019 11:06 am บอร์ด Microsoft Office Knowledge & line & Etc
0
7
จ 11 พ.ย. 2019 11:06 am โดย numtan5839
งานประจำวันที่ 11 พฤศจิกายน 2562
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:39 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
3
43
จ 11 พ.ย. 2019 6:05 pm โดย chaiyasitpraphut
Work's on Hand ชัยยะสิทธิ์ พระพุทธ MT35
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:46 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
13
จ 11 พ.ย. 2019 10:46 am โดย chaiyasitpraphut
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย chaiyasitpraphut จ 11 พ.ย. 2019 10:44 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
28
จ 11 พ.ย. 2019 10:44 am โดย chaiyasitpraphut
งานประจำวันที่ 11 พฤศจิกายน 2562
โดย numtan5839 จ 11 พ.ย. 2019 10:08 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
5
18
จ 11 พ.ย. 2019 7:05 pm โดย numtan5839
คู่เงินยอดนิยมใน Forex สำหรับเทรดเดอร์มือใหม่
โดย numtan5839 ส 09 พ.ย. 2019 5:40 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
54
ส 09 พ.ย. 2019 5:40 pm โดย numtan5839
จะทำอย่างไรให้ php เป็นเวอร์ชั่น 5 ครับ
โดย jamepiyawat ส 09 พ.ย. 2019 5:13 pm บอร์ด Programming - PHP
0
11
ส 09 พ.ย. 2019 5:13 pm โดย jamepiyawat
ฝากเงินเข้าบัญชีกับไปรษณีย์ไทย ด้วยบริการ Bank@post
โดย numtan5839 ส 09 พ.ย. 2019 4:26 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
ส 09 พ.ย. 2019 4:26 pm โดย numtan5839
ติดตั้ง joomla เวอร์ชั่น 2.5.28 ไม่ได้ครับ
โดย jamepiyawat ส 09 พ.ย. 2019 2:44 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
19
ส 09 พ.ย. 2019 3:39 pm โดย mindphp
ช่วยแนะนำ เกี่ยวกับ javascript library ที่ใช้ทำ รุปภาพให้หน่อยครับ
โดย bankjittapol ส 09 พ.ย. 2019 11:54 am บอร์ด JavaScript & Jquery Ajax
3
43
จ 11 พ.ย. 2019 2:54 pm โดย tsukasaz