วันศุกร์ที่ 28 กันยายน พ.ศ. 2555

Algorithm มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 อะบู อับดิลลาหฺ บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad bin Musa al-Khawarizmi) คำว่า al-Khawarizmi ได้เพี้ยนเป็น Algoritmi เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็น Algorithm อัลกอริทึม ซึ่งใช้หมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิต และได้กลายมาเป็นคำ ขั้นตอนวิธี ในช่วงศตวรรษที่ 18. ในปัจจุบัน คำนี้ได้มีความหมายที่กว้างขึ้น หมายรวมถึง ขั้นตอนวิธีการในการแก้ปัญหาต่างๆ

ขั้นตอนวิธีแรกสำหรับคอมพิวเตอร์นั้น เขียนขึ้นในปี ค.ศ. 1842 โดย เอดา ไบรอน ใน notes on the analytical engine ทำให้ถือกันว่า เอดาเป็นนักพัฒนาโปรแกรมหรือโปรแกรมเมอร์คนแรกของโลก แต่เนื่องจาก ชาร์ลส แบบเบจ ไม่ได้สร้าง analytical engine จนเสร็จ ขั้นตอนวิธีของเอดานั้นจึงไม่ได้มีการใช้จริง

ถึงแม้ว่าขั้นตอนวิธีนั้นเป็น ขั้นตอนวิธี การแก้ปัญหา ที่ถูกระบุไว้อย่างชัดเจน แต่ก็ขาดรูปแบบการวิเคราะห์ในรูปแบบจำลองทางคณิตศาสตร์ที่ชัดเจน ปัญหาในทางขั้นตอนวิธีนี้โดยส่วนมากจึงมักจะถูกวิเคราะห์โดยใช้ เครื่องจักรทัวริง ซึ่งเป็นแบบจำลองนามธรรมของคอมพิวเตอร์ คิดค้นขึ้นโดย แอลัน ทัวริง ซึ่งเป็นเครื่องจักรที่ใช้ในการจำลองการทำงานของขั้นตอนวิธีใดๆ
------------------------------------------------------------------------
ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)

โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive)โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน

การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข รือวิธีการขนอาหารของแมลง

ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)

โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive)โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน

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

วันพุธที่ 19 กันยายน พ.ศ. 2555


ความหมายของอัลกอริทึม

ความหมายของอัลกอริทึม <<<ขอเสริมต่อจาก ท่านgooeasy อีกนิดน่ะครับ เผื่อบางท่านยั่งไม่ค่อยเข้าใจ หรือ อยากเข้าใจถึงแก่นแท้ครับ

[hide=1]
คำว่า Algorithm มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 อะบู อับดิลลาหฺ บิน มูซา อัลคอวาริซมีย์ (Abu Abdillah Muhammad bin Musa al-Khawarizmi) คำว่า al-Khawarizmi ได้เพี้ยนเป็น Algoritmi เมื่องานเขียนของเขาได้รับการแปลเป็นภาษาละติน แล้วกลายเป็น Algorithm อัลกอริทึม ซึ่งใช้หมายถึงกฎที่ใช้ในการคิดคำนวณเลขคณิต และได้กลายมาเป็นคำ ขั้นตอนวิธี ในช่วงศตวรรษที่ 18. ในปัจจุบัน คำนี้ได้มีความหมายที่กว้างขึ้น หมายรวมถึง ขั้นตอนวิธีการในการแก้ปัญหาต่างๆ

ขั้นตอนวิธีแรกสำหรับคอมพิวเตอร์นั้น เขียนขึ้นในปี ค.ศ. 1842 โดย เอดา ไบรอน ใน notes on the analytical engine ทำให้ถือกันว่า เอดาเป็นนักพัฒนาโปรแกรมหรือโปรแกรมเมอร์คนแรกของโลก แต่เนื่องจาก ชาร์ลส แบบเบจ ไม่ได้สร้าง analytical engine จนเสร็จ ขั้นตอนวิธีของเอดานั้นจึงไม่ได้มีการใช้จริง

