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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เตรียมอบรมลูกค้า - สิริกิตติรัตน์ จำกัด
โดย rinrada อ 23 ต.ค. 2018 9:41 pm บอร์ด สิริกิตติรัตน์ (Main)
1
8
อ 23 ต.ค. 2018 9:44 pm โดย rinrada
ตัวติดตั้ง
โดย tsukasaz อ 23 ต.ค. 2018 7:18 pm บอร์ด Mooziicart
0
2
อ 23 ต.ค. 2018 7:18 pm โดย tsukasaz
คู่มือ VDO กล่องโปรแกรม
โดย tsukasaz อ 23 ต.ค. 2018 7:18 pm บอร์ด Mooziicart
0
3
อ 23 ต.ค. 2018 7:18 pm โดย tsukasaz
Feature
โดย tsukasaz อ 23 ต.ค. 2018 7:17 pm บอร์ด Mooziicart
0
4
อ 23 ต.ค. 2018 7:17 pm โดย tsukasaz
ประชุมทีม / Meeting
โดย tsukasaz อ 23 ต.ค. 2018 7:17 pm บอร์ด Mooziicart
0
1
อ 23 ต.ค. 2018 7:17 pm โดย tsukasaz
รายงานความคืบหน้า / Process
โดย tsukasaz อ 23 ต.ค. 2018 7:17 pm บอร์ด Mooziicart
0
1
อ 23 ต.ค. 2018 7:17 pm โดย tsukasaz
เมื่อสัมภาษณ์ความรู้เรื่องคีย์ลัด
โดย tai14 อ 23 ต.ค. 2018 7:06 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
อ 23 ต.ค. 2018 7:06 pm โดย tai14
R- mdsoft_receipt_print - ใบรีซิพท์ (MT24)
โดย prakon อ 23 ต.ค. 2018 12:06 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
8
อ 23 ต.ค. 2018 8:20 pm โดย prakon
ช่วยตั้งค่า Supplier Invoice ให้แก้ไข Due Date ได้ [2018-10][001]
โดย Parichat อ 23 ต.ค. 2018 10:36 am บอร์ด PP systems - Tester
1
10
อ 23 ต.ค. 2018 9:29 pm โดย rinrada
B - Duplicate TLO แล้วเลขไม่รันให้ [2018-10][002]
โดย Parichat อ 23 ต.ค. 2018 10:31 am บอร์ด PP systems - Tester
2
11
อ 23 ต.ค. 2018 11:07 am โดย nuattawoot
งานประจำวันที่ 23 ตุลาคม 2561
โดย tatiya อ 23 ต.ค. 2018 10:07 am บอร์ด M065 - ตติยะ นาชัย
1
11
อ 23 ต.ค. 2018 7:52 pm โดย tatiya
งานประจำวันที่ 23 ตุลาคม 2561
โดย prakon อ 23 ต.ค. 2018 10:03 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
5
อ 23 ต.ค. 2018 8:16 pm โดย prakon
งานประจำวันที่ 23 ตุลาคม 2561
โดย Ittichai_chupol อ 23 ต.ค. 2018 9:54 am บอร์ด M070 - อิทธิชัย ชูผล
1
3
อ 23 ต.ค. 2018 7:42 pm โดย Ittichai_chupol
งานประจำวันที่ 23 ตุลาคม 2561
โดย tai14 อ 23 ต.ค. 2018 9:47 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
9
อ 23 ต.ค. 2018 6:59 pm โดย tai14
งานประจำวันที่ 23 ตุลาคม 2561
โดย nice_13 อ 23 ต.ค. 2018 9:46 am บอร์ด M071 - พิชญ์สินี คงจร
1
4
อ 23 ต.ค. 2018 8:54 pm โดย nice_13
VDO - รีวิว Module Top rating (โมดูล ท็อป เรตติ้ง) สำหรับแสดงสินค้าที่ได้คะแนนจากความเห็นมากสุด
โดย pprn จ 22 ต.ค. 2018 10:52 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
5
จ 22 ต.ค. 2018 10:52 pm โดย pprn
VDO - รีวิว Module Recent comments (โมดูล รีเซนต์ คอมเมนต์) สำหรับแสดงความเห็นล่าสุดต่อสินค้า
โดย pprn จ 22 ต.ค. 2018 10:28 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
12
จ 22 ต.ค. 2018 10:28 pm โดย pprn
ขอแนะนำโปรแกรมบัญชีออนไลน์
โดย Anonymous อ 21 ต.ค. 2018 11:22 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
30
อ 21 ต.ค. 2018 11:22 pm โดย บุคคลทั่วไป
R - mdsoft_sale_product_set - ขายสินค้าเป็น set + POS
โดย thatsawan อ 21 ต.ค. 2018 7:13 pm บอร์ด บุญนำพา - Developer
0
2
อ 21 ต.ค. 2018 7:13 pm โดย thatsawan
Training-ไพธอนและซิลิเนียม
โดย prakon ส 20 ต.ค. 2018 11:13 pm บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
0
15
ส 20 ต.ค. 2018 11:13 pm โดย prakon