บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน
การทำงานของฟังก์ชัน Power #include <iostream.h> double power(double x,int n){ --ประกาศตัวแปรเป็น double และ int if(n==0) return 1; --คำสั่งการตรวจสอบถ้า n เท่ากับ 0 ให้ส่งค่ากลับมาเป็น 1
--ให้ส่งค่ากลับมาโดยให้ตัวแปร X คูณกับเลขยกกำลังคือ x และ n-1 } else return x*power(x,n-1); --ให้ส่งค่ากลับมาโดยให้ตัวแปร X คูณกับเลขยกกำลังคือ x และ n-1 } int main() { int x,n; --ประกาศตัวแปรเป็นชนิด int 2 ตัวคือ x,n
cout<<"Input Base Number:"; cin>>x; --รับค่าเข้าตัวแปร x cout<<"Input n Number:"; --แสดงค่า Input n Number
cin>>n; --รับค่าเข้าตัวแปร n cout<<"Power of"<<x<<"^"<<n<<":"<<power(x,n)<<endl; --แสดงค่า Power of แล้วนำตัวแปร x ,^,n และ : --นำค่าทั้ง 2 ตัวคือ x และ n มายกกำลัง return 0; }
รับค่า n = 5; เข้ามาเก็บไว้ในหน่วยความจำ Memory กำหนดค่าให้ตัวแปร x=2; และ n=5;
โจทย์ 2^5 2 * 24 ครั้งที่ 1 2 * 23 ครั้งที่ 2
2 * ครั้งที่ 3 * 22 2 * ครั้งที่ 4 * 2 21