جاوا اسکرپٹ کے ساتھ فبونیکی نمبرز

Jawa Askrp K Sat Fbwnyky Nmbrz



'جاوا اسکرپٹ اب ECMAScript ہے۔ JavaScript کی ترقی ECMAScript کے طور پر جاری ہے۔ محفوظ لفظ 'جاوا اسکرپٹ' اب بھی استعمال ہوتا ہے، صرف پسماندہ مطابقت کے لیے۔

فبونیکی نمبرز کے معنی

فبونیکی نمبر مثبت عدد کی ایک خاص ترتیب ہیں، جو 0 سے شروع ہوتی ہے۔ پورے نمبر مثبت عدد ہیں۔ لہذا، ایک فبونیکی نمبر پورے نمبروں یا قدرتی اعداد کی ایک خاص ترتیب ہے، جو 0 سے شروع ہوتی ہے۔ اس ترتیب میں، پہلے دو نمبر 0 اور 1 ہیں، اس ترتیب میں۔ باقی نمبر پچھلے دو نمبروں کو جوڑ کر وہاں سے تیار کیے جاتے ہیں۔ پہلے بارہ فبونیکی نمبر اس طرح حاصل کیے گئے ہیں:

0
1
1 + 0 = 1
1 + 1 = 2
2 + 1 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
55 + 34 = 89







دوسرے لفظوں میں، پہلے بارہ فبونیکی نمبر یہ ہیں:



0، 1، 1، 2، 3، 5، 8، 13، 21، 34، 55، 89



بلاشبہ، تیرھواں نمبر ہوگا: 144 = 55 + 89۔ فبونیکی نمبرز کو ایک صف میں تصور کیا جا سکتا ہے، جیسے:





0 1 1 دو 3 5 8 13 اکیس 3. 4 55 89

ایک صف میں اشاریہ جات ہوتے ہیں۔ درج ذیل جدول میں، دوسری قطار ایک صف میں فبونیکی نمبروں کے لیے متعلقہ صفر پر مبنی اشاریہ جات دکھاتی ہے:

0 1 1 دو 3 5 8 13 اکیس 3. 4 55 89
0 1 دو 3 4 5 6 7 8 9 10 گیارہ

صفر پر مبنی اشاریہ جات کے ساتھ، اگر بارہ عناصر ہیں، تو آخری اشاریہ گیارہ ہے۔



فبونیکی نمبر O(n) وقت یا O(1) وقت میں تیار کیے جا سکتے ہیں۔ اس وقت پیچیدگی کے اظہار میں، n کا مطلب ہے n مین آپریشنز، اور 1 کا مطلب ہے 1 مین آپریشن۔ O(n) کے ساتھ، n فبونیکی نمبرز تیار ہوتے ہیں، 0 سے شروع ہوتے ہیں۔ O(1) کے ساتھ، متعلقہ انڈیکس سے ایک فبونیکی نمبر تیار ہوتا ہے۔ اسی لیے O(1) n مین آپریشنز کے بجائے صرف ایک مین آپریشن لیتا ہے۔

اس مضمون کا مقصد یہ بتانا ہے کہ جاوا اسکرپٹ کا استعمال کرتے ہوئے، فیبونیکی نمبرز کیسے تیار کیے جائیں، جو کہ آج کل ECMAScript ہے۔

کوڈنگ ماحولیات

node.js ماحول اس طرح استعمال نہیں کیا جائے گا جیسا کہ قاری نے اندازہ لگایا ہوگا۔ اس کے بجائے، براؤزر کوڈ کی تشریح اور نتائج ظاہر کرنے کے لیے استعمال کیا جائے گا۔ اسکرپٹ (کوڈ) کو ٹیکسٹ ایڈیٹر فائل میں لکھا جانا چاہیے، جسے '.html' ایکسٹینشن کے ساتھ محفوظ کیا جانا چاہیے۔ اسکرپٹ میں کم سے کم کوڈ ہونا چاہئے:

DOCTYPE HTML >
< html >
< سر >
< عنوان > جاوا اسکرپٹ کے ساتھ فبونیکی نمبرز عنوان >
سر >
< جسم >
< سکرپٹ کی قسم = 'ٹیکسٹ/ایکما اسکرپٹ' >

سکرپٹ >
جسم >
html >

