شكرا لك اخى الكريم ... ولكن سامحنى ارجوا توضيح اكثر اين اضع هذه الصيغه ، فى بداية البرنامج ؟ عذرا لأنى مبتدىء فى برمجة الميكرو وعلى فكره انا أستخدم الميكروسى فى البرمجه .
|
أخى الكريم
فى هذه النقطة لا يختلف لبميكروسى عن الميكرو سى برو .
إليك جزء منقول من دروس الميكروسى الخاص بهذه التعليمة :
1- عبارة break وعبارة continue
عبارة Break
أحيانا يكون من الضرورى إيقاف (إنهاء) الحلقة من داخل جسمها . تستخدم عبارة break داخل الحلقات لنقل التحكم لأول عبارة تلى حلقة العبارات التالية switch, for, while, do . أى أن عبارة breakتستخدم فى الإيقاف الفورى (القطع) لأى حلقة . أثناء تنفيذ الحلقة أن وجد هذا الأمر يتم الخروج الفورى منها .
كود:
مثال :
void main () {
int a = 0;
do
{
a ++; // تنفيذ تزايد المتغير بواحد
break; // إيقاف تنفيذ الحلقة فورا والخروج منها
PORTB = ~ PORTB; // عدم تنفيذ عكس حالة أطراف المنفذ
}
while (a <100);
}
ملحوظة :
عبارة break صالحة للاستخدام مع كل من : do-while و while و for و case .
عبارة Continue
عبارة continue تستخدم , من داخل الحلقات , فى "تخطى الدورة" . حيث أن تعمل على تحويل التحكم إلى نهاية الحلقة حيت تتكرر إذا كان الشرط صواب كما هو موضح بالأمثلة التالية :
كود:
while (..) {...if (val>0) continue;...// continue jumps here}
do {...if (val>0) continue;...// continue jumps here}while (..);
for (..;..;..) {...if (val>0) continue;...// continue jumps here}
بعبارة أخرى تقوم عبارة continue بإعادة بدء restarts اختبار شرط الحلقة مرة ثانية . فى كل مرة يوجد فى الحلقة الأمر continue لا يتم تنفيذ الأوامر التى تليها .
مثال :
كود:
void main () {
int a = 0;
do
{
a ++;
continues; // العودة إلى بداية الحلقة
PORTD = ~ PORTD;
}
while (a <100);
}
فى هذا المثال : سوف , لن يتم تنفيذ الأوامر الموجودة أسفل الأمر continue لأنه فى كل مرة نصل فيها إلى تنفيذ الأمر continue يتم توجيه البرنامج تلقائيا إلى رأس الحلقة غير معتمدا على أى حالة للمتغيرات .
عبارة continueصالحة للاستخدام مع كل من : do-while و while و for و case .