تکرار اور تشخیص کے درمیان فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 1 اپریل 2021
تازہ کاری کی تاریخ: 4 مئی 2024
Anonim
پورے خاندان کے لیے سوپ! قازان میں راسولنک! کیسے پکائیں
ویڈیو: پورے خاندان کے لیے سوپ! قازان میں راسولنک! کیسے پکائیں

مواد


تکرار اور تکرار دونوں بار بار ہدایات کے سیٹ پر عمل درآمد کرتے ہیں۔ تکرار وہ ہے جب کسی فنکشن میں بیان اپنے آپ کو بار بار فون کرتا ہے۔ تکرار اس وقت ہوتی ہے جب ایک لوپ بار بار اس وقت تک عمل درآمد کرتا ہے جب تک کہ کنٹرولنگ شرط غلط نہ ہوجائے۔ تکرار اور تکرار کے درمیان بنیادی فرق یہ ہے کہ ایک تکرار ایک ایسا عمل ہے ، جو ہمیشہ کسی فنکشن میں لاگو ہوتا ہے۔ تکرار ہدایات کے سیٹ پر لاگو ہوتا ہے جسے ہم بار بار پھانسی دینا چاہتے ہیں۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کے لئے بنیادتکرارIteration
بنیادیفنکشن کے ایک جسم میں بیان کام کو خود کہتے ہیں۔ہدایات کے سیٹ کو بار بار عملدرآمد کرنے کی اجازت دیتا ہے۔
فارمیٹبار بار چلنے والی تقریب میں ، صرف معطلی کی حالت (بیس کیس) متعین کی جاتی ہے۔Iteration میں ابتدائی حالت ، حالت ، کنٹرول لوئر اور اپ ڈیٹ (اضافے اور گھٹاؤ) کے اندر بیان پر عمل درآمد شامل ہے۔
خاتمہتقریب کے باڈی میں ایک مشروط بیان شامل کیا جاتا ہے تاکہ تکرار کال پر عمل کیے بغیر فنکشن کو واپس جانے پر مجبور کیا جا force۔جب تک کسی خاص حالت تک پہنچنے تک تکرار بیان کو بار بار عمل میں لایا جاتا ہے۔
حالتاگر فنکشن (بیس کیس) نامی کسی ایسی حالت میں تبدیل نہیں ہوتا ہے ، تو یہ لامحدود تکرار کا باعث بنتا ہے۔اگر تکرار بیان میں کنٹرول کی حالت کبھی غلط نہیں ہوجاتی ہے ، تو یہ لامحدود تکرار کا باعث بنتی ہے۔
لامحدود تکرارلامحدود تکرار نظام کو تباہ کر سکتی ہے۔لامحدود لوپ CPU سائیکل کو بار بار استعمال کرتا ہے۔
درخواست دی گئیتکرار ہمیشہ افعال پر لاگو ہوتا ہے۔آئٹریشن کا اطلاق تکرار بیانات یا "لوپس" پر ہوتا ہے۔
اسٹیکاسٹیک کا استعمال نئے مقامی متغیرات اور پیرامیٹرز کے سیٹ کو اسٹور کرنے کے لئے کیا جاتا ہے جب ہر دفعہ فنکشن کہا جاتا ہے۔اسٹیک استعمال نہیں کرتا ہے۔
اوور ہیڈتکرار میں بار بار فنکشن کالز کے اوور ہیڈ ہوتے ہیں۔بار بار فنکشن کال کا کوئی اوور ہیڈ نہیں۔
سپیڈپھانسی میں سست۔پھانسی میں تیزی
کوڈ کا سائزتکرار سے کوڈ کا سائز کم ہوجاتا ہے۔Iteration کوڈ کو لمبا کرتا ہے۔


تکرار کی تعریف

سی ++ کسی فنکشن کو اپنے کوڈ کے اندر کال کرنے کی اجازت دیتا ہے۔ اس کا مطلب ہے کہ اس تقریب کی تعریف اپنے پاس ایک فنکشن کال کرتی ہے۔ بعض اوقات اسے “سرکلر تعریف“۔ فنکشن کے ذریعہ استعمال ہونے والے مقامی متغیرات اور پیرامیٹرز کا سیٹ ہر بار جب فنکشن خود کو بلاتا ہے اور اسٹیک کے اوپری حصے میں محفوظ ہوتا ہے۔ لیکن ، ہر بار جب کوئی فنکشن خود فون کرتا ہے تو ، اس فنکشن کی ایک نئی کاپی نہیں بناتا ہے۔ تکرار کرنے والا فنکشن کوڈ کے سائز کو نمایاں طور پر کم نہیں کرتا ہے اور میموری کے استعمال میں بھی بہتری نہیں لاتا ہے ، لیکن یہ تکرار کے مقابلے میں کچھ کرتا ہے۔

تکرار کو ختم کرنے کے ل you ، آپ کو فنکشن کی تعریف میں ایک منتخب بیان شامل کرنا ہوگا تاکہ تقریب کو اپنے آپ کو بار بار کال کرنے کے بغیر واپس جانے پر مجبور کریں۔ تکرار والے فنکشن کی تعریف میں منتخب بیان کی عدم موجودگی سے لامحدود تکرار میں ہونے والے فنکشن کو ایک بار کہا جائے گا۔

آئیے ہمیں ایک ایسے فنکشن کے ساتھ تکرار کو سمجھیں جو اعداد کی حقیقت کو لوٹائے گا۔

int فیکٹوریل (INT num) {INT جواب؛ اگر (num == 1) {واپس 1؛ } دوسری {جواب = حقائق (نمبر -1) * نم؛ // بار بار آنے والی کالنگ} واپسی (جواب)؛ }

مذکورہ کوڈ میں ، دوسرے حصے میں بیان تکرار کو ظاہر کرتا ہے ، جیسا کہ بیان اس فنکشن کو فیکٹوریئل () کہتے ہیں جس میں یہ رہتا ہے۔


تشخیص کی تعریف

تشخیص ہدایت کے سیٹ پر بار بار عمل درآمد کرنے کا عمل ہے جب تک کہ تکرار بیان میں شرط غلط نہ ہوجائے۔ تکرار بیان میں تکرار بیان کے اندر بیانات کی ابتدا ، موازنہ ، عمل درآمد اور آخر کار کنٹرول متغیر کی تازہ کاری شامل ہے۔ کنٹرول متغیر کو اپ ڈیٹ کرنے کے بعد اس کا دوبارہ موازنہ کیا جاتا ہے ، اور عمل خود اس کا اعادہ کرتا ہے ، یہاں تک کہ تکرار بیان میں یہ شرط غلط ثابت ہوجائے۔ تکرار بیانات "for" لوپ ، "جبکہ" لوپ ، "do-while" لوپ ہیں۔

تکرار بیان میں متغیرات کو ذخیرہ کرنے کے لئے اسٹیک استعمال نہیں کیا جاتا ہے۔ لہذا ، تکرار بیان کی تعمیل تکرار تقریب کے مقابلے میں تیز ہے۔ یہاں تک کہ تکرار فنکشن میں بار بار فنکشن کالنگ کا اوور ہیڈ نہیں ہوتا ہے جو بار بار چلنے والی فنکشن سے بھی اس کی عملداری کو تیز تر بنا دیتا ہے۔ جب کنٹرول کی حالت غلط ہوجائے تو دوبارہ عمل ختم ہوجاتا ہے۔ تکرار بیان میں کنٹرول کی حالت کی عدم موجودگی کے نتیجے میں لامحدود لوپ پیدا ہوسکتا ہے ، یا اس سے تالیف کی خرابی ہوسکتی ہے۔

آئیے مذکورہ بالا مثال کے متعلق تکرار کو سمجھیں۔

int factorial (int num) answer int جواب = 1؛ // کو ابتدا کی ضرورت ہے کیونکہ اس میں (INT t = 1؛ t> num؛ t ++) // ابتداء a جواب = جواب * (t) کے لئے اس کی ابتدا سے پہلے کچرے کی قیمت ہوسکتی ہے؛ واپسی (جواب)؛ }

مندرجہ بالا کوڈ میں ، فنکشن اعداد و شمار کا استعمال کرتے ہوئے عدد کے فیکٹریول کو لوٹاتا ہے۔

  1. تکرار اس وقت ہوتی ہے جب پروگرام میں کوئی طریقہ بار بار اپنے آپ کو فون کرتا ہے ، جب کہ پروگرام میں ہدایات کا ایک سیٹ بار بار عمل میں لایا جاتا ہے۔
  2. ایک بار بار چلنے والے طریقہ کار میں ہدایات ، خود بیان کرنے کا بیان ، اور اختتامی حالت شامل ہوتی ہے جبکہ اعادے کے بیانات میں ابتدائی ، اضافہ ، شرط ، ایک لوپ کے اندر ہدایت کا سیٹ اور ایک کنٹرول متغیر ہوتا ہے۔
  3. ایک مشروط بیان تکرار اور اختتامی قابو کی قدر کو اختتامی بیان کے خاتمے کا فیصلہ کرنے کے خاتمے کا فیصلہ کرتا ہے۔
  4. اگر طریقہ ختم ہونے کی صورت میں نہیں لے جاتا ہے تو یہ لامحدود تکرار میں داخل ہوتا ہے۔ دوسری طرف ، اگر کنٹرول متغیر کبھی بھی ختم ہونے والی اہمیت کی طرف نہیں جاتا ہے توثیق بیان لامحدود تکرار کرتا ہے۔
  5. لامحدود تکرار نظام خراب ہونے کا باعث بن سکتی ہے جبکہ ، لامحدود تکرار سی پی یو سائیکل استعمال کرتا ہے۔
  6. تکرار ہمیشہ طریقہ کار پر لاگو ہوتا ہے جبکہ ، ہدایات کے سیٹ پر تکرار کا اطلاق ہوتا ہے۔
  7. تکرار کے دوران پیدا کردہ متغیرات کو اسٹیک پر اسٹور کیا جاتا ہے جبکہ ، تکرار کو اسٹیک کی ضرورت نہیں ہوتی ہے۔
  8. تکرار سے بار بار فنکشن کالنگ کے اوور ہیڈ کا سبب بنتا ہے جبکہ ، تکرار کے ساتھ فنکشن کالنگ اوور ہیڈ نہیں ہوتا ہے۔
  9. فنکشن کالنگ اوور ہیڈ پر عمل پیرا ہونے کی وجہ سے تکرار کی رفتار سست ہے جبکہ ، تکرار پر عمل درآمد تیز تر ہے۔
  10. تکرار سے کوڈ کا سائز کم ہوجاتا ہے جبکہ ، تکرار ایک کوڈ کو لمبا بناتا ہے۔

نتیجہ:

تکرار کرنے والا فنکشن لکھنا آسان ہے ، لیکن وہ تکرار کے مقابلے میں بہتر کارکردگی کا مظاہرہ نہیں کرتے ہیں جبکہ ، تکرار لکھنا مشکل ہے لیکن تکرار کے مقابلے میں ان کی کارکردگی اچھی ہے۔