یہ ایک متوقع کم از کم کوڈ ہے جس کی ایک ویب صفحہ کی ضرورت ہے۔ اس مضمون کے لیے تمام کوڈنگ ٹیگز، کے درمیان ہوتی ہے۔

لکھے گئے کوڈ کو چلانے کے لیے (شامل کیا گیا)، صرف فائل نام کے آئیکن پر ڈبل کلک کریں، اور کمپیوٹر کا براؤزر اسے کھول دے گا۔

فبونیکی نمبر کی تعریف

فبونیکی نمبر کے لیے ایک ریاضیاتی تعریف ہے۔ اس کی تعریف اس طرح کی گئی ہے:

جہاں Fn ایک فبونیکی نمبر ہے جو صفر پر مبنی انڈیکس کے مطابق ہے، n۔

پہلے دو نمبر: 0 اور 1، اس ترتیب میں پہلے سے اعلان شدہ ہیں۔ اس فنکشن کی آخری سطر ظاہر کرتی ہے کہ باقی نمبر کس طرح اپنی ترتیب میں پہلے دو نمبروں سے نکلتے ہیں۔

یہ تعریف فبونیکی نمبر کے فارمولوں میں سے ایک ہے۔

O(n) وقت میں فبونیکی نمبر تیار کرنا

اگر n 1 ہے، تو صرف 0 فبونیکی نمبر کے طور پر ظاہر ہوگا۔ اگر n 2 ہے تو اس ترتیب میں 0 اور 1 فبونیکی نمبرز کے طور پر ظاہر ہوں گے۔ اگر n 3 ہے، تو 0، 1، اور 1 اس ترتیب میں فبونیکی نمبرز کے طور پر ظاہر ہوں گے۔ اگر n 4 ہے، تو 0، 1، 1، اور 2 اس ترتیب میں، فبونیکی نمبرز کے طور پر ظاہر ہوں گے۔ اگر n 5 ہے، تو 0، 1، 1، 2، اور 3 اس ترتیب میں فبونیکی نمبرز کے طور پر ظاہر ہوں گے۔ اگر n 6 ہے، تو 0، 1، 1، 2، 3، اور 5 کو فبونیکی نمبرز کے طور پر دکھایا جائے گا، اس ترتیب میں – اور اسی طرح۔

پہلا n Fibonacci انٹیجرز (نمبر) بنانے کے لیے ECMAscript فنکشن یہ ہے:

< سکرپٹ کی قسم = 'ٹیکسٹ/ایکما اسکرپٹ' >
فنکشن فبونیکی ( اے ) {
n = اے۔ لمبائی ;
اگر ( n > 0 )
اے [ 0 ] = 0 ;
اگر ( n > 1 )
اے [ 1 ] = 1 ;
کے لیے ( میں = دو ; میں < n ; میں ++ ) { //n=0 اور n=2 پر غور کیا گیا ہے۔
currNo = اے [ میں - 1 ] + اے [ میں - دو ] ;
اے [ میں ] = currNo ;
}
}

اختتامی اسکرپٹ ٹیگ نہیں دکھایا گیا ہے۔ فنکشن ایک صف حاصل کرتا ہے۔ پہلے دو فبونیکی نمبرز ان کی پوزیشن پر تفویض کیے گئے ہیں۔ فار لوپ صفر پر مبنی انڈیکس، 2 سے n کے بالکل نیچے تک دہراتا ہے۔ فار لوپ میں سب سے اہم بیان یہ ہے:

currNo = A[i – 1] + A[i – 2]؛

یہ موجودہ نمبر رکھنے کے لیے صف میں فوری طور پر پچھلے دو نمبروں کو جوڑتا ہے۔ جب تک fibonacci() فنکشن مکمل ہو جاتا ہے، صف کے تمام عناصر پہلے n Fibonacci نمبر ہوتے ہیں۔ فبونیکی () فنکشن کو کال کرنے اور فبونیکی نمبرز کو ظاہر کرنے کے لیے ایک مناسب کوڈ ہے:

ن = 12 ;
arr = نئی صف ( ن ) ;
فبونیکی ( arr ) ;
کے لیے ( میں = 0 ; میں < ن ; میں ++ )
دستاویز لکھنا ( arr [ میں ] + '' ) ;
دستاویز لکھنا ( '
'
) ;
سکرپٹ >

