إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    الخوارزميات تعريف دوال تستدعي نفسها - التمرين الأول

    المطلوب

    أكتب دالة تستدعي نفسها إسمها CountFromTo() تعطيها أي عددين صحيحين فتقوم بطباعة جميع الأعداد الصحيحة الموجودة إبتداءاً من العدد الأول وصولاً إلى العدد الثاني.
    فعلياً, سنجعل هذين العددين يحددان كم مرة ستقوم الدالة باستدعاء نفسها.

    في البرنامج, قم باستدعاء الدالة CountFromTo() لتجربتها.


    النتيجة المطلوبة

    إذا قمنا باستدعاء الدالة CountFromTo() و أعطيناها القيم 1 و 3 ستطبع لنا جميع الأعداد من 1 إلى 3 كالتالي.

    الخوارزمية

    شرح طريقة عمل الخوارزمية بدقة

    كود الجافا

    public class Recursion {
     
    /* ------------------------------- هنا قمنا بتعريف الدالة ------------------------------ */
     
        public static int CountFromTo ( int start, int end )
    	{
            if ( start <= end )
            {
                System.out.print("counter = " +start+ "\n");
                return CountFromTo( start + 1, end );
            }
     
            return 0;
        }
     
    /* --------------------------- من هنا يبدأ البرنامج بالتنفيذ --------------------------- */
     
        public static void main (String[] args)
     	{
            CountFromTo(1, 3);
        }
     
    }
    		

    شرح الكود


    	public static int CountFromTo ( int start, int end )
    	{
    		if ( start <= end )
    		{
    			System.out.print("counter = " +start+ "\n");
    			return CountFromTo( start + 1, end );
    		}
    	
    		return 0;
    	}
    			
    • هنا أنشأنا الدالة CountFromTo() و حددنا أن نوعها int و وضعنا لها باراميترين start و end. هذان المتغيران يحددان كم مرة ستقوم الدالة باستدعاء نفسها. المتغير start يحدد من أي عدد ستبدأ عملية إستدعاء الدالة لنفسها, فعلياً سنستخدمه كعداد أيضاً حيث أننا سنضيف عليه 1 كلما استدعت الدالة CountFromTo() نفسها. المتغير end يحدد عند أي عدد ستتوقف الدالة عن إستدعاء نفسها من جديد.
    • إذاً, عند إستدعاء هذه الدالة يجب أن نمرر لها عددين من النوع int.
    • في السطر 7 إلى السطر 11 وضعنا شرط لمقارنة قيمة المتغيرين start و end.
      في هذا الشرط قلنا أنه إذا كانت قيمة المتغير start أصغر أو تساوي قيمة المتغير end سيحدث التالي:
      • أولاً سيتم عرض قيمة المتغير start.
      • بعدها سيتم إستدعاء CountFromTo() من جديد ( أي ستفعل return لنفسها ) مع زيادة قيمة العداد start واحداً.
      • إذاً في كل مرة تقوم الدالة CountFromTo() باستدعاء نفسها ستأخذ ( قيمة العداد start السابقة زائد 1 ) و قيمة المتغير endالثابتة كـ Arguments.
      • عندما تصبح قيمة المتغير start أكبر من قيمة المتغير end ستتوقف الدالة CountFromTo() عن إستدعاء نفسها.
    • في السطر 13 قلنا أنه بعد تتوقف الدالة CountFromTo() عن إستدعاء نفسها, سيتم إرجاع القيمة 0 إلى الدالة main() حيث تم إستدعاءها من الأساس.
    • ملاحظة: لو لم نضع الأمر return 0; في نهاية الدالة, كان سيظهر لك خطأ في البرنامج و السبب أن نوع الدالة في الأساس int. إذاً يجب أن ترجع أي قيمة نوعها int إلى المكان الذي تم استدعاءها منه حتى لا يحدث خطأ.


    	public static void main (String[] args)
    	{
    		CountFromTo(1, 3);
    	}
    			
    • هنا قمنا باستدعاء الدالة CountFromTo() و مررنا لها القيمتين 1 و 3, بالتالي سيتم طباعة جميع الأعداد الصحيحة من 1 إلى 3.
    • إذاً أول قيمة للعداد start ستكون 1, و آخر قيمة ستكون 4, لأنها عندما تصبح أكبر من قيمة المتغير end ستتوقف عن استدعاء نفسها.
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب