في هذا الموضوع سنتحدث بالتفصيل مع الأمثلة عن الحلقات التكرارية Loops في لغة السي بلس بلس…
تعتبر الحلقات التكرارية (Loops) من أهم المفاهيم في لغة السي بلس بلس، فهي تسمح للمبرمجين بتنفيذ نفس الأوامر عدة مرات بطريقة متكررة وفعالة. تعتبر الحلقات من الأدوات الأساسية التي يستخدمها المبرمجون لإنشاء برامج متكاملة ومعقدة، حيث تساعد في تسريع عمليات التكرار وتقليل الجهد اللازم لإعادة كتابة الأوامر المتكررة بشكل يدوي.
وفي لغة السي بلس بلس، تتوفر ثلاثة أنواع من الحلقات التكرارية: حلقة while، حلقة do-while، وحلقة for. يمكن استخدام هذه الحلقات لتنفيذ نفس الأوامر مرارًا وتكرارًا حتى تحقيق النتيجة المطلوبة.
سواء كنت مبتدئًا في لغة السي بلس بلس، أو ترغب في تحسين مهاراتك في البرمجة، فإن فهم كيفية استخدام الحلقات التكرارية سيكون له أثر كبير في تحسين قدرتك على كتابة برامج متكاملة وفعالة.
وفي هذا الموضوع، سنتحدث بشكل مفصل عن الحلقات التكرارية في لغة السي بلس بلس، ونوضح كيفية استخدامها وتطبيقاتها في البرمجة.
الحلقات التكرارية Loops في لغة السي بلس بلس
في لغة السي بلس بلس، تتوفر ثلاثة أنواع من الحلقات التكرارية وهي:
حلقة while:
حلقة while تستخدم لتنفيذ مجموعة من الأوامر بشكل متكرر طالما تتحقق شرط معين. وتتميز هذه الحلقة بأنها لا تنفذ أي أمر ضمنها إذا لم يتحقق الشرط المحدد في البداية. ويتم فحص الشرط في بداية كل دورة في الحلقة.
الصيغة العامة للحلقة while:
while (condition)
{
// block of code to be executed
}
حيث condition هو الشرط الذي يتم فحصه قبل تنفيذ كل دورة في الحلقة، ويتم تنفيذ الأوامر داخل الحلقة طالما تتحقق الشرط.
عند بدء تنفيذ الحلقة، يتم فحص الشرط أولاً. إذا كان الشرط صحيحًا (true)، يتم تنفيذ الأوامر داخل الحلقة، ثم يتم العودة إلى بداية الحلقة لفحص الشرط مرة أخرى. ويتم تكرار هذه العملية حتى يتوقف الشرط عن التحقق (false).
على سبيل المثال، إذا كان لدينا رقم صحيح ونريد طباعة الأرقام من 1 إلى هذا الرقم باستخدام حلقة while، يمكن كتابة الكود التالي:
#include <iostream>
using namespace std;
int main() {
int num, i = 1;
cout << "Enter a number: ";
cin >> num;
while (i <= num) {
cout << i << " ";
i++;
}
return 0;
}
في هذا المثال، يتم قراءة الرقم الصحيح من المستخدم باستخدام دالة cin، ثم يتم استخدام حلقة while لطباعة الأرقام من 1 إلى هذا الرقم. تحتوي حلقة while على شرط i <= num، والذي يتحقق طالما كان i أقل من أو يساوي العدد الذي تم إدخاله. ويتم طباعة قيمة i ثم يتم زيادة قيمة i بمقدار 1 في كل دورة في الحلقة. تنتهي الحلقة عندما يصبح i أكبر من العدد الذي تم إدخاله.
حلقة do-while:
حلقة do-while تشبه حلقة while، ولكن الفرق الرئيسي هو أن الأوامر داخل الحلقة يتم تنفيذها على الأقل مرة واحدة، وبعد ذلك يتم فحص الشرط. وتستخدم هذه الحلقة عندما يكون من الضروري تنفيذ الأوامر داخل الحلقة على الأقل مرة واحدة، ولكن لا يمكن معرفة إذا ما كان الشرط صحيحًا أم لا قبل تنفيذ الأوامر.
الصيغة العامة للحلقة do-while:
do
{
// block of code to be executed
} while (condition);
حيث يتم تنفيذ الأوامر داخل الحلقة ثم يتم فحص الشرط، وإذا تحقق الشرط يتم تنفيذ الحلقة مرة أخرى، وهذه العملية تتكرر حتى لا يتحقق الشرط.
على سبيل المثال، إذا كان لدينا رقم صحيح ونريد طباعة الأرقام من 1 إلى هذا الرقم باستخدام حلقة do-while، يمكن كتابة الكود التالي:
#include <iostream>
using namespace std;
int main() {
int num, i = 1;
cout << "Enter a number: ";
cin >> num;
do {
cout << i << " ";
i++;
} while (i <= num);
return 0;
}
في هذا المثال، يتم قراءة الرقم الصحيح من المستخدم باستخدام دالة cin، ثم يتم استخدام حلقة do-while لطباعة الأرقام من 1 إلى هذا الرقم. تحتوي حلقة do-while على شرط i <= num، والذي يتحقق طالما كان i أقل من أو يساوي العدد الذي تم إدخاله. يتم طباعة قيمة i ثم يتم زيادة قيمة i بمقدار 1 في كل دورة في الحلقة. ويتم فحص الشرط في نهاية كل دورة في الحلقة، وإذا تحقق الشرط يتم تنفيذ الحلقة مرة أخرى. تنتهي الحلقة عندما يصبح i أكبر من العدد الذي تم إدخاله.
حلقة for:
حلقة for هي حلقة تستخدم لتنفيذ مجموعة من الأوامر بشكل متكرر لعدد محدد من المرات. تتميز حلقة for بأنها تحتوي على ثلاثة أقسام مختلفة: الجزء الأول يتم فيه تهيئة المتغيرات، الجزء الثاني هو الشرط الذي يتحقق قبل تنفيذ كل دورة في الحلقة، والجزء الثالث هو الخطوة التي يتم فيها تحديث المتغيرات.
الصيغة العامة لحلقة for هي كالتالي:
for (initialization; condition; update) {
// block of code to be executed
}
حيث:
- initialization: تهيئة المتغيرات التي سيتم استخدامها في الحلقة.
- condition: الشرط الذي يتحقق قبل تنفيذ كل دورة في الحلقة. إذا كان الشرط غير صحيح (false)، يتم الخروج من الحلقة.
- update: الخطوة التي يتم فيها تحديث المتغيرات بعد تنفيذ كل دورة في الحلقة.
على سبيل المثال، إذا كان لدينا رقم صحيح ونريد طباعة الأرقام من 1 إلى هذا الرقم باستخدام حلقة for، يمكن كتابة الكود التالي:
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter a number: ";
cin >> num;
for (int i = 1; i <= num; i++) {
cout << i << " ";
}
return 0;
}
في هذا المثال، تم قراءة الرقم الصحيح من المستخدم باستخدام دالة cin، ثم تم استخدام حلقة for لطباعة الأرقام من 1 إلى هذا الرقم. تم تهيئة المتغير i بقيمة 1 في initialization، وتم وضع شرط i <= num في condition، وتم زيادة قيمة i بمقدار 1 في update. يتم طباعة قيمة i في كل دورة في الحلقة، وتنتهي الحلقة عندما يصبح i أكبر من العدد الذي تم إدخاله.
يمكن استخدام أي من هذه الحلقات التكرارية في لغة السي بلس بلس، ويمكن تحديد نوع الحلقة المناسب للتطبيق المحدد وللتحكم في تنفيذ الأوامر بشكل فعال وبسيط.
هذا والسلام عليكم ورحمة الله وبركاته…
( لا تنسا مشاركة الموضوع ليستفيد غيرك )