فبونیکی ترتیب C++

Fbwnyky Trtyb C



فبونیکی سیریز/سلسلہ نمبروں کا ایک سلسلہ ہے جب اگلا نمبر کسی سیریز میں آخری دو نمبروں کے مجموعہ سے حاصل کیا جاتا ہے۔ پہلے دو نمبر ہمیشہ 0 اور 1 ہوتے ہیں۔ فبونیکی سیریز کسی بھی پروگرامنگ زبان میں حاصل کی جا سکتی ہے، لیکن یہاں ہم C++ پروگرامنگ زبان میں سورس کوڈ کا اطلاق کریں گے۔ ریاضی میں، فبونیکی کی ترتیب کی وضاحت ایک نمونہ فارمولہ کے ساتھ تکرار تعلق کے ذریعے کی جاتی ہے۔

Fn = Fn-1 + Fn-2

یہ ٹیوٹوریل فبونیکی نمبروں کی ترتیب بنانے کے لیے مختلف طریقوں پر مشتمل ہوگا۔







مثال 1



اس مثال میں، سب سے پہلے، ان پٹ اور آؤٹ پٹ اسٹریمز کی لائبریری کو cin اور cout اسٹریمز کو فعال کرنے کے لیے استعمال کیا جاتا ہے، نیز اس لائبریری کے ذریعے صارف کی شمولیت کی بھی حوصلہ افزائی کی جاتی ہے۔ مرکزی پروگرام کے اندر، ہم دو عددی قسم کے متغیرات لیں گے اور انہیں صفر ویلیو کا اعلان کریں گے۔ ایک اور نیکسٹٹرم متغیر بھی استعمال کیا جاتا ہے جو صفر کے طور پر شروع کیا جاتا ہے اور بعد میں استعمال کے لیے رکھا جاتا ہے۔ ہم صارف سے فیبونیکی سیریز میں مطلوبہ نمبر درج کرنے کو کہیں گے۔ دوسرے الفاظ میں، آؤٹ پٹ کے طور پر ظاہر ہونے والی لائنوں کی تعداد صارف کے ان پٹ پر منحصر ہے۔ صارف جو مخصوص نمبر داخل کرے گا، نتیجہ ان لائنوں میں جواب پر مشتمل ہوگا۔







ہمیں اس مخصوص نمبر تک اعادہ کرنے کے لیے 'فور' لوپ کی ضرورت ہے جسے صارف ترتیب کا حساب لگانے کے لیے داخل کرتا ہے۔ یہ کئی سطروں کی ایک طرح کی حد ہے۔ ایک if سٹیٹمنٹ نمبر چیک کرنے کے لیے استعمال کیا جاتا ہے۔ اگر یہ ایک ہے، تو اسے ظاہر کریں جیسا کہ یہ بغیر کسی تبدیلی کے ہے۔ اسی طرح دوسرا نمبر بھی اسی طرح دکھایا جائے گا۔ فبونیکی ترتیب میں، پہلے دو نمبر دکھائے جاتے ہیں۔ آگے بڑھنے کے لیے، ہم نے جاری بیان کا استعمال کیا ہے۔ سیریز کو مزید شمار کرنے کے لیے، ہم دونوں قدروں کو شامل کریں گے۔ اور یہ سیریز کا تیسرا نمبر ہوگا۔ اس کے بدلنے کا عمل شروع ہونے کے بعد، پہلے متغیر کو دوسرے متغیر کی قدر تفویض کی جائے گی، اور دوسرے متغیر میں تیسری ویلیو پر مشتمل ہوگی جو اگلی مدت کے متغیر میں محفوظ ہوگی۔

Nextterm = t1 + t2;



T1 = t2;

T2 = اگلا؛

اب ہر قدر کوما سے الگ کرکے دکھایا جاتا ہے۔ ایک کمپائلر کے ذریعے کوڈ پر عمل کریں۔ '-o' کا استعمال ان پٹ فائل میں موجود کوڈ کے آؤٹ پٹ کو محفوظ کرنے کے لیے کیا جاتا ہے۔

$ g++ -O fib fib.c
$ / fib

آپ دیکھ سکتے ہیں کہ جب پروگرام پر عمل کیا جائے گا، صارف اس نمبر کو داخل کرنے کو کہے گا جو اس نے 7 درج کیا ہے، تو نتیجہ 7 لائنوں کا ہو گا، اس بات سے کوئی فرق نہیں پڑتا ہے کہ فبونیکی سیریز 7ویں پوائنٹ پر کس مقام پر پہنچی ہے۔

مثال 2

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

اگلی مدت کی قدر کو پہلے دو متغیرات میں موجود نمبروں کو شامل کرکے حاصل کی گئی قدر تفویض کی جائے گی۔ یہاں a while loop اس وقت تک سیریز بنانے کی شرط کو لاگو کرنے کے لیے استعمال کیا جاتا ہے جب تک کہ nextterm متغیر کی قدر صارف کے دیے گئے نمبر کے برابر یا اس سے کم نہ ہو۔

جبکہ (اگلا <= n)

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

Nextterm = t1 + t2;

اب فائل کو محفوظ کریں اور ٹرمینل میں کوڈ پر عمل کرنے کے لیے اسے مرتب کریں۔

جب آپ کوڈ چلاتے ہیں، تو سسٹم آپ سے ایک نمبر کا مطالبہ کرے گا جو کہ ایک مثبت نمبر ہونا چاہیے۔ پھر آپ دیکھیں گے کہ حساب پر، 55ویں نمبر تک نمبروں کا ایک سلسلہ ظاہر ہوتا ہے۔

مثال 3

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

Fib (n-1) + fib (n-2)؛

اس سے ظاہر ہوتا ہے کہ پہلے حصے میں، کل نمبر کو فنکشن میں منتقل کرنے سے پہلے ایک نمبر، اس قدر کو سیل سے حاصل کردہ نمبر سے منہا کر دیا جائے گا جس میں پیرامیٹر کے طور پر کل نمبر سے پہلے دو نمبر ہوتے ہیں۔

اب مین پروگرام میں نمبر متغیر کو تفویض کیا جاتا ہے، اور نمبر کو فنکشن میں منتقل کرنے کے لیے پہلی فنکشن کال کی جاتی ہے۔ اب جواب حاصل کرنے کے لیے فائل کے سورس کوڈ کو ٹرمینل میں لگائیں۔ یہاں آپ دیکھیں گے کہ ’13‘ جواب ہے، جیسا کہ درج کردہ نمبر 7 تھا، اس لیے سیریز 0+1+1+2+3+5+8+13 ہوگی۔

مثال 4

اس مثال میں فبونیکی سیریز کا حساب لگانے کا OOP (آبجیکٹ پر مبنی پروگرامنگ) کا طریقہ شامل ہے۔ ایک کلاس GFG بنایا گیا ہے۔ اس کے عوامی حصے میں، ایک فنکشن تیار کیا جاتا ہے جس میں ایک صف رکھی جاتی ہے جو فبونیکی سیریز کو ذخیرہ کرے گی۔

F [n +2];

یہاں n شروع میں 0 کے طور پر اعلان کردہ نمبر ہے۔

F[0] = 0؛

F[1] = 1;

انڈیکس 0 اور 1 کے نمبروں کو 0 اور 1 قرار دیا گیا ہے۔

اس کے بعد، ایک 'فور' لوپ استعمال ہوتا ہے جس میں فبونیکی سیریز کا حساب لگایا جائے گا۔ دو سابقہ ​​نمبرز سیریز میں شامل کیے گئے ہیں اور محفوظ کیے جائیں گے۔

F[i] = f[i-1] + f[i-2]؛

اس کے بعد، ایک مخصوص انڈیکس پر مخصوص نمبر واپس آ جاتا ہے۔

ایک فنکشن کال آبجیکٹ کا استعمال کرکے کی جاتی ہے۔

g.fib(n)؛

اب کوڈ پر عمل کریں، اور آپ دیکھیں گے کہ نمبر 11 ہونے کی وجہ سے ترتیب 11ویں ہندسے تک رہے گی۔

نتیجہ

یہ مضمون 'Fibonacci sequence C++' مختلف طریقوں کا مرکب ہے جو پچھلے دو نمبروں کو شامل کر کے ایک ترتیب بنانے کے لیے استعمال کیا جاتا ہے۔ ایک سادہ تبدیلی کی تکنیک کے ساتھ، تکرار کے طریقہ کار کے علاوہ اور صفوں کی مدد سے، ہم ان نمبروں کو سیریز میں بنا سکتے ہیں۔ فبونیکی سیریز بنانے کے لیے، اعداد کو عددی ڈیٹا کی قسم میں رکھنے کی سفارش کی جاتی ہے۔ ہم لائنوں کی تعداد اور ترتیب کی تعداد پر حدود کا اطلاق کرکے سیریز کا حساب لگا سکتے ہیں۔