ถึงแม้ว่าขั้นตอนวิธีนั้นเป็น ขั้นตอนวิธี การแก้ปัญหา ที่ถูกระบุไว้อย่างชัดเจน แต่ก็ขาดรูปแบบการวิเคราะห์ในรูปแบบจำลองทางคณิตศาสตร์ที่ชัดเจน ปัญหาในทางขั้นตอนวิธีนี้โดยส่วนมากจึงมักจะถูกวิเคราะห์โดยใช้ เครื่องจักรทัวริง ซึ่งเป็นแบบจำลองนามธรรมของคอมพิวเตอร์ คิดค้นขึ้นโดย แอลัน ทัวริง ซึ่งเป็นเครื่องจักรที่ใช้ในการจำลองการทำงานของขั้นตอนวิธีใดๆ
------------------------------------------------------------------------
ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและ ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)

โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive)โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน

การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข รือวิธีการขนอาหารของแมลง

ขั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและ ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)

โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive)โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน

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








ขั้นตอนของอัลกอริทึม

(Structured  Flowchart)
            เครื่องมือที่ใช้แสดงขั้นตอนการทำงาน (Algorithm)  ของระบบงานใดๆในงานคอมพิวเตอร์มีหลายอย่างและเครื่องมือที่นิยมใช้กันมากก็คือ ผังงานโครงสร้าง (Structured  Flowchart)  และคำสั่งเทียม(Pseudo  Code)  ซึ่งเครื่องมือที่ใช้เหล่านี้ผู้พัฒนาระบบงาน  สามารถนำไปแปลงเป็นชุดคำสั่งตามรูปแบบไวยากรณ์(Syntax)  ของภาษาคอมพิวเตอร์ภาษาใดๆก็ได้เพื่อพัฒนาระบบงานขึ้นมา
1.1  ผังงานโครงสร้าง (Structured  Flowchart)
            จะเป็นเครื่องมือ(Tools)  ที่ใช้อธิบายรายละเอียดการทำงานตามขั้นตอนการทำงาน(Algorithm)  โดยใช้ สัญลักษณ์(Symbol)แทนคำสั่ง  ใช้ข้อความ(Statement)ในสัญลักษณ์แทนตัวแปรและตัวดำเนินการทางการคำนวณและการเปรียบเทียบ  อีกทั้งยังแสดงความสัมพันธ์ของการทำงานต่างๆอย่างเป็นลำดับขั้นตอนโดยสามารถแบ่งลักษณะของความสัมพันธ์เป็นรูปแบบต่างๆได้แก่  การทำงานแบบมีลำดับ  การทำงานแบบให้เลือกทำและการทำงานแบบทำซ้ำในเงื่อนไขต่างๆ  โดยที่สามารถสรุปรายละเอียดของสัญลักษณ์ที่สำคัญและที่นิยมใช้งานบ่อยๆได้ดังนี้

กล่องข้อความ: สัญลักษณ์ กล่องข้อความ: ความหมาย กล่องข้อความ: ตัวอย่าง
 


 
กล่องข้อความ: หมายถึง  การกำหนดจุดเริ่มต้นการทำงานและแสดงจุดสิ้นสุดของการทำงานในโปรแกรมหลัก(Main Program) หรือ ในโปรแกรมย่อย(Subprogram/Procedure/Function)
 
 


START/STOP(END) ; ENTER/RETURN
 
                                   
START                                  
 
 
กล่องข้อความ: หมายถึง การแสดงรายละเอียดการทำงานโดยสิ่งที่ใช้เก็บค่าข้อมูลของการทำงานคือตัวแปรที่ใช้ในโปรแกรม(จะต้องกำหนดขึ้นมาเอง) โดยที่ตัวแปรนี้จะแสดงความสัมพันธ์ของการทำงานด้วยเครื่องหมายการประมวลผลทางคณิตศาสตร์                                   

PROCESS
 
 
กล่องข้อความ: หมายถึง  การแสดงรายละเอียดการเปรียบเทียบเงื่อนไขต่างๆ ตามเครื่องหมายทางคณิตศาสตร์และความสัมพันธ์ทางตรรกศาสตร์ 
ได้แก่   =, <> , != , < , > , >= , <= , AND , OR  เป็นต้น
 
 




           
DECISION
 
 
รูปที่  1.1  Structured  Flowchart  Symbols

 
 







