1.การเขียนอัลกอริทึม
จากที่ได้ศึกษามานั้น อัลกอริทึม ก็เป็นขั้นตอนการแก้ปัญหานั่นเอง ซึ่งการเขียนอัลกอริทึมถือว่าเป็นเรื่องสำคัญ กับการเขียนโปรแกรมทุกชนิด ถ้าออกแบบอัลกอริทึมไม่ถูกต้อง หรือคลุมเครือก็จะทำให้การเขียนโปรแกรมผิดพลาดได้ง่าย ดังนั้นเองการออกแบบอัลกอริทึมที่ดีนั้น อัลกอริทึมไม่มีผิดมีถูก แค่เพียงนำมาเปรียบเทียบกัน ว่าวิธีไหนดีที่สุดนั่นเองครับ คุณสมบัติต่อไปนี้
1.แต่ละขั้นในอัลกอริทึมต้องมีความชัดเจน ถูกต้อง
2.ต้องเรียงลำดับคำสั่งในการเขียนให้ถูกต้อง เพื่อนำไปสู่ความถูกต้อง และได้รับการพิจารณาทุกกรณี
3.อัลกอริทึมที่เขียนนั้น ต้องมีจุดสิ้นสุดเสมอ
4.ใช้เวลาไม่มาก และแก้ไขดัดแปลงได้ง่ายในกรณีความตองการเปลี่ยน
ผมคิดว่าการเขียนอัลกอริทึมแต่ละคนจะแตกต่างกันไป แต่ก็มีความถูกต้องเหมือนกันเพียงแค่นำมาเทียบ ว่าวิธีไหนดีที่สุด มีหลายวิธีในการเขียนอัลกอริทึม ก็มี Flowchart และ Pseudo code
1.1.ชนิดของคอมพิวเตอร์ข้อมูลในระบบ
1.ตัวเลข จำนวนเต็ม (integer) กับ (float / real) นำมาคำนวณกัน
2.ตัวอักษร (char) 1 ตัวอักษร อยู่ภายใต้เครื่องหมายฝนทอง (single qoute) สามารถประกอบด้วยข้อมูลแบบตัวเลขได้อีก 0-9 (นำมาคำนวณไม่ได้) A-Z a-z $ # % ! @ + - * / \ ตัวอย่าง 'AZ ' ผิดเพราะรูปแบบเป็น char และมากกว่า 1 ค่า
3.ข้อความ (staring) อยู่ภายใต้ เครื่องหมายคำพูด "" double qoute ใช้กับตัวอักษร 1 ตัวขึ้นไปครับ
4.จำนวนจริง (real) เป็นจำนวนจริง ที่หารเพื่อเอาทศนิยม
1.2.อัลกอริทึมชนิด
1.structure
2.เงื่อนไข
3.วนซ้ำ for,while,Do while
1.3.ข้อมูลในที่ใช้ในการเขียนโปรแกรม 4 ชนิด
1. จำนวนเต็ม = integer
2. ทศนิยม = real
3. ข้อความ = string
4. ตัวอักษร = char
1.4.การวิเคราะห์โจทย์อัลกอริทึม
1.วิเคราะห์สิ่งที่โจทย์ต้องการ
2.รูปแบบผลลัพธ์
3.ตัวแปร
4.ข้อมูลนำเข้า
5.วิธีประมวลผล (input + process + output)
2.การเขียนผังงาน (flowchart)
มาถึงการเขียนผังงานครับ ผังงาน เป็นเครื่องมืที่ใช้เขียนอัลกอริทึมเช่นกัน เครื่องมือชนิดนี้ข้อดี คือ อ่านแล้วทำให้เข้าใจได้ง่าย แม้แต่คนที่เขียนโปรแกรมไม่เป็นก็พอน่าจะเข้าใจได้ง่าย เพราะใช้รูปภาพเป็นสัญลักษณ์จึงทำให้จดจำได้ง่าย โดยมีเส้น และ ลูกศรแสดงทิศทางการไหลของงานจากจุดเริ่มต้น ไปถึงจุดจบ (flow lines) สัญลักษณ์ของผังงาน แสดงได้ดังงนี้
เป็นสัญลักษณ์ที่ใช้อยู่บ่อย ซึงมีมากกว่านี้แต่ขอไม่อธิบายมากครับ
ซึ่งสัญลักษณ์เหล่านี้ จะมีการใช้ควบคู่กันกับอัลกอริทึม ในแต่ละสัญลักษณืมีความหมายอย่างที่เห็นกันครับ
เริ่มต้นบล็อก ให้มีคำว่า begin จบลงที่ end
อ่าน เขียนข้อมูลใช้ read และ print ตามลำดับ
การทดสอบเงื่อนไข ใช้ if , else , elseif , endif
การวนลูปทำซ้ำ ใช้ while , Do while และ end do
การเขียนรหัสเทียม มีข้อดี คือ สามารถนำมาแปลงเป็นโปรแกรมภาษาคอมพิวเตอร์ได้ง่าย แก้ไขได้ง่าย สามารถนำไปแปลงเป็นโปรแกรมคอมพิวเตอร์ภาษาใดก็ได้ เป็นภาษาที่อ่านง่ายแม้ผู้ที่ไม่ใช่นักเขียนโปรแกรมก็รับรู้ได้
เป็นสัญลักษณ์ที่ใช้อยู่บ่อย ซึงมีมากกว่านี้แต่ขอไม่อธิบายมากครับ
ซึ่งสัญลักษณ์เหล่านี้ จะมีการใช้ควบคู่กันกับอัลกอริทึม ในแต่ละสัญลักษณืมีความหมายอย่างที่เห็นกันครับ
3. รหัสเทียม (pseudo code)
มาถึงเป็นอันดับสุดท้ายครับ ก็คือ (pseudo code) รหัสเทียมนั่นเอง วิธรการเขียนอัลกอริทึมอีกวิธีที่สะดวก และแก้ไขง่าย คือ การใช้รหัสเทียม รหัสเทียมเป็นรหัสคำสั่งที่มีลักษณะ การเขียนใกล้เคียงกับภาษาอังกฤษ ผู้เขียนจึงต้องรู้รากศัพท์ของภาษาอังกฤษไว้ให้มาก แต่ก็มีโครงสร้างที่เกือบจะเป็นภาษาของโปรแกรมคอมพิวเตอร์ การเขียนรหัสเทียมนั้นไม่มีกฎตายตัว แล้วแต่ผู้เขียนจะกำหนดออกแบบมาตรฐานของตัวเองขึ้นมา ตัวอย่างเช่นเริ่มต้นบล็อก ให้มีคำว่า begin จบลงที่ end
อ่าน เขียนข้อมูลใช้ read และ print ตามลำดับ
การทดสอบเงื่อนไข ใช้ if , else , elseif , endif
การวนลูปทำซ้ำ ใช้ while , Do while และ end do
การเขียนรหัสเทียม มีข้อดี คือ สามารถนำมาแปลงเป็นโปรแกรมภาษาคอมพิวเตอร์ได้ง่าย แก้ไขได้ง่าย สามารถนำไปแปลงเป็นโปรแกรมคอมพิวเตอร์ภาษาใดก็ได้ เป็นภาษาที่อ่านง่ายแม้ผู้ที่ไม่ใช่นักเขียนโปรแกรมก็รับรู้ได้
ตัวอย่าง ของ อัลกอริทึม , ผังงาน และ รหัสเทียม
จะแก้ปัญหาเนื้อหาพื้นที่ของรูปสี่เหลี่ยม โดยรับค่าความกว้างและความสูง จากผู้มีการใช้งานทางแป้นพิมพ์
1. วิเคราะห์สิ่งที่โจทย์ต้องการ
หาพื้นที่ของสี่เหลี่ยม โดยรับค่าความกว้างและความสูง
2. รูปแบบผลลัพธ์
พื้นที่ของรูปสี่เหลี่ยม = xxx
3. ตัวแปร
พื้นที่ของรูปสี่เหลี่ยม
ค่าความกว้าง
ความสูง
4. ข้อมูลนำเข้า
ค่าความกว้าง
ค่าความสูง
5. วิธีการประมวลผล (input + process + output)
1.เริ่มต้น
2.ประกาศตัวแปร Area W,H เป็น real
3.Area = 0
4.รับค่า W H
5.Area = W*H
6.แสดงผล Area
7.จบ
รหัสเทียม (pseudo code)
1. start
2. set area W,H real
3. area = 0
4. input W ,H
5. area = W*H
6. print area
7. end
อ้างอิงแหล่งที่มา : ชื่อผู้แต่ง ผศ.ปัญญาพล หอระตะ
ชื่อหนังสือ หลักการเขียนโปรแกรมภาษา C
ชื่อสำนักพิมพ์ โรงพิมพ์คลังนานาวิทยา
ปีที่พิมพ์ 2545
หน้าที่อ้างอิง 14 - 17
1. วิเคราะห์สิ่งที่โจทย์ต้องการ
หาพื้นที่ของสี่เหลี่ยม โดยรับค่าความกว้างและความสูง
2. รูปแบบผลลัพธ์
พื้นที่ของรูปสี่เหลี่ยม = xxx
3. ตัวแปร
พื้นที่ของรูปสี่เหลี่ยม
ค่าความกว้าง
ความสูง
4. ข้อมูลนำเข้า
ค่าความกว้าง
ค่าความสูง
5. วิธีการประมวลผล (input + process + output)
1.เริ่มต้น
2.ประกาศตัวแปร Area W,H เป็น real
3.Area = 0
4.รับค่า W H
5.Area = W*H
6.แสดงผล Area
7.จบ
ผังงาน (flowchart)
รหัสเทียม (pseudo code)
1. start
2. set area W,H real
3. area = 0
4. input W ,H
5. area = W*H
6. print area
7. end
อ้างอิงแหล่งที่มา : ชื่อผู้แต่ง ผศ.ปัญญาพล หอระตะ
ชื่อหนังสือ หลักการเขียนโปรแกรมภาษา C
ชื่อสำนักพิมพ์ โรงพิมพ์คลังนานาวิทยา
ปีที่พิมพ์ 2545
หน้าที่อ้างอิง 14 - 17
ไม่มีความคิดเห็น:
แสดงความคิดเห็น