یہ کوڈ اختتامی اسکرپٹ ٹیگ کو ظاہر کرتا ہے۔ مذکورہ کوڈ کے نیچے کوڈ ٹائپ کیا گیا ہے۔ ویب صفحہ پر ظاہر کردہ آؤٹ پٹ یہ ہے:

0 1 1 2 3 5 8 13 21 34 55 89

توقع کے مطابق.

O(1) وقت میں ایک فبونیکی نمبر تیار کرنا

O (1) مستقل وقت ہے۔ یہ ایک اہم آپریشن سے مراد ہے۔ فبونیکی نمبر بنانے کا ایک اور ریاضیاتی فارمولا ہے:

نوٹ کریں کہ مساوات کے دائیں طرف، یہ 5 کا مربع جڑ نہیں ہے جسے طاقت n تک بڑھایا جاتا ہے۔ یہ قوسین میں اظہار ہے جو پاور n تک اٹھایا جاتا ہے۔ اس طرح کے دو الفاظ ہیں۔

اگر n 0 ہے، فبن 0 ہوگا۔ اگر n 1 ہے، فبن 1 ہوگا۔ اگر n 2 ہے، تو فبن 1 ہوگا۔ اگر n 3 ہے، تو فبن 2 ہوگا۔ اگر n 4 ہے، تو فبن 3 ہوگا۔ اور اسی طرح. قاری اس فارمولے کی ریاضیاتی طور پر n کے لیے مختلف قدروں کو بدل کر اور تشخیص کر کے تصدیق کر سکتا ہے۔ n اس فارمولے میں ایک صفر پر مبنی انڈیکس ہے۔ نتیجہ متعلقہ فبونیکی نمبر ہے۔

اس فارمولے کے لیے ECMAScript (JavaScript) کوڈ ہے:

< سکرپٹ کی قسم = 'ٹیکسٹ/ایکما اسکرپٹ' >
فنکشن fibNo ( n ) {
فب این = ( ریاضی . پاؤ ( ( 1 + ریاضی . sqrt ( 5 ) ) / دو ، n ) - ریاضی . پاؤ ( ( 1 - ریاضی . sqrt ( 5 ) ) / دو ، n ) ) / ریاضی . sqrt ( 5 ) ;
واپسی فب این ;
}

اختتامی اسکرپٹ ٹیگ نہیں دکھایا گیا ہے۔ نوٹ کریں کہ پاور (پاؤ) اور مربع جڑ (sqrt) پہلے سے طے شدہ فنکشنز کو کس طرح استعمال کیا گیا ہے۔ ECMAScript (JavaScript) میں، ریاضی کے ماڈیول کو درآمد کرنے کی ضرورت نہیں ہے۔ فنکشن fibNo() فارمولے کو براہ راست لاگو کرتا ہے۔ ویب صفحہ پر fibNo() فنکشن کے لیے ایک مناسب کال اور ڈسپلے یہ ہیں:

ن = گیارہ ;
صحیح = fibNo ( ن ) ;
دستاویز لکھنا ( صحیح ) ;
سکرپٹ >

کوڈ اختتامی اسکرپٹ ٹیگ کو ظاہر کرتا ہے۔ آؤٹ پٹ ہے:

89.00000000000003

جواب سے غیر ضروری اعشاریہ ہندسوں کو ہٹانا ممکن ہے۔ تاہم، یہ کسی اور وقت کے لئے بحث ہے.

اگر ایک سے زیادہ فبونیکی نمبر درکار ہیں، تو کوڈ کو ہر صفر پر مبنی متعلقہ n انڈیکس کے لیے فارمولے کو ایک بار کال کرنا ہوگا۔

نتیجہ

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

پہلے دو فبونیکی نمبر تیار کرنے کے بعد، بقیہ فبونیکی نمبر تیار کرنے کے لیے، کل n نمبروں کے ساتھ ختم ہونے کے لیے، بیان کے ساتھ ایک فار لوپ استعمال کرنا ہوگا:

currNo = A[i – 1] + A[i – 2]؛

یہ موجودہ فبونیکی نمبر رکھنے کے لیے فوری طور پر آخری دو فبونیکی نمبروں کو جوڑتا ہے۔

جب صفر پر مبنی اشاریہ دیا جائے، متعلقہ فبونیکی نمبر رکھنے کے لیے، فارمولہ استعمال کریں: