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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - Guide สำหรับ Migrate ข้อมูล
โดย tsukasaz จ 21 ม.ค. 2019 6:03 pm บอร์ด สิริกิตติรัตน์ - Developer
0
2
จ 21 ม.ค. 2019 6:03 pm โดย tsukasaz
ต้นเดือน Vs ปลายเดือน
โดย จันนุสรณ์ ดีแก่ จ 21 ม.ค. 2019 1:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
จ 21 ม.ค. 2019 1:54 pm โดย จันนุสรณ์ ดีแก่
ลายเซนต์คืออะไร การตั้งค่าข้อมูลส่วนตัว (แก้ไขลายเซนต์) วิธีการเพิ่มลายเซนต์
โดย จันนุสรณ์ ดีแก่ จ 21 ม.ค. 2019 11:42 am บอร์ด phpBB user Guide Knowledge
0
9
จ 21 ม.ค. 2019 11:42 am โดย จันนุสรณ์ ดีแก่
Bill of Material (BOM) คืออะไร
โดย ณัฐกฤตา บุญญะฤทธิ์ จ 21 ม.ค. 2019 11:38 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
7
จ 21 ม.ค. 2019 11:38 am โดย ณัฐกฤตา บุญญะฤทธิ์
[Extension phpBB3.1.1]Project Durango Extension เทมเพลสในรูปแบบสีเขียว
โดย จันนุสรณ์ ดีแก่ จ 21 ม.ค. 2019 11:02 am บอร์ด phpBB 3.1 Extension Review
0
10
จ 21 ม.ค. 2019 11:02 am โดย จันนุสรณ์ ดีแก่
[Extension phpBB3.1.1] Page Scrolling Extension ช่วยในการเลื่อนหน้า บนสุดและล่างสุด
โดย จันนุสรณ์ ดีแก่ จ 21 ม.ค. 2019 10:35 am บอร์ด phpBB 3.1 Extension Review
0
9
จ 21 ม.ค. 2019 10:35 am โดย จันนุสรณ์ ดีแก่
Q-ไม่สามารถ กด Save สินค้าได้
โดย Chidchanok จ 21 ม.ค. 2019 10:16 am บอร์ด M.D.Soft Co.,Ltd. - Tester
5
18
จ 21 ม.ค. 2019 11:07 am โดย Chidchanok
แก้ปัญหา ติดตั้ง โปรแกรมด้วย dpkg -i , apt-get deb
โดย mindphp จ 21 ม.ค. 2019 3:37 am บอร์ด Linux - Web Server
0
9
จ 21 ม.ค. 2019 3:37 am โดย mindphp
Manual (คู่มือ) คืออะไร Work Manual เเละ User Manual ต่างกันอย่างไร
โดย thatsawan จ 21 ม.ค. 2019 1:20 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
15
จ 21 ม.ค. 2019 1:20 am โดย thatsawan
รบกวนดูข้อผิดพลาดของการ login ให้หน่อยค่ะ
โดย Anonymous อ 20 ม.ค. 2019 7:32 pm บอร์ด Programming - PHP
2
35
จ 21 ม.ค. 2019 6:34 pm โดย aquanaan
TIP WITH RECURSIVE ดึงข้อมูล มาแสดง
โดย mindphp อ 20 ม.ค. 2019 5:24 pm บอร์ด PostgreSQL
0
6
อ 20 ม.ค. 2019 5:24 pm โดย mindphp
สรุปการเรียนรู้วิธีการใช้งาน php เว็บบอร์ด
โดย praphasri อ 03 ก.ค. 2018 3:12 pm บอร์ด phpBB user Guide Knowledge
0
3
อ 03 ก.ค. 2018 3:12 pm โดย praphasri
วิธีการคำนวณภาษีที่บริษัทออกให้
โดย praphasri จ 02 ก.ค. 2018 5:30 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
11
จ 02 ก.ค. 2018 5:30 pm โดย praphasri
สรุปการเรียนรู้วิธีการใช้งาน google drive
โดย praphasri อ 03 ก.ค. 2018 3:05 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
6
อ 03 ก.ค. 2018 3:05 pm โดย praphasri
R- mdsoft_siri_reciept_print (โมดูลปริ้น ใบเสร็จ)
โดย tatiya ส 19 ม.ค. 2019 8:49 pm บอร์ด สิริกิตติรัตน์ - Developer
1
2
ส 19 ม.ค. 2019 8:55 pm โดย tatiya
วิธีการทำ process bar ใน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 8:16 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
14
ส 19 ม.ค. 2019 8:16 pm โดย Chidchanok
Q-ไม่สามารถเข้าใช้งาน Open ERP ค่ะ
โดย Chidchanok ส 19 ม.ค. 2019 7:10 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
3
18
จ 21 ม.ค. 2019 10:35 am โดย Chidchanok
Q-สอบถามค่ะ ไม่สามารถกด validate ใบแจ้งหนี้ได้
โดย Chidchanok ส 19 ม.ค. 2019 6:44 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
8
ส 19 ม.ค. 2019 6:44 pm โดย Chidchanok
การทำแผนภูมิใน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
15
ส 19 ม.ค. 2019 5:53 pm โดย Chidchanok
การเข้าใช้งาน Google Sheets
โดย Chidchanok ส 19 ม.ค. 2019 5:22 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
23
ส 19 ม.ค. 2019 5:22 pm โดย Chidchanok