EndNote X8 for Windows : การใช้งานเบื้องต้น · 2. การน าข้อมูลบรรณานุกรมเก็บใน EndNote Library
DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค...
Transcript of DESIGNING OF PROGRAMS WITH PSEUDO CODE …PSEUDO CODE • การน าค...
www . i t s c i .m ju . ac . t h / sayan
DESIGNING OF PROGRAMS WITH PSEUDO CODE
SAYAN UNANKARD1/2562
4
การควบคุมการท างานของโปรแกรม (PROGRAM CONTROL FLOW)
การควบคุมการท างานของโปรแกรม เป็นเครื่องมือที่ผู้พัฒนาโปรแกรมใช้ในการแสดงล าดับการท างานของโปรแกรมหรือใช้อธิบายอัลกอริธึม ให้เป็นระบบและง่ายต่อความเข้าใจ โดยโครงสร้างอาจจะอยู่ในรูปแบบดังนี้คือ• ผังงาน (Flowchart) ซึ่งเป็น Flow Diagram ชนิดหนึ่งส าหรับใช้อธิบายขั้นตอนการท างาน
ของโปรแกรมในลักษณะรูปภาพ
• ชุดค าสั่งเทียม (Pseudo code) จะมีสัญลักษณ์คล้ายกับภาษาอังกฤษ กับภาษาคอมพิวเตอร์ใช้ในการอธิบายลักษณะโครงสร้างข้อมูล และการท างานของอัลกอริธึมที่เราเขียนขึ้น
2
PSEUDO CODE
• การน าค าในภาษาอังกฤษ มาแสดงการท างานของคอมพิวเตอร์ โดยเรียบเรียงเป็นประโยคให้สามารถสื่อความหมายให้ผู้อ่านเข้าใจได้ว่าแต่ละขั้นตอนของการแก้ปัญหานั้นท าได้อย่างไร
• Pseudo code ที่ดีต้องมีความชัดเจน สั้น กระชับ ได้ใจความก่อนท าการเขียนอัลกอริทึม ต้องก าหนดตัวแปรก่อนที่จะใช้ก่อนเสมอ
3
วิธีการเขียนรหัสจ าลอง (PSEUDO CODE)
Pseudo code สามารถก าหนดการท างานได้เป็น 6 ข้อ ดังนี้• การรับข้อมูลของคอมพิวเตอร์
• การแสดงผลข้อมูลของคอมพิวเตอร์
• การค านวณหรือการท างานทางคณิตศาสตร์ของคอมพิวเตอร์
• การก าหนดค่าข้อมูลของคอมพิวเตอร์
• การเปรียบเทียบข้อมูล 2 อย่าง และมีการเลือกทางเดียวหรือสองทางเลือกในการท างานหรือหลายทาง
• การท างานซ้ าของคอมพิวเตอร์
4
1. การรับข้อมูลของคอมพิวเตอร์
• การรับข้อมูลนิยมใช้ค าว่า read หรือ input ตามด้วยชื่อตัวแปรที่ต้องการรับค่า ถ้าต้องการรับค่าหลายตัวแปรให้ใช้เครื่องหมาย comma คั่น
• Read : การอ่านข้อมูลจากที่มีเก็บอยู่ในไฟล์แล้ว
• Get หรือ Input : การรับข้อมูลมาจากคีย์บอร์ด
input ตัวแปร1, ตัวแปร2, …
read ตัวแปร1, ตัวแปร2, …
5
Read student nameGet system dateRead number1, number2Get tax_code
2. การแสดงผลข้อมูลของคอมพิวเตอร์
• Print : การส่งผลลัพธ์ไปยังเครื่องพิมพ์ (Printer)
• Write หรือ Put : การเก็บข้อมูลลงสู่ไฟล์ (File)
• Output หรือ Display : การแสดงผลข้อมูลบนจอภาพ (Screen)
6
Print ‘Program Completed’Write customer record to master filePut name, address and postcodeOutput total_taxDisplay ‘End of data’
3. การค านวณหรือการท างานทางคณิตศาสตร์ของคอมพิวเตอร์
• Add : การบวก
• Subtract : การลบ
• Multiply : การคูณ
• Divide : การหาร
7
Add number to totaltotal = total + numberDivide total_marks by student_countsale_tax = cost_price * 0.10Compute C = (F-32) * 5/9
4. การก าหนดค่าข้อมูลของคอมพิวเตอร์
• Set หรือ Initialize : การก าหนดค่าเริ่มต้นให้กับข้อมูล ตาม to
• = : การก าหนดค่าผลลัพธ์ที่ได้จากการประมวลผล
• Save หรือ Store : การเก็บค่าข้อมูลไว้ใช้งานในครั้งต่อไป
8
Initialize total accumulators to zero
Set student_count to 0
total_price = cost_price + sale_tax
Store customer_num in last_customer_num
5. การเปรียบเทียบข้อมูล
5.1 การเปรียบเทียบระหว่าง 2 ค่า เป็นการเปรียบเทียบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะให้ท าค าสั่งกลุ่มหนึ่ง แต่ถ้าเงื่อนไขเป็นเท็จให้ท าค าสั่งอีกกลุ่มหนึ่ง ใช้ค าว่า if..then..else..end if
if (เงื่อนไข) then กลุ่มค าสั่งกรณีเงื่อนไขเป็นจริง
else กลุ่มค าสั่งกรณีเงื่อนไขเป็นเท็จ
end if
9
if (x > 0) thenread x
elsecompute sum = x + y
end if
5. การเปรียบเทียบข้อมูล
5.2 การเปรียบเทียบทางเลือกหลายทาง เป็นการเปรียบเทียบค่าของข้อมูล โดยจะไปท ากลุ่มค าสั่งตามค่าของตัวแปรที่ใช้เปรียบเทียบ ใช้ค าว่า case
case ตัวแปรที่ใช้เปรียบเทียบ of
ค่าตัวแปร1 : กลุ่มค าสั่งกรณีตัวแปรมีค่าเท่ากับค่าตัวแปร1
ค่าตัวแปร2 : กลุ่มค าสั่งกรณีตัวแปรมีค่าเท่ากับค่าตัวแปร2
...
end case
10
5.2 ตัวอย่างการท างานหลายทางเลือก
case grade of
4 : write ‘A’
3 : write ‘B’
2 : write ‘C’
1 : write ‘D’
0 : write ‘F’
end case
11
6. การท างานซ าของคอมพิวเตอร์
การท างานแบบวนซ้ า มี 3 รูปแบบ คือ
6.1 do-while มีการเปรียบเทียบเงื่อนไขก่อนที่จะท าค าสั่งภายใน แล้วจึงท าการเปรียบเทียบเงื่อนไขอีกครั้ง แต่ถ้าเงื่อนไขเป็นเท็จจะไม่ท าค าสั่งภายในแต่จะข้ามไปท าค าสั่งถัดไปจาก do-while
do (เงื่อนไขที่ใช้เปรียบเทียบ) while
กลุ่มค าสั่งกรณีเงื่อนไขเป็นจริง
end do
12
end-of = ‘N’
do (end-of = ‘N’) while
write ‘A’
compute x = y + 1
read end-of
end do
6. การท างานซ าของคอมพิวเตอร์
6.2 repeat-until ท าค าสั่งภายในก่อน แล้วจึงท าการเปรียบเทียบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จจะท าค าสั่งภายใน แต่ ถ้าเงื่อนไขเป็นจริงจะข้ามไปท าค าสั่งถัดไปจาก repeat-until
repeat
กลุ่มค าสั่งกรณีเงื่อนไขเป็นเท็จ
until (เงื่อนไขที่ใช้เปรียบเทียบ)
13
end-of = ‘N’
repeat
write ‘A’
compute x = y + 1
read end-of
until (end-of = ‘Y’)
6. การท างานซ าของคอมพิวเตอร์
6.3 for-end for ท าค าสั่งภายในตามจ านวนครั้งที่ก าหนด ซึ่งต้องมีตัวแปรนับมาช่วย เพื่อก าหนดจ านวนครั้งในการท าซ้ า
for ตัวแปรนับ = ค่าเริ่มต้น to ค่าสุดท้าย
กลุ่มค าสั่ง
end for
14
for counter = 1 to 3
write ‘A’
counter = counter + 1
end for
EXAMPLE
ตัวอย่างโปรแกรมอ่านค่าตัวเลข แล้วแสดงผลค่าตัวเลขนั้น คูณกับ 2
15
STRUCTURED ENGLISH AND PSEUDOCODE
Structured English
PROGRAM PrintNumber:
Read in a number and print it multiply 2 out.
END.
16
Pseudocode
PROGRAM PrintNumber:
Read A;
Print A * 2;
END.
EXAMPLE
ตัวอย่างโปรแกรมส าหรับตรวจสอบว่า
เลขที่รับเข้ามาเป็นเลขคู่หรือเลขคี่
17
STRUCTURED ENGLISH AND PSEUDOCODE
Structured English
PROGRAM OddOrEven:
Read in a number.
Divide it by two.
If there is a remainder, the number isodd, otherwise it’s even.
END.
18
Pseudocode
PROGRAM OddOrEven:
Read A;
IF A mod 2 != 0
THEN Print “It’s Odd”;
ELSE Print “It’s Even”;
ENDIF;
END.
EXAMPLE
ตัวอย่างโปรแกรมส าหรับตรวจสอบ
หาค่าสูงสุดจากตัวเลข 3 ตัว
19
STRUCTURED ENGLISH AND PSEUDOCODE
Structured English
PROGRAM FindMax:
Read in three numbers.
Compare first and second numbers,
If the first is greater than the second, the maximum number is the first, otherwise it’s the second.
Compare the maximum number with the third number, if the third number is greater than the maximum, themaximum is the third.
END.20
Pseudocode
PROGRAM FindMax:
Read A, B, C;
IF A > B THENMax = A;
ELSE Max = B;
ENDIF;
IF C > Max THENMax = C;
ENDIF;
Display Max;
END.
EXAMPLE
ตัวอย่างโปรแกรมหาผลรวมตัวเลขตั้งแต่ 1 - 200
21
STRUCTURED ENGLISH AND PSEUDOCODE
Structured English
PROGRAM SumNumber:
Keep adding the numbers from 1 to 200.
END.
22
Pseudocode
PROGRAM SumNumber:
Set i to 1 and sum to 0.do (i <= 200) while
sum = sum + ii = i + 1
end while
Display sum;
END.
EXERCISES
จงเขียน flow chart และ Psedo code ของโปรแกรมต่อไปนี้1. โปรแกรมเกมทายตัวเลข โดยที่โปรแกรมจะสุ่มตัวเลขจ านวน 1 ตัว ระหว่าง 1 – 100
จากนั้นให้ผู้เล่นทายตัวเลข โดยกรอกข้อมูลทายตัวเลขได้สูงสุด 5 ครั้ง หากเกิน 5 ครั้งถือว่า Game Over ในแต่ละครั้งที่ทายตัวเลข โปรแกรมจะแสดงข้อความช่วยเหลือหลังจากที่ทายว่า ตัวเลขที่ทายนั้น มากกว่า หรือ น้อยกว่าตัวเลขที่สุ่มไว้ ในกรณีที่ทายถูกต้องจะแสดงข้อความว่า You Win!!
23