วันเสาร์ที่ 15 มกราคม พ.ศ. 2554

การเขียนผังงาน

การเขียนผังงาน(FlowChart)


ผังงานหรือเรียกกันว่าโฟลวชาร์ต เป็นแผนภาพที่ใช้ออกแบบและอธิบายการทำงานของโปรแกรม โดยอาศัยรูปทรงต่างๆ ควบคู่ไปกับลูกศร แต่ละรูปในแผนภาพ จะหมายถึงการทำงานหนึ่งขั้นตอน ส่วนลูกศรจะแทนลำดับการทำงานขั้นตอนต่างๆ รวมทั้งทิศทางการไหลของข้อมูลตั้งแต่เริ่มต้นจนได้ผลลัพธ์ตามต้องการ ระบบงานทุกชนิดที่ผ่านการวิเคราะห์เป็นลำดับขั้นตอนแล้ว จะสามารถเขียนเป็นผังงานได้
ประโยชน์ของผังงาน    
1. ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม
2. ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย    
3. ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย
การเขียนผังงานที่ดี    
1. เขียนตามสัญลักษณ์ที่กำหนด
2. ใช้ลูกศรแสดงทิศทางการทำงานจากบนลงล่าง
3. อธิบายสั้นๆ ให้เข้าใจได้ง่าย
    

4. ทุกแผนภาพต้องมีทิศทางเข้าออก    
5. ไม่ควรโยงลูกศรไปที่ไกลมากๆ ถ้าต้องทำให้ใช้สัญลักษณ์การเชื่อมต่อแทน
การเขียนผังงานสามารถแบ่งออกได้เป็นสองประเภทใหญ่ๆ คือ
  1. ผังงานระบบ (System FlowChart) ใช้แสดงขั้นตอนการทำงานภายในระบบงานหนึ่งๆ โดยกล่าวถึงข้อมูลต่างๆ ที่เกี่ยวข้องทั้งหมด เช่น เอกสารเบื้องต้นคืออะไร วัสดุที่ใช้คืออะไร ใช้หน่วยความจำประเภทใด จะต้องส่งผ่านไปยังหน่วยงานใด วิธีการประมวลผลและการแสดงผลลัพธ์
  2. ผังงานโปรแกรม (Program Flowchart) ผังงานประเภทนี้จะแสดงถึงขั้นตอนของคำสั่งที่ใช้ในโปรแกรม การรับข้อมูล การประมวลผล การแสดงข้อมูล บางครั้งจะเรียกว่าผังการเขียนโปรแกรมสัญลักษณ์ที่ใช้ในการเขียนผังงาน
การเขียนผังงานจะต้องใช้ภาพสัญลักษณ์ต่างๆ นำมาเรียงต่อกันเพื่อแสดงลำดับการทำงาน สัญลักษณ์มาตรฐานที่เรียกว่าสัญลักษณ์ ANSI (American National Standards Institute)

       
 
การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง


ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้ แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure Programming เพื่อสร้าง Module สำหรับควบคุม Object ทั้งหมดให้ทำงานประสานกัน




1. การทำงานแบบตามลำดับ(Sequence) : รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์
2. การเลือกกระทำตามเงื่อนไข(Decision or Selection) : การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
 3. การทำซ้ำ(Repeation or Loop) : การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง

ภาษาที่ใช้บรรยายในผังงาน

    การแสดงลำดับกิจกรรมประมวลผลตามอัลกอริทึมนั้น นอกจากจะใช้รูปสัญลักษณ์ผังงาน (Flowchart Symbols) เป็นเครื่องมือแสดงแล้ว ภายในรูปสัญลักษณ์นั้น ๆ ต้องมีคำบรรยายประกอบเพื่อสื่อความเข้าใจระหว่างผู้อ่านกับผู้ที่นำเสนออัลกอริทึมนั้น ภาษาที่ใช้จึงต้องเป็นภาษาที่สื่อความเข้าใจกับบุคคลทั่วไป เป็นภาษาที่ผู้อ่านทั่วไปสามารถเข้าใจถูกต้อง ไม่ผิดพลาด คำบรรยายในผังงานจึงนิยมใช้ภาษาธรรมชาติ (Natural Language) นั่นคือภาษาที่คนทั่วไปใช้สื่อความหมายในชีวิตประจำวันเช่น ภาษาอังกฤษ ภาษาไทย เป็นต้น ต้องไม่เอาภาษาคอมพิวเตอร์มาใช้หรือมาปะปน เพราะจะทำให้เกิดความสับสน ไม่สามารถสื่อความเข้าใจกับผู้อ่านที่ยังไม่รู้ภาษาคอมพิวเตอร์นั้น ๆ ผังงานที่ได้ก็จะเป็นอัลกอริทึมแม่แบบที่ผู้เขียนโปรแกรมจะนำไปเขียนประโยคคำสั่งตามกิจกรรมของขั้นนั้น ๆ ด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง นั่นคือผังงานทั้งหมดจะถูกเขียนให้เป็นประโยคคำสั่ง ด้วยภาษาคอมพิวเตอร์ตามที่ผู้เขียนโปรแกรมเลือกมาใช้ เช่น ภาษา Pascal หรือภาษา C เป็นต้น โปรแกรมที่ได้นี้ก็คือ อัลกอริทึมที่เขียนด้วยภาษา Pascal หรือภาษา C นั่นเอง โดยทั่วไปจะเรียกว่า รหัสคำสั่ง หรือ Source Code


ตัวอย่างการเขียนผังงาน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น