64
การเขียนผังงาน เบื้องต้น Basic Flowcharting

หลักการเขียนผังงาน(Flow chart)

  • Upload
    -

  • View
    5.744

  • Download
    0

Embed Size (px)

Citation preview

Page 1: หลักการเขียนผังงาน(Flow chart)

การเขียนผังงานเบื้องต้น

Basic Flowcharting

Page 2: หลักการเขียนผังงาน(Flow chart)

การเขียนผังงาน(Flowcharting)• ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียนเป็นเครื่องหมายภาพสัญลักษณ์แสดงล าดับขั้นตอนการท างาน

• การเขียนผังงาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการวิเคราะห์งานให้อยู่ในรูปภาพหรือสัญลักษณ์

• ผู้เขียนโปรแกรมจะสามารถเข้าใจล าดับขั้นตอนการเขียนโปรแกรมได้อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของล าดับขั้นตอนในวิธีการประมวลผล

Page 3: หลักการเขียนผังงาน(Flow chart)

การเขียนผังงาน(Flowcharting)• งานทุกชนิดที่มีการวิเคราะห์เป็นล าดับขั้นตอนแล้ว เราสามารถน ามาเขียนผังงานได้ แม้กระทั่งงานที่เกี่ยวข้องกับชีวิตประจ าวันของเราเอง

Page 4: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างผังงานทั่วไป(1/3)• แสดงการโยนเหรียญ 3ครั้ง ถ้าออกหัว ผู้โยนจะได้เงิน 10 บาท ถ้าออกก้อย ผู้โยนจะเสียเงิน 10 บาท

เร ิม่ตน้

โยนเหรยีญ

ผลการโยน

ไดเ้งนิ 10 บาทเสยีเงนิ 10 บาท

ครบ 3 คร ัง้หรอืยงั?

หยดุ

หวักอ้ย

ยงั

ครบ

Page 5: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างผังงานทั่วไป(2/3)• ผังงานแสดงการเดินข้ามถนนที่มีสัญญาณไฟจราจร

เร ิม่ตน้

รอสญัญาณไฟ

ไฟแดงหรอืไม่

เดนิขา้มถนน

หยดุ

ใช่

ไมใ่ช่

Page 6: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างผังงานทั่วไป(3/3)• ผังงานพิจารณาการใช้ยาตามฉลากยาที่ปิดข้างขวด แยกตามขนาดการใช้ดังนี้– อายุต่ ากว่า 5 ปี ห้ามรับประทาน

– อายุ 5 - 7 ปี ครั้งละ 1 เม็ด

– อายุ 8 - 14 ปี ครั้งละ 2 เม็ด

– อายุ 15 ปีขึ้นไป ครั้งละ 3เม็ด

เร ิม่ตน้

อายตุ า่กวา่5 ปี

หา้มรบัประทาน

อาย ุ5 ปีข ัน้ไปแตไ่มถ่งึ 8 ปี

คร ัง้ละ 1 เม็ด

อาย ุ8 ปีข ัน้ไปแตไ่มถ่งึ 15 ปี

คร ัง้ละ 2 เม็ด

คร ัง้ละ 3 เม็ด

หยดุ

ใช่

ใช่

ใช่

ไมใ่ช่

ไมใ่ช่

ไมใ่ช่

Page 7: หลักการเขียนผังงาน(Flow chart)

ผังงานทางคอมพิวเตอร์ผังงานทางคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท ได้แก่

ผังงานระบบ (System flowchart)

ผังงานโปรแกรม (Program flowchart)

Page 8: หลักการเขียนผังงาน(Flow chart)

ผังงานระบบ(System flowchart)• เป็นผังงานที่ใช้แสดงขั้นตอนการท างานของระบบงานอย่างกว้าง ๆ ทั้งระบบ โดยแสดงให้เห็นถึงความสัมพันธ์ของส่วนส าคัญต่าง ๆ ในระบบนั้น

• เช่น เอกสารเบื้องต้น หรือสื่อบันทึกที่ใช้อยู่เป็นอะไร และผ่านไปยังหน่วยงานใด มีกิจกรรมอะไรในหน่วยงานนั้น ๆ แล้วส่งต่อไปยังหน่วยงานใด เป็นต้น

• ดังนั้น ผังงานระบบ จะเกี่ยวข้องกับ คน วัสดุ และเครื่องจักร โดยแสดงการน าข้อมูลเข้า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้าง ๆ

Page 9: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างผังงานระบบ• ผังงานแสดงการค านวณพื้นที่สามเหลี่ยมจ านวน 100 รูป

เร ิม่ตน้

บนัทกึความสงูและความยาวฐานลงในดสิก์

รบัความสงู และความยาวฐานของสามเหลีย่ม 100 รปู

ดสิกท์ ี่บนัทกึแลว้

ค านวณพืน้ทีข่องสามเหลีย่ม

พมิพร์ายงานของพืน้ทีส่ามเหลีย่ม

จบ

Page 10: หลักการเขียนผังงาน(Flow chart)

ผังงานโปรแกรม(Program flowchart)• เป็นผังงานที่แสดงขั้นตอนของค าส่ังที่ใช้ในโปรแกรม

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

Page 11: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างผังงานโปรแกรม• ผังงานแสดงการค านวณพื้นที่สามเหลี่ยมจ านวน 100 รูป

เร ิม่ตน้

รบัความสงู และความยาวฐานทลีะรปู

ครบ 100 รปูแลว้ใชห่รอืไม่

ค านวณพืน้ที=่ 0.5 * ฐาน * สงู

พมิพพ์ืน้ท ีส่ามเหลีย่มทลีะรปู

จบ

ไมใ่ช่

ใช่

Page 12: หลักการเขียนผังงาน(Flow chart)

เปรียบเทียบผังงานระบบและผังงานโปรแกรมเร ิม่ตน้

บนัทกึความสงูและความยาวฐานลงในดสิก์

รบัความสงู และความยาวฐานของสามเหลีย่ม 100 รปู

ดสิกท์ ี่บนัทกึแลว้

ค านวณพืน้ทีข่องสามเหลีย่ม

พมิพร์ายงานของพืน้ทีส่ามเหลีย่ม

จบ

เริม่ตน้

รบัความสงู และความยาวฐานทลีะรปู

ครบ 100 รปูแลว้ใชห่รอืไม่

ค านวณพืน้ที=่ 0.5 * ฐาน * สงู

พมิพพ์ืน้ทีส่ามเหลีย่มทลีะรปู

จบ

ไมใ่ช่

ใช่

ผังงานระบบ

ผังงานโปรแกรม

Page 13: หลักการเขียนผังงาน(Flow chart)

ประโยชน์ของการเขียนผังงาน• เราสามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับ

ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง• ผังงานเป็นการสื่อความหมายด้วยภาพ ท าให้ง่ายและสะดวกต่อการ

พิจารณาล าดับขั้นตอนในการท างานดีกว่าการบรรยายเป็นตัวอักษร• ช่วยให้การค้นหาความผิดพลาดของล าดบัการท างานได้รวดเร็ว และ

สามารถแก้ไขได้ง่าย• การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถท าได้รวดเร็วและ

ง่ายขึ้น• ในการบ ารุงรักษาโปรแกรม หรือมีการเปลี่ยนแปลงแก้ไขโปรแกรมให้

มีประสิทธิภาพ ถ้าดูจากผังงานจะช่วยให้สามารถทบทวนการท างานในโปรแกรมได้ง่ายขึ้น

Page 14: หลักการเขียนผังงาน(Flow chart)

ข้อจ ากัดของการเขียนผังงาน• การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น มีการที่เงื่อนไขในการทอสอบมากมาย ซึ่งมักจะใช้ตารางการตัดสินใจ(decision table) เข้ามาช่วยมากกว่า

Page 15: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(1/13)• การเขียนผังงานเป็นการน าเอาภาพสัญลักษณ์ต่าง ๆ มาเรียงต่อกัน เพื่อแสดงล าดับขั้นตอนการท างาน โดยมีเส้นลูกศรเชื่อมระหว่างภาพต่างๆ

• สัญลักษณ์ในการเขียนผังงานที่นิยมใช้กันนั้น เป็นสัญลักษณ์ของหน่วยงานที่ชื่อว่า American National Standard Institute (ANSI) และ International Standard Organization (ISO) เป็นผู้ก าหนดและรวบรวมให้เป็นสัญลักษณ์มาตรฐานในการเขียนผังงาน

