الهدف من الدرس:
يهدف هذا الدرس إلى تعليمكم كيفيةَ تنفيذ عمليات الإدخال، والإخراج الأساسية، وفهم كيفيّة استخدام الهياكل الشّرطية والتكرارية للتحكم في تدفق البرنامج في C++.
عمليات الإدخال والإخراج البسيطة:
تعتبر عمليات الإدخال والإخراج (I/O) جوهرية للتفاعل مع المستخدمين في أي برنامج في C++، وتُستخدم مكتبة iostream لهذه العملية، حيث يتم التعامل مع الإدخال بواسطة cin والإخراج بواسطة cout .
الإخراج باستخدام std::cout::
لبدء الإخراج نستخدم مشغل الإدراج << لتمرير البيانات إلى جهاز الإخراج القياسي (عادةً ما يكون وحدة التحكم).
#include <iostream>
int main() {
std::cout << "مرحباً بالمستخدم!" << std::endl; // يطبع النص إلى الشاشة
return 0;
}
يشير std::endl إلى نهاية السطر، ويضيف حرف العودة للنص، مما يحسن من ظهور النص في الإخراج.
الإدخال باستخدام std::cin:
يتم قراءة البيانات باستخدام مشغل الاستخراج >> لاستقبال المعلومات من الإدخال القياسي.
#include <iostream>
int main() {
int age;
std::cout << "أدخل عمرك: ";
std::cin >> age; // يقرأ قيمة العدد الذي يدخلها المستخدم ويخزنها في المتغير age
std::cout << "لقد قمت بإدخال: " << age << std::endl;
return 0;
}
الهياكل الشرطية:
تسمح العبارات الشرطية للبرنامج باتخاذ إجراءات مختلفة بناءً على الشروط المحددة.
جملة if:
تبدأ بجملة if للتحقق من شرط محدد، وإذا كان صحيحًا، يتم تنفيذ الكود بين الأقواس {}.
if (age >= 18) {
std::cout << "أنت بالغ." << std::endl;
}
جملة if-else:
تمكّنك من تحديد تعليمةٍ بديلة إذا كان الشرط غيرَ صحيح.
if (age >= 18) {
std::cout << "أنت بالغ." << std::endl;
} else {
std::cout << "أنت قاصر." << std::endl;
}
سلم else if :
يمكّنك من اختبار شروط متعددة، واحدة خلف الأخرى.
int score = 75;
if (score >= 90) {
std::cout << "درجة ممتازة." << std::endl;
} else if (score >= 75) {
std::cout << "درجة جيدة جدا." << std::endl;
} else if (score >= 60) {
std::cout << "درجة جيدة." << std::endl;
} else {
std::cout << "درجة مقبولة أو أقل." << std::endl;
}
الهياكل التكرارية:
التكرار، أو الحلقات التكرارية تتيح لك تكرار قطعة من الكود عدة مرات.
حلقاتfor :
مثالية عندما يكون لديك عدد معروف من التكرارات.
for (int i = 0; i < 5; i++) {
std::cout << "التكرار رقم " << i << std::endl;
}
حلقات while:
تكرر التعليمات داخلها طالما أنّ الشّرطَ المحدّدَ صحيح، وتكون مفيدة عندما يكون عددُ التكرارات غيرَ معروف مسبقًا.
int count = 0;
while (count < 5) {
std::cout << "العدد الحالي " << count << std::endl;
count++;
}
حلقات do-while:
تضمن تنفيذ الكود على الأقل مرة واحدة؛ لأنّها تتحقق من الشرط بعد تنفيذ الكود.
int count = 0;do {
std::cout << "عدد " << count << std::endl;
count++;} while (count < 5);
مثال تطبيقي:
لنَرَ مثالاً يجمع بين الجمل الشرطية والحلقات التكرارية:
#include <iostream>
int main() {
int number;
std::cout << "أدخل رقم: ";
std::cin >> number;
if (number < 0) {
std::cout << "الرقم سالب." << std::endl;
} else if (number > 0) {
std::cout << "الرقم موجب." << std::endl;
} else {
std::cout << "الرقم صفر." << std::endl;
}
for (int i = 1; i <= number; i++) {
std::cout << "العدد: " << i << std::endl;
}
return 0;
}
هذا المثال يطلب من المستخدم إدخالَ رقم، ومن ثَمَّ يحدد ما إذا كان الرقم موجبًا، أم سالبًا، أم صفرًا.
بعد ذلك، يَستخدم حلقة for لطباعةِ تسلسُلٍ من الأرقام يصل إلى العدد المُدخل.
المهام والتدريبات:
يشرح هذا الدرس كيفية التحكم في تدفق البرنامج باستخدام الهياكل الشرطية والتكرارية، والتي تشكل أساسيات هامة في البرمجة، مما يمكن من خلق برامج أكثر ذكاءً وفعالية في التفاعل مع المستخدمين وتشغيل العمليات المختلفة.