Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
การเขียนผังงานเบื้องต้น
Basic Flowcharting
การเขียนผังงาน(Flowcharting)
 ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียนเป็น
เครื่องหมายภาพสัญลักษณ์แสดงล...
การเขียนผังงาน(Flowcharting)
 งานทุกชนิดที่มีการวิเคราะห์เป็นลาดับขั้นตอนแล้ว เรา
สามารถนามาเขียนผังงานได้ แม้กระทั่งงานท...
ตัวอย่างผังงานทั่วไป(1/3)
เริ่มต้น

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

 ผังงานแสดงการเดินข้ามถนนที่มีสัญญาณไฟจราจร
รอสัญญาณไฟ
ไม่ใช่

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

ใช่
เดิ...
ตัวอย่างผังงานทั่วไป(3/3)
เริ่มต้น

 ผังงานพิจารณาการใช้ยาตามฉลากยาที่ปิดข้าง
ขวด แยกตามขนาดการใช้ดังนี้





อายุต่า...
ผังงานทางคอมพิวเตอร์
ผังงานทางคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท
ได้แก่
ผังงานระบบ (System flowchart)
ผังงานโปรแกรม (Progra...
ผังงานระบบ(System flowchart)
 เป็นผังงานที่ใช้แสดงขั้นตอนการทางานของระบบงานอย่างกว้าง ๆ ทั้งระบบ
โดยแสดงให้เห็นถึงความสัม...
ตัวอย่างผังงานระบบ
 ผังงานแสดงการค่านวณพื้นที่สามเหลี่ยม
จ่านวน 100 รูป

เริ่มต้น
รับความสูง และความยาวฐาน
ของสามเหลี่ยม ...
ผังงานโปรแกรม(Program flowchart)
 เป็นผังงานที่แสดงขันตอนของคาสั่งทีใช้ในโปรแกรม
้
่
 ผังงานนี้แยกย่อยมาจากผังงานระบบ โด...
ตัวอย่างผังงานโปรแกรม
เริ่มต้น

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

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

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

เริ่มต้น

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

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

ความหมาย
ตัวอย่างการใช้
การเริ่มต้นหรือ
START
สิ้นสุดการเขียนผัง
งาน
STOP
(Term...
สัญลักษณ์ในการเขียนผังงาน(3/13)
สัญลักษณ์

ความหมาย
การประมวลผล
(Process)

ตัวอย่างการใช้
C=A+B
Sum = 0

การเปรียบเทียบ
หร...
สัญลักษณ์ในการเขียนผังงาน(4/13)
สัญลักษณ์

ความหมาย
การแสดงผลลัพธ์
ทางเครื่องพิมพ์
(Document)
การแสดงผลลัพธ์
ทางจอภาพ
(Dis...
สัญลักษณ์ในการเขียนผังงาน(5/13)
สัญลักษณ์

ความหมาย
หมายเหตุ
(Comment)
รับค่ าทางการกด
แปนพิมพ์
้
(Manual Input)

ตัวอย่ า...
สัญลักษณ์ในการเขียนผังงาน(6/13)
สัญลักษณ์

ความหมาย
การกาหนดค่า
ต่างๆ ไว้ล่วงหน้า
(Preparation)

ตัวอย่างการใช้
for i =1 t...
สัญลักษณ์ในการเขียนผังงาน(7/13)
สัญลักษณ์

ความหมาย
ตัวอย่างการใช้
จุดต่อเนื่องในหน้า
write A
เดียวกัน
(In-Page
A
connecto...
สัญลักษณ์ในการเขียนผังงาน(8/13)
สัญลักษณ์

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

ชุดของบัตรเจาะรู
...
สัญลักษณ์ในการเขียนผังงาน(9/13)
สัญลักษณ์

ความหมาย
ตัวอย่างการใช้
การรับหรือแสดง
ข้อมูลโดยใช้เทป
read ID ,
name
กระดาษ
(P...
สัญลักษณ์ในการเขียนผังงาน(10/13)
สัญลักษณ์

ความหมาย
ตัวอย่ างการใช้
การรับหรือแสดง
ข้ อมูลโดยใช้ จาน
แม่ เหล็กเป็ นสื่อ
(...
สัญลักษณ์ในการเขียนผังงาน(11/13)
สัญลักษณ์

ความหมาย
การทางานที่กาหนด
ไว้ แล้ ว เช่ น
โปรแกรมย่ อย
(Predefine Process)
การ...
สัญลักษณ์ในการเขียนผังงาน(12/13)
สัญลักษณ์

ความหมาย
การทางานแบบ
ออฟไลน์ ของอุปกรณ์ ท่ ี
ไม่ ได้ ถูกควบคุมจาก
หน่ วยประมวล...
สัญลักษณ์ในการเขียนผังงาน(13/13)
สัญลักษณ์

ความหมาย
การส่ งข้ อมูลทาง
สายสื่อสาร
(Communication
Link)

ตัวอย่ างการใช้

ค...
หลักการจัดภาพผังงาน(1/2)
 ทิศทางของผังงานจะเริมจาก
่
ส่วนบนของหน้ากระดาษลง
มายังส่วนล่าง และจาก
ซ้ายมือไปของหน้ากระดาษ
แล...
หลักการจัดภาพผังงาน(2/2)
START

 สัญลักษณ์หรือภาพที่ใช้ใน
การเขียนผังงานมีขนาดต่าง
ๆ กันได้ แต่จะต้องมีรูป
มาตรฐานตามความ...
หลักการจัดภาพผังงาน(3/2)
 การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ และ
หลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้า...
รูปแบบการเขียนผังงาน
แบบตามลาดับ (Sequence)
แบบการเลือก/ตัดสินใจ/เงื่อนไข
(Selection/Decision/Condition)
แบบวนซ้า (Iter...
รูปแบบตามลาดับ(1/3)
่ ่
 เป็ นรูปแบบการเขียนโปรแกรมทีง่ายทีสุด ทางานทีละอย่างจากบนลงล่าง แสดงลาดับการ
ทางานจากบนลงล่างตาม...
รูปแบบตามลาดับ(2/3)
START

เริ่มต้ น

A=5

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

B=3

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

C=A+B

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

A,B
C=A+B

print C
STOP

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

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

3. ข้อมูลนาเข้า



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

4. ตัวแปรที่ใช้ในก...
ตัวอย่างการเขียนผังงานแบบตามลาดับ

5. ขั้นตอนวิธีการประมวลผล
1.
2.
3.
4.
5.
6.

เริ่มต้น
รับค่าใส่ตัวแปร last_meter และ cu...
Flow chart
START

Last_meter ,
Curr_meter

Num_meter = Curr_meter – Last_meter

Electric_fee = Num_meter * 2.5

Num_meter ...
แบบการเลือก
เป็นการเขียนโปรแกรมแบบมีการเปรียบเทียบเงื่อนไข และทางานตามคาสั่งอย่างใดอย่าง
หนึ่งตามเงื่อนไขที่กาหนด ผลจากการ...
แบบทางเลือกเดียว(1/5)
เงื่อนไข
เท็จ

จริง

เงื่อนไข
เท็จ

จริง

ประโยคงาน 1

ประโยคงาน
ประโยคงาน 2

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

งานลาดั...
แบบทางเลือกเดียว(2/5)
เริ่มต้ น

START

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

read age
age > 60
true

“You are old”

STOP

false

เปรียบเ...
แบบทางเลือกเดียว(3/5)
รับค่า รหัสผ่านจากผู้ใช้ ถ้า
รหัสผ่านที่ป้อนมีค่า GoodLuck
ให้แสดงข้อว่า Welcome
Manager และข้อความ ...
แบบทางเลือกเดียว(4/5)
 บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ
10% และให้พนักงาน...
แบบทางเลือกเดียว(5/5)
A

START

read
name ,salary

salary < 5000

bonus = salary * 3

false

Name , salary ,
bonus

true
s...
ข้อควรจา

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

เท็จ

จริง

ประโยคงาน 1

ประโยคงาน 2

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

IF เงื่อนไข THEN
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END;
เงื่อนไข

จริง

เท็จ

IF เงื่อนไข THEN
ประโยคงาน 1

ประโยคงาน 2

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

ELSE
BEGIN
ประโยคงาน 1 ;
ประโยคงาน 2 ;
END...
แบบสองทางเลือก(1/6)
 การทางานขึ้นอยูกบเงื่อนไข ถ้าเป็ นจริงไปทางานด้านหนึ่ง ถ้าเป็ นเท็จก็จะไปทางานอีกอย่าง
่ ั
หนึ่ง
จริ...
แบบสองทางเลือก(2/6)
False

Female = Female + 1

Sex = 1

True

Male = Male +1

 ถ้า sex =1 เงื่อนไขเป็ นจริง จะเพิ่มค่าตั...
แบบสองทางเลือก(3/6)
เริ่มต้ น

START

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

read age
false

age > 60

“You are young”

true

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

พิมพ์ Do you like Pascal

รับค่า ans

เท็จ

ans = „y‟ OR ans=„Y‟

พิมพ์ I‟m sorry to hear that
...
แบบสองทางเลือก(5/6)
 บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000
อีกคนละ 10% และพนักงานที่มี...
แบบทางเลือกเดียว(6/6)
A

START

read
name ,salary
false

salary < 5000

rate = 5 / 100

salary = salary+(salary * rate)

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

False

False
ั่
คำสงที่ 4

เงือนไข ...
การเลือกหลายทาง(แบบ IF)
Score = mid + final
false
false
false

false

Grade = ‘F’

Score >=50

Score >=60

true

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

เงือนไข
่

กรณี 1

ั่
คำสงที่ 1

...
การเลือกหลายทาง(แบบ CASE)
Score = mid + final

score

80..100

Grade = ‘A’

70..79

Grade = ‘B’

60..69

Grade = ‘C’

50.....
แบบวนซ้่า
แบบก่าหนดรอบไว้ล่วงหน้า(Controlled Loop)
แบบตรวจสอบเงื่อนไขก่อน(Pre-Test Condition)
แบบตรวจสอบเงื่อนไขทีหลัง(...
แบบกาหนดรอบการทางานเอาไว้ลวงหน้า
่

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

N=1

 ให้พิมพ์ ค่า N
 เพิ่มค่า N อีก 1 (N=N+...
แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข
 แบบให้ทางานในคาสั่งทาซ้าก่อน แล้วค่อยตรวจสอบเงื่อนไข
ถ้าเงื่อนไขยังเป็นเท็จให้กลับไปทาง...
แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข
N=1

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

 ตรวจสอบเงื่อนไข ถ้า N > 5 เป็...
Upcoming SlideShare
Loading in …5
×

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

7,185 views

Published on

  • Be the first to comment

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

  1. 1. การเขียนผังงานเบื้องต้น Basic Flowcharting
  2. 2. การเขียนผังงาน(Flowcharting)  ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียนเป็น เครื่องหมายภาพสัญลักษณ์แสดงลาดับขั้นตอนการทางาน  การเขียนผังงาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการวิเคราะห์ งานให้อยู่ในรูปภาพหรือสัญลักษณ์  ผู้เขียนโปรแกรมจะสามารถเข้าใจลาดับขันตอนการเขียนโปรแกรมได้ ้ อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของ ลาดับขั้นตอนในวิธีการประมวลผล
  3. 3. การเขียนผังงาน(Flowcharting)  งานทุกชนิดที่มีการวิเคราะห์เป็นลาดับขั้นตอนแล้ว เรา สามารถนามาเขียนผังงานได้ แม้กระทั่งงานที่เกี่ยวข้อง กับชีวิตประจาวันของเราเอง
  4. 4. ตัวอย่างผังงานทั่วไป(1/3) เริ่มต้น  แสดงการโยนเหรียญ 3 ครั้ง ถ้าออกหัว ผู้โยนจะได้เงิน 10 บาท ถ้าออกก้อย ผู้ โยนจะเสียเงิน 10 บาท โยนเหรียญ ก้อย ผลการโยน เสียเงิน 10 บาท ยัง หัว ได้เงิน 10 บาท ครบ 3 ครั้ง หรือยัง? ครบ หยุด
  5. 5. ตัวอย่างผังงานทั่วไป(2/3) เริ่มต้น  ผังงานแสดงการเดินข้ามถนนที่มีสัญญาณไฟจราจร รอสัญญาณไฟ ไม่ใช่ ไฟแดง หรือไม่ ใช่ เดินข้ามถนน หยุด
  6. 6. ตัวอย่างผังงานทั่วไป(3/3) เริ่มต้น  ผังงานพิจารณาการใช้ยาตามฉลากยาที่ปิดข้าง ขวด แยกตามขนาดการใช้ดังนี้     อายุต่ากว่า 5 ปี ห้ามรับประทาน อายุ 5 - 7 ปี ครั้งละ 1 เม็ด อายุ 8 - 14 ปี ครั้งละ 2 เม็ด อายุ 15 ปีขึ้นไป ครั้งละ 3 เม็ด อายุต่ากว่า 5 ปี ใช่ ห้ามรับประทาน ไม่ใช่ อายุ 5 ปีขั้นไป แต่ไม่ถึง 8 ปี ใช่ ครั้งละ 1 เม็ด ไม่ใช่ อายุ 8 ปีขั้นไป แต่ไม่ถึง 15 ปี ไม่ใช่ ครั้งละ 3 เม็ด หยุด ใช่ ครั้งละ 2 เม็ด
  7. 7. ผังงานทางคอมพิวเตอร์ ผังงานทางคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท ได้แก่ ผังงานระบบ (System flowchart) ผังงานโปรแกรม (Program flowchart)
  8. 8. ผังงานระบบ(System flowchart)  เป็นผังงานที่ใช้แสดงขั้นตอนการทางานของระบบงานอย่างกว้าง ๆ ทั้งระบบ โดยแสดงให้เห็นถึงความสัมพันธ์ของส่วนสาคัญต่าง ๆ ในระบบนั้น  เช่น เอกสารเบื้องต้น หรือสื่อบันทึกที่ใช้อยู่เป็นอะไร และผ่านไปยังหน่วยงาน ใด มีกิจกรรมอะไรในหน่วยงานนั้น ๆ แล้วส่งต่อไปยังหน่วยงานใด เป็นต้น  ดังนั้น ผังงานระบบ จะเกี่ยวข้องกับ คน วัสดุ และเครื่องจักร โดยแสดงการนา ข้อมูลเข้า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้าง ๆ
  9. 9. ตัวอย่างผังงานระบบ  ผังงานแสดงการค่านวณพื้นที่สามเหลี่ยม จ่านวน 100 รูป เริ่มต้น รับความสูง และความยาวฐาน ของสามเหลี่ยม 100 รูป บันทึกความสูงและความยาวฐาน ลงในดิสก์ ดิสก์ที่ บันทึกแล้ว คานวณพื้นที่ของสามเหลี่ยม พิมพ์รายงานของ พื้นที่สามเหลี่ยม จบ
  10. 10. ผังงานโปรแกรม(Program flowchart)  เป็นผังงานที่แสดงขันตอนของคาสั่งทีใช้ในโปรแกรม ้ ่  ผังงานนี้แยกย่อยมาจากผังงานระบบ โดยผู้เขียนโปรแกรมจะดึง เอาแต่ละจุดที่เกี่ยวข้องกับการประมวลผลในคอมพิวเตอร์ที่ ปรากฏในผังงานระบบมาเขียนแสดงรายละเอียดในการ ประมวลผลอย่างเป็นลาดับขั้นตอน เพื่อนาไปประกอบการเขียน โปรแกรมต่อไป
  11. 11. ตัวอย่างผังงานโปรแกรม เริ่มต้น  ผังงานแสดงการคานวณพื้นที่สามเหลี่ยม จานวน 100 รูป รับความสูง และ ความยาวฐานทีละรูป คานวณพื้นที= 0.5 * ฐาน * สูง ่ พิมพ์พื้นที่สามเหลี่ยม ทีละรูป ไม่ใช่ ครบ 100 รูปแล้ว ใช่หรือไม่ ใช่ จบ
  12. 12. เปรียบเทียบผังงานระบบและผังงานโปรแกรม เริ่มต้น เริ่มต้น รับความสูง และความยาวฐาน ของสามเหลี่ยม 100 รูป บันทึกความสูงและความยาวฐาน ลงในดิสก์ รับความสูง และ ความยาวฐานทีละรูป ผังงานระบบ คานวณพื้นที= 0.5 * ฐาน * สูง ่ ดิสก์ที่ บันทึกแล้ว พิมพ์พื้นที่สามเหลี่ยม ทีละรูป ผังงานโปรแกรม คานวณพื้นที่ของสามเหลี่ยม ไม่ใช่ ครบ 100 รูปแล้ว ใช่หรือไม่ พิมพ์รายงานของ พื้นที่สามเหลี่ยม ใช่ จบ จบ
  13. 13. ประโยชน์ของการเขียนผังงาน  เราสามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับ ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง  ผังงานเป็นการสื่อความหมายด้วยภาพ ทาให้ง่ายและสะดวกต่อการพิจารณา ลาดับขั้นตอนในการทางานดีกว่าการบรรยายเป็นตัวอักษร  ช่วยให้การค้นหาความผิดพลาดของลาดับการทางานได้รวดเร็ว และสามารถ แก้ไขได้ง่าย  การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทาได้รวดเร็วและง่ายขึ้น  ในการบารุงรักษาโปรแกรม หรือมีการเปลี่ยนแปลงแก้ไขโปรแกรมให้มี ประสิทธิภาพ ถ้าดูจากผังงานจะช่วยให้สามารถทบทวนการทางานใน โปรแกรมได้ง่ายขึ้น
  14. 14. ข้อจากัดของการเขียนผังงาน การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น มีการที่เงื่อนไขในการทอสอบมากมาย ซึ่ง มักจะใช้ตารางการตัดสินใจ(decision table) เข้า มาช่วยมากกว่า
  15. 15. สัญลักษณ์ในการเขียนผังงาน(1/13)  การเขียนผังงานเป็นการนาเอาภาพสัญลักษณ์ต่าง ๆ มาเรียงต่อ กัน เพื่อแสดงลาดับขั้นตอนการทางาน โดยมีเส้นลูกศรเชื่อม ระหว่างภาพต่างๆ  สัญลักษณ์ในการเขียนผังงานที่นิยมใช้กันนั้น เป็นสัญลักษณ์ของ หน่วยงานที่ชื่อว่า American National Standard Institute (ANSI) และ International Standard Organization (ISO) เป็นผู้กาหนดและรวบรวมให้เป็นสัญลักษณ์มาตรฐานในการเขียน ผังงาน
  16. 16. สัญลักษณ์ในการเขียนผังงาน(2/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ การเริ่มต้นหรือ START สิ้นสุดการเขียนผัง งาน STOP (Terminal) รับข้อมูลหรือแสดง read name ข้อมูลโดยไม่ระบุ สื่อ display area (Input/output) คาอธิบาย 1. เริ่มต้นผังงาน 2. จบผังงาน 1. 2. รับค่าใส่ในตัว แปรชื่อ name แสดงค่าจากตัว แปร area
  17. 17. สัญลักษณ์ในการเขียนผังงาน(3/13) สัญลักษณ์ ความหมาย การประมวลผล (Process) ตัวอย่างการใช้ C=A+B Sum = 0 การเปรียบเทียบ หรือตัวสินใจ (Compare / Decision) i <= 10 true แสดง i false คาอธิบาย 1. 2. คานวณ A + B และเก็บไว้ใน C กาหนดค่า sum เท่ากับ 0 เปรียบเทียบถ้า i มีค่า น้อยกว่าหรือเท่ากับ 10 - เป็นจริง พิมพ์ค่า i เสร็จ แล้วไปทาคาสั่งอื่น ๆ - เป็นเท็จ ไปทาคาสั่งอื่น ๆ
  18. 18. สัญลักษณ์ในการเขียนผังงาน(4/13) สัญลักษณ์ ความหมาย การแสดงผลลัพธ์ ทางเครื่องพิมพ์ (Document) การแสดงผลลัพธ์ ทางจอภาพ (Display) ตัวอย่างการใช้ print A display A , B คาอธิบาย พิมพ์ค่า A ทาง เครื่องพิมพ์ แสดงค่า A, B บนจอภาพ
  19. 19. สัญลักษณ์ในการเขียนผังงาน(5/13) สัญลักษณ์ ความหมาย หมายเหตุ (Comment) รับค่ าทางการกด แปนพิมพ์ ้ (Manual Input) ตัวอย่ างการใช้ read A read A คาอธิบาย A = Age รั บค่ า A ทาง แปนพิมพ์ ้
  20. 20. สัญลักษณ์ในการเขียนผังงาน(6/13) สัญลักษณ์ ความหมาย การกาหนดค่า ต่างๆ ไว้ล่วงหน้า (Preparation) ตัวอย่างการใช้ for i =1 to 100 sum = sum + i i แสดงทิศทางและ ลาดับของการ ทางาน (Flow line) คาอธิบาย กาหนดให้ i มีค่าเท่ากับ 1 และเพิ่มค่าทีละ 1 จนมีค่าเป็น 100 จึงออก จากการทางานซ้า โดยแต่ละรอบ บวกค่า sum ด้วยค่า i
  21. 21. สัญลักษณ์ในการเขียนผังงาน(7/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ จุดต่อเนื่องในหน้า write A เดียวกัน (In-Page A connector) จุดต่อเนื่องที่อยู่คน A=3 ละหน้า (Off-Page 1 Connector) คาอธิบาย หลังจากพิมพ์ค่า A แล้วให้ทาตามที่จุด ต่อเนื่อง A ซึ่งอยู่ใน หน้าเดียวกัน หลังจากกาหนดค่า A เท่ากับ 3 ให้ทาตาม จุดต่อเนื่องชื่อ 1 ซึ่ง ไม่ได้อยู่ในหน้า เดียวกัน
  22. 22. สัญลักษณ์ในการเขียนผังงาน(8/13) สัญลักษณ์ ความหมาย การรับหรือแสดง ข้อมูลโดยใช้ บัตรเจาะรู (Punch card) ชุดของบัตรเจาะรู (Card Desk) ตัวอย่างการใช้ คาอธิบาย 1. read A 2. punch B , C punch bi b=1 , …n อ่านค่า A ที่ บัตรเจาะรู 1 ใบ เจาะค่า B,C บน บัตร 1 ใบ เจาะค่า B1 , B2 , Bn บนบัตร n ใบ
  23. 23. สัญลักษณ์ในการเขียนผังงาน(9/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ การรับหรือแสดง ข้อมูลโดยใช้เทป read ID , name กระดาษ (Punched tape) การรับหรือแสดง ข้อมูลโดยใช้เทป แม่เหล็กเป็นสื่อ (Magnatic tape) คาอธิบาย อ่านค่า ID , name บนเทปกระดาษ
  24. 24. สัญลักษณ์ในการเขียนผังงาน(10/13) สัญลักษณ์ ความหมาย ตัวอย่ างการใช้ การรับหรือแสดง ข้ อมูลโดยใช้ จาน แม่ เหล็กเป็ นสื่อ (Magnatic disk) การรับหรือแสดง ข้ อมูลโดยใช้ ดรัม แม่ เหล็กเป็ นสื่อ (Magnatic drum) คาอธิบาย
  25. 25. สัญลักษณ์ในการเขียนผังงาน(11/13) สัญลักษณ์ ความหมาย การทางานที่กาหนด ไว้ แล้ ว เช่ น โปรแกรมย่ อย (Predefine Process) การควบคุมการ ทางานด้ วยมนุษย์ บางครั งเรี ยกการ ้ ทางานแบบ ออฟไลน์ (Offline Processing) ตัวอย่ างการใช้ findGrade คาอธิบาย เรี ยกโปรแกรม ย่ อยชื่อ findGrade ให้ ทางาน
  26. 26. สัญลักษณ์ในการเขียนผังงาน(12/13) สัญลักษณ์ ความหมาย การทางานแบบ ออฟไลน์ ของอุปกรณ์ ท่ ี ไม่ ได้ ถูกควบคุมจาก หน่ วยประมวลผลกลาง โดยตรง (Auxiliary Operation) การจัดเรี ยงลาดับ ข้ อมูล (Sorting) ตัวอย่ างการใช้ คาอธิบาย
  27. 27. สัญลักษณ์ในการเขียนผังงาน(13/13) สัญลักษณ์ ความหมาย การส่ งข้ อมูลทาง สายสื่อสาร (Communication Link) ตัวอย่ างการใช้ คาอธิบาย
  28. 28. หลักการจัดภาพผังงาน(1/2)  ทิศทางของผังงานจะเริมจาก ่ ส่วนบนของหน้ากระดาษลง มายังส่วนล่าง และจาก ซ้ายมือไปของหน้ากระดาษ และควรเขียนเครืองหมาย ่ ลูกศรกากับทิศทางไว้ด้วย บน START ทิศทางของเส้น read age age > 60 true “You are old” ล่าง STOP false
  29. 29. หลักการจัดภาพผังงาน(2/2) START  สัญลักษณ์หรือภาพที่ใช้ใน การเขียนผังงานมีขนาดต่าง ๆ กันได้ แต่จะต้องมีรูป มาตรฐานตามความหมายที่ กาหนด sum = 0 i = 1 to 10 sum = sum + i i sum STOP ขนาดของ สัญลักษณ์ ปรับให้เหมาะสมกับ ข้อความใน สัญลักษณ์
  30. 30. หลักการจัดภาพผังงาน(3/2)  การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ และ หลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้าจาเป็นต้อง โยงถึงกัน ควรใช้เครื่องหมายจุดต่อเนื่องแทนและถ้าเป็นไป ได้ควรเขียนผังงานให้จบในหน้าเดียวกัน  คาอธิบายในภาพ เขียนเพียงสั้น ๆ และเข้าใจง่าย  ผังงานที่ดีควรจะมีความเป็นระเบียบเรียบร้อยและสะอาด นอกจากนี้แล้ว จะมีชื่อของผังงาน ผู้เขียน วันที่เขียน และ เลขหน้าลาดับ
  31. 31. รูปแบบการเขียนผังงาน แบบตามลาดับ (Sequence) แบบการเลือก/ตัดสินใจ/เงื่อนไข (Selection/Decision/Condition) แบบวนซ้า (Iteration / Loop)
  32. 32. รูปแบบตามลาดับ(1/3) ่ ่  เป็ นรูปแบบการเขียนโปรแกรมทีง่ายทีสุด ทางานทีละอย่างจากบนลงล่าง แสดงลาดับการ ทางานจากบนลงล่างตามลูกศร คานวณ งานที่ 1 งานที่ 2 งานที่ 3 อ่านข้อมูล คานวณข้อมูล พิมพ์ผลล ัพธ์ คานวณ คานวณ
  33. 33. รูปแบบตามลาดับ(2/3) START เริ่มต้ น A=5 กาหนดค่ าตัวแปร A มีค่าเป็ น 5 B=3 กาหนดค่ าตัวแปร B มีค่าเป็ น 3 C=A+B print C STOP เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C พิมพ์ ค่า C จบการทางาน
  34. 34. รูปแบบตามลาดับ(3/3) START A,B C=A+B print C STOP เริ่มต้ น รับข้ อมูลมาเก็บไว้ ในตัวแปร A, B ทาง แปนพิมพ์ ้ เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C พิมพ์ ค่า C จบการทางาน
  35. 35. ตัวอย่างการเขียนผังงานแบบตามลาดับ  จงเขียนโปรแกรมคานวณค่าไฟฟ้า โดยรับค่ามิเตอร์จานวนการใช้ ไฟฟ้าของเดือนที่แล้ว และค่ามิเตอร์การใช้ไฟฟ้าของเดือนปัจจุบัน คานวณค่าไฟฟ้า โดยคิดอัตรา 2.5 บาท /1 หน่วยมิเตอร์ 1. สิ่งที่โจทย์ต้องการ ค่าไฟฟ้า ปอนเลขมิเตอร์เดือนที่แล้ว --> <รอรับเลขมิเตอร์เดือนที่แล้ว> ้ ั ั 2.้ปอนเลขมิเตอร์เดือนปั จจุบพ--> <รอรับเลขมิเตอร์เดือนปั จจุบน> รูปแบบผลลั น ธ์ ----------------------------------------------------จานวนหน่วยไฟฟ้ าที่ใช้ : <แสดงจานวนหน่วยไฟฟ้ าที่ใช้> ค่าไฟฟ้ า : <แสดงค่าไฟฟ้ า>
  36. 36. ตัวอย่างการเขียนผังงานแบบตามลาดับ 3. ข้อมูลนาเข้า   เลขมิเตอร์เดือนที่แล้ว เลขมิเตอร์เดือนปัจจุบัน 4. ตัวแปรที่ใช้ในการประมวลผล     Last_meter Curr_meter Num_meter Electric_fee แทน แทน แทน แทน เลขมิเตอร์เดือนที่แล้ว เลขมิเตอร์เดือนปัจจุบัน จานวนหน่วยมิเตอร์ที่ใช้ ค่าไฟฟ้า
  37. 37. ตัวอย่างการเขียนผังงานแบบตามลาดับ 5. ขั้นตอนวิธีการประมวลผล 1. 2. 3. 4. 5. 6. เริ่มต้น รับค่าใส่ตัวแปร last_meter และ curr_meter จากผู้ใช้ทางแป้นพิมพ์ คานวณ num_meter = curr_meter – last_meter คานวณ electric_fee = num_meter * 2.5 แสดงค่า num_meter , electric_fee จบการทางาน
  38. 38. Flow chart START Last_meter , Curr_meter Num_meter = Curr_meter – Last_meter Electric_fee = Num_meter * 2.5 Num_meter , Electric_fee STOP
  39. 39. แบบการเลือก เป็นการเขียนโปรแกรมแบบมีการเปรียบเทียบเงื่อนไข และทางานตามคาสั่งอย่างใดอย่าง หนึ่งตามเงื่อนไขที่กาหนด ผลจากการเปรียบเทียบเงื่อนไข จะให้ผลลัพธ์เป็นจริงหรือ เท็จ ถ้าผลเป็นจริง ให้ทางานตามคาสั่งด้านที่เงื่อนไขเป็นจริง ถ้าเป็นเท็จให้ทาตาม คาสั่งด้านที่เงื่อนไขเป็นเท็จ  แบบทางเลือกเดียว (IF - THEN)  แบบสองทางเลือก (IF – THEN - ELSE)  แบบหลายทางเลือก (IF – THEN – ELSE IF | CASE)
  40. 40. แบบทางเลือกเดียว(1/5) เงื่อนไข เท็จ จริง เงื่อนไข เท็จ จริง ประโยคงาน 1 ประโยคงาน ประโยคงาน 2 งานลาดับถัดไป งานลาดับถัดไป
  41. 41. แบบทางเลือกเดียว(2/5) เริ่มต้ น START รับค่ าใส่ ตัวแปร age read age age > 60 true “You are old” STOP false เปรียบเทียบค่ า age มากกว่ า 60 ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old ถ้ าเป็ นเท็จ ไม่ ต้องทาอะไร จบการทางาน
  42. 42. แบบทางเลือกเดียว(3/5) รับค่า รหัสผ่านจากผู้ใช้ ถ้า รหัสผ่านที่ป้อนมีค่า GoodLuck ให้แสดงข้อว่า Welcome Manager และข้อความ Exit Password System เริ่ม รับค่ า ans ans = “GoodLuck” จริง พิมพ์ Welcome Manager พิมพ์ Exit Password System จบ เท็จ
  43. 43. แบบทางเลือกเดียว(4/5)  บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน  ขั้นตอนการประมวลผล 1. รับค่าชื่อพนักงาน . เงินเดือน 2. เปรียบเทียบค่า เงินเดือน - ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100) 3. คานวณโบนัส = เงินเดือน * 3 4. แสดงผลลัพธ์ 5. จบการทางาน
  44. 44. แบบทางเลือกเดียว(5/5) A START read name ,salary salary < 5000 bonus = salary * 3 false Name , salary , bonus true salary = salary + (salary*10/100) STOP A แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้
  45. 45. ข้อควรจา ่  ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ทางานตามคาสังเมื่อเงื่อนไขมีคา ่ ่ เป็ นจริง ไม่นิยมให้ทางามตามคาสังเป็ นเท็จ เท็จ เงื่อนไข เท็จ จริง ประโยคงาน 1 เงื่อนไข จริง ประโยคงาน 2 งานลาดับถัดไป ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป
  46. 46. เงื่อนไข เท็จ จริง ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป IF เงื่อนไข THEN BEGIN ประโยคงาน 1 ; ประโยคงาน 2 ; END;
  47. 47. เงื่อนไข จริง เท็จ IF เงื่อนไข THEN ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป ELSE BEGIN ประโยคงาน 1 ; ประโยคงาน 2 ; END;
  48. 48. แบบสองทางเลือก(1/6)  การทางานขึ้นอยูกบเงื่อนไข ถ้าเป็ นจริงไปทางานด้านหนึ่ง ถ้าเป็ นเท็จก็จะไปทางานอีกอย่าง ่ ั หนึ่ง จริง เท็จ เงื่อนไข ประโยคงาน1 ประโยคงาน2 งานลาดับถัดไป
  49. 49. แบบสองทางเลือก(2/6) False Female = Female + 1 Sex = 1 True Male = Male +1  ถ้า sex =1 เงื่อนไขเป็ นจริง จะเพิ่มค่าตัว แปร Male ขึ้นอีก 1  ถ้า sex =1 เงื่อนไขเป็ นเท็จ จะเพิ่มค่าตัว แปร Female ขึ้นอีก 1
  50. 50. แบบสองทางเลือก(3/6) เริ่มต้ น START รับค่ าใส่ ตัวแปร age read age false age > 60 “You are young” true “You are old” STOP เปรีบเทียบค่ า age มากกว่ า 60 ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old ถ้ าเป็ นเท็จ พิมพ์ ข้อความ You are young จบการทางาน
  51. 51. แบบสองทางเลือก(4/6) เริ่ม พิมพ์ Do you like Pascal รับค่า ans เท็จ ans = „y‟ OR ans=„Y‟ พิมพ์ I‟m sorry to hear that เริ่มการทางาน แสดงข้ อความ Do you like Pascal รั บค่ าใส่ ตัวแปร ans จริง เปรียบเทียบค่ า ans เท่ ากับ y หรือ Y พิมพ์ Thank You พิมพ์ Good Bye จบ - ถ้ าเป็ นจริง พิมพ์ Thank you -ถ้ าเป็ นเท็จ พิมพ์ I’m sorry to hear that พิมพ์ คาว่ า Goodbye จบการทางาน
  52. 52. แบบสองทางเลือก(5/6)  บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5% ให้ พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน  ขั้นตอนการประมวลผล 1. รับค่าชื่อพนักงาน . เงินเดือน 2. เปรียบเทียบค่า เงินเดือน < 5000 3. 4. 5. 6. - ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100 - ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100 คานวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน) โบนัส = เงินเดือน * 3 แสดงผลลัพธ์ จบการทางาน
  53. 53. แบบทางเลือกเดียว(6/6) A START read name ,salary false salary < 5000 rate = 5 / 100 salary = salary+(salary * rate) true rate = 10 / 100 A bonus = salary * 3 Name , salary , bonus STOP แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้
  54. 54. การเลือกหลายทาง(แบบ IF)  เป็นรูปแบบการเลือกการทางานที่มีทางเลือก มากกว่า 2 ทางขึ้นไป False False ั่ คำสงที่ 4 เงือนไข 3 ่ False เงือนไข 2 ่ True ั่ คำสงที่ 3 เงือนไข 1 ่ True ั่ คำสงที่ 2 True ั่ คำสงที่ 1
  55. 55. การเลือกหลายทาง(แบบ IF) Score = mid + final false false false false Grade = ‘F’ Score >=50 Score >=60 true Grade = ‘D’ Score >=70 true Grade = ‘C’ Score >=80 true Grade = ‘B’ true Grade = ‘A’
  56. 56. การเลือกหลายทาง(แบบ CASE)  เป็นรูปแบบการเลือกการท่างานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป เงือนไข ่ กรณี 1 ั่ คำสงที่ 1 กรณี 2 ั่ คำสงที่ 2 กรณี 3 กรณี 4 ั่ คำสงที่ 3 ั่ คำสงที่ 4
  57. 57. การเลือกหลายทาง(แบบ CASE) Score = mid + final score 80..100 Grade = ‘A’ 70..79 Grade = ‘B’ 60..69 Grade = ‘C’ 50..59 Grade = ‘D’ 0..49 Grade = ‘F’
  58. 58. แบบวนซ้่า แบบก่าหนดรอบไว้ล่วงหน้า(Controlled Loop) แบบตรวจสอบเงื่อนไขก่อน(Pre-Test Condition) แบบตรวจสอบเงื่อนไขทีหลัง(Post-Test Condition)
  59. 59. แบบกาหนดรอบการทางานเอาไว้ลวงหน้า ่  มีการกาหนดรอบการทางานซาไว้ลวงหน้า เมื่อครบตามจานวนรอบจึงหยุดทางานซาแล้วทา ้ ่ ้ กาหนดรอบการทางาน ่ คาสังต่อไป ั่ คำสงทำซ้ำ 1 ั่ คำสงทำซ้ำ 2 Next
  60. 60. แบบกาหนดรอบการทางานเอาไว้ล่วงหน้า  ค่า N จะเริ่มต้นที่ 1 และเพิ่มค่าทีละ 1 จนกระทั่ง มากกว่า 5 จึงหยุดการทางานซ้า และทาคาสั่งถัดจาก Next ในแต่ละรอบของงานที่ให้ทาซ้าคือ พิมพ์ค่าในตัวแปร N ที ละรอบ For N =1 , 5 Print N Next
  61. 61. แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า  แบบตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขยังเป็นจริงให้ทางานซ้า จนกระทั่งเงื่อนไขเป็น เท็จจึงหยุดทางานซ้า แล้วไปทางานคาสั่งอื่นถัดไป เงือนไข ่ True ่ั ้ คาสงงานซา 1 ่ั ้ คาสงงานซา 2 False
  62. 62. แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า  ตรวจสอบเงื่อนไขถ้า N <= 5 N=1  ให้พิมพ์ ค่า N  เพิ่มค่า N อีก 1 (N=N+1)  กลับไปตรวจสอบเงื่อนไขอีก จนกว่าเงื่อนจะเป็น เท็จ จึงหยุดทางานซ้า แล้วไปทางานคาสั่งอื่น N <=5 True Print N N = N+1 False
  63. 63. แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข  แบบให้ทางานในคาสั่งทาซ้าก่อน แล้วค่อยตรวจสอบเงื่อนไข ถ้าเงื่อนไขยังเป็นเท็จให้กลับไปทางานในคาสั่งทาซ้าอีก จนกระทั่งตรวจสอบแล้วเงื่อนเป็นจริง จึงหยุด แล้วไปทางาน คาสั่งอื่น ่ั ้ คาสงงานซา 1 ่ั ้ คาสงงานซา 2 False เงือนไข ่ True
  64. 64. แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข N=1  ให้พิมพ์ค่าในตัวแปร N  เพิ่มค่าให้ตัวแปร N อีก 1  ตรวจสอบเงื่อนไข ถ้า N > 5 เป็นจริงให้หยุด ทางานซ้า ถ้าเป็นเท็จให้กลับไปทางานคาสั่ง ซ้าอีกรอบ Print N N = N+1 False N>5 True

×