منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

حلقة FOR :

اذهب الى الأسفل

حلقة FOR : Empty حلقة FOR :

مُساهمة من طرف Admin الأربعاء أبريل 22, 2015 7:00 pm

حلقة FOR :
تتكرر حلقة WHILE حتى يتسبب حدث خارجى أو داخلى بتعديل القيمة التى تحقق شرط الاختبار .
فى حالات أخرى ، نحتاج تكرار حلقة لعدد محدد من المرات . تستخدم حلقة FOR متغير تحكم الحلقة ، والذى يتم تحديده بقيمة ابتدائية وتعديله لكل تكرار عندما يكون الشرط المحدد صواب true .
فى البرنامج أدناه ، بارامترات حلقة التحكم تعطى ضمن الأقواس التى تلى الكلمة الخاصة for .
   

الكود:

// Lesson1-EX6 Repeat loop a set number of times
#include <16F877A.h>
#use delay (clock = 4000000)

void main()
{
   int x;
   while(input(PIN_C0)) { } ; // Wait until switch closed

   for (x = 0; x < 5; x ++)       // For loop conditions
      {
         output_high(PIN_D0); // Flash sequence
        delay_ms(500);
       output_low(PIN_D0);
      delay_ms(500);
     }

     while(TRUE); // Wait for reset
}


يتم تعيين متغير تحكم الحلقة (x) فى البداية بالقيمة صفر ، وتستمر الحلقة طالما أن while هذه القيمة تكون أقل من 5 . يتم تزايد قيمة (x) فى كل مرة تتكرر تدور فيها الحلقة .
التأثير هو وميض الخرج خمس مرات ويتوقف البرنامج عند نهايته ولا يتكرر .
يتضمن البرنامج أيضا استخدام حلقة while للانتظار (طالما أن المفتاح مفتوح)، من أجل غلق المفتاح قبل أن يبدأ تسلسل الوميض . بالإضافة إلى ذلك ، فإن حلقة while(TRUE) الغير مشروطة تنهى البرنامج ، وتمنع تنفيذ البرنامج من التشغيل فى مواقع غير محددة بعد نهاية التسلسل . لهذا ينصح بذلك كلما لا يتم تشغيل البرنامج حلقة مستمرة .
لاحظ أن استخدام الأقواس الفارغة التى لا تحتوى على كود ، تكون اختيارية .

رابط الملفات :
http://www.mediafire.com/download/92ux6c6102asg6v/Lesson1-EX6.zip


Admin
Admin

عدد المساهمات : 1194
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى