إعلان
دورة تطوير التطبيقات باستخدام لغة 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. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    البرمجة للمبتدئين الحلقات

    مفهوم الحلقات

    نستخدم الحلقات ( Loops ) لجعل الكود يعاد تنفيذه ضمن شروط معينة.
    بشكل عام, حين يكون هناك حاجة لتنفيذ الكود أكثر من مرة فإن أول ما نفكر به هو استخدام الحلقات.

    سنتعرف في هذا الدرس على الحلقات الأساسية الموجودة في معظم لغات البرمحة.

    أنواع الحلقات و طريقة تعريفهم

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


    الحلقة For

    الحلقة for تستخدم لتنفيذ الأوامر عدد محدد من المرّات.
    هنا يتم تحديد عدد المرات التي ستستمر الحلقة فيها في تنفيذ الكود منذ البداية.

    for ( condition )
    {
    
    } 
    	

    الحلقة While

    الحلقة while تستخدم لتنفيذ الأوامر مرات غير محددة.
    هنا الحلقة تستمر في إعادة تنفيذ الأوامر طالما أن الشرط الموضوع فيها لا زال يتحقق.

    while ( condition )
    {
    
    }
    	

    الحلقة Do While

    الحلقة do while تستخدم لتنفيذ الأوامر مرات غير محددة.
    هنا الحلقة تستمر في إعادة تنفيذ الأوامر طالما أن الشرط الموضوع فيها لا زال يتحقق.

    الفرق الوحيد بينها و بين الحلقة while أنها تنفذ الأوامر الموضوعة فيها مرّة واحدة على الأقل.

    do
    {
    
    }
    while ( condition );
    	

    ملاحظة

    طريقة عمل كل حلقة من الحلقات التي ذكرناها الآن سنشرحها بدقة في دروس مقبلة.

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

    إذا طلبت من إنسان أن يلفظ كلمة Algo خمس مرات على سبيل المثال.
    فإنه سيقول: Algo, Algo, Algo,Algo, Algo.

    لاحظ أن الإنسان قد يستخدم أصابعه لكي يحسب كم مرة قال الكلمة "Algo" أو قد يستخدم ورقة و قلم في حال طلبت منه لفظها 100 مرات حتى لا يخطئ بالعد.


    طريقة الكمبيوتر في العد

    إذا أردت جعل الكمبيوتر يطبع كلمة Algo عشر مرات, عليك إستخدام حلقة تنفذ الكود الذي بداخلها 10 مرات. الحلقة بدورها ستعتمد في عملية العد على متغير عادي يسمى عدّاد (Counter).

    فكرة العداد هي تخزين عدد المرات التي قامت فيها الحلقة بتنفيذ الأوامر التي بداخلها. في كل مرة يتم فيها تنفيذ جميع الأوامر الموضوعة بداخل الحلقة, يتم زيادة العداد واحداً.

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


    طريقة تحديد كيف سيتم العد في الحلقات

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

    • إذا قمت بالعد بشكل تصاعدي من 1 إلى 5 كالتالي 5 - 4 - 3 - 2 - 1 ستحصل على 5 مرات.
    • إذا قمت بالعد بشكل تصاعدي من 0 إلى 4 كالتالي 4 - 3 - 2 - 1 - 0 ستحصل على 5 مرات.
    • إذا قمت بالعد بشكل تصاعدي من 6 إلى 10 كالتالي 10 - 9 - 8 - 7 - 6 ستحصل على 5 مرات.
    • إذا قمت بالعد بشكل تنازلي من 5 إلى 1 كالتالي 1 - 2 - 3 - 4 - 5 ستحصل على 5 مرات.
    • إذا قمت بالعد بشكل تنازلي من 4 إلى 0 كالتالي 0 - 1 - 2 - 3 - 4 ستحصل على 5 مرات.

    مثال يوضح فائدة الحلقات

    المثال التالي يوضح لك فقط كيف يمكن إستغلال الحلقات لإنجاز المهام بسرعة و بكود أقل.

    الآن في حال أردنا طباعة جميع الأرقام من 1 إلى 10 و كل رقم منهم على سطر جديد يوجد أسلوبين لفعل ذلك:

    • كتابة جميع الأرقام التي نريد طباعتها رقماً رقماً بداخل الدالة write().
    • إستخدام حلقة واحدة فقط و تحديد من أي رقم إلى أي رقم تريد أن تطبع.

    الحل بدون حلقة

    هنا لاحظ أننا قمنا بكتابة كل رقم سيتم طباعته بأنفسنا.

    الكود

    write("1\n");
    write("2\n");
    write("3\n");
    write("4\n");
    write("5\n");
    write("6\n");
    write("7\n");
    write("8\n");
    write("9\n");
    write("10\n");
            

    سنحصل على النتيجة التالية عند التشغيل.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    جرب الكود


    الحل باستخدام حلقة

    هنا لاحظ أننا قمنا بكتابة أمر الطباعة مرة واحدة فقط و العدد تم تكراره بشكل تصاعدي.

    الكود

    for (var i=1; i<=10; i++)
    {
        write( i + "\n");
    }
            

    سنحصل على النتيجة التالية عند التشغيل.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    جرب الكود


    ملاحظة

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

    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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