อัลกอริทึมและการเขียนโปรแกรม (Algorithm and Programming)
1 ความหมายของอัลกอริทึม
อัลกอริทึม
( Algorithm ) หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใด
ปัญหาหนึ่ง ซึ่ง จะช่วยให้โปรแกรมเมอร์เห็นขั้นตอนของการเขียนโปรแกรมง่ายขึ้น
อัลกอริทึม
( Algorithm )หมายถึง แนวคิดอย่างมีเหตุผลที่ผู้เขียนโปรแกรม ( หรือ
โปรแกรมเมอร์ หรือ นักวิเคราะห์ระบบ ) ใช้ในการอธิบายวิธีการอย่างเป็นขั้นตอนตามลำดับในการที่
จะพัฒนาโปรแกรมนั้น ๆ ให้กับผู้ที่สนใจหรือผู้ที่เป็นเจ้าของงานหรือผู้ที่รับผิดชอบได้ทราบถึงขั้นตอน
ต่างๆ ในการเขียนหรือพัฒนาโปรแกรม ขณะเดียวกันก็ช่วยให้ผู้ที่เป็นเจ้าของงานหรือผู้ที่รับผิดชอบนั้น
ได้ตรวจสอบขั้นตอนต่างๆ ในการทำงานและความถูกต้องในแต่ละขั้นตอน
โดยผู้ที่เป็นเจ้าของงาน
หรือผู้ที่รับผิดชอบนั้น ๆ ไม่จำเป็นต้องเขียนโปรแกรมเป็น
2 หลักการเขียนอัลกอริทึม
1. เรียงลำดับความสำคัญของงานที่จะทำ
2. เขียนออกมาในลักษณะภาษาเขียนสามารถเข้าใจง่าย
3. มีความละเอียดของโครงสร้างพอสมควร
3 ตัวอย่างการเขียนอัลอกริทึม
ในรูปคำสั่งเทียม คือ มีลักษณะเป็นการเขียนคำสั่งต่างๆ
ที่ทำให้ผู้เขียนโปรแกรมสามารถเข้าใจ
ง่าย ซึ่งคำสั่งที่ใช้จะเป็นคำพูดธรรมดา ไม่ยึดหลักไวยากรณ์ของภาษาคอมพิวเตอร์
ตัวอย่างที่
1 การหาผลรวมของตัวเลข N จำนวน
Program : Sum
รับค่าจำนวนตัวเลขทั้งหมดเก็บไว้ที่ตัวแปร N
กำหนดให้ตัวแปรเก็บตัวนับเริ่มต้น I = 1 , เก็บผลรวมเริ่มต้น
Sum = 0
Repeat
รับค่าข้อมูลเก็บไว้ที่ X
นำค่าข้อมูลที่อ่านได้บวกสะสมไว้ที่ตัวแปรเก็บผลรวม Sum
เพิ่มค่าตัวนับ I ขึ้นอีก 1
Until เป็นเลขตัวสุดท้ายจริง ( I
> N )
แสดงตัวแปรที่เก็บผลรวมสะสม Sum
End Program
ตัวอย่างที่
2 หาค่าสูงสุด และ ต่ำสุดจากตัวเลขทั้งหมด N จำนวน
Program : Max_Min
รับค่าจำนวนตัวเลขทั้งหมดเก็บไว้ที่ตัวแปร N
กำหนดให้ตัวแปรเก็บตัวนับเริ่มต้น I = 1
อ่านเลขตัวแรกเก็บไว้ที่ตัวแปร X
กำหนดให้ตัวแปร X เป็นทั้งค่ามากที่สุดและน้อยที่สุด เก็บไว้ที่ตัวแปร
Max
และ Min
Repeat
อ่านเลขตัวถัดไป เก็บไว้ที่ X และเพิ่มค่าตัวนับ I อีก 1
If X > Max Then
เปลี่ยนค่าใน Max
ให้เก็บค่า X แทน
Else
If X < Min Then
เปลี่ยนค่าใน Min
ให้เก็บค่า X แทน
End if
End if
ให้ค่า Max
= Max , ค่า Min = Min
Until I > n
แสดง ตัวเลขในตัวแปร Max และ Min
End Program
4 ความหมายของโฟลว์ชาร์ต
โฟลว์ชาร์ต
( Flow Chart ) หมายถึง ผังแสดงขั้นตอนและลำดับการทำงานต่าง
ๆ ในโปรแกรม
โดยแสดงในรูปแบบของสัญลักษณ์แทนการทำงาน
โฟลว์ชาร์ต
( Flow Chart ) หมายถึง วิธีการออกแบบโปรแกรมอย่างเป็นขั้นตอนและมีเหตุมีผล
โดยการใช้สัญลักษณ์และตัวอักษรประกอบการอธิบายในแต่ละขั้นตอน
เพื่อให้ผู้เขียนโปรแกรมและผู้
ที่สนใจทั่วไปสามารถเข้าใจความหมายได้
5 ประเภทของโฟลว์ชาร์ต
โดยทั่วไปแล้วผังงานทางคอมพิวเตอร์สามารถแบ่งออกเป็นประเภทใหญ่
ๆ ได้ 3 ประเภท ได้แก่
1. โฟลว์ชาร์ตระบบ ( System
Flow Chart ) เป็นผังงานแสดงขั้นตอนการทำงานทั้งหมด
ในผังงานประเภทนี้จะเห็นระบบงานภายในของระบบหนึ่ง
ๆ ที่เกี่ยวข้องกับงานทั้งหมด ทั้งวัสดุ
เครื่องจักร โปรแกรม และ บุคลากร
จุดมุ่งหมายของการใช้ผังงานระบบประเภทนี้เพื่อให้ทราบถึงความสัมพันธ์ของระบบงาน
ทั้งหมดรวมถึงภาพรวมของระบบตั้งแต่เริ่มต้นการทำงานจนถึงสุดท้าย
ว่ามีขั้นตอนอะไรบ้างในการ
ทำงานและในการปฏิบัติงานในแต่ละขั้นตอนทำอย่างไร และจะใช้วิธีการอะไรบ้างในการทำงานในแต่
ละขั้นตอน ผังงานระบบประเภทนี้จะเหมาะสำหรับผู้บริหาร
ผู้วิเคราะห์ระบบ และผู้เขียนโปรแกรม
ซึ่งจะทำให้ผู้ที่ดูผังงานระบบแบบนี้ได้ทราบถึงความสัมพันธ์คร่าว
ๆ ของส่วนต่างๆ ของระบบงาน
ทั้งหมด แต่ผังงานระบบนี้ยังไม่สามารถนำไปใช้ในการเขียนโปรแกรมได้
2. โฟลว์ชาร์ตโปรแกรมโมดูล
( Modular Program Flow chart ) คือ ผังงานที่จัดทำขึ้น
เพื่อแบ่งระบบออกเป็นส่วน ๆ เพื่อให้ง่ายต่อความเข้าใจในแต่ละส่วนของระบบให้มากขึ้นกว่าผังงาน
ระบบ ซึ่งผังงานโปรแกรมโมดูลนี้จะแสดงเพียงส่วนหนึ่ง
ๆ หรือ โมดูลนั้นๆ มีขั้นตอนและวิธีการใน
การทำงานอย่างไร แต่จะไม่มีรายละเอียดย่อยในโมดูลนั้น
ๆ จึงยังไม่สามารถนำผังงานประเภทนี้ไป
เขียนโปรแกรมได้
3. โฟลว์ชาร์ตการเขียนโปรแกรม
( Programming Flow chart ) หรือที่นิยมเรียกกันสั้น
ๆ
ว่า
Flow chart ผังงานประเภทนี้เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานอย่างละเอียดในโมดูลนั้น
ๆ โดยจะดึงเอาจุดแต่ละจุดจากผังงานโปรแกรมโมดูลขึ้นมาเขียนเป็นผังงานประเภทนี้
โดยจะแสดง
รายละเอียดของขั้นตอนการทำงานอย่างชัดเจน ไม่ว่าจะเป็นขั้นตอนของการรับข้อมูลเข้า
การคำนวณ
การประมวล-ผล และการแสดงผลลัพธ์ เป็นต้น
6 สัญลักษณ์ที่ใช้ในการเขียนโฟลว์ชาร์ต
สัญลักษณ์ ชื่อเรียก หน้าที่
Terminal / interrupt
( เริ่มต้น / สิ้นสุด )
แสดงจุดเริ่มต้นหรือสิ้นสุดของผังงาน
( ในผังงานจะมีจุดเริ่มต้นและสิ้นสุดการทำงานอย่างละ
1
จุดเท่านั้น )
Assignment ( การกำหนดค่า )
Computation ( การคำนวณ )
Process( การประมวลผล )
สัญลักษณ์ที่ใช้สำหรับแสดงการประมวลผล เช่น
การคำนวณ หรือ การกำหนดค่า
Input ( การนำข้อมูลเข้า )
Output ( การนำข้อมูลออก )
การรับหรือแสดงข้อมูลที่ไม่ได้กำหนดอุปกรณ์ในการรับ
หรือแสดงผล
Input ( รับข้อมูลเข้าทางแป้นพิมพ์ )
การรับข้อมูลเข้ามาทางแป้นพิมพ์ ( Keyboard )
Display การแสดงค่าข้อมูลออกทางจอภาพ
Document การแสดงค่าข้อมูลออกทางเครื่องพิมพ์
Decision
สัญลักษณ์ที่ใช้สำหรับการตัดสินใจ
Flowchart Connector จุดเชื่อมต่อผังงานในหน้าเดียวกัน
Flowchart Off- Page Connector
จุดเชื่อมต่อผังงานคนละหน้า
ลูกศร
ลูกศรแสดงทิศทางการไหลของผังงาน
Call Procedure การเรียกใช้โปรแกรมย่อย
7 ตัวอย่างการใช้สัญลักษณ์โฟลว์ชาร์ต
สัญลักษณ์ การใช้งาน คำอธิบาย
แสดงจุดเริ่มต้นหรือสิ้นสุดของผังงาน
( ในผังงานจะมีจุดเริ่มต้นและสิ้นสุดการทำงานอย่างละ
1
จุดเท่านั้น )
การกำหนดค่า A ให้มีค่าเท่ากับ 5 ( ในการกำหนดค่า
ให้กับตัวแปร จะไม่ใช้เครื่องหมาย = เพราะมีไว้สำหรับ
การเปรียบเทียบค่า 2 ค่า จะใช้เครื่องหมาย แทน)
การรับค่าข้อมูลมาเก็บไว้ในตัวแปร A และตัวแปร B
โดยค่าแรกจะถูกนำไปเก็บไว้ในตัวแปร A และ ค่าถัดไป
เก็บไว้ในตัวแปร B
การรับค่าจากแป้นพิมพ์มาเก็บไว้ในตัวแปร A และ
ตัวแปร B โดยค่าแรกที่รับเข้ามาจะถูกนำไปเก็บไว้ใน
ตัวแปร A และค่าถัดไปจะถูกนำไปเก็บไว้ในตัวแปร B
การแสดงค่าในตัวแปร ANS ออกทางจอภาพ
การแสดงค่าในตัวแปร ANS ออกทางเครื่องพิมพ์
จากภาพจะพิจารณาค่าในตัวแปร X ก่อน ถ้าค่าใน
ตัวแปร X ในขณะนั้นมากกว่า 15 จะทำในขั้นตอนการ
ทำงานในทิศทางของ Y ถ้าค่าในตัวแปร X ไม่มากว่า
15 จะทำในขั้นตอนการทำงานในทิศทางของ N
แสดงเครื่องหมายแสดงจุดต่อภายในหน้าเดียวกัน
หมายเลข 1 โดยที่ทั้ง 2 จุดจะต้องอยู่หน้าเดียวกัน โดย
เสมือนว่าสองจุดนี้เชื่อมต่อกัน
แสดงเครื่องหมายจุดต่อระหว่างหน้า หมายเลข 1 โดย
เครื่องหมายแสดงจุดต่อทั้งสองจุดนั้นจะต้องอยู่คนละ
หน้ากัน เสมือนว่าทั้งสองจุดนี้เชื่อมต่อถึงกัน
Start
End
A 5
รับค่า
A,B
A , B
ANS
ANS
Y X > 15 N
1
1
1
1
8 หลักในการเขียนโฟลว์ชาร์ต
ในการเขียนผังงานหรือโฟลว์ชาร์ต ต้องรู้จักเลือกใช้รูปภาพหรือสัญลักษณ์ที่เหมาะสม
รวมถึง
อุปกรณ์ที่ช่วยในการเขียนผังงานที่เรียกว่า “ Flow Chart Template “ ซึ่งอุปกรณ์นี้จะช่วยให้การเขียน
ผังงานสะดวกและรวดเร็วยิ่งขึ้น
ในการเขียนผังงานนี้จะเขียนตามขั้นตอนและวิธีการประมวลผลที่ได้ทำการวิเคราะห์งานเอาไว้
แล้ว ซึ่งต้องพิจารณาตามลำดับก่อนหลังของการทำงาน
เพื่อจัดภาพของผังงานให้เป็นมาตรฐานง่ายต่อ
การเข้าใจ และช่วยให้การเขียนโปรแกรมจากผังงานมีประสิทธิภาพมากยิ่งขึ้น
เพื่อให้การเขียนผังงาน
เป็นมาตรฐานเดียวกันจะใช้ลำดับในการเขียนผังงานดังนี้
1. การกำหนดค่าเริ่มต้น เป็นการกำหนดค่าเริ่มต้นให้กับตัวแปรต่างๆ ที่จำเป็นบางตัว
ได้แก่
ตัวแปรที่ใช้เป็นตัวนับ หรือตัวแปรที่เป็นตัวคำนวณผลรวมต่างๆ
2. การรับข้อมูลเข้า เป็นการรับข้อมูลนำเข้ามาจากแหล่งข้อมูลต่างๆ เพื่อใช้เป็นส่วนหนึ่ง
ของการประมวลผล แล้วนำค่ามาเก็บไว้ในตัวแปรใด ๆ ที่กำหนดเอาไว้
3. การประมวลผล เป็นการประมวลผลตามที่ได้มีการกำหนด หรือเป็นการคำนวณต่างๆ
ซึ่ง
จะต้องทำทีละลำดับขั้นตอนและแยกรูปแต่ละรูปออกจากกันให้ชัดเจนด้วย
4. การแสดงผลลัพธ์ เป็นการแสดงข้อมูลที่ได้จากการคำนวณหรือผลลัพธ์ที่ต้องการหรือค่า
จากตัวแปรต่างๆ ซึ่งการแสดงผลลัพธ์นี้มักจะกระทำหลังจากการประมวลผลหรือหลังจาก
การรับข้อมูลเข้ามาแล้ว
9 ข้อสังเกตในการเขียนโฟลว์ชาร์ต
1. โฟลว์ชาร์ตใด ๆ จะมีจุดเริ่มต้นและจุดสิ้นสุดเพียงอย่างละแห่งเดียวเท่านั้น
2. ทุกสัญลักษณ์ที่ใช้แทนขั้นตอนการทำงาน จะต้องมีทิศทางเข้าเพียง
1 แห่งและทิศทางออก
เพียง 1 แห่งเท่านั้น ยกเว้นสัญลักษณ์ของจุดเริ่มเริ่มต้น จุดสิ้นสุด จุดต่อ และ การ
ตัดสินใจ
3. ทิศทางของลำดับขั้นตอนการทำงานในโฟลว์ชาร์ตนิยมเขียนจากซ้ายไปขวาหรือจากบนลง
ล่าง
4. หลีกเลี่ยงการขีดเส้นโยงไปโยงมาในลักษณะที่ตัดกัน ถ้าจำเป็นต้องโยงเส้นดังกล่าวถึงกัน
ควรใช้เครื่องหมายต่อจุดเพื่อเชื่อมความสัมพันธ์แทน
5. สัญลักษณ์ต่าง ๆ นั้นจะเปลี่ยนรูปเป็นอย่างอื่นไม่ได้
ต้องเป็นไปตามมาตรฐานที่กำหนดไว้
แล้วเท่านั้น
6. ควรมีเครื่องหมายลูกศรกำกับทิศทางทางไหลให้กับแต่ละสัญลักษณ์
ด้วย
7. คำอธิบายการทำงานควรเขียนให้สั้นเข้าใจง่ายและเขียนในสัญลักษณ์ของโฟลว์ชาร์ต
ทั้งหมดหากมีคำอธิบายเพิ่มเติมให้เขียนไว้บนสัญลักษณ์ด้านขวา
8. ในการเขียนโฟลว์ชาร์ตควรเขียนให้เป็นระเบียบ เรียบร้อย
และสะอาด
10 ตัวอย่างในการโฟลว์ชาร์ต
ตัวอย่างที่ 1
การหาผลรวมของตัวเลข N จำนวน
N = ข้อมูลตัวสุดท้าย
Start
X
I 1
Sum 0
Sum Sum + X
I I + 1
I > N
Sum
Stop
No
Yes
N
ตัวอย่างที่ 2
หาค่าสูงสุด และ ต่ำสุดจากตัวเลขทั้งหมด
N จำนวน
Max X
Min X
Start
N
I 1
Max X , Min X
X
I I + 1
X > Max
X < Min
Max Max , Min Min
No
No
Yes
Yes
No I > N
Yes
Max , Min
Stop
11 หลักการเขียนโปรแกรม
โปรแกรมคำสั่ง ( Programming Language ) โดยทั่วไปหมายถึงชุดของคำสั่งจำนวนหนึ่งที่ถูก
จัดเป็นลำดับขั้นตอนของการปฏิบัติงานเพื่อที่จะได้ผลลัพธ์ที่ต้องการอย่างหนึ่ง
คำสั่งเหล่านั้นถูกเขียน
ในรูปแบบตามข้อกำหนดหรือข้อบังคับของภาษาที่ใช้
ในการใช้คอมพิวเตอร์ช่วยในการแก้ไขปัญหาต่างๆ โปรแกรมคำสั่งจะถูกเขียนและป้อนให้แก่
คอมพิวเตอร์เพื่อบอกลำดับขั้นการทำงานให้คอมพิวเตอร์ปฏิบัติ
ขั้นตอนที่เกี่ยวข้องกับการเขียน
โปรแกรมได้แก่สิ่งต่อไปนี้
1. ต้องรู้ความต้องการของปัญหา หรือรู้ว่าปัญหาคืออะไร ในขั้นนี้มีส่วนที่เกี่ยวข้องที่สำคัญ
2 ประการคือ
- output ที่ต้องการคืออะไร และ มีรูปแบบอย่างไร
- input เกี่ยวข้องกับข้อมูล และ สิ่งกำหนดให้อะไรบ้าง
2. กำหนดวิธีการที่เหมาะสมเพื่อแก้ปัญหานั้น โดยอาจกำหนดในรูปแบบของ
Algorithm
หรือ
Flowchart
3. แปลง Algorithm หรือ
Flowchart เป็นโปรแกรมภาษาที่เหมาะสมที่สามารถใช้กับ
คอมพิวเตอร์ที่ใช้งานอยู่
4. นำโปรแกรมที่เขียนแล้วไปทดลองกับคอมพิวเตอร์โดยใช้ข้อมูลสมมุติเพื่อตรวจสอบ
เงื่อนไขและความถูกต้อง
5. ใช้ข้อมูลจริงกับโปรแกรมที่ถูกต้องเพื่อผลิตผลลัพธ์ขั้นสุดท้าย
12 สรุปขั้นตอนของการวิเคราะห์งาน 5 ขั้นตอน ได้ดังนี้คือ
1. ระบุสิ่งที่โจทย์ต้องการ
2. ออกแบบหน้าจอผลลัพธ์
3. ระบุข้อมูลนำเข้า
4. กำหนดตัวแปรที่ใช้
5. ขั้นตอนการประมวลผล ( อัลกอริทึม
) หรือ โฟลว์ชาร์ต
หลังจากทำการวิเคราะห์งาน 5 ขั้นตอนเรียบร้อยแล้วค่อย ลงมือเขียนโปรแกรม
ให้หาผลรวมของตัวเลขตั้งแต่ 1 ถึง N
1. สิ่งที่โจทย์ต้องการ
ผลรวมของจำนวนตัวเลขตั้งแต่ 1 – N
2. รูปแบบผลลัพธ์
3. ข้อมูลนำเข้า
จำนวนตัวเลขเริ่มต้นที่ 1 , 2 , 3 ,… ไปเรื่อยๆ จนกระทั่งถึง
N
4. ตัวแปรที่ใช้
4.1 Top_number = ตัวแปรเก็บตัวเลขสูงสุด
4.2 Number = ตัวแปรเก็บตัวเลขนำเข้าตั้งแต่ 1 –
N
4.3 Total = ตัวแปรเก็บผลรวมของจำนวนตัวเลขตั้งแต่
1 – N
5. ขั้นตอนหรือวิธีการในการประมวลผล
(อัลกอริทึม)
5.1 พิมพ์หัวโปรแกรมการหาผลรวมเลข 1 – N
5.2 ป้อนค่าตัวเลขสุดท้าย เก็บไว้ที่ตัวแปร
Top_number
5. 3กำหนดค่าตัวแปรเก็บตัวเลขเริ่มต้น Number =
1 และตัวแปรเก็บผลรวมเริ่มต้น Total = 0
5.4 นำค่าตัวแปร Number บวกสะสมเก็บไว้ที่ตัวแปร
Total
5.5 เพิ่มค่าตัวแปร Number ขึ้นอีก
1
Program Sum Number 1 – N
Input Top number of N = ?
Total Of Number 1 – N = x
- Press < any key > To End Program -
5.6 เช็คเงื่อนไขว่า Number > Top_number หรือยัง
- ถ้า เป็นจริง ไปทำขั้นตอนที่ 7
- ถ้าเป็นเท็จ กลับไปทำขั้นตอนที่ 4
5.7 พิมพ์ผลรวมสะสมที่คำนวณได้ในตัวแปร Total
5.8 จบการทำงานของโปรแกรม
6. ผังงาน
( Flow Chart )
Number > Top_number
Stop
Total Total + Number
Start
พิมพ์หัวโปรแกรม
Yes
No
Total
Top_number
Number 1
Total 0
Number Number + 1
7. เขียนโปรแกรม
< ด้วยภาษาซี >
#include "stdio.h"
#include "conio.h"
void main()
{
int i,number,total,top_number;
clrscr();
for (i=1; i<80; i++) printf("*");
gotoxy(20,2);printf("program Sum number 1 - N \n");
for (i=1; i<80; i++) printf("*");
total = 1;number = 0;
gotoxy(20,4);printf("Input number of N
:=");scanf("%d",&top_number);
do {
total = total + number;
number = number + 1;
} while (number <= top_number);
gotoxy(20,5);printf("Total of number 1 - N =
%d",total);printf("\n");
for (i=1; i<80; i++) printf("*");
gotoxy(20,7);printf("- Press < any Key > to end program
- \n");
for (i=1; i<80; i++) printf("*");
getch();
}
ตัวอย่างโจทย์ที่ 2
ให้ทำการรับคะแนนของนักศึกษาที่อยู่ในช่วง 0 - 100 จากแป้นพิมพ์มาเก็บไว้ในตัวแปรแล้วทำ
การคำนวณหาเกรดที่ควรจะได้โดยเทียบจาก
0 - 49 ได้ เกรด 0
50 - 59 ได้ เกรด 1
60 - 69 ได้ เกรด 2
70 - 79 ได้ เกรด 3
80 - 100 ได้ เกรด 4
และถ้าหากรับคะแนน เป็นค่า 999 ให้จบการทำงานของโปรแกรม
....
1. สิ่งที่โจทย์ต้องการ
เกรดของนักศึกษาแต่ละคน
2. รูปแบบผลลัพธ์
3. ข้อมูลนำเข้า
คะแนนของนักศึกษาอยู่ในช่วง 0 – 100
4. ตัวแปรที่ใช้
4.1 Score = ตัวแปรเก็บคะแนนนำเข้าตั้งแต่ 0 –
100
4.2 Grade = ตัวแปรเก็บเกรดที่นักศึกษาจะได้รับ
Program Show Grade of Student
Input Score 0 - 100
Input your Score = ? You Get Grade = X
- Press < any key > to End Program -
5. ขั้นตอนหรือวิธีการในการประมวลผล
(อัลกอริทึม)
1. พิมพ์หัวโปรแกรมการคิดเกรดนักศึกษา
2. พิมพ์ช่วงคะแนนที่จะป้อนให้กับโปรแกรม ( 0 -
100 )
3. รอรับค่าคะแนนเพื่อนำมาเก็บไว้ในตัวแปร Score
4. นำตัวแปรที่เก็บคะแนนไปเช็คเงื่อนไขเพื่อคำนวณเกรดดังนี้
- หากค่าตัวแปรอยู่ในช่วง 0 - 49 แล้วให้
ตัวแปร Grade เก็บค่า “0” หากไม่ใช่ให้
เช็คเงื่อนไขต่อไป
- หากค่าตัวแปรอยู่ในช่วง 50 - 59 แล้วให้ ตัวแปร Grade เก็บค่า “1” หากไม่ใช่ให้
เช็คเงื่อนไขต่อไป
- หากค่าตัวแปรอยู่ในช่วง 60 - 69 แล้วให้ ตัวแปร Grade เก็บค่า “2” หากไม่ใช่ให้
เช็คเงื่อนไขต่อไป
- หากค่าตัวแปรอยู่ในช่วง 70 - 79 แล้วให้ตัวแปร Grade เก็บค่า “3” หากไม่ใช่ให้
เช็คเงื่อนไขต่อไป
- หากค่าตัวแปรอยู่ในช่วง 80 - 100 แล้วให้ตัวแปร Grade เก็บค่า “4” หากไม่ใช่ให้
เช็คเงื่อนไขต่อไป
- หากค่าตัวแปรเท่ากับ 999 ให้ไปทำข้อที่
6 หากไม่ใช่ให้กลับไปทำข้อที่ 3
5. แสดงค่าในตัวแปร Grade
6. จบการทำงานของโปรแกรม
6. ผังงาน
(Flow Chart)
Start
0<= score<=49
50<=score<=59
60<=score<=69
70<=score<=79
80<=score<=100
score = 999 ?
Stop
Yes
Yes
Yes
Yes
Yes
No
No
No
No
No
Yes
พิมพ์หัวโปรแกรม
คิดเกรด
พิมพ์ช่วงข้อมูลที่
ป้อนได้ ( 0
- 100 )
Score
Grade 0
Grade 1
Grade 2
Grade 3
Grade 4
Grade
A
A
B No
B
7. เขียนโปรแกรม
< ด้วยภาษาซี >
#include <stdio.h>
#include <conio.h>
void main()
{
int i,score;
char grade;
while (score != 999){
clrscr();gotoxy(1,4);for(i=1;i<=80;i++) printf("-");
gotoxy(25,5);printf("program Show grade of student\n");
for(i=1;i<=80;i++) printf("-");
gotoxy(25,7);printf("Input score 0 - 100 | 999 =
exit\n");
gotoxy(20,9);printf("Input your score :
");clreol();scanf("%d",&score);
if(score == 999) goto exit;
if(score <= 49) grade = '0';
if (score >= 50 && score <= 59 ) grade = '1';
if (score >= 60 && score <= 69 ) grade = '2';
if (score >= 70 && score <= 79 ) grade = '3';
if (score >= 80 && score <= 100 ) grade = '4';
gotoxy(45,9);clreol();
gotoxy(45,9);printf("Your grade is ::%c\n",grade);
for(i=1;i<=80;i++) printf("-");
gotoxy(25,11);printf("Press any key to End Program\n");
for(i=1;i<=80;i++) printf("-");getch();
};
exit : }