أنت هنا:برمجها»اللغة ج»الدرس 14: الدوال الترجعية
الدرس 14: الدوال الترجعية الدرس 14: الدوال الترجعية
قيم الموضوع
(2 أصوات)

تسمح لغة ج للخوارزميات والدوال، أن تستدعي نفسها ضمن جسمها. تسمى هذه الميزة بالترجعية.

 


الترجعية (استدعاء الذات)

تسمح الترجعية بحل العديد من مسائل البرمجة المعقدة بسهولة تامة. وتعتبر مسألة أبراج هانوي مثالاً نمطياً لاستخدام الترجعية في البرمجة. 

يبين المثال التالي مثالا لخوارزمية تقوم بإظهار الأعداد تنازليا على الشاشة.

الخوارزمية دورية (العدد : صحيح)
{
  إذا العدد > 0
    {
   أكتب العدد ، " "
   دورية(العدد -1)
    }
  وإلا
    أكتب سطر
}


تمارين تطبيقية

 

1. دول ترجعية رياضية

التمرين 14.1

أنجز دالة تمكن من إظهار جملة على الشاشة بشكلها الطبيعي لكن أن تكون هذه الدالة ترجعية.

 


التمرين 14.2

أنجز دالة ترجعية عاملي  تقوم بحساب عاملي عدد صحيح طبيعي. بحيث:

0!=1

ن!=1.2.3...(ن-1).ن

 


التمرين 14.3

أحسب القيمة  م ن  لمتتالية فيبوناتشي  المعرفة كالتالي :

م1=1

م2=1

م ن=م ن-1 + م ن-2 (بحيث ن>2)

أنجز دالة ترجعية رجعية سمها فيبو.

 


التمرين 14.4

أحسب حاصل الجمع للمتتالية التالية:

1 + 1/2 + 1/3 + ... + 1/N 

 


التمرين 14.5

أحسب قيمة الحدودية ح ذات الدرجة ن  انطلاقا من العدد الحقيقي ذي النوع حقيقي :

ح(س) = ن×أن×س + (ن-1أن-1×س + ... + أ1×س+ أ0

P(X) = AnXn + An-1Xn-1 + ... + A1X + A0 (مكتوبة بالحروف اللاتينية) 

قيم ن والمعاملات أن ،....،أ0 مطلوب إدخالها من طرف المستعمل.

  1. استعمل الدالة تدوير المنتمية إلى المكتبة <رياضيات.jeem>.

    مثال ن = تدوير(س,10تكافئ ن = س10.

  2. لتجاوز استعمال الأس أثناء الحساب استعمل طريقة هورنر المعرفة كالتالي :

 


التمرين 14.6

أنجز دالة ترجعية تقوم بإرجاع قيمة الدالة الرياضية المعرفة كالتالي :

 


التمرين 14.7

أنجز دالة تقوم بحساب الترتيبات  (استعن بدالة التمرين 14.4) :

 


التمرين 14.8

أنجز دالة تقوم بحساب التأليفات (استعن بدالة التمرين 14.4) :

 

 


2. دول ترجعية هندسية

إن لم تكن تود التعامل مع الهندسة فما عليك إلا أن تترك هذه الصفحة الجميلة وتذهب إلى التي تليها. هذه التمارين تنتمي إلى ما يسمى بخوارزميات الهندسة الكسيرية أو Fractales. 

 


التمرين 14.9

أنجز دالة ترجعية dcercle لها 4 مداخيل : مركز الدائرة (x,yوالشعاع واللون col

هذه الدالة تقوم برسم 5 دوائر وسط كل دائرة، على الشكل التالي :

 


التمرين 14.10

أنجز دالة ترجعية dcercle1 لها 4 مداخيل : مركز الدائرة (x,yوالشعاع واللون col

هذه الدالة تقوم برسم 5 دوائر (4 خارج كل دائرة وواحدة في الوسط)، على الشكل التالي :

 


التمرين 14.11

أنجز دالة ترجعية drectangle لها 5 مداخيل قطر المستقيم (xb,ybو (xa,ya)  واللون col

هذه الدالة تقوم برسم 4 مستطيلات خارج كل مستطيل، على الشكل التالي :

 


التمرين 14.12

أنجز دالة ترجعية drectangle1 لها 5 مداخيل قطر المستقيم (xb,ybو (xa,ya)  واللون col

هذه الدالة تقوم برسم 4 مستطيلات داخل كل مستطيل، على الشكل التالي :

 


3. دول ترجعية متقدمة

التمرين 14.13

المطلوب هو تحويل الأقراص من العمود رقم 1 إلى العمود رقم 3 بالإستعانة بالعمود في الوسط. يكون التحويل بالشروط التالية:
1- يمكن وضع قرص صغير على قرص كبير عند التحويل.
2- لا يمكن وضع القرص الكبير على القرص الصغير عند التحويل.
3- يجب أن تحول الأقراص إلى العمود الثالث بنفس الشكل الذي كانت عليه.

4- لا يحق لك تحويل إلا قرص واحدة في المرة الواحدة.

ويبين الشكل جانبه مثالاً لتنفيذ هذا البرنامج بخصوص تحويل 4 أقراص.

أنجز برنامجا يقوم بحل مشكلة أبراج هانوي كيفما كان عددها.


تأليف

 

المؤلف الأصلي: الدكتورمحمد عمار السَلكة (دمشق - سوريا)

الموقع الشخصي: http://www.drsalka.com

البريد الإلكتروني: عنوان البريد الإلكتروني هذا محمي من روبوتات السبام. يجب عليك تفعيل الجافاسكربت لرؤيته.

 

ضبط بتصرف: محمد عبد الرحمان (الدار البيضاء - المغرب) 


المراجع

 

http://www.jeemlang.com


 

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث