سلسلة Fibonacci في Java: كيفية كتابة وعرض Fibonnaci في Java
نشرت: 2020-07-29حصل تسلسل فيبوناتشي على اسمه من عالم الرياضيات الإيطالي ليوناردو فيبوناتشي. قدم هذه السلسلة في أوروبا الغربية من خلال كتابه Liber Abaci في عام 1202. شهد مشهد الرياضيات الهندي عودة سحر فيبوناتشي في عام 200 قبل الميلاد ، كما يتضح من أعمال Pingala. يحتل تمثيل الأرقام هذا أيضًا مكانًا خاصًا في مجالات الترميز والحوسبة. بنهاية هذا الشرح ، ستكون قد تعلمت كيفية كتابة سلسلة فيبوناتشي بجافا.
يبدأ التسلسل الصحيح بالرقم 0 و 1 ، وكل رقم بعد ذلك يمثل مجموع الرقمين اللذين يسبقانه ، على سبيل المثال ، 0 ، 1 ، 1 ، 2 ، 3 ، 5 ، وهكذا. هناك طريقتان رئيسيتان لإنشائه في JavaScript ، وهما (1) استخدام التكرار ، أي بدون استخدام العودية ، و (2) استخدام العودية. بينما يستغرق النهج التكراري وقتًا خطيًا لإنهاء المهمة ، فإنك تحصل على الحل بشكل كبير باستخدام التقنية العودية. الآن ، دعونا نتعمق في تفاصيل هذه الطرق واحدة تلو الأخرى.
قراءة: Python مقابل Javascript Throwdown: أيهما تفضل؟
جدول المحتويات
كتابة سلسلة فيبوناتشي بجافا
الطريقة 1: بدون العودية
- لحلقة
في هذه الحالة ، تريد أن يُنشئ برنامج Java أول عدد n من تسلسل فيبوناتشي. فيما يلي نظرة مفصلة على كيفية عمل تكرار حلقة "for".
أولاً ، تقوم بتهيئة أول رقمين من السلسلة. بعد ذلك ، ستجمع For Loop السابقتين المباشرين وتطبع القيمة. ستستمر هذه العملية حتى يتم عرض الأرقام n الأولى. نظرًا لأن البرنامج قد نشر بالفعل 0 و 1 قبل بدء التكرار ، يتم إعطاء شرط For Loop بواسطة n-2.
- حائط اللوب
يتبع منطقًا مشابهًا لطريقة For Loop ولكنه يتطلب من المبرمجين أن يكونوا أكثر حرصًا في تطبيقه. يقوم بيان تدفق التحكم في حلقة "while" بتنفيذ التعليمات البرمجية بشكل متكرر في حالة منطقية. فقط إذا كان الشرط يرضي ، أو يكون صحيحًا ، يتم تنفيذ جسم الحلقة. علاوة على ذلك ، يزيد تعبير التحديث من متغير الحلقة. على العكس من ذلك ، سنخرج من حلقة while إذا تم تقييم الشرط على أنه خطأ.

قراءة: شرح معمارية جافا ومكوناتها
دعونا نلاحظ كود Java الوارد أدناه للحصول على فهم أفضل لـ while Loop:
الطريقة 2: مع العودية
عندما تكتب سلسلة Fibonacci في Java باستخدام العودية ، فإن الوظيفة تستدعي نفسها بشكل مباشر أو غير مباشر. إنها تقنية برمجة JavaScript أساسية ، وتُعرف الوظيفة بالوظيفة العودية.
يمكن أن تساعدك الخوارزميات التكرارية في حل المشكلات المعقدة بسهولة. لنفترض أنك تريد طباعة الأرقام "n" الأولى من تسلسل فيبوناتشي باستخدام العودية. ستحتاج إلى برنامج Java متكرر لإنشاء السلسلة المطلوبة. فيما يلي شرح تدريجي لمثل هذا التنفيذ:
- سوف يعطي المستخدم المدخلات
- سيتم تطبيق For Loop على حلقة حتى يستدعي كل تكرار الوظيفة التي تُرجع رقم فيبوناتشي في الموضع n. فليكن فيبوناتشيبر (int n)
- ثم تقوم الوظيفة باستدعاء نفسها بشكل متكرر وتضيف رقمي فيبوناتشي السابقين
أمثلة على سلسلة فيبوناتشي
تتضمن بعض الأمثلة الواقعية لتسلسل فيبوناتشي البتلات في الزهرة ، وأكواز الصنوبر ، وفروع الأشجار ، ولوالب الأصداف ، من بين العديد من التمثيلات الأخرى في الطبيعة. قاعدة النسبة الذهبية لهذا التسلسل الرياضي متأصلة في أكثر الخصائص الأساسية للكون ، مثل جزيئات الحمض النووي لدينا ولوالب المجرات.
الطرق التكرارية والعودية الموصوفة أعلاه هي تطبيقات لعلاقة التكرار لسلسلة فيبوناتشي. تُعطى بواسطة: F (n) = F (n-1) + F (n-2). عندما نضع القيم الأولية في هذه العلاقة ، نحصل على: F (0) = 0 و F (1) = 1. لرقم معين ، n ، كيف ستجد الرقم n في سلسلة فيبوناتشي؟ دعونا نفكر في هذا السيناريو بمدخلات مختلفة.

- بالنسبة للإدخال n = 2 ، سيكون الناتج 1
- بالنسبة للمدخل n = 9 ، ستكون النتيجة 34
يمكنك البناء على هذه الأساسيات لكتابة دالة تُرجع F (n). يمكن إعطاء الوظيفة من خلال: int fib (int n). ستعيد الدالة fib () القيمة 0 عندما تكون n = 0. وبالمثل ، إذا كان n = 1 ، يجب أن تُرجع الدالة fib () 1. ويجب أن يكون الناتج F (n-1) + F (n-2) لـ n> 1.
حالة الاختبار لوظيفة fib ()
لتسلسل قصير ، بمعنى. [0 ، 1 ، 1 ، 2 ، 3 ، 5 ، 8 ، ... ، 55] و فيبوناتشي (5) ، ستكون النتيجة 5. لذلك ، نهدف إلى إرجاع عنصر بالفهرس 5 من مصفوفة متتالية فيبوناتشي . دعونا نرى كيف سيتم الكشف عن ذلك باستخدام الطريقة التكرارية.
- وظيفة فيب (ن) {
السماح للمصفوفة = [0،1] ؛
لـ (دع j = 2 ؛ j <n + 1 ؛ j ++) {
array.push (المصفوفة [j-2] + المصفوفة [j-1])
}
مجموعة العودة [ن]
}
يمكنك ملاحظة أنه في مقتطف الشفرة أعلاه ، قمنا بتعيين متغير المصفوفة على [0،1] بدلاً من إنشاء مصفوفة فارغة. تبدأ الحلقة في التكرار من j = 2 وتستمر في جمع الأرقام حتى يصبح طول المصفوفة n + 1. وبهذه الطريقة ، نعيد الرقم في الفهرس n. ومن ثم ، سيكون الناتج 3 لـ fib (4) ، 5 لـ fib (5) ، وهكذا.
إذا طُلب منك حل نفس المشكلة باستخدام العودية في مقابلة ، يمكنك استخدام الحالة الأساسية التالية.
- وظيفة فيب (ن) {
إذا (ن> 2) {
عودة
}
عودة فيب (ن -1) + فيب (ن -2)
}

لنفترض أنك استدعيت fib () مع الوسيطة 5. هنا ، ستستمر وظيفة fibon في إنشاء المزيد من فروع الشجرة حتى تصل إلى الحالة الأساسية (قيمة n أقل من 2) ، وبعد ذلك ستبدأ في تلخيص العائد قيم كل فرع. ستتوقف المكالمات العودية فقط عند طباعة عدد صحيح يساوي 5.
مزايا سلسلة فيبوناتشي في جافا
- باستخدام برنامج جافا سكريبت بسيط ، يمكنك تنفيذ سلسلة فيبوناتشي لعرض سلسلة دون جهد يصل إلى رقم أو مصطلح معين
- تقدم العودية رمزًا موجزًا ومعبّرًا في Java
- توفر الخوارزميات التكرارية حلاً ممتازًا في الإنتاج لأنها مقيدة ، مما يحافظ على قوة الكود. في المقابل ، تؤدي الخوارزميات العودية أحيانًا إلى خطأ تجاوز سعة المكدس
- يعمل بحث فيبوناتشي في مصفوفات مرتبة وأداء أفضل من البحث الثنائي ، خاصة عندما تعتمد سرعة الوصول على الموقع الذي تم الوصول إليه مسبقًا
- أن تكون ملمًا بسلسلة فيبوناتشي يسمح للطلاب بتطوير المنطق أثناء العمل على التطبيقات الحديثة التي تتطلب وظائف مختلفة للواجهة الأمامية والخلفية
تحقق من: أفكار مشروع جافا
تلخيص لما سبق
في هذه المقالة ، حاولنا مساعدتك في تنفيذ سلسلة فيبوناتشي في جافا وفهم المنطق الكامن وراء الطرق المختلفة. يمكنك تمثيل أرقام فيبوناتشي باستخدام العودية أو بدون العودية (for loop and while loop). بعد ذلك ، قمنا بتحديث المفاهيم الأساسية وراء الطريقتين وناقشنا أيضًا مزاياهما.
باستخدام كل هذه المعلومات ، يمكنك تحديث معرفتك بالخوارزميات وكتابة تعليمات برمجية أفضل. سيكون من الأفضل أن يكون لديك أيضًا فهم جيد لهياكل البيانات مثل المصفوفات والأشجار الثنائية والقوائم المرتبطة وما إلى ذلك. استخدم المقالة أعلاه كنقطة بداية لمراجعتك وبناء مهارات البرمجة الخاصة بك!
إذا كنت مهتمًا بمعرفة المزيد حول Java ، وتطوير البرامج المتكاملة ، فراجع دبلوم PG upGrad & IIIT-B في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.