วันศุกร์ที่ 14 กันยายน พ.ศ. 2555


ขั้นตอนการทำงาน  Algorithm

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

1.  ซูโดโค้ด  (Pseudocodes)
                เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม  โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง  จะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ  ให้เป็นโปรแกรมได้ง่ายขึ้น  ส่วนใหญ่มักใช้คำเฉพาะ  (Reserve Word)  ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่  ซูโดโค้ดที่ดี  จะต้องมีความชัดเจน  สั้น  และได้ใจความ  ข้อมูลต่าง ๆ  ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร 

รูปแบบ
Algorithm  <ชื่อของอัลกอริทึม>           
1……………………………….
2……………………………….
…………………………………
END

                ตัวอย่าง  การเขียนอัลกอริทึม  สำหรับให้คอมพิวเตอร์หาค่าเฉลี่ยจากข้อมูลที่รับเข้าทางแป้นพิมพ์  ถ้าใส่ค่าศูนย์แสดงว่าหยุดป้อนข้อมูล  เขียนได้ดังนี้

Algorithm  การหาค่าเฉลี่ย
1.      เริ่มต้น
2.      ตัวนับ = 0
3.      ผลรวม = 0
4.      รับค่าทางแป้นพิมพ์เก็บไว้ในตัวแปร (ข้อมูล)
5.      ถ้า  ข้อมูล  มากกว่า  0
เพิ่มค่าตัวนับขึ้นหนึ่งค่า
ผลรวม = ผลรวม + ค่าข้อมูล
ย้อนกลับไปทำขั้นตอนที่  3
ถ้าไม่มากกว่าไปทำขั้นตอนที่  5
6.      ค่าเฉลี่ย = ผลรวมหารด้วยตัวนับ
7.      แสดงค่าเฉลี่ยทางจอภาพ (ทศนิยมสองตำแหน่ง)
8.      จบ
Algorithm  Average_Sum
1.             START
2.             count =0
3.             sum = 0
4.             INPUT  (value)
5.             IF  value > 0  THEN
count = count +1
sum = sum + value
GOTO  3
ELSE  GOTO  5
6.             average = sum / count
7.             OUTPUT (average)
8.             END

ตัวอย่าง  การเขียนอัลกอริทึม  คำนวณหาพื้นที่สามเหลี่ยม

Algorithm  การหาพื้นที่สามเหลี่ยม
1.  เริ่มต้น
2.  รับค่าความยาวของฐานมาเก็บในตัวแปร X
3.  รับค่าความยาวของสูงมาเก็บในตัวแปร Y
4.  คำนวณหาพื้นที่  ARRAY = ( X*Y ) / 2
5.  แสดงผลพื้นที่
6.  จบ
Algorithm  Triangle
1.             START
2.             READ  X
3.             READ  Y
4.             Compute  ARRAY = ( X*Y ) / 2
5.             Print  ARRAY
6.             END


อัลกอริธึม (Algorithm)

                   อัลกอริธึม (Algorithm)
            อัลกอริธึม (Algorithm) หรือขั้นตอนวิธีทางคอมพิวเตอร์ต้องมีการวัดประสิทธิภาพโดยนำความรู้ทางคณิตศาสตร์มาใช้ ดังนี้
1. การพิสูจน์โดยการเหนี่ยวนำเชิงคณิตศาสตร์ มีหลักการคือ กล่าวถึงว่าทฤษฎีนั้นถูกต้องสำหรับค่าตัวแรกเริ่มต้นหรือค่าต่ำสุด โดยแทนค่าดังกล่าวลงในทฤษฎีเพื่อแสดงให้เห็นว่า ทฤษฎีนั้นถูกต้อง จากนั้นสมมติให้ทฤษฎีนั้นยังถูกต้องเมื่อเพิ่มค่าตัวแปรจนถึงค่าที่ n-1 แล้วจึงนำสมมติฐานนั้นมาพิสูจน์ทฤษฎี โดยการทำให้ค่าของตัวแปรเพิ่มขึ้นอีกหนึ่งจำนวน
2. การหาผลบวกและผลคูณ
3. ทฤษฎีตัวเลข
4. การประมาณค่า
5. การหาสัมประสิทธิแบบ Binomial
6. การสรุปโดยการประมาณขอบเขตบนสุด
                   การเขียนอัลกอริทึมมีประเด็นต้องพิจารณาหลายเรื่อง คือ 1)วัตถุประสงค์ 2)เหตุการณ์ก่อนประมวลผล 3)ค่าของพารามิเตอร์ทั้งก่อนและหลังประมวลผล 4)สิ่งที่ได้หลังประมวลผล 5)ลำดับเหตุการณ์ระหว่างประมวลผล

ต.ย. อัลกอริทึมที่ 1 : ต้มมาม่า [3]p.25
คำถาม : ต้มมาม่า
1. มีขั้นตอนใดสลับกันได้
2. ถ้าเปลี่ยนข้อความ จะเปลี่ยนอย่างไร
3. ถ้าทำหลายถ้วยจะทำอย่างไร

1. หามาม่าไว้ 1 ซอง
2. ฉีกซองมาม่าและเทลงถ้วยเปล่า
3. ฉีกซองเครื่องปรุง แล้วเทลงถ้วยเดิม
4. ต้มน้ำให้ร้อนได้ที่ แล้วเทลงถ้วย
5. ปิดฝาไว้ 3 นาที
6. เปิดฝา แล้วรับประทาน


ตัวอย่าง  การเขียนอัลกอริทึม  คำนวณหาพื้นที่สามเหลี่ยม

Algorithm  การหาพื้นที่สามเหลี่ยม
1.  เริ่มต้น
2.  รับค่าความยาวของฐานมาเก็บในตัวแปร X
3.  รับค่าความยาวของสูงมาเก็บในตัวแปร Y
4.  คำนวณหาพื้นที่  ARRAY = ( X*Y ) / 2
5.  แสดงผลพื้นที่
6.  จบ
Algorithm  Triangle
1.             START
2.             READ  X
3.             READ  Y
4.             Compute  ARRAY = ( X*Y ) / 2
5.             Print  ARRAY
6.             END