




السمعة:
- إنضم22 يناير 2024
- المشاركات 229
- الحلول 3
- مستوى التفاعل 527
- النقاط 93
بسم الله الرحمن الرحيم
سنتكلم اليوم وبشكل بسيط عن الفروقات بين أنواع للـ Loops الثلاث.فكما نعلم أن loop تقوم بتكرار تنفيذ كود عدد مرات معين فإذا أردت طباعة الأرقام من 1 إلى غاية 100 في حالة عدم وجود loop ساضطر أن أُكرر العملية.
كود:
cout<<"1"<<endl;
cout<<"2"<<endl;
cout<<"3"<<endl;
.
.
.
cout<<"100";
- for loop
- while loop
- do while loop
for loop :
إذا كان عدد التكرارات معلوم مسبقًا كما في حالتنا السابقة نحن نريد الطباعة من 1 الى 100 فنحن نعرف مسبقًا عدد التكرارات.
C++:
int i;
for(i=1;i<=100;i++){
cout<<i<<endl;
}
إذا كان عدد التكرار غير معلوم لكن للدخول في loop يتعلق مبدئيا بشرط أي أنني لن أدخل لل Loop إلا إذا تحقق هذا الشرط فما دام الشرط محقق سأواصل التنفيذ
إذا كنت تبحث مثلًا عن قيمة معينة في جدول A , إذا وجدتها أرجع true وإذا لم تجدها أرجع false
صحيح أنك تعرف مسبقًا size of array ولا مانع من استخدام for(i=0;i<A.length;i++) , لكن تخيل أن القيمة في أول الجدول وطول الجدول 100 مع أنك وجدت الجواب في أول مرة إلا أنك ستضطر لقطع كامل الجدول بلا فائدة ! لأنك حددت loop بعدد تكرار وليس شرط ,الأفضل كمبرمج استعمال while في هذه الحالة لأننا في هذه الحالة سنختصر من حيث عدد المرات المنفذة وليس من حيث الكتابة فقط
كود:
int A[10],i ;
for(i=0;i<10;i++){ //هنا فقط لملى الجدول بالقيم من 1 الى 10
A[i]=i+1;
}
i=0; int x=11;
bool fond=false;
while(i<10&& ! found){
if(A[i]==x){
found=true;
}
i++;
}
هي تشبه while من ناحية عدم معرفة التكرارات مسبقًا , لكن الاختلاف بينهما أن while في حالة عدم تحقق الشرط أقل عدد للتنفيذ هو 0 لأنه إن لم يتحقق الشرط لن يدخل داخل loop , لكن do while أقل عدد للتنفيذ هو 1 حتى وإن لم يتحقق الشرط لأن شرط يأتي بالآخر
في حالة طلب منك التأكد أن المستخدم يدخل قيمة موجبة في هذه الحالة سنتعمل do while لأننا على الأقل سنحتاج لمرة واحدة كي نقرأ القيمة ونرى إن كانت موجبة أم لا
C++:
int val;
do{
cout<<"Enter a positive value"<<endl;
cin>>val;
}while(val<0)
للفهم أكثر حاولوا في آخر مثال باستعمال while loop و في انتظار محاولاتكم

جعلنا الله وإياكم ممن صدقوا فنالوا
