لا يمكن أبدًا التقليل من الحاجة إلى تكرار الشفرة في البحث عن حلول لبعض أكبر مشاكل العالم. ما تحتاج إلى معرفته هو أنه في البرمجة ، يأخذ التكرار أحد شكلين - التكرار أو العودية.

الهدف هنا هو تعريفك بالتكرار في الكود وإظهار كيف يمكن استخدامه لتحسين برامج Java الخاصة بك.

يمكن أن تساعدك البرامج المتكررة في حل بعض أصعب مشاكل البرمجة. إليك ما تحتاج إلى معرفته لإنشاء برامج متكررة في Java.

باستخدام التكرار

يستخدم التكرار بنية حلقة لتكرار التعليمات البرمجية. الأنواع الثلاثة للهياكل التكرارية هي حلقة ما قبل الاختبار (أثناء) ، وحلقة ما بعد الاختبار (تفعل أثناء) ، و حلقة مضبوطة (لـ).

تعمل هذه الهياكل التكرارية من خلال تكرار كتلة من التعليمات البرمجية بينما تظل حالة معينة صحيح ، ولكن بمجرد أن يصبح هذا الشرط خاطئًا ، تتوقف الحلقة ويعود البرنامج إلى طبيعته تدفق.

على سبيل المثال ، يمكننا استخدام أحد الهياكل التكرارية لحل مشكلة مجموع كل الأعداد الصحيحة من 1 إلى n. اعتمادًا على البنية التكرارية المستخدمة ، سيأخذ الحل شكلًا محددًا ، ولكن أيًا منه يمكن أن توفر الهياكل التكرارية الثلاثة حلاً لهذه المشكلة باستخدام ما يلي كود مزيف.

instagram viewer

مثال التكرار الكاذب


بداية
مجموع DECLEARE ، يعد عددًا صحيحًا
المجموع = 0
العد = 1
كرر
Sum = sum + count
العد = العد + 1
حتى العد> ن
نهاية

يحتوي الكود الكاذب أعلاه على متغيرين ، مجموع وعدد ، تم تهيئتهما إلى 0 و 1 على التوالي. تمت تهيئة المتغير "count" إلى 1 لأن المشكلة التي نحاول حلها تنص على أننا نحتاج إلى مجموع كل الأعداد الصحيحة من 1 إلى n.

سيتم تخصيص رقم عشوائي للمتغير "n" من المستخدم وسيزيد متغير "count" بمقدار واحد لكل متغير الوقت الذي يتم فيه تنفيذ حلقة ، ولكن بمجرد أن تتجاوز قيمة متغير "العدد" قيمة "n" ، فإن الحلقة سوف قف.

لماذا استخدام العودية؟

إذا قمنا بفحص الحقائق المحيطة بالتكرار والتكرار ، فسنجد أن العديد من الأشياء صحيحة.

  • كلتا الطريقتين تتضمن التكرار.
  • تتطلب كلتا الطريقتين حالة اختبار ، والتي ستشير إلى وقت التوقف.
  • يمكن تنفيذ كلتا الطريقتين نظريًا إلى الأبد إذا لم يتم تقديم شرط الخروج أو الوفاء به.
  • يمكن أيضًا حل أي مشكلة يمكن حلها باستخدام التكرار باستخدام العودية والعكس صحيح.

فلماذا نرغب في اختيار طريقة على الأخرى؟ الجواب البسيط هو الكفاءة. باستخدام العودية ، يمكن للمبرمج استخدام رمز أقل لتحقيق ما هو أساسًا نفس النتيجة. يعني رمز أقل أن هناك انخفاض كبير في احتمال حدوث أخطاء دون أن يلاحظها أحد.

يستخدم العودية ذاكرة أكبر وهو أبطأ من التكرار ، ولكن يحتوي على مكدس داخلي (بنية بيانات) مع التكرار ، سيتعين عليك إنشاء بنية بيانات (إعادة اختراع العجلة بشكل أساسي) ، مما يترك برنامجك مفتوحًا أمام احتمال أكبر للأخطاء غير المكتشفة بسبب الكود الإضافي.

متعلق ب: استثناءات Java: هل تتعامل معها بشكل صحيح؟

كيف يعمل العودية

العودية هو الاسم الذي يطلق على العملية حيث تستدعي الوظيفة نفسها بشكل متكرر حتى يتم استيفاء شرط معين. هذه الطريقة المتكررة تحل المشاكل عن طريق تقسيمها إلى نسخ أصغر وأبسط من نفسها.

تتكون كل دالة تكرارية من جزأين - الحالة الأساسية والحالة العامة.

الهيكل الأساسي لمثال الوظيفة العودية


دور(){
// الحالة الأساسية
//الحالة العامة
}

الحالة الأساسية هي جزء من الدالة العودية التي تحل المشكلة. لذلك ، عندما تصل الوظيفة العودية إلى الحالة الأساسية ، يخرج البرنامج من الوظيفة العودية ويستمر في التدفق الطبيعي.

الحالة العامة هي قسم الوظيفة العودية المتكررة. هذا هو المكان الذي تستدعي فيه الوظيفة نفسها وحيث يتم تنفيذ الجزء الأكبر من العمل.

استخدام العودية في جافا

تدعم بعض لغات البرمجة التكرار فقط ، بينما تدعم لغات أخرى العودية فقط. لحسن الحظ ، تعد Java إحدى اللغات التي تدعم كلتا الطريقتين المتكررتين.

في Java يتم استخدام العودية بنفس الطريقة التي يتم استخدامها في أي لغة أخرى تدعمها. المفتاح هو التأكد دائمًا من أن الوظيفة العودية لها حالة أساسية وحالة عامة ، بهذا الترتيب.

دعنا نعود إلى مثال التجميع الأولي ، الهدف هو إيجاد مجموع كل الأعداد الصحيحة من 1 إلى n ، حيث n هو عدد صحيح يقدمه المستخدم.

مثال العودية جافا


// دالة تكرارية
int Sum (int n) {
// الحالة الأساسية
إذا (ن <= 1) {
العودة 1 ؛
}
//الحالة العامة
آخر{
عودة ن + مجموع (ن -1) ؛
}
}

تأخذ الدالة العودية أعلاه عددًا صحيحًا "n" وتنهي تنفيذها فقط عندما تكون قيمة n أقل من أو تساوي 1.

إذا قمنا بتمرير العدد الصحيح 5 إلى البرنامج أعلاه ، فإن المتغير "n" سيفترض القيمة 5. سيتم بعد ذلك التحقق من قيمة "n" في الحالة الأساسية ، ولكن بالنظر إلى أن 5 أكبر من 1 "n" ، فسيتم الآن تمريرها إلى الحالة العامة.

في هذا المثال ، تستدعي الحالة العامة الدالة العودية أربع مرات. في استدعاء الوظيفة النهائية ، ستكون قيمة "n" هي 1 ، مما يؤدي إلى تلبية متطلبات الحالة الأساسية بشكل فعال مما يؤدي إلى إنهاء الوظيفة العودية وإرجاع 15.

إذا قمنا بتغيير قيمة "n" إلى 7 ، ستستدعي الدالة العودية نفسها ست مرات وتعود 28 قبل إنهاء تنفيذها.

هل تريد أن تجرب بنفسك؟ يمكنك تنفيذ البرنامج العودي أعلاه باستخدام السطر التالي من التعليمات البرمجية في الوظيفة الرئيسية لبرنامج Java الخاص بك.


System.out.println (Sum (7)) ؛

ما تعلمته

إذا كنت قد أكملت هذه المقالة بأكملها ، فلديك الآن فهم أساسي للطريقتين المتكررتين المستخدمتين في البرمجة. أنت الآن تتعرف على أوجه التشابه بين التكرار والعودية ولماذا يختار المطور استخدام العودية على التكرار ، وكيفية استخدام دالة تكرارية في Java.

حقوق الصورة: ThisIsEngineering /بيكسلز

بريد إلكتروني
ما هي العودية وكيف تستخدمها؟

تعلم أساسيات العودية ، الأداة الأساسية ولكن التي تجعل المبرمجين ينحرفون قليلاً عن عقولهم.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • جافا
عن المؤلف
قاديشا كين (7 مقالات منشورة)

قاديشا كين مطور برامج متكامل وكاتب تقني / تقني. لديها قدرة مميزة على تبسيط بعض المفاهيم التكنولوجية الأكثر تعقيدًا ؛ إنتاج مادة يمكن لأي مبتدئ في مجال التكنولوجيا فهمها بسهولة. إنها شغوفة بالكتابة وتطوير البرامج الشيقة والسفر حول العالم (من خلال الأفلام الوثائقية).

المزيد من Kadeisha Kean

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.