กล่องข้อความ: สัญลักษณ์ กล่องข้อความ: ความหมาย กล่องข้อความ: ตัวอย่าง
 
กล่องข้อความ: หมายถึง  การกำหนดจุดอ้างอิงในการเชื่อมต่อ  ในหน้ากระดาษเดียวกันของการเขียนผังงานโครงสร้าง(Structured Flowchart)
 
IN-PAGE    CONNECTOR

 
 




           
 
กล่องข้อความ: หมายถึง การกำหนดจุดอ้างอิงในการเชื่อมต่อ ระหว่างหน้ากระดาษของการเขียนผังงานโครงสร้าง (Structured Flowchart)
 
 


BETWEEN-PAGE     CONNECTOR

 
                                   

กล่องข้อความ: หมายถึง การระบุหมายเหตุเพื่อใช้อธิบายรายละเอียดเพิ่มเติมของการทำงาน  เช่น  การอ่านข้อมูลในครั้งนี้อ่านจากแฟ้มข้อมูลอะไร   หรืออธิบายการทำงานบางอย่างโดยมีจุดมุ่งหมายเพื่อเตือนความจำ  เป็นต้น
 
 
ANNOTATION
 
 



                                   

 
 


SUBPROGRAM
 
                                    แสดงถึง



 
            -สัญลักษณ์ที่ใช้รับค่าข้อมูล

 


                                     
READ
 
                                   

 
 


 
กล่องข้อความ: หมายถึง   การรับค่าข้อมูลหรืออ่านข้อมูลเข้ามาจากคีย์บอร์ด                                   

 

Keyboard
 
                                   
รูปที่ 1.1  Structured  Flowchart  Symbols(ต่อ)

 
 



            -สัญลักษณ์ที่ใช้แสดงผลของข้อมูล
 
 

                                   
WRITE
 
                                     

 
กล่องข้อความ: หมายถึง การแสดงรายละเอียดข้อมูล หรือแสดงผลลัพธ์ของการประมวลผล ไปที่จอภาพ(Monitor)
 
 

                                   

MONITOR
 
                                     

กล่องข้อความ: หมายถึง การแสดงรายละเอียดข้อมูล หรือแสดงผลลัพธ์ของการประมวลผล ไปที่เครื่องพิมพ์(Printer) โดยในหนังสือเล่มนี้ขอใช้สัญลักษณ์นี้ในการแสดงข้อมูลทุกกรณี และจะมีการเขียน NOTATION  ประกอบเมื่อเขียนข้อมูลไปยังแฟ้มข้อมูล
 
 
 


                       

PRINTER
 
                                     


รูปที่  1.1  Structured  Flowchart  Symbols(ต่อ)

 
 



และความสัมพันธ์ของขั้นตอนการทำงานในผังงานโครงสร้าง   สามารถแบ่งได้เป็น  รูปแบบคือ
            1.1.1  การทำงานแบบเป็นลำดับ (Sequence  Process)   จะทำงานตามการเรียงลำดับก่อนหลัง
กล่องข้อความ: อธิบายความหมาย
1-เริ่มต้นทำงาน
2-กำหนดให้ตัวแปรชื่อ C มีค่าเป็น 10
3-อ่านข้อมูลเข้ามาเก็บในตัวแปรชื่อ x   และ  y
4-ทำการคำนวณตามสมการ  (10*(x+y)  /100)-C แล้วนำผลลัพธ์ที่ได้มาเก็บในตัวแปรชื่อ  z
5-แสดงผลลัพธ์นั่นคือ  ค่าข้อมูลที่ตัวแปร  z  เก็บอยู่ ณ. ขณะนั้นออกมา
6-สิ้นสุดการทำงาน

รูปแบบ

 

ตัวอย่าง

 
 











