ZAMYLA: سمجھنے کے لئے تکرار، تو آپ لازمی پہلے تکرار سمجھ. پروگرام ڈیزائن کے ذرائع میں تکرار ہو رہی ہے آپ خود referential ہے تعریف. پنراورتی ڈیٹا ڈھانچے، مثال کے طور پر، ڈیٹا ڈھانچے ہیں میں خود بھی شامل ہیں ان کی تعریف. لیکن آج، ہم توجہ مرکوز کرنے جا رہے ہیں پنراورتی افعال پر. ، افعال آدانوں کو یاد ہوگا کہ دلائل، اور ایک قیمت واپس ان کی طرف سے نمائندگی کی پیداوار یہاں اس آریھ. ہم جسم کے طور پر باکس کے بارے میں سوچتے ہوں گے سیٹ پر مشتمل تقریب، تشریح ہدایات کی ہے کہ ان پٹ اور ایک پیداوار فراہم. جسم کے اندر ایک قریب سے دیکھو لے تقریب میں کالوں کو ظاہر کر سکتا دوسرے افعال کے ساتھ ساتھ. اس سادہ تقریب، FOO، لے ان پٹ کے طور پر ایک ہی سٹرنگ لیتا ہے اور پرنٹ کس طرح بہت سے خطوط اس سٹرنگ ہے. سٹرنگ کی لمبائی کے لئے تقریب strlen کی،، جن کی پیداوار ہے، کہا جاتا ہے printf پر کال کے لئے کی ضرورت ہے. اب، کیا ایک پنراورتی تقریب کرتا ہے خصوصی خود کہتے ہیں یہ ہے کہ. ہم اس پنراورتی نمائندگی کر سکتے ہیں یہ سنتری تیر کے ساتھ کال واپس خود looping کے. لیکن پھر خود قتل ہوگی دوسرے پنراورتی کال کرنے، اور دوسرے اور دوسرے. لیکن پنراورتی افعال لامحدود نہیں ہو سکتا. وہ کسی نہ کسی طرح ختم کرنے کے لئے ہے، یا آپ پروگرام ہمیشہ کے لئے چلا جائے گا. تو ہم کو توڑنے کے لئے ایک راستہ تلاش کرنے کی ضرورت ہے پنراورتی کالوں سے باہر. ہم بنیاد کیس کہتے ہیں. بنیاد کیس حالت سے ملاقات کی ہے تو، تقریب کے بغیر واپس دوسرے پنراورتی کال. ایک صفر کی تقریب، ہیلو، اس تقریب لے لو اس ان پٹ کے طور پر ایک int ن لیتا ہے. بنیاد کیس پہلے آتا ہے. ن صفر سے بھی کم، پرنٹ الوداع اور ہے دیگر تمام معاملات کے لئے واپس، تقریب ہیلو پرنٹ اور عملدرآمد کرے گا پنراورتی کال. کے ساتھ تقریب ہیلو ایک اور کال ایک decremented ان پٹ قیمت. اب، ہم، ہیلو پرنٹ اگرچہ تقریب ختم نہیں کریں گے ہم جب تک اس کی واپسی کی قسم کو واپس، اس صورت باطل میں. تو ہر ن بنیاد کیس کے مقابلے میں دوسرے کے لئے، اس تقریب ہیلو ہیلو واپس آ جائیں گے (ن) کے مائنس 1. اس تقریب اگرچہ باطل ہے، ہم واضح طور پر یہاں واپسی کی قسم نہیں کرے گا. ہم صرف تقریب کو پھانسی دیں گے. تو ہیلو بلا (3) ہیلو پرنٹ اور ہیلو (2) (1) ایک ہیلو executes ہے جس پر عمل ہیلو executes ہے جس میں (0)، جہاں بنیاد کیس حالت سے ملاقات کی ہے. تو ہیلو (0) الوداع پرنٹ اور واپسی. ٹھیک ہے. تو اب ہم کی بنیادی باتیں سمجھتے ہیں کہ انہوں نے کی ضرورت ہے کہ پنراورتی کام کرتا ہے، کم از کم ایک بنیاد کیس کے ساتھ ساتھ ایک پنراورتی کال، ایک پر منتقل زیادہ بامعنی مثال کے طور پر. صرف واپس نہیں کرتا ہے کہ ایک کوئی بات نہیں ہے کیا باطل. کی جز ضربیہ پر ایک نظر ڈالیں آپریشن میں سب سے زیادہ استعمال امکانات کے حساب. (ن) کے جز ضربیہ ہر کی پیداوار ہے سے مثبت عدد صحیح کم اور (ن) کے برابر. تو جز ضربیہ پانچ 5 مرتبہ 4 گنا ہے 3 بار 2 بار 1 120 دینے کے لئے. چار جز ضربیہ 4 اوقات 3 بار ہے 2 بار 1 24 دینے کے لئے. اور اسی اصول کا اطلاق ہوتا ہے کسی بھی مثبت عدد صحیح کرنے کے لئے. تو ہم کس طرح ایک پنراورتی لکھنے سکتا ہے جز ضربیہ حساب لگاتا ہے کہ تقریب ایک بڑی تعداد کی؟ ٹھیک ہے، ہم دونوں کی شناخت کے لئے کی ضرورت ہو گی بنیاد کیس اور پنراورتی کال. پنراورتی کال ہی ہو جائے گا بیس کے علاوہ تمام مقدمات کے لئے کیس، جو ہم کرنا پڑے گا مطلب یہ ہے کہ ہمیں دے گا کہ ایک پیٹرن کو تلاش ہماری مطلوبہ نتائج. یہ مثال کے طور، کس طرح 5 جز ضربیہ دیکھ 1 2 3 4 ضرب شامل اور یہ کہ بہت ہی ضرب ، یہاں پایا جاتا ہے 4 جز ضربیہ کی تعریف. تو ہم 5 جز ضربیہ ہے دیکھتے ہیں کہ صرف 5 بار 4 جز ضربیہ. اب اس پیٹرن کا اطلاق ہوتا ہے 4 کے ساتھ ساتھ جز ضربیہ؟ جی ہاں. ہم 4 جز ضربیہ پر مشتمل ہے کو دیکھنے کے ضرب 3 بار 2 بار 1، 3 جز ضربیہ کے طور پر بہت ہی تعریف. تو 4 جز ضربیہ 4 بار 3 کے برابر ہے جز ضربیہ، اور تو اور تو آگے ہمارے پیٹرن 1 جز ضربیہ، جب تک چپک جس تعریف کی طرف سے 1 کے برابر ہے. کوئی دوسرے مثبت ہے integers کے چھوڑ دیا. تو ہم نے کے لئے پیٹرن ہے ہمارے پنراورتی کال. ن جز ضربیہ (ن) کے اوقات کے برابر ہے (ن) کے جز ضربیہ مائنس 1. اور ہماری بنیاد کیس؟ یہ صرف ہماری تعریف ہو جائے گا 1 جز ضربیہ کی. تو اب ہم تحریری طور پر منتقل کر سکتے تقریب کے لئے کوڈ. بنیاد کیس کے لئے، ہم پڑے گا حالت ن برابر 1، برابر جہاں ہم 1 واپس آ جائیں گے. اس کے بعد پنراورتی کال پر آگے بڑھ رہے ہیں، ہم (ن) بار واپس آ جائیں گے (ن) کے جز ضربیہ مائنس 1. اب یہ ہمارے ٹیسٹ ہیں. کی جز ضربیہ 4 کوشش کریں. ہمارے تقریب فی برابر ہے 4 بار جز ضربیہ (3). جز ضربیہ (3) کے برابر ہے 3 بار جز ضربیہ (2). جز ضربیہ (2) 2 مرتبہ کے برابر ہے جز ضربیہ (1)،، جس میں 1 واپس. جز ضربیہ (2) اب 2 بار 1، 2 واپس. جز ضربیہ (3) اب واپس آ سکتے ہیں 3 بار 2، 6. اور آخر میں، جز ضربیہ (4) 4 بار 6، 24 واپس. آپ کو کسی بھی دشواری کا سامنا کر رہے ہیں پنراورتی کال کے ساتھ، دکھاوا ہے کہ تقریب میں پہلے ہی کام کرتا ہے. کیا میں اس کی طرف سے مطلب ہے، آپ کو کرنا چاہئے کہ واپس کرنے کے لئے آپ پنراورتی کالوں پر اعتماد صحیح اقدار. مثال کے طور پر، میں جانتا ہوں کہ اگر جز ضربیہ (5) 5 گنا کے برابر ہے جز ضربیہ (4)، میں نے اس پر بھروسہ کرنے جا رہا ہوں جز ضربیہ (4) میرے 24 دے گا. اگر آپ، ایک متغیر کے طور پر سوچ گا، آپ نے پہلے ہی وضاحت کی گئی ہے کے طور پر اگر جز ضربیہ (4). تو کسی بھی جز ضربیہ کے لئے (ن)، یہ ہے (ن) کے مصنوعات اور گزشتہ جز ضربیہ. اور یہ گزشتہ جز ضربیہ بلا کی طرف سے حاصل کی جاتی ہے (ن) کے جز ضربیہ مائنس 1. آپ کو نافذ کر سکتے ہیں، اب دیکھنا پنراورتی اپنے آپ کو کام. آپ کے ٹرمنل اپ لوڈ، یا run.cs50.net، اور ایک تقریب رقم لکھنا کہ ایک عددی ن لیتا ہے اور واپس تمام مسلسل مثبت کی رقم (ن) کی طرف سے 1 integers کے. میں کچھ کی رقم باہر لکھا ہے آپ کی مدد کرنے کی اقدار ہماری. سب سے پہلے، اعداد و شمار بنیاد کیس حالت. اس کے بعد، رقم پر نظر ڈالیں (5). آپ کی شرائط میں یہ اظہار کر سکتے ہیں ایک اور رقم کا؟ اب، کیا رقم کے بارے میں (4)؟ تم کس طرح رقم اظہار کر سکتے ہیں (4) ایک اور رقم کے معاملے میں؟ آپ کی رقم ایک بار جب (5) اور رقم (4) دیگر رقوم کی شرائط میں کا اظہار کیا، دیکھ اگر آپ کو ایک کی شناخت کر سکتے ہیں رقم (ن) کے لئے پیٹرن. اگر نہیں، چند دوسرے نمبر کی کوشش اور ان کی رقوم میں اظہار ایک اور تعداد کے لحاظ سے. مجرد کے لئے] شناخت کی طرف سے تعداد، آپ کو اپنے راستے پر اچھی طرح سے کر رہے ہیں کسی ن کے پیٹرن کی شناخت. تکرار ایک بہت طاقتور آلہ ہے، تو یقینا یہ ان تک محدود نہیں ہے حساب کا کام کرتا ہے. تکرار بہت مؤثر طریقے سے استعمال کیا جا سکتا مثال کے طور پر درخت کے ساتھ نمٹنے جب. ایک کے لئے درختوں پر مختصر چیک کریں زیادہ مکمل جائزہ لینے، لیکن اب کے لئے میں، کہ بائنری تلاش درخت یاد خاص طور پر، ہر، مراکز کی بنا رہے ہیں ایک قیمت اور دو نوڈ اشارہ کے ساتھ. عام طور پر، اس کی طرف سے نمائندگی کی ہے ایک لائن کی طرف اشارہ ہونے کے والدین کی نوڈ بائیں بچے نوڈ اور ایک صحیح بچے نوڈ. ایک بائنری تلاش کی ساخت درخت کے ساتھ ساتھ خود کو ڈھال لیتا ایک پنراورتی تلاش. پنراورتی کال یا تو گزر جاتا ہے بائیں یا دائیں نوڈ، لیکن زیادہ درخت مختصر میں اس کی. تم پر ایک کارروائی انجام دینے کے لئے چاہتے ہیں ایک بائنری درخت میں ہر ایک نوڈ. تم کس طرح اس کے بارے میں جانے کے لئے ہو سکتا ہے؟ ٹھیک ہے، اگر آپ کو ایک پنراورتی لکھ سکتے تھے آپریشن کارکردگی کا مظاہرہ اس تقریب والدین کی نوڈ پر ایک پنراورتی کرتا ہے ایک ہی تقریب کو فون، بائیں میں گزر صحیح بچے نوڈس. مثال کے طور پر، اس تقریب، FOO، کہ ایک دیا نوڈ کی قدر اور تبدیلیاں 1 اس کے بچوں کے تمام. شہوت انگیز null نوڈ وجوہات کی بنیاد کیس تقریب کا اشارہ، واپس کرنے کے لئے کسی بھی نوڈس نہیں ہیں اس ذیلی درخت میں چھوڑ دیا. کی اس کے ذریعے چل دو. سب سے پہلے والدین کی 13 ہے. ہم 1 قدر تبدیل، اور پھر فون ہمارے گھر کے صفحے پر تقریب کے طور پر اچھی طرح سے حق کے طور پر. تقریب، FOO، بائیں پر کہا جاتا ہے سب سے پہلے ذیلی درخت، تو بائیں نوڈ 1 اور FOO میں دوبارہ تعینات ہو جائے گا اس نوڈ کے بچوں پر بلایا جائے، سب سے پہلے بائیں اور پھر دائیں، اور تو اور تو آگے. اور شاخوں کی ضرورت نہیں ہے ان سے کہو کہ کسی بھی زیادہ بچوں کو ایک ہی عمل حق کے بچوں کے لئے جاری رہے گی پورے درخت کی نوڈس تک 1 میں دوبارہ تعینات کیا. آپ دیکھ سکتے ہیں، آپ کو محدود نہیں کر رہے ہیں صرف ایک پنراورتی کال. کام ہو جائے گا کے طور پر بہت سے. آپ کو ایک درخت تھا تو جہاں ہر نوڈ کے تین بچے تھے، بائیں، مشرق، اور ٹھیک ہے؟ تم کس طرح FOO کو ترمیم کریں گے؟ ٹھیک ہے، سادہ. صرف ایک پنراورتی کال شامل کریں اور مشرق نوڈ پوائنٹر میں منتقل. تکرار بہت طاقتور اور نہیں ہے خوبصورت ذکر، لیکن یہ ایک ہو سکتا ہے سب سے پہلے میں مشکل تصور، تو ہو مریض اور اپنا وقت لے. بنیاد کیس کے ساتھ شروع کریں. یہ عام طور پر شناخت کرنے کے لئے سب سے آسان ہے، اور پھر آپ کو کام کر سکتے ہیں پیچھے وہاں سے. آپ تک پہنچنے کے لئے کی ضرورت ہے آپ کی بنیاد کیس، تو اس کی طاقت آپ کو کچھ اشارے دے. میں ایک مخصوص کیس کا اظہار کرنے کی کوشش کریں دیگر مقدمات کی شرائط، یا ذیلی سیٹ میں. اس مختصر دیکھ کر کے لئے شکریہ. بہت کم سے کم، اب آپ کر سکتے ہیں اس طرح کے مذاق کو سمجھنے کی. میرا نام کیا Zamyla ہے، اور اس CS50 ہے. ہیلو، اس تقریب کو لے لو، ایک لیتا ہے کہ صفر کی تقریب ایک int، ن، ان پٹ کے طور پر. بنیاد کیس پہلے آتا ہے. ن 0 سے کم، پرنٹ ہے تو "الوداع" اور واپسی.