1. تركيب البرنامج الأساسي في C++
✅ بنية البرنامج الأساسي:
2. شرح كل جزء من الكود
1️⃣ #include <iostream>
• الغرض: تضمين مكتبة الإدخال والإخراج (iostream).
• التفاصيل:
■ #include
هي تعليمة للمعالج المسبق (Preprocessor) لتضمين ملفات الرأس (Header Files).
■ <iostream>
هي المكتبة التي تحتوي على الدوال الأساسية للإدخال (cin) والإخراج (cout).
2️⃣ using namespace std;
• الغرض: لتجنب تكرار كتابة std:: قبل استخدام الدوال مثل cout و cin.
• التفاصيل:
■ namespace
هي مساحة اسم تحتوي على دوال ومتغيرات.
■ std
هي المساحة الافتراضية التي تحتوي على دوال المكتبة القياسية في C++.
3️⃣ int main()
• الغرض: تعريف الدالة الرئيسية للبرنامج.
• التفاصيل:
▪︎ int
هو نوع الإرجاع للدالة (عدد صحيح).
▪︎ main()
هي الدالة التي يبدأ منها تنفيذ البرنامج.
▪︎ يجب أن تحتوي كل برنامج C++ على دالة main().
4️⃣ { }
• الغرض: تحديد بداية ونهاية كتلة الكود الخاصة بالدالة main().
• التفاصيل:
- كل ما يكتب داخل { } يعتبر جزءًا من الدالة main().
5️⃣ cout << "Hello, World!" << endl;
• الغرض: طباعة جملة "Hello, World!" على الشاشة
.
• التفاصيل:
▪︎ cout
هو كائن الإخراج (Output Object) يُستخدم لإرسال البيانات إلى الشاشة.
▪︎ << هو عامل الإرسال (Insertion Operator) يُستخدم لإرسال البيانات إلى cout.
▪︎ "Hello, World!"
هي الجملة التي نريد طباعتها.
▪︎ endl
يُستخدم لإدخال سطر جديد (New Line) بعد الطباعة.
6️⃣ return 0;
• الغرض: إرجاع قيمة من الدالة main() للإشارة إلى أن البرنامج انتهى بنجاح.
• التفاصيل:
▪︎ return 0;
يُستخدم للإشارة إلى أن البرنامج انتهى بدون أخطاء.
▪︎ القيمة 0 تعني نجاح التنفيذ، بينما القيم الأخرى تشير إلى وجود أخطاء.
3. كتابة وتشغيل البرنامج
▪︎ الخطوات:
1- افتح بيئة التطوير (IDE) التي قمت بتثبيتها (Visual Studio أو Code::Blocks).
2- قم بإنشاء مشروع جديد (New Project) واختر Console Application.
3- اكتب الكود التالي في ملف main.cpp
4- احفظ الملف.
5- قم ببناء (Build) وتشغيل (Run) البرنامج:
• في Visual Studio: اضغط على Ctrl + F5 لتشغيل البرنامج دون تصحيح.
• في Code::Blocks: اضغط على F9 لبناء وتشغيل البرنامج.
▪︎ النتيجة المتوقعة:
4. شرح إضافي
▪︎ ماذا يحدث عند تشغيل البرنامج؟
1 - يتم تنفيذ الدالة main().
2- يتم إرسال الجملة "Hello, World!" إلى cout لعرضها على الشاشة.
3 - يتم إدخال سطر جديد باستخدام endl.
4 - يتم إرجاع القيمة 0 للإشارة إلى أن البرنامج انتهى بنجاح.
▪︎ تعديل البرنامج:
• يمكنك تغيير الجملة "Hello, World!" إلى أي جملة أخرى، مثل:
• يمكنك أيضًا طباعة أكثر من جملة:
5. الخلاصة العامة
▪︎ البرنامج الأساسي في C++ يتكون من:
• تضمين المكتبات (#include).
• استخدام مساحة الاسم (using namespace std;).
• الدالة الرئيسية (int main()).
• كود الإخراج (cout).
• إرجاع القيمة (return 0;).
▪︎ يمكنك كتابة وتشغيل برنامجك الأول باستخدام أي بيئة تطوير (IDE) مثل Visual Studio أو Code::Blocks.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الرابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
✅ بنية البرنامج الأساسي:
#include <iostream> // مكتبة الإدخال والإخراج
using namespace std; // لتجنب تكرار كتابة std::
int main() { // الدالة الرئيسية
cout << "Hello, World!" << endl; // طباعة جملة "Hello, World!"
return 0; // إشارة إلى أن البرنامج انتهى بنجاح
}
2. شرح كل جزء من الكود
1️⃣ #include <iostream>
• الغرض: تضمين مكتبة الإدخال والإخراج (iostream).
• التفاصيل:
■ #include
هي تعليمة للمعالج المسبق (Preprocessor) لتضمين ملفات الرأس (Header Files).
■ <iostream>
هي المكتبة التي تحتوي على الدوال الأساسية للإدخال (cin) والإخراج (cout).
2️⃣ using namespace std;
• الغرض: لتجنب تكرار كتابة std:: قبل استخدام الدوال مثل cout و cin.
• التفاصيل:
■ namespace
هي مساحة اسم تحتوي على دوال ومتغيرات.
■ std
هي المساحة الافتراضية التي تحتوي على دوال المكتبة القياسية في C++.
3️⃣ int main()
• الغرض: تعريف الدالة الرئيسية للبرنامج.
• التفاصيل:
▪︎ int
هو نوع الإرجاع للدالة (عدد صحيح).
▪︎ main()
هي الدالة التي يبدأ منها تنفيذ البرنامج.
▪︎ يجب أن تحتوي كل برنامج C++ على دالة main().
4️⃣ { }
• الغرض: تحديد بداية ونهاية كتلة الكود الخاصة بالدالة main().
• التفاصيل:
- كل ما يكتب داخل { } يعتبر جزءًا من الدالة main().
5️⃣ cout << "Hello, World!" << endl;
• الغرض: طباعة جملة "Hello, World!" على الشاشة
.
• التفاصيل:
▪︎ cout
هو كائن الإخراج (Output Object) يُستخدم لإرسال البيانات إلى الشاشة.
▪︎ << هو عامل الإرسال (Insertion Operator) يُستخدم لإرسال البيانات إلى cout.
▪︎ "Hello, World!"
هي الجملة التي نريد طباعتها.
▪︎ endl
يُستخدم لإدخال سطر جديد (New Line) بعد الطباعة.
6️⃣ return 0;
• الغرض: إرجاع قيمة من الدالة main() للإشارة إلى أن البرنامج انتهى بنجاح.
• التفاصيل:
▪︎ return 0;
يُستخدم للإشارة إلى أن البرنامج انتهى بدون أخطاء.
▪︎ القيمة 0 تعني نجاح التنفيذ، بينما القيم الأخرى تشير إلى وجود أخطاء.
3. كتابة وتشغيل البرنامج
▪︎ الخطوات:
1- افتح بيئة التطوير (IDE) التي قمت بتثبيتها (Visual Studio أو Code::Blocks).
2- قم بإنشاء مشروع جديد (New Project) واختر Console Application.
3- اكتب الكود التالي في ملف main.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
4- احفظ الملف.
5- قم ببناء (Build) وتشغيل (Run) البرنامج:
• في Visual Studio: اضغط على Ctrl + F5 لتشغيل البرنامج دون تصحيح.
• في Code::Blocks: اضغط على F9 لبناء وتشغيل البرنامج.
▪︎ النتيجة المتوقعة:
Hello, World!
4. شرح إضافي
▪︎ ماذا يحدث عند تشغيل البرنامج؟
1 - يتم تنفيذ الدالة main().
2- يتم إرسال الجملة "Hello, World!" إلى cout لعرضها على الشاشة.
3 - يتم إدخال سطر جديد باستخدام endl.
4 - يتم إرجاع القيمة 0 للإشارة إلى أن البرنامج انتهى بنجاح.
▪︎ تعديل البرنامج:
• يمكنك تغيير الجملة "Hello, World!" إلى أي جملة أخرى، مثل:
cout << "Welcome to C++ Programming!" << endl;
• يمكنك أيضًا طباعة أكثر من جملة:
cout << "Hello, World!" << endl;
cout << "This is my first C++ program." << endl;
5. الخلاصة العامة
▪︎ البرنامج الأساسي في C++ يتكون من:
• تضمين المكتبات (#include).
• استخدام مساحة الاسم (using namespace std;).
• الدالة الرئيسية (int main()).
• كود الإخراج (cout).
• إرجاع القيمة (return 0;).
▪︎ يمكنك كتابة وتشغيل برنامجك الأول باستخدام أي بيئة تطوير (IDE) مثل Visual Studio أو Code::Blocks.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الرابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍2
#جديد
تعلم برمجة بايثون باستخدام ChatGPT | Udemy
2.5 ساعة • 32 محاضرة
⏳ 929 استخدامًا متبقيًا للكوبون ⚠️
📶 التقييم: 4.5 ⭐️ (39 تقييمًا)
📅 آخر تحديث: 24/11
🎓 المدرب: دكتور عبد القادر رباني
✅ رابط الدورة هنا 👇
https://t.co/uJIUnQgysi
#لغات_البرمجة
أعجبك الموضوع شاركه مع أصدقائك👩💻
⬅️ إضغط هنا لمشاركة القناة مع اصدقائك ➡️
@coursaty4you
😍 وأهلاً وسهلاً بجميع المبرمجين 💝
#لغات_البرمجة
تعلم برمجة بايثون باستخدام ChatGPT | Udemy
تعلم برمجة بايثون بسرعة باستخدام ChatGPT | برامج بدون برمجة باستخدام ChatGPT + Python | برامج استخراج البيانات من الويب + واجهة المستخدم الرسومية
2.5 ساعة • 32 محاضرة
⏳ 929 استخدامًا متبقيًا للكوبون ⚠️
📶 التقييم: 4.5 ⭐️ (39 تقييمًا)
📅 آخر تحديث: 24/11
🎓 المدرب: دكتور عبد القادر رباني
✅ رابط الدورة هنا 👇
https://t.co/uJIUnQgysi
#لغات_البرمجة
أعجبك الموضوع شاركه مع أصدقائك👩💻
⬅️ إضغط هنا لمشاركة القناة مع اصدقائك ➡️
@coursaty4you
😍 وأهلاً وسهلاً بجميع المبرمجين 💝
#لغات_البرمجة
👍4
1. الكلمات المفتاحية (Keywords)
✅ ما هي الكلمات المفتاحية؟
▪︎الكلمات المفتاحية هي كلمات محجوزة (Reserved Words) في لغة C++، ولها معاني محددة ومهام معينة.
▪︎لا يمكن استخدامها كأسماء متغيرات أو دوال أو أي عناصر أخرى في البرنامج.
🔸️ أمثلة على الكلمات المفتاحية في C++
✔ الشروط والمتحكمات Control Flow:
✔ أنواع البيانات:
✔ البرمجة الكائنية:
✔ التعديلات (الثوابت):
✔ الاستثناءات:
🔸️ ملاحظات:
• الكلمات المفتاحية تكون دائمًا بأحرف صغيرة (Lowercase).
• لا يمكن تغيير معنى الكلمات المفتاحية أو استخدامها لأغراض أخرى.
✅ ما هي الكلمات المفتاحية؟
▪︎الكلمات المفتاحية هي كلمات محجوزة (Reserved Words) في لغة C++، ولها معاني محددة ومهام معينة.
▪︎لا يمكن استخدامها كأسماء متغيرات أو دوال أو أي عناصر أخرى في البرنامج.
🔸️ أمثلة على الكلمات المفتاحية في C++
✔ الشروط والمتحكمات Control Flow:
if, else, switch, case, default,
while, do, for, break, continue, return
✔ أنواع البيانات:
int, float, double, char, bool, void
✔ البرمجة الكائنية:
class, struct, public, private, protected, new, delete, this.
✔ التعديلات (الثوابت):
const, static, volatile, mutable
✔ الاستثناءات:
try, catch, throw.
🔸️ ملاحظات:
• الكلمات المفتاحية تكون دائمًا بأحرف صغيرة (Lowercase).
• لا يمكن تغيير معنى الكلمات المفتاحية أو استخدامها لأغراض أخرى.
❤5👍1
2. المعرفات (Identifiers)
✅ ما هي المعرفات (Identifiers)؟
▪︎ المعرفات هي أسماء يُعرف بها المبرمج العناصر المختلفة في البرنامج مثل المتغيرات، الدوال، الكلاسات، الكائنات، وغيرها.
▪︎ يجب أن تتبع المعرفات قواعد معينة في التسمية.
🔮 قواعد تسمية المعرفات:
1 - تبدأ بحرف أو شرطة سفلية (_):
✅ كتابة صحيحة: 👇
❌ كتابة خاطئة:👇
2 - يمكن أن تحتوي على أحرف، أرقام، وشرطة سفلية (_):
✅ كتابة صحيحة: 👇
❌ كتابة خاطئة: 👇
3️⃣ لا يمكن أن تحتوي على مسافات أو رموز خاصة:
✅ كتابة صحيحة : 👇
❌ كتابة خاطئة: 👇
4️⃣ لا يمكن أن تكون كلمة مفتاحية:
✅ كتابة صحيحة : 👇
❌ كتابة خاطئة : 👇
5️⃣ حساسة لحالة الأحرف (Case-Sensitive):
• Name و name يعتبران كتابتين مختلفتين.
🔸️ أمثلة على الكتابة الصحيحة:
🔸️ أمثلة على الكتابة غير الصحيحة:
▪︎ 1stPlace (يبدأ برقم).
▪︎ my-name (يحتوي على رمز خاص).
▪︎ int (كلمة مفتاحية).
3. الفرق بين الكلمات المفتاحية والمعرفات
🔸️ الميزة : الغرض
• الكلمات المفتاحية (Keywords) : لها معنى محدد في اللغة.
• المعرفات (Identifiers) : تُستخدم لتسمية العناصر في البرنامج.
🔸️ الميزة : التعديل
• الكلمات المفتاحية (Keywords) : لا يمكن تغييرها أو استخدامها كمعرف.
• المعرفات (Identifiers) : يمكن تعريفها من قبل المبرمج.
🔸️ الميزة : الأحرف
• الكلمات المفتاحية (Keywords) : دائمًا بأحرف صغيرة.
• المعرفات (Identifiers) : يمكن أن تحتوي على أحرف كبيرة وصغيرة.
🔸️ الميزة : الأمثلة
• الكلمات المفتاحية (Keywords) : int, if, return, class
• المعرفات (Identifiers) : age, totalScore, calculateArea
4. نصائح لاختيار Identifiers
🔹️ استخدام أسماء ذات معنى:
• اختر أسماء تعبر عن الغرض من المتغير أو الدالة.
• مثال: totalScore أفضل من ts
🔹️ استخدام تنسيق متسق:
• يمكن استخدام CamelCase
(مثل firstName) أو snake_case (مثل first_name).
🔹️ تجنب الأسماء الغامضة:
• مثال: x, y, temp قد تكون غامضة، بينما width, height, area أكثر وضوحًا.
🔹️ عدم البدء بشرطة سفلية مزدوجة (__):
• الأسماء التي تبدأ بشرطة سفلية مزدوجة محجوزة للاستخدام الداخلي في اللغة.
5. أمثلة عملية لإستخدام المعرفات مع المتغيرات والدوال
🔸️ مثال 1: استخدام المعرفات في تعريف المتغيرات
🔸️ مثال 2: استخدام المعرفات في تعريف الدوال
6. الخلاصة العامة
🔹️ الكلمات المفتاحية: كلمات محجوزة في اللغة ولا يمكن استخدامها كمعرف.
🔸️ المعرفات : أسماء يُعرف بها المبرمج العناصر في البرنامج، ويجب أن تتبع قواعد تسمية محددة.
🔹️ اختيار أسماء ذات معنى للمعرف يجعل الكود أكثر قابلية للقراءة والصيانة.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الخامس_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
✅ ما هي المعرفات (Identifiers)؟
▪︎ المعرفات هي أسماء يُعرف بها المبرمج العناصر المختلفة في البرنامج مثل المتغيرات، الدوال، الكلاسات، الكائنات، وغيرها.
▪︎ يجب أن تتبع المعرفات قواعد معينة في التسمية.
🔮 قواعد تسمية المعرفات:
1 - تبدأ بحرف أو شرطة سفلية (_):
✅ كتابة صحيحة: 👇
name, _age, totalScore.
❌ كتابة خاطئة:👇
1name, @age.
2 - يمكن أن تحتوي على أحرف، أرقام، وشرطة سفلية (_):
✅ كتابة صحيحة: 👇
user_name, score1, total_amount
❌ كتابة خاطئة: 👇
user-name, total$amount.
3️⃣ لا يمكن أن تحتوي على مسافات أو رموز خاصة:
✅ كتابة صحيحة : 👇
firstName, lastName.
❌ كتابة خاطئة: 👇
first name, last-name.
4️⃣ لا يمكن أن تكون كلمة مفتاحية:
✅ كتابة صحيحة : 👇
myClass, calculateSum
❌ كتابة خاطئة : 👇
int, class.
5️⃣ حساسة لحالة الأحرف (Case-Sensitive):
• Name و name يعتبران كتابتين مختلفتين.
🔸️ أمثلة على الكتابة الصحيحة:
age, totalScore, _count, MAX_VALUE, calculateArea.
🔸️ أمثلة على الكتابة غير الصحيحة:
▪︎ 1stPlace (يبدأ برقم).
▪︎ my-name (يحتوي على رمز خاص).
▪︎ int (كلمة مفتاحية).
3. الفرق بين الكلمات المفتاحية والمعرفات
🔸️ الميزة : الغرض
• الكلمات المفتاحية (Keywords) : لها معنى محدد في اللغة.
• المعرفات (Identifiers) : تُستخدم لتسمية العناصر في البرنامج.
🔸️ الميزة : التعديل
• الكلمات المفتاحية (Keywords) : لا يمكن تغييرها أو استخدامها كمعرف.
• المعرفات (Identifiers) : يمكن تعريفها من قبل المبرمج.
🔸️ الميزة : الأحرف
• الكلمات المفتاحية (Keywords) : دائمًا بأحرف صغيرة.
• المعرفات (Identifiers) : يمكن أن تحتوي على أحرف كبيرة وصغيرة.
🔸️ الميزة : الأمثلة
• الكلمات المفتاحية (Keywords) : int, if, return, class
• المعرفات (Identifiers) : age, totalScore, calculateArea
4. نصائح لاختيار Identifiers
🔹️ استخدام أسماء ذات معنى:
• اختر أسماء تعبر عن الغرض من المتغير أو الدالة.
• مثال: totalScore أفضل من ts
🔹️ استخدام تنسيق متسق:
• يمكن استخدام CamelCase
(مثل firstName) أو snake_case (مثل first_name).
🔹️ تجنب الأسماء الغامضة:
• مثال: x, y, temp قد تكون غامضة، بينما width, height, area أكثر وضوحًا.
🔹️ عدم البدء بشرطة سفلية مزدوجة (__):
• الأسماء التي تبدأ بشرطة سفلية مزدوجة محجوزة للاستخدام الداخلي في اللغة.
5. أمثلة عملية لإستخدام المعرفات مع المتغيرات والدوال
🔸️ مثال 1: استخدام المعرفات في تعريف المتغيرات
#include <iostream>
using namespace std;
int main() {
int age = 25; // "age" معرف
double totalScore = 95.5; // "totalScore" معرف
string firstName = "Ali"; // "firstName" معرف
cout << "Name: " << firstName << ", Age: " << age << ", Score: " << totalScore << endl;
return 0;
}
🔸️ مثال 2: استخدام المعرفات في تعريف الدوال
#include <iostream>
using namespace std;
// "calculateArea" معرف للدالة
double calculateArea(double width, double height) {
return width * height;
}
int main() {
double area = calculateArea(5.0, 10.0); // "area" معرف
cout << "Area: " << area << endl;
return 0;
}
6. الخلاصة العامة
🔹️ الكلمات المفتاحية: كلمات محجوزة في اللغة ولا يمكن استخدامها كمعرف.
🔸️ المعرفات : أسماء يُعرف بها المبرمج العناصر في البرنامج، ويجب أن تتبع قواعد تسمية محددة.
🔹️ اختيار أسماء ذات معنى للمعرف يجعل الكود أكثر قابلية للقراءة والصيانة.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الخامس_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍5❤1
Forwarded from 🎨 Canva For Ever 🖼
💝 CANVA PRO INVITE LINK | New LINK 2025🥰
🟢 LINK 👉 : https://t.co/mo2zyf1rh8
❤ ENJOY Your Canva Pro 💚
Canva Pro new link on 100 Like with "❤💙" Or " 👍"
#canva
#canvapro
#canvaprofree
#canvafree
#canva4ever
#canva4you
#canva_pro
#design #canvadesign #art #graphicdesign #marketing #logo #graphicdesigner #photoshop #designer
👑 Can I get 50 stars ⭐ here guys... I want stars 🌟🌟🌟
🔀 Share here Canva4ever
🤴👸 Thanks all members ❤💜
🟢 LINK 👉 : https://t.co/mo2zyf1rh8
❤ ENJOY Your Canva Pro 💚
Canva Pro new link on 100 Like with "❤💙" Or " 👍"
#canva
#canvapro
#canvaprofree
#canvafree
#canva4ever
#canva4you
#canva_pro
#design #canvadesign #art #graphicdesign #marketing #logo #graphicdesigner #photoshop #designer
👑 Can I get 50 stars ⭐ here guys... I want stars 🌟🌟🌟
🔀 Share here Canva4ever
🤴👸 Thanks all members ❤💜
👍2
1. ما هي المتغيرات (Variables)؟
🔸️ المتغيرات هي أماكن في الذاكرة تُستخدم لتخزين البيانات أثناء تنفيذ البرنامج.
▪︎ لكل متغير:
• اسم (Identifier): يُستخدم للوصول إلى البيانات المخزنة.
• نوع (Data Type): يحدد نوع البيانات التي يمكن تخزينها (مثل أعداد صحيحة، أعداد عشرية، نصوص، إلخ).
• قيمة (Value): البيانات الفعلية المخزنة في المتغير.
2. تعريف المتغيرات في C++
🔹️ صيغة تعريف المتغير:
أو مع تعيين قيمة ابتدائية:
🔰 أمثلة:
3. أنواع البيانات الأساسية في C++
🔸️ النوع : int
• الوصف : أعداد صحيحة
• الحجم (بايت) : 4
• المجال : من -2,147,483,648 إلى 2,147,483,647
🔹️ النوع : float
• الوصف : أعداد عشرية (فاصلة عائمة)
• الحجم (بايت) : 4
• المجال : حوالي 7 أرقام عشرية
🔸️ النوع : double
• الوصف : أعداد عشرية بدقة أعلى
• الحجم (بايت) : 8
• المجال : حوالي 15 رقمًا عشريًا
🔹️ النوع : char
• الوصف : حرف واحد
• الحجم (بايت) : 1
• المجال : من -128 إلى 127 أو 0 إلى 255
🔸️ النوع : bool
• الوصف : قيمة منطقية (صحيح أو خطأ)
• الحجم (بايت) : 1
• المجال : true أو false
🔹️ النوع : string
• الوصف : سلسلة نصية (نص)
• الحجم (بايت) : متغير
• المجال : يعتمد على طول النص
4. إستخدام المتغيرات في لغة C++
🔰 أمثلة عملية:
🔮 مثال 1: تعريف وتعيين قيم للمتغيرات
🔮 مثال 2 : تعديل قيم المتغيرات
🔮 مثال 3 : العمليات الحسابية باستخدام المتغيرات
5. نصائح لاستخدام المتغيرات
1️⃣ اختيار أسماء ذات معنى:
▪︎ مثال: totalScore أفضل من ts
2️⃣ تهيئة المتغيرات عند تعريفها:
▪︎ مثال: int age = 0; بدلاً من int age;
3️⃣ تجنب استخدام أسماء متشابهة:
▪︎ مثال: firstName و first_name قد يسببان ارتباكًا.
4️⃣ استخدام النوع المناسب للبيانات:
▪︎ مثال: استخدم int للأعداد الصحيحة و double للأعداد العشرية.
6. الخلاصة العامة في المتغيرات
• المتغيرات تُستخدم لتخزين البيانات في الذاكرة أثناء تنفيذ البرنامج.
• لكل متغير نوع يحدد نوع البيانات التي يمكن تخزينها.
• يمكن تعريف المتغيرات وتعيين قيم لها، ثم استخدامها في العمليات الحسابية أو عرضها على الشاشة.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السادس_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ المتغيرات هي أماكن في الذاكرة تُستخدم لتخزين البيانات أثناء تنفيذ البرنامج.
▪︎ لكل متغير:
• اسم (Identifier): يُستخدم للوصول إلى البيانات المخزنة.
• نوع (Data Type): يحدد نوع البيانات التي يمكن تخزينها (مثل أعداد صحيحة، أعداد عشرية، نصوص، إلخ).
• قيمة (Value): البيانات الفعلية المخزنة في المتغير.
2. تعريف المتغيرات في C++
🔹️ صيغة تعريف المتغير:
نوع_البيانات اسم_المتغير;
أو مع تعيين قيمة ابتدائية:
نوع_البيانات اسم_المتغير = القيمة;
🔰 أمثلة:
int age = 25; // متغير من نوع int (عدد صحيح)
double salary = 1500.5; // متغير من نوع double (عدد عشري)
char grade = 'A'; // متغير من نوع char (حرف واحد)
string name = "Ali"; // متغير من نوع string (نص)
bool isStudent = true; // متغير من نوع bool (قيمة منطقية)
3. أنواع البيانات الأساسية في C++
🔸️ النوع : int
• الوصف : أعداد صحيحة
• الحجم (بايت) : 4
• المجال : من -2,147,483,648 إلى 2,147,483,647
🔹️ النوع : float
• الوصف : أعداد عشرية (فاصلة عائمة)
• الحجم (بايت) : 4
• المجال : حوالي 7 أرقام عشرية
🔸️ النوع : double
• الوصف : أعداد عشرية بدقة أعلى
• الحجم (بايت) : 8
• المجال : حوالي 15 رقمًا عشريًا
🔹️ النوع : char
• الوصف : حرف واحد
• الحجم (بايت) : 1
• المجال : من -128 إلى 127 أو 0 إلى 255
🔸️ النوع : bool
• الوصف : قيمة منطقية (صحيح أو خطأ)
• الحجم (بايت) : 1
• المجال : true أو false
🔹️ النوع : string
• الوصف : سلسلة نصية (نص)
• الحجم (بايت) : متغير
• المجال : يعتمد على طول النص
4. إستخدام المتغيرات في لغة C++
🔰 أمثلة عملية:
🔮 مثال 1: تعريف وتعيين قيم للمتغيرات
#include <iostream>
using namespace std;
int main() {
int age = 25; // تعريف متغير age وتعيين قيمة 25
double salary = 1500.75; // تعريف متغير salary وتعيين قيمة 1500.75
char grade = 'A'; // تعريف متغير grade وتعيين قيمة 'A'
string name = "Ali"; // تعريف متغير name وتعيين قيمة "Ali"
bool isStudent = true; // تعريف متغير isStudent وتعيين قيمة true
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Salary: " << salary << endl;
cout << "Grade: " << grade << endl;
cout << "Is Student: " << isStudent << endl;
return 0;
}
🔮 مثال 2 : تعديل قيم المتغيرات
#include <iostream>
using namespace std;
int main() {
int score = 90; // تعريف متغير score وتعيين قيمة 90
cout << "Original Score: " << score << endl;
score = 95; // تعديل قيمة المتغير score إلى 95
cout << "Updated Score: " << score << endl;
return 0;
}
🔮 مثال 3 : العمليات الحسابية باستخدام المتغيرات
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20; // تعريف متغيرين a و b
int sum = a + b; // حساب مجموع a و b وتخزينه في sum
cout << "Sum of " << a << " and " << b << " is: " << sum << endl;
return 0;
}
5. نصائح لاستخدام المتغيرات
1️⃣ اختيار أسماء ذات معنى:
▪︎ مثال: totalScore أفضل من ts
2️⃣ تهيئة المتغيرات عند تعريفها:
▪︎ مثال: int age = 0; بدلاً من int age;
3️⃣ تجنب استخدام أسماء متشابهة:
▪︎ مثال: firstName و first_name قد يسببان ارتباكًا.
4️⃣ استخدام النوع المناسب للبيانات:
▪︎ مثال: استخدم int للأعداد الصحيحة و double للأعداد العشرية.
6. الخلاصة العامة في المتغيرات
• المتغيرات تُستخدم لتخزين البيانات في الذاكرة أثناء تنفيذ البرنامج.
• لكل متغير نوع يحدد نوع البيانات التي يمكن تخزينها.
• يمكن تعريف المتغيرات وتعيين قيم لها، ثم استخدامها في العمليات الحسابية أو عرضها على الشاشة.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السادس_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
❤5👍1👏1
1. النوع int (عدد صحيح)
🔰 الوصف:
• يُستخدم لتخزين الأعداد الصحيحة (بدون كسور).
• الحجم: 4 بايت (32 بت).
• المجال: من -2,147,483,648 إلى 2,147,483,647.
🔮 أمثلة:
2. النوع float (عدد عشري بدقة منخفضة)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية (مع كسور).
• الحجم: 4 بايت (32 بت).
• المجال : حوالي 7 أرقام عشرية.
🔮 أمثلة:
⚠️ ملاحظة:
• يُفضل إضافة الحرف f بعد القيمة العشرية للإشارة إلى أنها من نوع float (مثل 3.14f).
3. النوع double (عدد عشري بدقة عالية)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية بدقة أعلى من float.
• الحجم : 8 بايت (64 بت).
• المجال : حوالي 15 رقمًا عشريًا.
🔮 أمثلة:
⚠️ ملاحظة:
• يعتبر double هو النوع الافتراضي للأعداد العشرية في C++.
4. النوع char (حرف واحد)
🔰 الوصف:
• يُستخدم لتخزين حرف واحد.
• الحجم : 1 بايت (8 بت).
• المجال : من -128 إلى 127 أو من 0 إلى 255.
🔮 أمثلة:
⚠️ ملاحظة:
• يتم تخزين الحرف بين علامتي تنصيص مفردة ('A').
5. النوع bool (قيمة منطقية)
🔰 الوصف:
• يُستخدم لتخزين القيم
• المنطقية : true (صحيح) أو false (خطأ).
• الحجم : 1 بايت (8 بت).
• القيمة : true (1) أو false (0).
🔮 أمثلة:
⚠️ ملاحظة:
• عند طباعة القيم المنطقية، يتم عرض 1 لـ true و 0 لـ false.
7. أمثلة عملية متكاملة لفهم أنواع البيانات في لغة ++C
🔸️ مثال 1: استخدام أنواع البيانات المختلفة
🔸️ مثال 2: العمليات الحسابية مع أنواع البيانات
8. الخلاصة العامة
▪︎ int: للأعداد الصحيحة.
▪︎ float: للأعداد العشرية بدقة منخفضة.
▪︎ double: للأعداد العشرية بدقة عالية.
▪︎ char: لتخزين حرف واحد.
▪︎ bool: لتخزين القيم المنطقية (true أو false).
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔰 الوصف:
• يُستخدم لتخزين الأعداد الصحيحة (بدون كسور).
• الحجم: 4 بايت (32 بت).
• المجال: من -2,147,483,648 إلى 2,147,483,647.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
int age = 25; // تعريف متغير age من نوع int
int temperature = -10; // يمكن أن تكون القيمة سالبة
cout << "Age: " << age << endl;
cout << "Temperature: " << temperature << endl;
return 0;
}
2. النوع float (عدد عشري بدقة منخفضة)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية (مع كسور).
• الحجم: 4 بايت (32 بت).
• المجال : حوالي 7 أرقام عشرية.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
float pi = 3.14f; // تعريف متغير pi من نوع float
float temperature = 98.6f;
cout << "Pi: " << pi << endl;
cout << "Body Temperature: " << temperature << endl;
return 0;
}
⚠️ ملاحظة:
• يُفضل إضافة الحرف f بعد القيمة العشرية للإشارة إلى أنها من نوع float (مثل 3.14f).
3. النوع double (عدد عشري بدقة عالية)
🔰 الوصف:
• يُستخدم لتخزين الأعداد العشرية بدقة أعلى من float.
• الحجم : 8 بايت (64 بت).
• المجال : حوالي 15 رقمًا عشريًا.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
double pi = 3.141592653589793; // تعريف متغير pi من نوع double
double distance = 123456789.123456789;
cout << "Pi: " << pi << endl;
cout << "Distance: " << distance << endl;
return 0;
}
⚠️ ملاحظة:
• يعتبر double هو النوع الافتراضي للأعداد العشرية في C++.
4. النوع char (حرف واحد)
🔰 الوصف:
• يُستخدم لتخزين حرف واحد.
• الحجم : 1 بايت (8 بت).
• المجال : من -128 إلى 127 أو من 0 إلى 255.
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
char grade = 'A'; // تعريف متغير grade من نوع char
char symbol = '$';
cout << "Grade: " << grade << endl;
cout << "Symbol: " << symbol << endl;
return 0;
}
⚠️ ملاحظة:
• يتم تخزين الحرف بين علامتي تنصيص مفردة ('A').
5. النوع bool (قيمة منطقية)
🔰 الوصف:
• يُستخدم لتخزين القيم
• المنطقية : true (صحيح) أو false (خطأ).
• الحجم : 1 بايت (8 بت).
• القيمة : true (1) أو false (0).
🔮 أمثلة:
#include <iostream>
using namespace std;
int main() {
bool isStudent = true; // تعريف متغير isStudent من نوع bool
bool isRaining = false;
cout << "Is Student: " << isStudent << endl;
cout << "Is Raining: " << isRaining << endl;
return 0;
}
⚠️ ملاحظة:
• عند طباعة القيم المنطقية، يتم عرض 1 لـ true و 0 لـ false.
7. أمثلة عملية متكاملة لفهم أنواع البيانات في لغة ++C
🔸️ مثال 1: استخدام أنواع البيانات المختلفة
#include <iostream>
using namespace std;
int main() {
int age = 25;
float weight = 68.5f;
double height = 175.5;
char gender = 'M';
bool isStudent = true;
cout << "Age: " << age << endl;
cout << "Weight: " << weight << endl;
cout << "Height: " << height << endl;
cout << "Gender: " << gender << endl;
cout << "Is Student: " << isStudent << endl;
return 0;
}
🔸️ مثال 2: العمليات الحسابية مع أنواع البيانات
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
float x = 10.5f, y = 20.5f;
double pi = 3.14159;
int sumInt = a + b;
float sumFloat = x + y;
double area = pi * 5 * 5; // حساب مساحة دائرة نصف قطرها 5
cout << "Sum of integers: " << sumInt << endl;
cout << "Sum of floats: " << sumFloat << endl;
cout << "Area of circle: " << area << endl;
return 0;
}
8. الخلاصة العامة
▪︎ int: للأعداد الصحيحة.
▪︎ float: للأعداد العشرية بدقة منخفضة.
▪︎ double: للأعداد العشرية بدقة عالية.
▪︎ char: لتخزين حرف واحد.
▪︎ bool: لتخزين القيم المنطقية (true أو false).
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_السابع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
❤3
الثوابت (Constants) في لغة C++ | الدرس الثامن
🌷 سنشرح درس الثوابت (Constants) في لغة C++، وسأقدم شرحًا مفصلاً عن كيفية تعريفها باستخدام #define و const، مع أمثلة عملية.
🌷 سنشرح درس الثوابت (Constants) في لغة C++، وسأقدم شرحًا مفصلاً عن كيفية تعريفها باستخدام #define و const، مع أمثلة عملية.
1. ما هي الثوابت (Constants)؟
🔸️ الثوابت هي قيم ثابتة لا يمكن تغييرها أثناء تنفيذ البرنامج.
🔸️ تُستخدم الثوابت لتخزين القيم التي لا تتغير، مثل القيم الرياضية (π = 3.14) أو الإعدادات الثابتة.
2. طرق تعريف الثوابت في C++
1️⃣ الطريقة الأولى:
🔰 استخدام #define
▪︎ #define
هي تعليمة للمعالج المسبق (Preprocessor) تُستخدم لتعريف ثوابت نصية (Macros).
💎 صيغة الاستخدام:
⚠️ ملاحظات:
• لا تحتاج إلى تحديد نوع البيانات.
• يتم استبدال اسم الثابت بالقيمة في جميع أنحاء الكود قبل الترجمة.
🔮 مثال:
2️⃣ الطريقة الثانية:
🔰 استخدام كلمة const
▪︎ const
هي كلمة مفتاحية تُستخدم لتعريف ثوابت ذات نوع محدد.
💎 صيغة الاستخدام:
⚠️ ملاحظات:
• يجب تحديد نوع البيانات.
• يتم التحقق من نوع البيانات أثناء الترجمة، مما يجعلها أكثر أمانًا من #define.
🔮 مثال:
3. الفرق بين #define و const
🔸️ الميزة : نوع البيانات
• الثابت (#define): لا يحتاج إلى تحديد نوع البيانات.
• الثابت (const) : يجب تحديد نوع البيانات.
🔹️ الميزة : التحقق من النوع
• الثابت (#define): لا يتم التحقق من النوع.
• الثابت (const) : يتم التحقق من النوع أثناء الترجمة.
🔸️ الميزة : النطاق (Scope)
• الثابت (#define): يعمل على مستوى الملف ككل.
• الثابت (const) : يعمل ضمن النطاق الذي تم تعريفه فيه.
🔹️ الميزة : الأمان
• الثابت (#define): أقل أمانًا بسبب عدم التحقق من النوع.
• الثابت (const) : أكثر أمانًا بسبب التحقق من النوع
🔸️ الميزة : الاستخدام الشائع
• الثابت (#define): يُستخدم للقيم البسيطة والنصوص.
• الثابت (const) : يُستخدم للثوابت ذات النوع المحدد.
🔰 4. أمثلة عملية لإستخدام الثوابت
🔮 مثال 1: استخدام #define
🔮 مثال 2: استخدام Const
5. نصائح لاستخدام الثوابت
1️⃣ اختيار الأسماء الوصفية:
▪︎ مثال: TAX_RATE أفضل من TR
2️⃣ استخدام const بدلاًمن #define عند الإمكان:
▪︎ يعتبر const أكثر أمانًا بسبب التحقق من نوع البيانات.
3️⃣ تجنب تغيير قيمة الثوابت:
▪︎ الثوابت يجب أن تبقى كما هي طوال فترة تنفيذ البرنامج.
6. الخلاصة العامة من درس الثوابت
• الثوابت تُستخدم لتخزين القيم الثابتة التي لا تتغير أثناء تنفيذ البرنامج.
• يمكن تعريف الثوابت باستخدام #define
أو const.
• يُفضل استخدام const بسبب التحقق من نوع البيانات وزيادة الأمان.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثامن_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ الثوابت هي قيم ثابتة لا يمكن تغييرها أثناء تنفيذ البرنامج.
🔸️ تُستخدم الثوابت لتخزين القيم التي لا تتغير، مثل القيم الرياضية (π = 3.14) أو الإعدادات الثابتة.
2. طرق تعريف الثوابت في C++
1️⃣ الطريقة الأولى:
🔰 استخدام #define
▪︎ #define
هي تعليمة للمعالج المسبق (Preprocessor) تُستخدم لتعريف ثوابت نصية (Macros).
💎 صيغة الاستخدام:
#define اسم_الثابت القيمة
⚠️ ملاحظات:
• لا تحتاج إلى تحديد نوع البيانات.
• يتم استبدال اسم الثابت بالقيمة في جميع أنحاء الكود قبل الترجمة.
🔮 مثال:
#include <iostream>
using namespace std;
#define PI 3.14159
#define MAX_VALUE 100
int main() {
cout << "Value of PI: " << PI << endl;
cout << "Max Value: " << MAX_VALUE << endl;
return 0;
}
2️⃣ الطريقة الثانية:
🔰 استخدام كلمة const
▪︎ const
هي كلمة مفتاحية تُستخدم لتعريف ثوابت ذات نوع محدد.
💎 صيغة الاستخدام:
const نوع_البيانات اسم_الثابت = القيمة;
⚠️ ملاحظات:
• يجب تحديد نوع البيانات.
• يتم التحقق من نوع البيانات أثناء الترجمة، مما يجعلها أكثر أمانًا من #define.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
const double PI = 3.14159;
const int MAX_VALUE = 100;
cout << "Value of PI: " << PI << endl;
cout << "Max Value: " << MAX_VALUE << endl;
return 0;
}
3. الفرق بين #define و const
🔸️ الميزة : نوع البيانات
• الثابت (#define): لا يحتاج إلى تحديد نوع البيانات.
• الثابت (const) : يجب تحديد نوع البيانات.
🔹️ الميزة : التحقق من النوع
• الثابت (#define): لا يتم التحقق من النوع.
• الثابت (const) : يتم التحقق من النوع أثناء الترجمة.
🔸️ الميزة : النطاق (Scope)
• الثابت (#define): يعمل على مستوى الملف ككل.
• الثابت (const) : يعمل ضمن النطاق الذي تم تعريفه فيه.
🔹️ الميزة : الأمان
• الثابت (#define): أقل أمانًا بسبب عدم التحقق من النوع.
• الثابت (const) : أكثر أمانًا بسبب التحقق من النوع
🔸️ الميزة : الاستخدام الشائع
• الثابت (#define): يُستخدم للقيم البسيطة والنصوص.
• الثابت (const) : يُستخدم للثوابت ذات النوع المحدد.
🔰 4. أمثلة عملية لإستخدام الثوابت
🔮 مثال 1: استخدام #define
#include <iostream>
using namespace std;
#define TAX_RATE 0.15
#define COMPANY_NAME "Tech Pro3dev"
int main() {
double salary = 5000.0;
double tax = salary * TAX_RATE;
cout << "Company: " << COMPANY_NAME << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
🔮 مثال 2: استخدام Const
#include <iostream>
using namespace std;
int main() {
const double TAX_RATE = 0.15;
const string COMPANY_NAME = "Tech Pro3dev";
double salary = 5000.0;
double tax = salary * TAX_RATE;
cout << "Company: " << COMPANY_NAME << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
5. نصائح لاستخدام الثوابت
1️⃣ اختيار الأسماء الوصفية:
▪︎ مثال: TAX_RATE أفضل من TR
2️⃣ استخدام const بدلاًمن #define عند الإمكان:
▪︎ يعتبر const أكثر أمانًا بسبب التحقق من نوع البيانات.
3️⃣ تجنب تغيير قيمة الثوابت:
▪︎ الثوابت يجب أن تبقى كما هي طوال فترة تنفيذ البرنامج.
6. الخلاصة العامة من درس الثوابت
• الثوابت تُستخدم لتخزين القيم الثابتة التي لا تتغير أثناء تنفيذ البرنامج.
• يمكن تعريف الثوابت باستخدام #define
أو const.
• يُفضل استخدام const بسبب التحقق من نوع البيانات وزيادة الأمان.
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الثامن_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍2
1. ما هي التعليقات (Comments)؟
🔸️ التعليقات هي نصوص يُضيفها المبرمج إلى الكود لتوضيح كيفية عمل البرنامج أو لتقديم ملاحظات.
🔹️ يتم تجاهل التعليقات تمامًا من قبل المترجم (Compiler) ولا تؤثر على تنفيذ البرنامج.
2. أنواع التعليقات في C++
1️⃣ التعليقات ذات السطر الواحد (Single-Line Comments)
• تبدأ بعلامة // وتنتهي بنهاية السطر.
🔰 صيغة الاستخدام:
🔮 مثال:
2️⃣ التعليقات متعددة الأسطر (Multi-Line Comments)
• تبدأ بعلامة /* وتنتهي بعلامة */.
🔰 صيغة الاستخدام:
🔮 مثال:
3. أهمية التعليقات في لغة ++C
🔹️ توضيح الكود
• التعليقات تساعد في توضيح الغرض من الكود وكيفية عمله.
🔮 مثال:
🔸️ تسهيل الصيانة
• التعليقات تجعل الكود أكثر قابلية للقراءة والفهم، مما يسهل صيانته وتحديثه لاحقًا.
🔮 مثال:
🔹️ التواصل مع المطورين الآخرين
• التعليقات تساعد المطورين الآخرين على فهم الكود بسرعة، خاصة في المشاريع الكبيرة.
🔮 مثال:
🔸️ تعطيل أجزاء من الكود (Debugging)
• يمكن استخدام التعليقات لتعطيل أجزاء من الكود مؤقتًا أثناء عملية التصحيح (Debugging).
🔮 مثال:
4. نصائح لكتابة التعليقات
▪︎ كن واضحًا وموجزًا:
• اكتب تعليقات واضحة وموجزة دون إطالة غير ضرورية.
▪︎تجنب التعليقات الواضحة (المفصلة):
• لا تكتب تعليقات توضح ما هو واضح من الكود.
🔮 مثال سيء:
▪︎ استخدم التعليقات لشرح "لماذا" وليس "ماذا":
• ركز على شرح سبب كتابة الكود بهذه الطريقة بدلاً من وصف ما يفعله الكود.
🔮 مثال جيد:
▪︎ تحديث التعليقات عند تغيير الكود:
• تأكد من تحديث التعليقات عند تعديل الكود لتجنب التضارب.
5. أمثلة عملية
🔮 مثال 1: توضيح الكود
🔮 مثال 2: تعطيل أجزاء من الكود
6. الخلاصة العامة لإستخدام التعليقات
• التعليقات تُستخدم لتوضيح الكود، تسهيل الصيانة، والمساعدة في عملية التصحيح.
• هناك نوعان من التعليقات في C++:
- تعليقات ذات سطر واحد (//)
- تعليقات متعددة الأسطر (/* ... */).
• كتابة تعليقات واضحة وموجزة يجعل الكود أكثر قابلية للقراءة والفهم.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_التاسع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔸️ التعليقات هي نصوص يُضيفها المبرمج إلى الكود لتوضيح كيفية عمل البرنامج أو لتقديم ملاحظات.
🔹️ يتم تجاهل التعليقات تمامًا من قبل المترجم (Compiler) ولا تؤثر على تنفيذ البرنامج.
2. أنواع التعليقات في C++
1️⃣ التعليقات ذات السطر الواحد (Single-Line Comments)
• تبدأ بعلامة // وتنتهي بنهاية السطر.
🔰 صيغة الاستخدام:
// هذا تعليق على سطر واحد
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
// هذا تعليق يوضح أن المتغير age سيخزن العمر
int age = 25;
cout << "Age: " << age << endl; // طباعة العمر
return 0;
}
2️⃣ التعليقات متعددة الأسطر (Multi-Line Comments)
• تبدأ بعلامة /* وتنتهي بعلامة */.
🔰 صيغة الاستخدام:
/*
هذا تعليق
يمكن أن يمتد على عدة أسطر
*/
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
/*
هذا تعليق متعدد الأسطر
يوضح أن المتغيرات التالية تخزن
العمر والراتب
*/
int age = 25;
double salary = 1500.75;
cout << "Age: " << age << ", Salary: " << salary << endl;
return 0;
}
3. أهمية التعليقات في لغة ++C
🔹️ توضيح الكود
• التعليقات تساعد في توضيح الغرض من الكود وكيفية عمله.
🔮 مثال:
int result = a + b; // جمع القيمتين a و b وتخزين النتيجة في result
🔸️ تسهيل الصيانة
• التعليقات تجعل الكود أكثر قابلية للقراءة والفهم، مما يسهل صيانته وتحديثه لاحقًا.
🔮 مثال:
// حساب مساحة الدائرة
double area = PI * radius * radius;
🔹️ التواصل مع المطورين الآخرين
• التعليقات تساعد المطورين الآخرين على فهم الكود بسرعة، خاصة في المشاريع الكبيرة.
🔮 مثال:
// هذا الكود يحسب الضريبة بناءً على النسبة المحددة
double tax = salary * TAX_RATE;
🔸️ تعطيل أجزاء من الكود (Debugging)
• يمكن استخدام التعليقات لتعطيل أجزاء من الكود مؤقتًا أثناء عملية التصحيح (Debugging).
🔮 مثال:
// cout << "Debugging: " << x << endl; // تم تعطيل هذا السطر للتصحيح
4. نصائح لكتابة التعليقات
▪︎ كن واضحًا وموجزًا:
• اكتب تعليقات واضحة وموجزة دون إطالة غير ضرورية.
▪︎تجنب التعليقات الواضحة (المفصلة):
• لا تكتب تعليقات توضح ما هو واضح من الكود.
🔮 مثال سيء:
int x = 5; // تعيين القيمة 5 للمتغير x
▪︎ استخدم التعليقات لشرح "لماذا" وليس "ماذا":
• ركز على شرح سبب كتابة الكود بهذه الطريقة بدلاً من وصف ما يفعله الكود.
🔮 مثال جيد:
// استخدام خوارزمية سريعة بسبب حجم البيانات الكبير
sort(data, data + size);
▪︎ تحديث التعليقات عند تغيير الكود:
• تأكد من تحديث التعليقات عند تعديل الكود لتجنب التضارب.
5. أمثلة عملية
🔮 مثال 1: توضيح الكود
#include <iostream>
using namespace std;
int main() {
// تعريف متغيرات لتخزين العمر والراتب
int age = 25;
double salary = 1500.75;
// حساب الضريبة بناءً على النسبة المحددة
const double TAX_RATE = 0.15;
double tax = salary * TAX_RATE;
// طباعة النتائج
cout << "Age: " << age << endl;
cout << "Salary: " << salary << endl;
cout << "Tax: " << tax << endl;
return 0;
}
🔮 مثال 2: تعطيل أجزاء من الكود
#include <iostream>
using namespace std;
int main() {
int x = 10;
int y = 20;
// cout << "x: " << x << endl; // تم تعطيل هذا السطر للتصحيح
cout << "y: " << y << endl;
return 0;
}
6. الخلاصة العامة لإستخدام التعليقات
• التعليقات تُستخدم لتوضيح الكود، تسهيل الصيانة، والمساعدة في عملية التصحيح.
• هناك نوعان من التعليقات في C++:
- تعليقات ذات سطر واحد (//)
- تعليقات متعددة الأسطر (/* ... */).
• كتابة تعليقات واضحة وموجزة يجعل الكود أكثر قابلية للقراءة والفهم.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_التاسع_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
1. ما هو الكائن cin؟
• الكائن cin هو كائن الإدخال (Input Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لقراءة البيانات من المستخدم عبر لوحة المفاتيح (Standard Input).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cin
💎 الصيغة العامة:
• العامل << هو عامل الاستخراج (Extraction Operator) ويُستخدم لقراءة البيانات من cin وتخزينها في المتغير.
3. قراءة أنواع البيانات المختلفة باستخدام cin
🔸️ 1. قراءة الأعداد الصحيحة (int)
🔹️ 2. قراءة الأعداد العشرية (double)
🔸️ 3. قراءة الحروف (char)
🔹️ 4. قراءة النصوص (string)
4. قراءة عدة مدخلات في سطر واحد
يمكنك قراءة عدة مدخلات في سطر واحد باستخدام cin مع عامل الاستخراج >> عدة مرات.
🔮 مثال:
5. مشكلة cin مع النصوص التي تحتوي على مسافات
❌ المشكلة في cin :
مشكلة الكائن cin يتوقف عند أول مسافة، مما يعني أنه لا يمكنه قراءة النصوص التي تحتوي على مسافات.
🔮 مثال:
✅ الحل: استخدام getline
الدالة getline تستخدم لقراءة سطر كامل من النص، بما في ذلك المسافات.
🔮 مثال:
6. تنظيف (Buffer) بعد استخدام cin
❌ المشكلة:
بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) فيBuffer ، مما يؤثر على getline.
✅ الحل: استخدام cin.ignore()
الجملة cin.ignore() تُستخدم لتجاهل الأحرف المتبقية فيBuffer.
🔮 مثال:
7. أمثلة عملية لفهم الكائن cin
🔮 مثال 1: برنامج بسيط لحساب مجموع عددين
🔮 مثال 2: برنامج لقراءة وعرض بيانات المستخدم
• الكائن cin هو كائن الإدخال (Input Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لقراءة البيانات من المستخدم عبر لوحة المفاتيح (Standard Input).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cin
💎 الصيغة العامة:
cin >> متغير;
• العامل << هو عامل الاستخراج (Extraction Operator) ويُستخدم لقراءة البيانات من cin وتخزينها في المتغير.
3. قراءة أنواع البيانات المختلفة باستخدام cin
🔸️ 1. قراءة الأعداد الصحيحة (int)
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age; // قراءة العمر من المستخدم
cout << "You are " << age << " years old." << endl;
return 0;
}
🔹️ 2. قراءة الأعداد العشرية (double)
#include <iostream>
using namespace std;
int main() {
double salary;
cout << "Enter your salary: ";
cin >> salary; // قراءة الراتب من المستخدم
cout << "Your salary is: " << salary << endl;
return 0;
}
🔸️ 3. قراءة الحروف (char)
#include <iostream>
using namespace std;
int main() {
char grade;
cout << "Enter your grade: ";
cin >> grade; // قراءة الحرف من المستخدم
cout << "Your grade is: " << grade << endl;
return 0;
}
🔹️ 4. قراءة النصوص (string)
#include <iostream>
using namespace std;
int main() {
string name;
cout << "Enter your name: ";
cin >> name; // قراءة الاسم من المستخدم
cout << "Hello, " << name << "!" << endl;
return 0;
}
4. قراءة عدة مدخلات في سطر واحد
يمكنك قراءة عدة مدخلات في سطر واحد باستخدام cin مع عامل الاستخراج >> عدة مرات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
double salary;
string name;
cout << "Enter your name, age, and salary: ";
cin >> name >> age >> salary; // قراءة الاسم، العمر، والراتب في سطر واحد
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
return 0;
}
5. مشكلة cin مع النصوص التي تحتوي على مسافات
❌ المشكلة في cin :
مشكلة الكائن cin يتوقف عند أول مسافة، مما يعني أنه لا يمكنه قراءة النصوص التي تحتوي على مسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
cin >> fullName; // سيقرأ فقط الجزء الأول من الاسم
cout << "Your full name is: " << fullName << endl;
return 0;
}
✅ الحل: استخدام getline
الدالة getline تستخدم لقراءة سطر كامل من النص، بما في ذلك المسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
getline(cin, fullName); // قراءة الاسم الكامل
cout << "Your full name is: " << fullName << endl;
return 0;
}
6. تنظيف (Buffer) بعد استخدام cin
❌ المشكلة:
بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) فيBuffer ، مما يؤثر على getline.
✅ الحل: استخدام cin.ignore()
الجملة cin.ignore() تُستخدم لتجاهل الأحرف المتبقية فيBuffer.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
string name;
cout << "Enter your age: ";
cin >> age;
cin.ignore(); // تنظيف
cout << "Enter your name: ";
getline(cin, name);
cout << "Age: " << age << ", Name: " << name << endl;
return 0;
}
7. أمثلة عملية لفهم الكائن cin
🔮 مثال 1: برنامج بسيط لحساب مجموع عددين
#include <iostream>
using namespace std;
int main() {
int num1, num2;
cout << "Enter the first number: ";
cin >> num1;
cout << "Enter the second number: ";
cin >> num2;
int sum = num1 + num2;
cout << "Sum: " << sum << endl;
return 0;
}
🔮 مثال 2: برنامج لقراءة وعرض بيانات المستخدم
#include <iostream>
using namespace std;
int main() {
string name;
int age;
double height;
cout << "Enter your name: ";
getline(cin, name);
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height (in meters): ";
cin >> height;
cout << "Name: " << name << ", Age: " << age << ", Height: " << height << " meters" << endl;
return 0;
}
🔥2
9. نصائح لاستخدام cin
🔰 استخدام endl أو n\ لإدخال سطر جديد:
▪︎ endl
يُفضل استخدامه لأنه يفرغ (Buffer) أيضًا.
▪︎ \n
أسرع ولكن لا يفرغ Buffer.
🔰 تجنب استخدام cin و getline معًا دون تنظيف buffer:
▪︎ بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) في buffer، مما يؤثر على getline.
🔸️ الحل:
▪︎ استخدام cin.ignore() لتنظيف Buffer
8. الخلاصة العامة لإستخدام الكائن cin
▪︎ الكائن cin يُستخدم لقراءة المدخلات من المستخدم.
▪︎ يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
▪︎ الدالة getline تُستخدم لقراءة النصوص الكاملة التي تحتوي على مسافات.
▪︎ الجملة cin.ignore() يُستخدم لتنظيف Buffer بعد استخدام cin.
▪︎ كتابة كود واضح ومنظم مع استخدام التعليقات يجعل البرنامج أكثر قابلية للقراءة والصيانة
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_العاشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
🔰 استخدام endl أو n\ لإدخال سطر جديد:
▪︎ endl
يُفضل استخدامه لأنه يفرغ (Buffer) أيضًا.
▪︎ \n
أسرع ولكن لا يفرغ Buffer.
🔰 تجنب استخدام cin و getline معًا دون تنظيف buffer:
▪︎ بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) في buffer، مما يؤثر على getline.
🔸️ الحل:
▪︎ استخدام cin.ignore() لتنظيف Buffer
8. الخلاصة العامة لإستخدام الكائن cin
▪︎ الكائن cin يُستخدم لقراءة المدخلات من المستخدم.
▪︎ يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
▪︎ الدالة getline تُستخدم لقراءة النصوص الكاملة التي تحتوي على مسافات.
▪︎ الجملة cin.ignore() يُستخدم لتنظيف Buffer بعد استخدام cin.
▪︎ كتابة كود واضح ومنظم مع استخدام التعليقات يجعل البرنامج أكثر قابلية للقراءة والصيانة
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_العاشر_سي_بلس_بلس
#المستوى_الأول
✅ الرجاء متابعة قناتنا 👇
https://t.me/artificial_AI_intelligence
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍3❤1
1. ما هو الكائن cout؟
• الكائن cout هو كائنالإخراج (Output Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لإرسال البيانات إلى الشاشة (Standard Output).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cout
💎 الصيغة العامة:
• العامل >> هو عامل الإرسال (Insertion Operator) ويُستخدم لإرسال البيانات إلى cout.
3. إخراج أنواع البيانات المختلفة باستخدام cout
🔸️ 1. إخراج الأعداد الصحيحة (int)
🔹️ 2. إخراج الأعداد العشرية (double)
🔸️ 3. إخراج الحروف (char)
🔹️ 4. إخراج النصوص (string)
4. إخراج عدة مدخلات في سطر واحد
يمكنك إخراج عدة بيانات في سطر واحد باستخدام cout مع عامل الإرسال >> عدة مرات.
🔮 مثال:
5. استخدام endl و n\ لإدخال سطر جديد
▪︎ endl
ال endl يُستخدم لإدخال سطر جديد (New Line) ويفرغ (Buffer) أيضًا.
🔮 مثال
▪︎\n
ال \n يُستخدم لإدخال سطر جديد دون تفريغ.
🔮 مثال
6. تنسيق الإخراج
🔹️ . تحديد عدد الأرقام العشرية
يمكنك استخدام fixed و setprecision من مكتبة <iomanip> لتحديد عدد الأرقام العشرية.
🔮 مثال:
🔹️ محاذاة النصوص
يمكنك استخدام setw من مكتبة <iomanip> لتحديد عرض الحقل.
🔮 مثال:
7. أمثلة عملية لفهم الكائن cout
🔮 مثال 1: برنامج بسيط لعرض معلومات الطالب
🔮 مثال 2: برنامج لحساب مساحة الدائرة
8. الخلاصة العامة لإستخدام الكائن cout
• الكائن cout يُستخدم لإخراج البيانات إلى الشاشة.
• يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
ال endl و n\ يُستخدمان لإدخال سطر جديد.
• يمكن تنسيق الإخراج باستخدام مكتبة <iomanip>.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الحادي_عشر_سي_بلس_بلس
#المستوى_الأول
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
• الكائن cout هو كائنالإخراج (Output Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لإرسال البيانات إلى الشاشة (Standard Output).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cout
💎 الصيغة العامة:
cout << بيانات_للإخراج;
• العامل >> هو عامل الإرسال (Insertion Operator) ويُستخدم لإرسال البيانات إلى cout.
3. إخراج أنواع البيانات المختلفة باستخدام cout
🔸️ 1. إخراج الأعداد الصحيحة (int)
#include <iostream>
using namespace std;
int main() {
int age = 25;
cout << "Age: " << age << endl; // طباعة العمر
return 0;
}
🔹️ 2. إخراج الأعداد العشرية (double)
#include <iostream>
using namespace std;
int main() {
double salary = 1500.75;
cout << "Salary: " << salary << endl; // طباعة الراتب
return 0;
}
🔸️ 3. إخراج الحروف (char)
#include <iostream>
using namespace std;
int main() {
char grade = 'A';
cout << "Grade: " << grade << endl; // طباعة الحرف
return 0;
}
🔹️ 4. إخراج النصوص (string)
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl; // طباعة جملة "Hello, World!"
return 0;
}
4. إخراج عدة مدخلات في سطر واحد
يمكنك إخراج عدة بيانات في سطر واحد باستخدام cout مع عامل الإرسال >> عدة مرات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age = 25;
double salary = 1500.75;
string name = "Ali";
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
return 0;
}
5. استخدام endl و n\ لإدخال سطر جديد
▪︎ endl
ال endl يُستخدم لإدخال سطر جديد (New Line) ويفرغ (Buffer) أيضًا.
🔮 مثال
#include <iostream>
using namespace std;
int main() {
cout << "Line 1" << endl;
cout << "Line 2" << endl;
return 0;
}
▪︎\n
ال \n يُستخدم لإدخال سطر جديد دون تفريغ.
🔮 مثال
#include <iostream>
using namespace std;
int main() {
cout << "Line 1\n";
cout << "Line 2\n";
return 0;
}
6. تنسيق الإخراج
🔹️ . تحديد عدد الأرقام العشرية
يمكنك استخدام fixed و setprecision من مكتبة <iomanip> لتحديد عدد الأرقام العشرية.
🔮 مثال:
#include <iostream>
#include <iomanip> // لتضمين مكتبة التنسيق
using namespace std;
int main() {
double pi = 3.141592653589793;
cout << "Pi: " << fixed << setprecision(2) << pi << endl; // طباعة pi بدقة منزلتين عشريتين
return 0;
}
🔹️ محاذاة النصوص
يمكنك استخدام setw من مكتبة <iomanip> لتحديد عرض الحقل.
🔮 مثال:
#include <iostream>
#include <iomanip> // لتضمين مكتبة التنسيق
using namespace std;
int main() {
cout << setw(10) << "Name" << setw(10) << "Age" << endl;
cout << setw(10) << "Ali" << setw(10) << 25 << endl;
cout << setw(10) << "Ahmed" << setw(10) << 30 << endl;
return 0;
}
7. أمثلة عملية لفهم الكائن cout
🔮 مثال 1: برنامج بسيط لعرض معلومات الطالب
#include <iostream>
using namespace std;
int main() {
string name = "Ali";
int age = 20;
double gpa = 3.75;
cout << "Student Information:" << endl;
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "GPA: " << gpa << endl;
return 0;
}
🔮 مثال 2: برنامج لحساب مساحة الدائرة
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const double PI = 3.14159;
double radius;
cout << "Enter the radius of the circle: ";
cin >> radius;
double area = PI * radius * radius;
cout << "Area of the circle: " << fixed << setprecision(2) << area << endl;
return 0;
}
8. الخلاصة العامة لإستخدام الكائن cout
• الكائن cout يُستخدم لإخراج البيانات إلى الشاشة.
• يمكن استخدامه مع أنواع البيانات المختلفة مثل int, double, char, string.
ال endl و n\ يُستخدمان لإدخال سطر جديد.
• يمكن تنسيق الإخراج باستخدام مكتبة <iomanip>.
#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus
#الدرس_الحادي_عشر_سي_بلس_بلس
#المستوى_الأول
🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >> رواه مسلم.
🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
❤3👍1