รูปที่  1.2    Sequence  Process
 
 


            1.1.2  การทำงานแบบเลือกทำ (Selection  Process) จะทำงานแบบให้เลือกทำอย่างใดอย่างหนึ่ง   เท่านั้น  สามารถพิจารณาได้  กรณี  คือ
            การทำงานแบบเลือกทำ  1 ทาง  คือ จะทำงานเฉพาะเงื่อนไขที่เป็นจริงเท่านั้น

รูปแบบ

 
 
กล่องข้อความ: -การตรวจสอบเงื่อนไขชนิดนี้  ใช้แสดงกรณีที่ต้องการทำงานเมื่อมี ค่าของเงื่อนไขเป็นจริงเท่านั้น
 

























รูปที่  1.3    One-Way  Selection Process
 
 



            การทำงานแบบเลือกทำ 2 ทาง  คือ จะทำงานจากการพิจารณาเงื่อนไขที่เป็นจริงและเป็นเท็จโดยให้เลือกทำอย่างใดอย่างหนึ่ง
กล่องข้อความ: -การตรวจสอบเงื่อนไขชนิดนี้  ใช้แสดงกรณีที่มีเพียง 2  เงื่อนไขให้พิจารณาพร้อมๆกัน
กล่องข้อความ: อธิบายความหมาย
1-เริ่มต้นทำงาน

2-กำหนดให้ตัวแปรชื่อ C มีค่าเป็น 10 และ z มีค่าเป็น 0

3-อ่านข้อมูลเข้ามาเก็บในตัวแปรชื่อ  x  และ y
4-ถ้าค่าข้อมูลของตัวแปร  x  มีค่าน้อยกว่าค่าข้อมูลของตัวแปร y
      -เป็นจริง  ให้ทำการคำนวณตามสมการ (10*(x+y)  /100)-C แล้วนำผลลัพธ์ที่ได้มาเก็บในตัวแปรชื่อ  z
      -เป็นเท็จ  ให้ทำการคำนวณตามสมการ  (10*(x-y) /100)-C แล้วนำผลลัพธ์ที่ได้มาเก็บในตัวแปรชื่อ  z

5-แสดงผลลัพธ์นั่นคือ  ค่าข้อมูลที่ตัวแปร  z  เก็บอยู่ ณ. ขณะนั้นออกมา

6-สิ้นสุดการทำงาน
 









           

ตัวอย่าง

 
 
 
















รูปที่  1.4   Two-Way  Selection   Process
 
 



            .   การทำงานแบบเลือกทำได้หลายทาง  คือ  จะทำงานจากการพิจารณาเงื่อนไขต่างๆที่มากกว่า  ทาง  โดยให้เลือกทำอย่างใดอย่างหนึ่งเท่านั้น
กล่องข้อความ: -การตรวจสอบเงื่อนไขชนิดนี้  ใช้แสดงกรณีที่มีหลายเงื่อนไขให้พิจารณาพร้อมๆกัน
-ภาษาโปรแกรมส่วนใหญ่จะจำกัดให้สามารถตรวจสอบเงื่อนไข เฉพาะ ตัวแปรประเภทเลขจำนวนเต็ม(Integer) และตัวแปรประเภทตัวอักษร(Character)เท่านั้น
รูปที่  1.5   Many-Way  Selection   Process
 
 






























            1.1.3  การทำงานแบบทำซ้ำในขณะที่เงื่อนไขเป็นจริง (WHILE-DO  Process)  จะทำการตรวจสอบเงื่อนไขของการทำงานก่อนการทำงานทุกครั้ง  และจะทำงานเฉพาะเมื่อเงื่อนไขที่เป็นจริงเท่านั้น
กล่องข้อความ: -จะทำการตรวจสอบเงื่อนไขก่อนการทำงาน
-และจะทำงานวนรอบ(Loop) ในกรณีที่เงื่อนไขมีค่าเป็นจริงเท่านั้น  ถ้าเงื่อนไขมีค่าเป็นเท็จจะเลิกทำงานวนรอบ(ก็คือทำในขณะที่เป็นจริง)
-เหมาะกับงานที่ไม่มีการบังคับทำงานในครั้งแรกของรอบการทำงาน
กล่องข้อความ: อธิบายความหมาย
1-เริ่มต้นทำงาน
2-กำหนดให้ตัวแปรชื่อ Count มีค่าเป็น 10
3-อ่านข้อมูลเข้ามาเก็บในตัวแปรชื่อ MaxCount
4-ทำการตรวจสอบค่าของเงื่อนไข ก่อน การทำงานว่าค่าเงื่อนไข Count < MaxCount  มีค่าเป็นอย่างไร
     -เป็น จริง  เข้าทำงานวนรอบ(Loop) เพื่อทำ
