รูปแบบโครงสร้างการทำงาน

รูปแบบโครงสร้างการทำงาน

1.โครงสร้างแบบเป็นลำดับ (sequence structure)

                 โครงสร้างลักษณะนี้เป็นโครงสร้างพื้นฐานของผังงาน และเป็นลักษณะขั้นตอนการทำงานที่พบมากที่สุด คือทำงานทีละขั้นตอนลำดับ

2.โครงสร้างแบบมีการเลือก (selection structure)

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

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

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

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

-ภาษาโปรแกรมส่วนใหญ่จะจำกัดให้สามารถตรวจสอบเงื่อนไข เฉพาะ ตัวแปรประเภทเลขจำนวนเต็ม(Integer) และตัวแปรประเภทตัวอักษร(Character)เท่านั้น

3.โครงสร้างแบบทำซ้ำ (iteration structure)

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

การทำงานแบบทำซ้ำตามจำนวนรอบที่ระบุ (FOR Process)  จะทำงานตามจำนวนรอบที่กำหนดโดยเริ่มจากรอบที่เริ่มต้นไปจนถึงรอบสุดท้าย  ตามปกติจะเพิ่มค่าของรอบไป 1 ค่า  เมื่อทำงานครบรอบหนึ่ง ๆจะทำการตรวจสอบเงื่อนไขของการวนรอบก่อนการทำงาน ถ้าเงื่อนไขเป็นจริงจะทำงานโดยจะวนรอบการทำงาน เท่ากับ  จำนวนรอบที่สั่ง(ในที่นี้จะทำทั้งหมด   N รอบ)ถ้าเงื่อนไขเป็นเท็จจะข้ามคำสั่งนี้ เพื่อไปทำงานในคำสั่งถัดไปเหมาะกับงานที่ทราบจำนวนรอบการทำงานที่แน่นอน

  การทำงานแบบทำซ้ำในขณะที่เงื่อนไขเป็นจริง (WHILE-DO  Process)  จะทำการตรวจสอบเงื่อนไขของการทำงานก่อนการทำงานทุกครั้ง  และจะทำงานเฉพาะเมื่อเงื่อนไขที่เป็นจริงเท่านั้นจะทำการตรวจสอบเงื่อนไขก่อนการทำงานและจะทำงานวนรอบ(Loop) ในกรณีที่เงื่อนไขมีค่าเป็นจริงเท่านั้น  ถ้าเงื่อนไขมีค่าเป็นเท็จจะเลิกทำงานวนรอบ(ก็คือทำในขณะที่เป็นจริง)-เหมาะกับงานที่ไม่มีการบังคับทำงานในครั้งแรกของรอบการทำงาน

การทำงานแบบทำซ้ำจนกระทั่งเงื่อนไขเป็นจริง ( DO-UNTIL หรือ  REPEAT-UNTIL Process) จะทำงานตามที่ระบุก่อนการตรวจสอบเงื่อนไขของการทำงานและจะทำงานจนกระทั่งเงื่อนไขของการทำงานเป็นจริงจะทำการตรวจสอบเงื่อนไขหลังการทำงานและจะทำงานวนรอบ(Loop) ในกรณีที่เงื่อนไขมีค่าเป็นเท็จเท่านั้น  ถ้าเงื่อนไขมีค่าเป็นจริงจะเลิกทำงานวนรอบ(ก็คือทำงานจนกระทั่งเป็นเท็จ)เหมาะกับงานที่บังคับทำงานในครั้งแรกของรอบการทำงาน

อ้างอิง

http://kropomprograming.wordpress.com/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80/2-%E0%B8%A5%E0%B8%B1%E0%B8%81%E0%B8%A9%E0%B8%93%E0%B8%B0%E0%B9%82%E0%B8%84%E0%B8%A3%E0%B8%87%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B8%9C%E0%B8%B1%E0%B8%87%E0%B8%87/

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

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

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

ประโยชน์ของผังงาน • ช่วยลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน • ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด • ช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว • ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น

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

ผังงานโปรแกรม ( Program Flowchart ) การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้

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

รูปที่1 แสดง สัญลักษณ์ในการเขียนผังงานโปรแกรม


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

รูปที่ 2 แสดงการเขียนผังงานที่แสดงขั้นตอนการส่งจดหมาย

ตัวอย่างที่ 2 เขียนผังงานแสดงวิธีการรับประทานยา ที่แบ่งขนาดรับประทานตามอายุของผู้ทานดังนี้ • อายุมากกว่า 10 ปี รับประทานครั้งละ 2 ช้อนชา • อายุมากกว่า 3 ปี ถึง 10 ปี รับประทานครั้งละ 1 ช้อนชา • อายุมากกว่า 1 ปี ถึง 3 ปี รับประทานครั้งละ 1/2 ช้อนชา • แรกเกิดถึง 1 ปี ห้ามรับประทาน

รูปที่ 3 แสดงการเขียนผังงานแสดงวิธีการรับประทานยา


โครงสร้างการทำงานแบบมีการเลือก ( Selection ) เป็นโครงสร้างที่ใช้การตรวจสอบเงื่อนไขเพื่อการทำงานอย่างใดอย่างหนึ่ง โดยโครงสร้างแบบนี้จะมีอยู่ด้วยกัน 2 รูปแบบ คือ IF – THEN – ELSE และ IF – THEN