Page 16: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(2/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การเริ่มต้นหรือสิ้นสุดการเขียนผังงาน

(Terminal)

1. เริ่มต้นผังงาน

2. จบผังงาน

รับข้อมูลหรือแสดงข้อมูลโดยไม่ระบุสื่อ

(Input/output)

1. รับค่าใส่ในตัวแปรชื่อ name

2. แสดงค่าจากตัวแปร area

START

STOP

read name

display area

Page 17: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(3/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การประมวลผล

(Process)

1. ค านวณ A + B และเก็บไว้ใน C

2. ก าหนดค่า sum เท่ากับ 0

การเปรียบเทียบหรือตัวสินใจ

(Compare / Decision)

เปรียบเทียบถ้า i มีค่า

น้อยกว่าหรือเท่ากับ 10

- เป็นจริง พิมพ์ค่า i เสร็จแล้วไปท าค าสั่งอื่น ๆ

- เป็นเท็จ ไปท าค าสั่งอื่น ๆ

C = A + B

Sum = 0

i <= 10

true

false

แสดง i

Page 18: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(4/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การแสดงผลลัพธ์ทางเครื่องพิมพ์

(Document)

พิมพ์ค่า A ทาง

เครื่องพิมพ์

การแสดงผลลัพธ์ทางจอภาพ

(Display)

แสดงค่า A, B

บนจอภาพ

print A

display A , B

Page 19: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(5/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

หมายเหตุ

(Comment)

รับค่าทางการกดแป้นพิมพ์

(Manual Input)

รับค่า A ทาง

แป้นพิมพ์

read A A = Age

read A

Page 20: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(6/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การก าหนดค่าต่างๆ ไว้ล่วงหน้า

(Preparation)

ก าหนดให้ i มีค่าเท่ากับ

1 และเพิ่มค่าทีละ 1

จนมีค่าเป็น 100 จึงออก

จากการท างานซ้ า

โดยแต่ละรอบ บวกค่า

sum ด้วยค่า i

แสดงทิศทางและล าดับของการท างาน

(Flow line)

for i =1 to 100

sum = sum + i

i

Page 21: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(7/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

จุดต่อเนื่องในหน้าเดียวกัน

(In-Page connector)

หลังจากพิมพ์ค่า A

แล้วให้ท าตามที่จุด

ต่อเนื่อง A ซึ่งอยู่ใน

หน้าเดียวกัน

จุดต่อเนื่องที่อยู่คนละหน้า

(Off-Page Connector)

หลังจากก าหนดค่า A

เท่ากับ 3 ให้ท าตาม

จุดต่อเนื่องชื่อ 1 ซึ่ง

ไม่ได้อยู่ในหน้า

เดียวกัน

A

write A

A = 3

1

Page 22: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(8/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การรับหรือแสดงข้อมูลโดยใช้บัตรเจาะรู

(Punch card)

1. อ่านค่า A ที่บัตรเจาะรู 1 ใบ

2. เจาะค่า B,C บนบัตร 1 ใบ

ชุดของบัตรเจาะรู

(Card Desk)

เจาะค่า B1 , B2 , Bn

บนบัตร n ใบ

read A

punch B , C

punch bi b=1 ,

…n

Page 23: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(9/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การรับหรือแสดงข้อมูลโดยใช้เทปกระดาษ

(Punched tape)

อ่านค่า ID , name

บนเทปกระดาษ

การรับหรือแสดงข้อมูลโดยใช้เทปแม่เหล็กเป็นสื่อ

(Magnatic tape)

read ID , name

Page 24: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(10/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การรับหรือแสดงข้อมูลโดยใช้จานแม่เหล็กเป็นสื่อ

(Magnatic disk)

การรับหรือแสดงข้อมูลโดยใช้ดรัมแม่เหล็กเป็นสื่อ

(Magnatic drum)

Page 25: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(11/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การท างานที่ก าหนดไว้แล้ว เช่น โปรแกรมย่อย

(Predefine Process)

เรียกโปรแกรม

ย่อยชื่อ findGrade

ให้ท างาน

การควบคุมการท างานด้วยมนุษย์ บางครั้งเรียกการท างานแบบออฟไลน์

(Offline Processing)

findGrade

Page 26: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(12/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การท างานแบบออฟไลน์ของอุปกรณ์ที่ไม่ได้ถูกควบคุมจากหน่วยประมวลผลกลางโดยตรง

(Auxiliary Operation)

การจัดเรียงล าดับข้อมูล

(Sorting)

Page 27: หลักการเขียนผังงาน(Flow chart)

สัญลักษณ์ในการเขียนผังงาน(13/13)สัญลักษณ์ ความหมาย ตัวอย่างการใช้ ค าอธิบาย

การส่งข้อมูลทางสายส่ือสาร

(Communication Link)

Page 28: หลักการเขียนผังงาน(Flow chart)

หลักการจัดภาพผังงาน(1/2)• ทิศทางของผังงานจะเริ่ม

จากส่วนบนของหน้ากระดาษลงมายังส่วนล่าง และจากซ้ายมือไปของหน้ากระดาษ และควรเขียนเครื่องหมายลูกศรก ากับทิศทางไว้ด้วย

START

STOP

read age

age > 60

“You are old”

true

false

บน

ล่าง

ทิศทางของเส้น

Page 29: หลักการเขียนผังงาน(Flow chart)

หลักการจัดภาพผังงาน(2/2)• สัญลักษณ์หรือภาพที่ใช้

ในการเขียนผังงานมีขนาดต่าง ๆ กันได้ แต่จะต้องมีรูปมาตรฐานตามความหมายที่ก าหนด

START

sum = 0

i = 1 to 10

sum = sum + i

i

sum

STOP

ขนาดของสัญลักษณ์ปรับให้เหมาะสมกับข้อความในสัญลักษณ์

Page 30: หลักการเขียนผังงาน(Flow chart)

หลักการจัดภาพผังงาน(3/2)• การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ และหลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้าจ าเป็นต้องโยงถึงกัน ควรใช้เครื่องหมายจุดต่อเนื่องแทนและถ้าเป็นไปได้ควรเขียนผังงานให้จบในหน้าเดียวกัน

• ค าอธิบายในภาพ เขียนเพียงสั้น ๆ และเข้าใจง่าย• ผังงานที่ดีควรจะมีความเป็นระเบียบเรียบร้อยและสะอาด นอกจากนี้แล้ว จะมีชื่อของผังงาน ผู้เขียน วันที่เขียน และเลขหน้าล าดับ

Page 31: หลักการเขียนผังงาน(Flow chart)

รูปแบบการเขียนผังงาน• แบบตามล าดับ (Sequence)

• แบบการเลือก/ตัดสนิใจ/เงื่อนไข (Selection/Decision/Condition)

• แบบวนซ้ า (Iteration / Loop)

Page 32: หลักการเขียนผังงาน(Flow chart)

รูปแบบตามล าดับ(1/3)• เป็นรูปแบบการเขียนโปรแกรมที่ง่ายที่สุด ท างานทีละอย่างจากบนลงล่าง แสดงล าดับการท างานจากบนลงล่างตามลูกศร

งานที ่1

งานที ่2

งานที ่3

อา่นขอ้มลู

ค านวณขอ้มลู

พมิพผ์ลลพัธ์

ค านวณ

ค านวณ

ค านวณ

Page 33: หลักการเขียนผังงาน(Flow chart)

รูปแบบตามล าดับ(2/3)START

STOP

A = 5

B = 3

C = A + B

print C

เริ่มต้น

ก าหนดค่าตัวแปร A มีค่าเป็น 5

ก าหนดค่าตัวแปร B มีค่าเป็น 3

เอาค่า A บวกกับ B แล้วเก็บไว้ใน C

พิมพ์ค่า C

จบการท างาน

Page 34: หลักการเขียนผังงาน(Flow chart)

รูปแบบตามล าดับ(3/3)

เริ่มต้น

รับข้อมูลมาเก็บไว้ในตัวแปร A, B ทางแป้นพิมพ์

เอาค่า A บวกกับ B แล้วเก็บไว้ใน C

พิมพ์ค่า C

จบการท างาน

START

STOP

C = A + B

print C

A , B

Page 35: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างการเขียนผังงานแบบตามล าดับ• จงเขียนโปรแกรมค านวณคา่ไฟฟ้า โดยรับค่ามิเตอร์จ านวนการใช้

ไฟฟ้าของเดือนที่แล้ว และค่ามิเตอร์การใช้ไฟฟา้ของเดือนปัจจุบัน ค านวณค่าไฟฟ้า โดยคิดอัตรา 2.5 บาท /1 หน่วยมิเตอร์

1. สิ่งที่โจทย์ต้องการ

ค่าไฟฟ้า

2. รูปแบบผลลัพธ์

ป้อนเลขมิเตอร์เดือนที่แล้ว --> <รอรับเลขมิเตอร์เดือนที่แล้ว>ป้อนเลขมิเตอร์เดือนปัจจุบัน--> <รอรับเลขมิเตอร์เดือนปัจจุบัน>

-----------------------------------------------------จ านวนหนว่ยไฟฟ้าที่ใช้ : <แสดงจ านวนหนว่ยไฟฟ้าที่ใช้>ค่าไฟฟ้า : <แสดงค่าไฟฟ้า>

Page 36: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างการเขียนผังงานแบบตามล าดับ3. ข้อมูลน าเข้า

– เลขมิเตอร์เดือนที่แล้ว

– เลขมิเตอร์เดือนปัจจุบัน

4. ตัวแปรที่ใช้ในการประมวลผล– Last_meter แทน เลขมิเตอร์เดือนที่แล้ว

– Curr_meter แทน เลขมิเตอร์เดือนปัจจุบัน

– Num_meter แทน จ านวนหน่วยมิเตอร์ที่ใช้

– Electric_fee แทน ค่าไฟฟ้า

Page 37: หลักการเขียนผังงาน(Flow chart)

ตัวอย่างการเขียนผังงานแบบตามล าดับ5. ขั้นตอนวิธีการประมวลผล

1. เริ่มต้น

2. รับค่าใส่ตัวแปร last_meter และ curr_meter จากผู้ใช้ทางแป้นพิมพ์

3. ค านวณ num_meter = curr_meter – last_meter

4. ค านวณ electric_fee = num_meter * 2.5

5. แสดงค่า num_meter , electric_fee

6. จบการท างาน

Page 38: หลักการเขียนผังงาน(Flow chart)

Flow chartSTART

STOP

Num_meter = Curr_meter – Last_meter

Last_meter , Curr_meter

Electric_fee = Num_meter * 2.5

Num_meter , Electric_fee

Page 39: หลักการเขียนผังงาน(Flow chart)

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

• แบบทางเลือกเดียว (IF - THEN)

• แบบสองทางเลือก (IF – THEN - ELSE)

• แบบหลายทางเลือก (IF – THEN – ELSE IF | CASE)

Page 40: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(1/5)

เงื่อนไข

ประโยคงาน

งานล าดับถัดไป

จริง

เท็จ

เงื่อนไข

ประโยคงาน 1

งานล าดับถัดไป

จริง

เท็จ

ประโยคงาน 2

Page 41: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(2/5)START

STOP

read age

age > 60

“You are old”

true

false

เริ่มต้น

รับค่าใส่ตัวแปร age

ถ้าเป็นจริง พิมพ์ข้อความ You are oldถ้าเป็นเท็จ ไม่ต้องท าอะไร

จบการท างาน

เปรียบเทียบค่า age มากกว่า 60

Page 42: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(3/5)

รับค่า รหัสผ่านจากผู้ใช้ ถ้ารหัสผ่านที่ป้อนมีค่า GoodLuck ให้แสดงข้อว่า Welcome Manager และข้อความ Exit Password System

เริ่ม

รับค่า ans

ans = “GoodLuck”

พิมพ์ Welcome

Manager

พิมพ์ Exit Password

System

จบ

จริง

เท็จ

Page 43: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(4/5)• บริษัทแห่งหนึ่งต้องการเพ่ิมเงินเดือนให้พนักงานที่มีเงินเดือนต่ ากว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน

• ขั้นตอนการประมวลผล1. รับค่าชื่อพนักงาน . เงินเดือน2. เปรียบเทียบค่า เงินเดือน

- ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100)

3. ค านวณโบนัส = เงินเดือน * 34. แสดงผลลัพธ์5. จบการท างาน

Page 44: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(5/5)START

STOP

read

name ,salary

salary < 5000Name , salary ,

bonus true

false

salary = salary + (salary*10/100)

A

A

bonus = salary * 3

แต่ไม่ต้องเขียนเส้นเชื่อมนี้

Page 45: หลักการเขียนผังงาน(Flow chart)

ข้อควรจ า• ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ท างานตามค าสั่งเมื่อเงื่อนไขมีค่าเป็นจริง ไม่นิยมให้ท างามตามค าสั่งเป็นเท็จ

เงื่อนไข

ประโยคงาน 1

งานล าดับถัดไป

จริง

เท็จ

ประโยคงาน 2

เงื่อนไข

ประโยคงาน 1

งานล าดับถัดไป

จริง

เท็จ

ประโยคงาน 2

Page 46: หลักการเขียนผังงาน(Flow chart)

เงื่อนไข

ประโยคงาน 1

งานล าดับถัดไป

จริง

เท็จ

ประโยคงาน 2

IF เงื่อนไข THEN

BEGINประโยคงาน 1 ;ประโยคงาน 2 ;

END;

Page 47: หลักการเขียนผังงาน(Flow chart)

เงื่อนไข

ประโยคงาน 1

งานล าดับถัดไป

เท็จ

จริง

ประโยคงาน 2

IF เงื่อนไข THEN

ELSE

BEGINประโยคงาน 1 ;ประโยคงาน 2 ;

END;

Page 48: หลักการเขียนผังงาน(Flow chart)

แบบสองทางเลือก(1/6)• การท างานขึ้นอยู่กับเงื่อนไข ถ้าเป็นจริงไปท างานด้านหนึ่ง ถ้าเป็นเท็จก็จะไปท างานอีกอย่างหนึ่ง

เงื่อนไข

ประโยคงาน2

งานล าดับถัดไป

จริงเท็จ

ประโยคงาน1

Page 49: หลักการเขียนผังงาน(Flow chart)

แบบสองทางเลือก(2/6)• ถ้า sex =1 เงื่อนไขเป็นจริง จะเพิ่มค่าตัวแปร Male ขึ้นอีก 1

• ถ้า sex =1 เงื่อนไขเป็นเท็จ จะเพิ่มค่าตัวแปร Female ขึ้นอีก 1

Sex = 1

Male = Male +1Female = Female + 1

TrueFalse

Page 50: หลักการเขียนผังงาน(Flow chart)

แบบสองทางเลือก(3/6)START

STOP

read age

age > 60

“You are old”

truefalse

“You are young”

เริ่มต้น

รับค่าใส่ตัวแปร age

ถ้าเป็นจริง พิมพ์ข้อความ You are oldถ้าเป็นเท็จ พิมพ์ข้อความ You are young

จบการท างาน

เปรีบเทียบค่า age มากกว่า 60

Page 51: หลักการเขียนผังงาน(Flow chart)

แบบสองทางเลือก(4/6)เริ่ม

รับค่า ans

ans = ‘y’ OR ans=‘Y’

พิมพ์ Thank Youพิมพ์ I’m sorry to hear that

จริงเท็จ

พิมพ์ Do you like Pascal

พิมพ์ Good Bye

จบ

แสดงข้อความ Do you like Pascal

รับค่าใส่ตัวแปร ans

เริ่มการท างาน

เปรียบเทียบค่า ans เท่ากับ y หรือ Y

- ถ้าเป็นจริง พิมพ์Thank you-ถ้าเป็นเท็จ พิมพ์I’m sorry to hear that

พิมพ์ค าว่า Goodbye

จบการท างาน

Page 52: หลักการเขียนผังงาน(Flow chart)

แบบสองทางเลือก(5/6)• บริษัทแห่งหนึ่งต้องการเพิม่เงินเดือนให้พนักงานที่มีเงนิเดือนต่ ากว่า

5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5% ให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน

• ขั้นตอนการประมวลผล1. รับค่าชื่อพนักงาน . เงินเดือน2. เปรียบเทียบค่า เงินเดือน < 5000

- ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100- ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100

3. ค านวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน)4. โบนัส = เงินเดือน * 35. แสดงผลลัพธ์6. จบการท างาน

Page 53: หลักการเขียนผังงาน(Flow chart)

แบบทางเลือกเดียว(6/6)START

STOP

read

name ,salary

salary < 5000

Name , salary ,

bonus

truefalse

rate = 10 / 100

A

A

bonus = salary * 3

แต่ไม่ต้องเขียนเส้นเชื่อมนี้

rate = 5 / 100

salary = salary+(salary * rate)

Page 54: หลักการเขียนผังงาน(Flow chart)

การเลือกหลายทาง(แบบ IF)• เป็นรูปแบบการเลือกการท างานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป

เงือ่นไข 1

ค ำสัง่ที ่1

TrueFalse

เงือ่นไข 2

ค ำสัง่ที ่2

TrueFalse

เง ือ่นไข 3

ค ำสัง่ที ่3

TrueFalse

ค ำสัง่ที ่4

Page 55: หลักการเขียนผังงาน(Flow chart)

การเลือกหลายทาง(แบบ IF)

Score >=80

Grade = ‘A’

truefalse

Score >=70

Grade = ‘B’

truefalse

Score >=60

Grade = ‘C’

truefalse

Score >=50

Grade = ‘D’

truefalse

Grade = ‘F’

Score = mid + final

Page 56: หลักการเขียนผังงาน(Flow chart)

การเลือกหลายทาง(แบบ CASE)• เป็นรูปแบบการเลือกการท างานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป

เงือ่นไข

ค ำสัง่ที ่2ค ำสัง่ที ่1 ค ำสัง่ที ่4ค ำสัง่ที ่3

กรณี 1 กรณี 2 กรณี 3 กรณี 4

Page 57: หลักการเขียนผังงาน(Flow chart)

การเลือกหลายทาง(แบบ CASE)

score

Grade = ‘B’Grade = ‘A’ Grade = ‘D’Grade = ‘C’

80..100 70..79 60..69 50..59

Grade = ‘F’

0..49

Score = mid + final

Page 58: หลักการเขียนผังงาน(Flow chart)

แบบวนซ้ า• แบบก าหนดรอบไว้ล่วงหน้า(Controlled Loop)

• แบบตรวจสอบเงื่อนไขก่อน(Pre-Test Condition)

• แบบตรวจสอบเงื่อนไขทีหลัง(Post-Test Condition)

Page 59: หลักการเขียนผังงาน(Flow chart)

แบบก าหนดรอบการท างานเอาไว้ล่วงหน้า• มีการก าหนดรอบการท างานซ้ าไว้ล่วงหน้า เมื่อครบตามจ านวนรอบจึงหยุดท างานซ้ าแล้วท าค าสั่งต่อไป

ก าหนดรอบการท างาน

ค ำสัง่ท ำซ ้ำ 1

ค ำสัง่ท ำซ ้ำ 2

Next

Page 60: หลักการเขียนผังงาน(Flow chart)

แบบก าหนดรอบการท างานเอาไว้ล่วงหน้า• ค่า N จะเริ่มต้นที่ 1 และเพิ่มค่าทีละ 1 จนกระทั่ง มากกว่า 5 จึงหยุดการท างานซ้ า และท าค าสั่งถัดจาก Next ในแต่ละรอบของงานที่ให้ท าซ้ าคือ พิมพ์ค่าในตัวแปร N ทีละรอบ

For N =1 , 5

Next

Print N

Page 61: หลักการเขียนผังงาน(Flow chart)

แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยท าซ้ า

• แบบตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขยังเป็นจริงให้ท างานซ้ า จนกระทั่งเงื่อนไขเป็นเท็จจึงหยุดท างานซ้ า แล้วไปท างานค าส่ังอื่นถัดไป

เง ือ่นไข

ค าส ัง่งานซ า้ 1

True

False

ค าส ัง่งานซ า้ 2

Page 62: หลักการเขียนผังงาน(Flow chart)

แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยท าซ้ า

• ตรวจสอบเงื่อนไขถ้า N <= 5– ให้พิมพ์ ค่า N

– เพิ่มค่า N อีก 1 (N=N+1)

• กลับไปตรวจสอบเงื่อนไขอีกจนกว่าเงื่อนจะเป็นเท็จ จึงหยุดท างานซ้ า แล้วไปท างานค าสั่งอ่ืน

N <=5

N = N+1

True

False

Print N

N = 1

Page 63: หลักการเขียนผังงาน(Flow chart)

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

เงือ่นไข

ค าส ัง่งานซ า้ 1

True

False

ค าส ัง่งานซ า้ 2

Page 64: หลักการเขียนผังงาน(Flow chart)

แบบท าซ้ าก่อนแล้วค่อยตรวจเงื่อนไข– ให้พิมพ์ค่าในตัวแปร N

– เพิ่มค่าให้ตัวแปร N อีก 1

• ตรวจสอบเงื่อนไข ถ้า N > 5 เป็นจริงให้หยุดท างานซ้ า ถ้าเป็นเท็จให้กลับไปท างานค าสั่งซ้ าอีกรอบ

N > 5

True

False

N = N+1

Print N

N = 1