البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while

مُساهمة من طرف Admin في الخميس يناير 30, 2014 12:03 pm

البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while

حلقة while :

صيغة حلقة while :

الكود:


while (test expression)
{
    statements to be executed. 
}


فى بداية حلقة while يتم اختبار "تعبير الاختبار" test expression . إذا كان صواب true ، يتم تنفيذ الكود داخل جسم حلقة while اى الكود داخل الأقواس {…} ، ثم يتم إعادة اختبار تعبير الاختبار وتستمؤ العملية حتى يصبح تعبير الاختبار خطأ .


مثال على حلقة while :

كتابة برنامج بلغة السى لإيجاد مضاريب factorial العدد ، حيث يتم إدخال العدد بواسطة المستخدم .

ملحوظة :
صيغة مضاريب العدد :

الكود:

 (n= 1*2*3*……*n) . 


الكود:


/*C program to demonstrate the working of while loop*/
#include <stdio.h>
    int main(){
    int number,factorial;
    printf("Enter a number.\n");
    scanf("%d",&number);
    factorial=1;
    while (number>0){      /* while loop continues util test condition number>0 is true */
          factorial=factorial*number;
          --number;
}
printf("Factorial=%d",factorial);
return 0;
}


الخرج :

الكود:


Enter a number.
5
Factorial=120



حلقة do…while :

فى لغة السى ، حلقة do…while مشابهة جدا لحلقة while . فقط الفرق بين الحلقتين هو أنه فى حلقة while يتم اختبار تعبير الاختبار أولا ، ولكن فى حلقة do…while يتم تنفيذ الكود أولا ثم بعد ذلك يتم اختبار الشرط . لذلك ، فإن الكود يتم تنفيذه على الأقل مرة واحدة فى حلقة do…while .

صغة حلقة do…while :

الكود:


do {
  some code/s;
}
while (test expression);


يتم تنفيذ الكود داخل الجسم أولا . بعد ذلك يتم اختبار تعبير الاختبار . إذا كان صواب ، يتم إعادة تنفيذ الكود داخل الجسم مرة أخرى وتستمر العملية حتى يصبح تعبير الاختبار خطأ .
ملحوظة :
توجد فاصلة منقوطة فى نهاية while( ); فى حلقة do…while .

مثال على حلقة do…while :

كتابة برنامج بلغة السى لجمع الإعداد التى يتم إدخالها بواسطة المستخدم حتى يدخل المستخدم صفر (0) .

الكود:


/*C program to demonstrate the working of do...while statement*/
#include <stdio.h>
int main(){
  int sum=0,num;
  do            /* Codes inside the body of do...while loops are at least executed once. */
  {                                   
        printf("Enter a number\n");
        scanf("%d",&num);
        sum+=num;     
  }
  while(num!=0);
  printf("sum=%d",sum);
return 0;
}


الخرج :
الكود:


Enter a number
3
Enter a number
-2
Enter a number
0
sum=1


فى هذا البرنامج يتم سؤال المستخدم لإدخال عدد ويتم إضافته (جمعه) مع المجموع sum . بعد ذلك يتم اختبار الشرط بحلقة do…while . إذا كان اختبار الشرط صواب أى أن num لا يساوى الصفر ، يتم إعادة تنفيذ جسم حلقة do…while حتى يساوى num صفر .

Admin
Admin

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

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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