Make your own free website on Tripod.com

หัวเรื่อง.WMF (20854 bytes)

การเวียนเกิด (Recursion)

    การเวียนเกิด คือ การทำงานซ้ำโดยเรียกตัวเองมาทำงานซ้ำใหม่ได้อีก ในงานบาง ประเภทเมื่อจัดลำดับกิจกรรมการประมวลผลภายในงานนั้นเป็นหน่วยโมดุล (Module) หนึ่ง ปรากฏว่ากิจกรรมย่อยภายในโมดุลนั้นมีกิจกรรมที่เรียกใช้โมดุลตัวเองด้วย การทำงานซ้ำ แบบนี้เป็นการเรียกตัวเองมาทำงานให้ตัวเอง เรียกว่าเป็นการทำงานซ้ำแบบเวียนเกิด (Recursion) ซึ่งงานลักษณะนี้จะไม่ค่อยเห็นบ่อยนัก ในภาษาบางภาษาไม่มีความสามารถเขียน คำสั่งในลักษณะนี้ สำหรับภาษาซีเป็นภาษาที่เขียนโปรแกรมในรูปของฟังก์ชัน มีความสามารถ ที่จะให้ฟังก์ชันเรียกตัวเองใช้งานซ้ำได้ ดังตัวอย่างการหาค่า Factorial ของ n หรือ n! ซึ่งสามารถเขียนฟังก์ชันได้ดังนี้

แสดงเนื้อหาของฟังก์ชัน Factorial แบบเวียนเกิด

    จะเห็นว่าค่าที่ส่งกลับจะเป็น return (7ด6ด5ด4ด3ด2ด1) จะได้ผลลัพธ์ 5040 นั่นคือ 7! มีค่าเท่ากับ 5040
    การนำฟังก์ชัน factorial ไปใช้งานเพื่อหาค่า factorial ของเลขจำนวนเต็มใด ๆ (n!) จัดทำได้ดังตัวอย่างผังงาน และโปรแกรมต่อไปนี้

 

ศึกษาเนื้อหาโดยละเอียดได้จากหนังสือเสริม ....