รูปที่4 แสดงโครงสร้างผังงานแบบมีการเลือก

โครงสร้างแบบ IF – THEN – ELSE เป็นโครงสร้างที่จะทำการเปรียบเทียบเงื่อนไขที่ใส่ไว้ในส่วนหลังคำว่า IF และเมื่อได้ผลลัพธ์จากการเปรียบเทียบก็จะเลือกว่าจะทำงานต่อในส่วนใด กล่าวคือถ้าเงื่อนไขเป็นจริง ( TRUE ) ก็จะเลือกไปทำงานต่อที่ส่วนที่อยู่หลัง THEN แต่ถ้าเงื่อนไขเป็นเท็จ ( FALSE ) ก็จะไปทำงานต่อในส่วนที่อยู่หลังคำว่า ELSE

แต่ถ้าสำหรับโครงสร้างแบบ IF – THEN เป็นโครงสร้างที่ไม่มีการใช้ ELSE ดังนั้น ถ้ามีการเปรียบเทียบเงื่อนไขที่อยู่หลัง IF มีค่าเป็นจริง ก็จะไปทำส่วนที่อยู่หลัง Then แต่ถ้าเงื่อนไขเป็นเท็จ ก็จะไปทำคำสั่งที่อยู่ถัดจาก IF – THEN แทน

ตัวอย่าง 3 การเขียนผังงานอ่านค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร A และ B แล้วทำการเปรียบเทียบในตัวแปรทั้งสอง โดยมีเงื่อนไขดังนี้ • ถ้า A มากกว่า B ให้คำนวณหาค่า A – B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT • ถ้า A น้อยกว่าหรือเท่ากับ B ให้คำนวณหาค่า A + B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT

รูปที่ 3 แสดงการเขียนผังงานอ่านค่าข้อมูล

ตัวอย่าง 4 การเขียนผังงานเปรียบเทียบค่าข้อมูลที่เก็บอยู่ในตัวแปร X โดยมีเงื่อนไขดังนี้ • ถ้า X > 0 ให้พิมพ์คำว่า ” POSITIVE NUMBER “ • ถ้า X < 0 ให้พิมพ์คำว่า ” NEGATIVE NUMBER “ • ถ้า X = 0 ให้พิมพ์คำว่า ” ZERO NUMBER “

รูปที่ 4 แสดงการเขียนผังงานเปรียบเทียบค่าข้อมูล


โครงสร้างการทำงานแบบมีการทำงานซ้ำ เป็นโครงสร้างที่มีการประมวลผลกลุ่มคำสั่งซ้ำหลายครั้ง ตามลักษณะเงื่อนไขที่กำหนด อาจเรียก การทำงานซ้ำแบบนี้ได้อีกแบบว่า การวนลูป ( Looping ) โครงสร้างแบบการทำงานซ้ำนี้จะมีอยู่ 2 ประเภท คือ • DO WHILE • DO UNTIL

DO WHILE เป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่ต้องทำซ้ำ ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำงาน

แสดงโครงสร้างการทำงานซ้ำแบบ DO WHILE

DO UNTIL เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกัน แต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน

แสดงโครงสร้างการทำงานซ้ำแบบ DO UNTIL

สรุปข้อแตกต่างระหว่าง DO WHILE และ DO UNTIL มีดังนี้ 1. DO WHILE ในการทำงานครั้งแรกจะต้องมีการตรวจสอบเงื่อนไขก่อนทุกครั้ง ก่อนที่จะมีการเข้ลูปการทำงาน 2. DO UNTIL การทำงานครั้งแรกจะยังไม่มีการตรวจสอบเงื่อนไข แต่จะเข้าไปทำงานในลูปก่อนอย่างน้อย 1 ครั้งแล้วจึงจะไปตรวจสอบเงื่อนไข 3. DO WHILE จะมีการเข้าไปทำงานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้วพบว่า เงื่อนไขเป็นจริง แต่เมื่อพบว่าเงื่อนไขเป็นเท็จ ก็จะออกจากลูปทันที 4. DO UNTIL จะมีการเข้าไปทำงานในลูปก็ต่อเมื่อตรวจสอบเงื่อนไขแล้วพบว่า เงื่อนไขเป็นเท็จ แต่เมื่อพบว่าเงื่อนไขเป็นจริง ก็จะออกจากลูปทันที

ตัวอย่าง 5 จงเขียนผังงานแสดงการเพิ่มของข้อมูลตัวเลขที่เก็บอย่ในหน่วยความจำที่แอดเดรส 1 โดยที่ค่าเริ่มต้นจาก 0 ให้ทำการเพิ่มค่าทีละ 1 เรื่อยไปจนกระทั่ง J มีค่าข้อมูลมากกว่า 100 จึงหยุดการทำงาน

ตัวอย่างนี้ เป็นตัวอย่างการทำงานแบบทำซ้ำ ซึ่งจะสามารถแสดงการเขียนได้ทั้งแบบ DO WHILE และ DO UNTIL ดังนี้

อ้างอิง

http://www.bcoms.net/system_analysis/lesson63.asp