1 00:00:00,000 --> 00:00:05,587 2 00:00:05,587 --> 00:00:07,670 ڈوگ لایڈ: تم نے دیکھا ہے تو تکرار پر ویڈیو، 3 00:00:07,670 --> 00:00:10,170 پورے عمل ہو سکتا ہے تھوڑا سا جادو لگ رہا تھا. 4 00:00:10,170 --> 00:00:10,930 یہ کیسے کام کرتا ہے؟ 5 00:00:10,930 --> 00:00:15,010 افعال کے لئے کس طرح جانتے ہیں کہ وہ انتظار کرو اور ایک کی قیمت کے لئے انتظار کرنے کی ضرورت 6 00:00:15,010 --> 00:00:19,150 ایک مختلف تقریب سے واپس ہم چاہتے نتیجہ حاصل کرنے کے لئے کہتے ہیں؟ 7 00:00:19,150 --> 00:00:22,550 >> ٹھیک ہے، یہ کام کرتا ہے وجہ ہے کال اسٹیک کے طور پر جانا جاتا ہے کچھ کی. 8 00:00:22,550 --> 00:00:26,360 آپ کو ایک تقریب کہتے ہیں، نظام میموری میں جگہ ایک طرف کا تعین کرتا ہے 9 00:00:26,360 --> 00:00:28,120 اس تقریب کے لئے اس کا کام کرنا. 10 00:00:28,120 --> 00:00:31,720 اور ہم میموری کے ان حصوں کہتے ہیں ہر تقریب کے لئے مقرر کیا جا رہا ہے 11 00:00:31,720 --> 00:00:35,670 ایک اسٹیک فریم یا ایک تقریب فریم کال. 12 00:00:35,670 --> 00:00:38,290 اور آپ توقع کر سکتے، ان اسٹیک فریم 13 00:00:38,290 --> 00:00:41,000 میموری کی حصہ اسٹیک پر رہتے ہیں. 14 00:00:41,000 --> 00:00:43,960 15 00:00:43,960 --> 00:00:47,540 >> ایک سے زیادہ تقریب اسٹیک فریم ایک دیئے گئے وقت یاد میں موجود کر سکتے ہیں. 16 00:00:47,540 --> 00:00:51,240 اہم ایک تقریب اقدام بلاتا ہے تو، اور اس اقدام سمت بلاتا ہے، 17 00:00:51,240 --> 00:00:54,460 تینوں افعال کھلی فریم. 18 00:00:54,460 --> 00:00:57,350 لیکن وہ فعال فریم نہیں ہے. 19 00:00:57,350 --> 00:00:59,410 یہ فریم ایک اسٹیک میں اہتمام کر رہے ہیں. 20 00:00:59,410 --> 00:01:01,820 اور سے فریم سب سے زیادہ حال ہی میں ملاقات 21 00:01:01,820 --> 00:01:04,390 تقریب اسٹیک کے سب سے اوپر پر ہمیشہ ہے. 22 00:01:04,390 --> 00:01:07,150 اور یہ کہ ہمیشہ فعال فریم ہے. 23 00:01:07,150 --> 00:01:10,420 صرف واقعی کبھی نہیں ہے ایک وقت میں فعال ہے کہ تقریب. 24 00:01:10,420 --> 00:01:12,420 یہ اسٹیک کے سب سے اوپر پر ایک ہے. 25 00:01:12,420 --> 00:01:17,620 >> جب ایک تقریب ایک بلاتا ہے تقریب، اس طرح کی پریس کو روکنے. 26 00:01:17,620 --> 00:01:20,590 اس طرح کے انتظار میں، ہولڈ پر ہے. 27 00:01:20,590 --> 00:01:24,050 اور ایک اسٹیک فریم دھکیل دیا جاتا ہے اس کے سب سے اوپر پر اسٹیک پر. 28 00:01:24,050 --> 00:01:26,150 اور فعال فریم بن جاتا ہے. 29 00:01:26,150 --> 00:01:28,600 اور فریم فوری طور پر یہ انتظار کرنے کی ضرورت ہے مندرجہ ذیل 30 00:01:28,600 --> 00:01:33,560 اسے دوبارہ فعال فریم ہے جب تک اس کام کو دوبارہ شروع کرنے سے پہلے. 31 00:01:33,560 --> 00:01:35,870 جب ایک تقریب ہے مکمل اور یہ ہو چکا ہے، 32 00:01:35,870 --> 00:01:37,720 اس کے فریم اسٹیک دور کھولے ہے. 33 00:01:37,720 --> 00:01:38,950 یہ اصطلاح ہے. 34 00:01:38,950 --> 00:01:41,110 اور فریم فوری طور پر اس کے نیچے، میں نے ابھی کہا کے طور پر، 35 00:01:41,110 --> 00:01:42,880 نئے فعال فریم بن جاتا ہے. 36 00:01:42,880 --> 00:01:45,960 >> اور یہ ایک اور تقریب بلاتا ہے تو، اسے دوبارہ کو روکنے کے لئے جا رہا ہے. 37 00:01:45,960 --> 00:01:49,290 اس نئے تقریب کا اسٹیک فریم گے اسٹیک کے سب سے اوپر پر دھکیل دیا جائے. 38 00:01:49,290 --> 00:01:50,650 یہ اس کام کروں گا. 39 00:01:50,650 --> 00:01:52,100 یہ دور واپس پاپ سکتا. 40 00:01:52,100 --> 00:01:55,630 اور دوسری تقریب ذیل میں ایک بار پھر دوبارہ شروع کر سکتے. 41 00:01:55,630 --> 00:02:00,080 >> تو تلاش کر رہے، ایک بار پھر اس کے ذریعے جانے جز ضربیہ تقریب کے خیال سے 42 00:02:00,080 --> 00:02:03,070 ہم میں وضاحت کی ہے کہ تکرار ویڈیو کو دیکھنے کے لئے 43 00:02:03,070 --> 00:02:07,770 کس طرح اس کے پیچھے جادو پنراورتی عمل کی جگہ لے جا رہا ہے. 44 00:02:07,770 --> 00:02:09,870 تو یہ ہماری پوری فائل، ٹھیک ہے؟ 45 00:02:09,870 --> 00:02:14,000 ہم نے دو کی وضاحت اہم اور اصل افعال. 46 00:02:14,000 --> 00:02:15,980 اور ہم توقع کر سکتے ہیں کے طور پر، کسی بھی سی پروگرام کی جا رہی ہے 47 00:02:15,980 --> 00:02:18,470 اہم کی پہلی سطر میں شروع کرنے. 48 00:02:18,470 --> 00:02:21,660 >> تو ہم اہم کے لئے ایک نیا اسٹیک فریم بنانے. 49 00:02:21,660 --> 00:02:23,320 اور اسے چلانے کے لئے شروع کرنے کے لئے جا رہا ہے. 50 00:02:23,320 --> 00:02:25,270 اہم کالز printf کے. 51 00:02:25,270 --> 00:02:29,390 اور printf جا رہا ہے 5 جز ضربیہ باہر پرنٹ. 52 00:02:29,390 --> 00:02:31,440 ٹھیک ہے، یہ پتہ نہیں ہے 5 کیا جز ضربیہ ہے، 53 00:02:31,440 --> 00:02:35,620 اور تو اس کال پہلے سے ہی ہے ایک اور تقریب کال پر منحصر ہے. 54 00:02:35,620 --> 00:02:37,270 اتنی اہم وہیں کو روکنے کے لئے کی جا رہی ہے. 55 00:02:37,270 --> 00:02:39,103 مجھے چھوڑ کر جا رہا ہوں اس کے ، وہیں رنگ تیر 56 00:02:39,103 --> 00:02:41,360 اس کے طور پر ایک ہی رنگ حق پر فریم ڈھیر لگانا، 57 00:02:41,360 --> 00:02:47,720 اہم منجمد کرنے جا رہی ہے کہ اس بات کی نشاندہی کرنے کے لئے 5 جز ضربیہ کہا جاتا ہے جبکہ یہاں. 58 00:02:47,720 --> 00:02:49,300 >> لہذا 5 جز ضربیہ کہا جاتا ہے. 59 00:02:49,300 --> 00:02:53,160 اور یہ بہت سے شروع کرنے جا رہا ہے جز ضربیہ تقریب کا آغاز. 60 00:02:53,160 --> 00:02:55,440 یہ سوال میں 1 کے برابر ہوں پوچھتا ہے؟ 61 00:02:55,440 --> 00:02:56,810 1 سے برابر ہے 5؟ 62 00:02:56,810 --> 00:02:57,410 نہیں، ٹھیک ہے. 63 00:02:57,410 --> 00:03:01,110 تو اس کے نیچے جانے کے لئے جا رہا ہے اور حصہ، واپسی (ن) بار 64 00:03:01,110 --> 00:03:02,990 ن مائنس 1 جز ضربیہ. 65 00:03:02,990 --> 00:03:03,490 ٹھیک ہے، ٹھیک ہے. 66 00:03:03,490 --> 00:03:07,070 >> تو اب، 5 جز ضربیہ ہے ایک کال پر منحصر ہے 67 00:03:07,070 --> 00:03:09,740 گزر، جز ضربیہ پیرامیٹر کے طور پر 4. 68 00:03:09,740 --> 00:03:14,210 اور اس جز ضربیہ کی 5 فریم، سرخ فریم کہ، 69 00:03:14,210 --> 00:03:17,160 وہیں منجمد کرنے کی جا رہی ہے اس لائن پر میں اس بات کا اشارہ ہے 70 00:03:17,160 --> 00:03:21,914 اور ختم کرنے کے لئے 4 جز ضربیہ کے لئے انتظار یہ تو ہے کہ ایسا کرنے کی ضرورت ہے 71 00:03:21,914 --> 00:03:23,330 فعال فریم دوبارہ بن سکتا ہے. 72 00:03:23,330 --> 00:03:26,890 >> تو میں 4 شروع جز ضربیہ جز ضربیہ کے آغاز. 73 00:03:26,890 --> 00:03:28,556 1 سے برابر ہے 4؟ 74 00:03:28,556 --> 00:03:30,180 نہیں، تو یہ ایک ہی بات کیا جا رہا ہے. 75 00:03:30,180 --> 00:03:31,590 یہ کسی شاخ نیچے جانے کے لئے جا رہا ہے. 76 00:03:31,590 --> 00:03:33,240 یہ کوڈ کے لائن حاصل کرنے کے لئے جا رہا ہے. 77 00:03:33,240 --> 00:03:35,710 ٹھیک ہے، میں چار گنا واپس جا رہا ہوں. 78 00:03:35,710 --> 00:03:41,270 اوہ، 3-- جز ضربیہ اس کی جز ضربیہ 4 3 مکمل کرنے کی جز ضربیہ پر منحصر ہے. 79 00:03:41,270 --> 00:03:43,055 >> اور اس طرح یہ 3 جز ضربیہ فون کرنے کی ضرورت ہے. 80 00:03:43,055 --> 00:03:45,180 اور اس کے ذریعے جانے والا پھر وہی عمل. 81 00:03:45,180 --> 00:03:48,200 یہ، کے ذریعے شروع ہو جاتا ہے یہاں. 82 00:03:48,200 --> 00:03:50,980 3 جز ضربیہ منحصر 1 جز ضربیہ پر. 83 00:03:50,980 --> 00:03:53,750 2 شروع کی تو جز ضربیہ، یہاں. 84 00:03:53,750 --> 00:03:56,310 یہ 1 جز ضربیہ پر منحصر ہے. 85 00:03:56,310 --> 00:03:57,430 1 شروع ہوتا ہے کے جز ضربیہ. 86 00:03:57,430 --> 00:03:57,650 >> ٹھیک ہے. 87 00:03:57,650 --> 00:03:59,775 تو اب، ہم حاصل کر رہے ہیں کہیں دلچسپ، ٹھیک ہے؟ 88 00:03:59,775 --> 00:04:02,190 تو اب، 1 1 کے برابر ہے. 89 00:04:02,190 --> 00:04:05,130 اور اس طرح ہم 1 واپس. 90 00:04:05,130 --> 00:04:06,770 اس مرحلے پر، ہم واپس آ رہے ہیں. 91 00:04:06,770 --> 00:04:07,880 تقریب میں کیا ہے. 92 00:04:07,880 --> 00:04:11,140 یہ رویہ ہے is-- ایسا کرنے کے لئے کچھ نہیں، 93 00:04:11,140 --> 00:04:17,006 اور تو اسٹیک فریم کے لئے 1 جز ضربیہ دور ٹمٹمانے. 94 00:04:17,006 --> 00:04:17,589 یہ ختم ہو گیا ہے. 95 00:04:17,589 --> 00:04:19,480 1 واپس. 96 00:04:19,480 --> 00:04:23,370 اور اب، 2 جز ضربیہ، جس فریم اس کے نیچے فوری طور پر تھا 97 00:04:23,370 --> 00:04:26,160 اسٹیک میں، فعال فریم بن جاتا ہے. 98 00:04:26,160 --> 00:04:29,030 >> اور اسے اٹھا کر سکتے ہیں بالکل یہ چھوڑ دیا جہاں. 99 00:04:29,030 --> 00:04:32,240 یہ ایک جز ضربیہ کے لئے انتظار کر رہا ہے 1 اس کے کام ختم کرنے کے لئے. 100 00:04:32,240 --> 00:04:33,610 اب یہ ختم ہو گیا ہے. 101 00:04:33,610 --> 00:04:35,510 اور اس طرح ہم یہاں ہیں. 102 00:04:35,510 --> 00:04:38,080 >> 1 جز ضربیہ 1 کی قیمت واپس. 103 00:04:38,080 --> 00:04:42,430 2 کر سکتے ہیں کی اتنی جز ضربیہ کہہ دو 2 بار 1 واپس. 104 00:04:42,430 --> 00:04:43,680 اس کام اب کیا جاتا ہے. 105 00:04:43,680 --> 00:04:49,110 یہ جز ضربیہ 2 واپس ہے 3، اس کے لئے انتظار کر رہا تھا جس میں. 106 00:04:49,110 --> 00:04:53,370 3 جز ضربیہ اوپر فریم ہے، اسٹیک میں فعال فریم. 107 00:04:53,370 --> 00:04:58,617 اور اس طرح یہ ٹھیک ہے، اچھی طرح سے، میں جا رہا ہوں، کا کہنا ہے کہ 6 ہے جو 3 بار 2، واپس کرنے کے لئے. 108 00:04:58,617 --> 00:05:00,700 اور میں اس کو دینے کے لئے جا رہا ہوں جز ضربیہ کے لئے واپس کی قدر 109 00:05:00,700 --> 00:05:03,430 4، میرے لئے انتظار کر رہا ہے جس میں. 110 00:05:03,430 --> 00:05:04,500 میرا کام ہوگیا. 111 00:05:04,500 --> 00:05:09,410 3 جز ضربیہ اسٹیک دور ٹمٹمانے، اور 4 جز ضربیہ اب فعال فریم ہے. 112 00:05:09,410 --> 00:05:13,510 >> 4 ٹھیک ہے، میں 4 گنا واپس کرنے جا رہا ہوں، کا کہنا ہے کہ چھ سال کی تھی جس میں 3 جز ضربیہ،. 113 00:05:13,510 --> 00:05:15,980 اس قدر تھا کہ 3 جز ضربیہ واپس. 114 00:05:15,980 --> 00:05:19,010 اور اس طرح 4 اوقات 6 24 ہے. 115 00:05:19,010 --> 00:05:20,990 میں منتقل کرنے جا رہا ہوں واپس جز ضربیہ 116 00:05:20,990 --> 00:05:23,160 5، میرے لئے انتظار کر رہا ہے جس میں. 117 00:05:23,160 --> 00:05:25,270 5 جز ضربیہ اب فعال فریم ہے. 118 00:05:25,270 --> 00:05:30,700 یہ 5 بار واپس جا رہا ہے 4-- 5 بار 24، یا 120-- جز ضربیہ 119 00:05:30,700 --> 00:05:32,722 اور اس قدر دے واپس ہے جس میں، اہم 120 00:05:32,722 --> 00:05:35,680 ایک کے لئے بہت صبر انتظار کر رہے ہیں اسٹیک کے نچلے حصے میں طویل وقت. 121 00:05:35,680 --> 00:05:36,640 >> یہ شروع کر دیا جہاں اس کی. 122 00:05:36,640 --> 00:05:37,670 اس کال کی. 123 00:05:37,670 --> 00:05:39,400 کئی فریم سب سے اوپر پر قبضہ کر لیا. 124 00:05:39,400 --> 00:05:41,890 اب یہ واپس اسٹیک کے سب سے اوپر پر ہے. 125 00:05:41,890 --> 00:05:43,450 یہ فعال فریم کی. 126 00:05:43,450 --> 00:05:47,810 اتنی اہم قیمت ہے 120 واپس 5 جز ضربیہ سے. 127 00:05:47,810 --> 00:05:50,750 یہ کرنے کے لئے انتظار کر رہے اس قدر باہر پرنٹ. 128 00:05:50,750 --> 00:05:51,657 اور پھر یہ کیا ہے. 129 00:05:51,657 --> 00:05:53,240 اہم میں کوڈ کی زیادہ لائنوں کوئی نہیں ہے. 130 00:05:53,240 --> 00:05:56,800 تو مین فریم دور ٹمٹمانے اسٹیک، اور ہم کیا کر رہے ہیں. 131 00:05:56,800 --> 00:05:58,992 >> تکرار کس طرح کام کرتا ہے. 132 00:05:58,992 --> 00:06:00,200 کہ اسٹیک فریم کس طرح کام ہے. 133 00:06:00,200 --> 00:06:03,120 ان تقریب کالز کہ ماضی میں ہوا 134 00:06:03,120 --> 00:06:06,620 ، صرف روکنے پر ہیں انتظار اس کے نتیجے میں کالوں کے لئے 135 00:06:06,620 --> 00:06:12,050 تاکہ وہ فعال بن سکتے ہیں ختم کرنے کے لئے فریم اور وہ کیا کرنے کی ضرورت ختم. 136 00:06:12,050 --> 00:06:13,060 >> میں ڈوگ لایڈ ہوں. 137 00:06:13,060 --> 00:06:14,880 یہ CS50 ہے. 138 00:06:14,880 --> 00:06:16,580