-คำนวณสมการ Count + 1 แล้วนำผลลัพธ์เก็บในตัวแปรชื่อ  Count
 -ทำซ้ำในข้อ 4
    -เป็นเท็จ  จะไม่เข้าทำงานวนรอบ
5-สิ้นสุดการทำงาน

ตัวอย่าง

 
 
กล่องข้อความ: พิจารณา   Count = Count + 1
1-ถ้าเป็นการเปรียบเทียบ จะให้ผลเป็นเท็จ  
2-ถ้าเป็นการคำนวณของโปรแกรมคอมพิวเตอร์จะ หาผลลัพธ์ตามสมการด้าน ฝั่งขวามือ ของเครื่องหมาย = ก่อน แล้วนำค่ามาเก็บในตัวแปรที่อยู่  ฝั่งซ้ายมือ ของเครื่องหมาย =
รูปที่  1.6    While-Do  Process
 
 






























            1.1.4  การทำงานแบบทำซ้ำจนกระทั่งเงื่อนไขเป็นจริง ( DO-UNTIL หรือ  REPEAT-UNTIL Process)  จะทำงานตามที่ระบุก่อนการตรวจสอบเงื่อนไขของการทำงานและจะทำงานจนกระทั่งเงื่อนไขของการทำงานเป็นจริง
กล่องข้อความ: -จะทำการตรวจสอบเงื่อนไขหลังการทำงาน
-และจะทำงานวนรอบ(Loop) ในกรณีที่เงื่อนไขมีค่าเป็นเท็จเท่านั้น  ถ้าเงื่อนไขมีค่าเป็นจริงจะเลิกทำงานวนรอบ(ก็คือทำงานจนกระทั่งเป็นเท็จ)
-เหมาะกับงานที่บังคับทำงานในครั้งแรกของรอบการทำงาน
กล่องข้อความ: อธิบายความหมาย
1-เริ่มต้นทำงาน
2-กำหนดให้ตัวแปรชื่อ Count มีค่าเป็น 10
3-อ่านข้อมูลเข้ามาเก็บในตัวแปรชื่อ MaxCount
4-เริ่มการทำงานวนรอบ
       -คำนวณสมการ Count + 1 แล้วนำผลลัพธ์เก็บในตัวแปรชื่อ  Count
      -ทำการตรวจสอบค่าของเงื่อนไข หลัง การทำงานว่าค่าของเงื่อนไข  Count < MaxCount  มีค่าเป็นอย่างไร
     -เป็น เท็จ  เข้าทำงานวนรอบ(Loop) โดยทำซ้ำในข้อ 4
    -เป็นจริง  จะไม่เข้าทำงานวนรอบ
5-สิ้นสุดการทำงาน
รูปที่  1.7   Do-Until / Repeat-Until Process
 
 





























            1.1.5  การทำงานแบบทำซ้ำตามจำนวนรอบที่ระบุ (FOR Process)  จะทำงานตามจำนวนรอบที่กำหนดโดยเริ่มจากรอบที่เริ่มต้นไปจนถึงรอบสุดท้าย  ตามปกติจะเพิ่มค่าของรอบไป 1 ค่า  เมื่อทำงานครบรอบหนึ่ง ๆ
กล่องข้อความ: -จะทำการตรวจสอบเงื่อนไขของการวนรอบก่อนการทำงาน  
      -ถ้าเงื่อนไขเป็นจริงจะทำงานโดยจะวนรอบการทำงาน เท่ากับ  จำนวนรอบที่สั่ง(ในที่นี้จะทำทั้งหมด   N รอบ)
        -ถ้าเงื่อนไขเป็นเท็จจะข้ามคำสั่งนี้ เพื่อไปทำงานในคำสั่งถัดไป
-เหมาะกับงานที่ทราบจำนวนรอบการทำงานที่แน่นอน
กล่องข้อความ: อธิบายความหมาย
1-เริ่มต้นทำงาน
2-กำหนดให้ตัวแปรชื่อ Count มีค่าเป็น  0
3-อ่านข้อมูลเข้ามาเก็บในตัวแปรชื่อ MaxCount
4-ทำการตรวจสอบเงื่อนไขของการวนรอบ ว่าค่าของตัวแปร i  มีค่าตั้งแต่ค่าเริ่มต้น(ในที่นี้เป็น 1) และค่าสิ้นสุด(ในที่นี้คือ  MaxCount)  หรือไม่
    -ถ้าไม่อยู่ในช่วง   จะข้ามคำสั่งนี้ เพื่อไปทำงานในคำสั่งถัดไป ในที่นี้คือข้อ  5
   -ถ้าอยู่ในช่วง   จะวนรอบเท่ากับ (MaxCount-1+1) รอบโดยใช้ตัวแปรชื่อ i  ควบคุมการนับรอบเพื่อทำงาน โดยทำ
-คำนวณสมการ Count + 1 แล้วนำผลลัพธ์เก็บในตัวแปรชื่อ  Count
-เมื่อทำงานครบทุกคำสั่งใน 1 การวนรอบจะเพิ่มค่าของตัวแปร  i  เพิ่มอีก  1  
5-แสดงผลลัพธ์นั่นคือ  ค่าข้อมูลที่ตัวแปร Count   เก็บอยู่ ณ. ขณะนั้นออกมา
6-สิ้นสุดการทำงาน

ตัวอย่าง

 
 
รูปที่  1.8    For   Process   แบบที่นิยมใช้งาน
 
 





























กล่องข้อความ: -จะเห็นว่าการเขียน   FOR  แบบนี้จะเป็นรูปแบบของ  WHILE-DO  นั่นเอง
-โดยที่ตัวแปรที่ใช้ควบคุมของการวนรอบนั้น  จะต้องมีการเพิ่มค่าเอง  ไม่ใช้เพิ่มโดยอัตโนมัติเมื่อครบ 1  การวนรอบการทำงาน (ในตัวอย่างนี้ใช้ตัวแปร  i   สำหรับควบคุมการวนรอบ)
กล่องข้อความ: อธิบายเพิ่มเติม
        -ต้องกำหนดตัวแปรขึ้นมา  1 ตัวโดยตั้งชื่ออะไรก็ได้ (ส่วนใหญ่จะเป็นตัวแปรที่มีชนิดข้อมูลแบบเลขจำนวนเต็ม) เพื่อทำหน้าที่ควบคุมการนับจำนวนรอบของทำงาน ในที่นี้กำหนดตัวแปรชื่อ   i  
       -ตัวแปร  i  ทำหน้าที่ควบคุมการวนรอบโดยจะเพิ่มค่าตัวเองเมื่อครบ  1  รอบการทำงาน   โดยที่มีรายละเอียดการเพิ่มค่าคือ
 -โดยปกติถ้าไม่ระบุ(Default) จะเป็นการเพิ่มค่าในตัวแปรที่ใช้ควบคุมการวนรอบรอบละ  1 หน่วยตัวเลข
 -สามารถกำหนดจำนวนหน่วยตัวเลขที่ต้องการขึ้นมาได้เช่น  2   , 5  , -1  ,  -3   เป็นต้น
     -เมื่อครบแต่ละรอบการทำงาน  ต้องทำการเปรียบเทียบค่าในตัวแปร  i กับรอบที่สูงสุดของการทำงานซึ่งในที่นี้ถูกเก็บค่าในตัวแปร ชื่อ Maxcount   ว่ามีค่ามากกว่าหรือไม่
   -ถ้ามากกว่า  เลิกทำงานในรอบการทำงานนั้น
 -ถ้าน้อยกว่าหรือเท่ากับ  ให้ทำงานต่อ
รูปที่  1.9    For    Process   แบบมาตราฐาน