البرمجة و الذكاء الإصطناعي
11.8K subscribers
528 photos
10 videos
497 links
عالم البرمجة و الذكاء الإصطناعي
........
🛡💸📚💻
for ads :
@pro9tech
للإعلانات :
https://telega.io/c/artificial_AI_intelligence
Download Telegram
1. النوع int (عدد صحيح)

🔰 الوصف:

• يُستخدم لتخزين الأعداد الصحيحة (بدون كسور).
• الحجم: 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، مع أمثلة عملية.
1. ما هي الثوابت (Constants)؟

🔸️ الثوابت هي قيم ثابتة لا يمكن تغييرها أثناء تنفيذ البرنامج.

🔸️ تُستخدم الثوابت لتخزين القيم التي لا تتغير، مثل القيم الرياضية (π = 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
التعليقات (Comments) في لغة C++ | الدرس التاسع

🌷 سأقدم لك شرحًا مفصلاً عن أهمية التعليقات (Comments) في لغة C++، وكيفية استخدامها، مع أمثلة عملية.
👍2
1. ما هي التعليقات (Comments)؟

🔸️ التعليقات هي نصوص يُضيفها المبرمج إلى الكود لتوضيح كيفية عمل البرنامج أو لتقديم ملاحظات.

🔹️ يتم تجاهل التعليقات تمامًا من قبل المترجم (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

🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >>  رواه مسلم.

🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
كائن الإدخال cin في لغة ++C | الدرس العاشر

🌷 سنقوم اليوم بشرحٍ مفصلاً عن الكائن cin في لغة C++، والذي يُستخدم لقراءة المدخلات من المستخدم. سأقدم لك شرحًا شاملًا مع أمثلة عملية.
1. ما هو الكائن cin؟

• الكائن 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

🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >>  رواه مسلم.

🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍31
كائن الإخراج cout في لغة ++C | الدرس الحادي عشر

🌷 سنتناول الآن شرحًا مفصلاً عن الكائن cout في لغة C++، والذي يُستخدم لإخراج البيانات إلى الشاشة. سأقدم لك شرحًا شاملًا مع أمثلة عملية.
1. ما هو الكائن cout؟

• الكائن 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
التعامل مع النصوص (Strings) في لغة C++  | الدرس الثاني عشر 

🌷 سنشرح في هذا الدرس طريقة التعامل مع النصوص (Strings) في لغة C++ باستخدام std::string. وكذالك سأقدم شرحًا مفصلاً خطوة بخطوة مع أمثلة توضيحية.
1. ما هي std::string؟

• نعتبر std::string على أنها فئة (Class) في لغة C++ والتي تُستخدم لتمثيل النصوص والتعامل معها.

• تُعتبر بديلاً أكثر مرونة وأمانًا لمصفوفات الأحرف ([]char) التي تُستخدم في لغة C.

2. تضمين مكتبة std::string

لاستخدام std::string، يجب تضمين مكتبة <string> في البرنامج.

#include <string>


3. تعريف النصوص (Strings)

🔰 صيغة التعريف:

std::string اسم_المتغير = "النص";


🔮 أمثلة:

#include <iostream>
#include <string> // تضمين مكتبة النصوص
using namespace std;

int main() {
string name = "Ali"; // تعريف نص
cout << "Name: " << name << endl;

return 0;
}


4. العمليات الأساسية على النصوص

1️⃣ القراءة من المستخدم

يمكن استخدام cin أو getline لقراءة النصوص من المستخدم.

🔸️ مثال باستخدام cin:

#include <iostream>
#include <string>
using namespace std;

int main() {
string name;
cout << "Enter your name: ";
cin >> name; // قراءة النص (يتوقف عند أول مسافة)
cout << "Hello, " << name << "!" << endl;

return 0;
}


🔸️ مثال باستخدام getline:

#include <iostream>
#include <string>
using namespace std;

int main() {
string fullName;
cout << "Enter your full name: ";
getline(cin, fullName); // قراءة النص الكامل (بما في ذلك المسافات)
cout << "Hello, " << fullName << "!" << endl;

return 0;
}


2️⃣ التخصيص (Assignment)

يمكن تعيين نص جديد للمتغير باستخدام عامل التخصيص =

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello";
cout << "Original Text: " << text << endl;

text = "World"; // تعيين نص جديد
cout << "Updated Text: " << text << endl;

return 0;
}


3️⃣ التسلسل (Concatenation)

يمكن دمج نصوص باستخدام عامل الجمع +

#include <iostream>
#include <string>
using namespace std;

int main() {
string firstName = "Ali";
string lastName = "Ahmed";
string fullName = firstName + " " + lastName; // دمج النصوص

cout << "Full Name: " << fullName << endl;

return 0;
}


4️⃣ المقارنة (Comparison)

يمكن مقارنة نصوص باستخدام العوامل العلائقية مثل ==, !=, <, >, إلخ.

#include <iostream>
#include <string>
using namespace std;

int main() {
string text1 = "apple";
string text2 = "banana";

if (text1 == text2) {
cout << "The texts are equal." << endl;
} else {
cout << "The texts are not equal." << endl;
}

return 0;
}


5️⃣ الوصول إلى الأحرف (Accessing Characters)

يمكن الوصول إلى الأحرف الفردية في النص باستخدام الأقواس المربعة [].

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello";
cout << "First character: " << text[0] << endl; // الوصول إلى الحرف الأول
cout << "Last character: " << text[text.length() - 1] << endl; // الوصول إلى الحرف الأخير

return 0;
}


6️⃣ طول النص (Length)

يمكن الحصول على طول النص باستخدام الدالة ()length أو ()size.

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
cout << "Length of text: " << text.length() << endl; // طول النص
cout << "Size of text: " << text.size() << endl; // نفس النتيجة

return 0;
}


7️⃣ البحث في النص (Searching)

يمكن البحث عن نص فرعي (Substring) باستخدام الدالة ()find.

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
size_t pos = text.find("World"); // البحث عن "World"

if (pos != string::npos) {
cout << "Found at position: " << pos << endl;
} else {
cout << "Not found." << endl;
}

return 0;
}


8️⃣ استبدال النص (Replacing)

يمكن استبدال جزء من النص باستخدام الدالة ()replace.

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:
Updated Text: Hello, C++!
9️⃣ . استخراج النص الفرعي (Substring)

يمكن استخراج جزء من النص باستخدام الدالة ()substr.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string text = "Hello, World!";
    string sub = text.substr(7, 5);  // استخراج "World"

    cout << "Substring: " << sub << endl;

    return 0;
}

📟 النتيجة على الشاشة:
Substring: World


5. أمثلة عملية

🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)

#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;

int main() {
string text = "hello, world!";
transform(text.begin(), text.end(), text.begin(), ::toupper); // تحويل النص إلى أحرف كبيرة

cout << "Uppercase Text: " << text << endl;

return 0;
}


🔮 مثال 2: برنامج لعكس النص (Reverse)

#include <iostream>
#include <string>
#include <algorithm> // لتضمين reverse
using namespace std;

int main() {
string text = "Hello, World!";
reverse(text.begin(), text.end()); // عكس النص

cout << "Reversed Text: " << text << endl;

return 0;
}


6. الخلاصة العامة لإستخدام string

• الكلاس std::string تُستخدم لتمثيل النصوص والتعامل معها في C++.

• تدعم العديد من العمليات مثل القراءة، الكتابة، التسلسل، المقارنة، الوصول إلى الأحرف، البحث، الاستبدال، واستخراج النصوص الفرعية.

• استخدام std::string يجعل التعامل مع النصوص أكثر مرونة وأمانًا مقارنة بمصفوفات الأحرف.

#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus

#الدرس_الثاني_عشر_سي_بلس_بلس
#المستوى_الأول

الرجاء متابعة قناتنا  👇
@artificial_AI_intelligence


🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >>  رواه مسلم.

🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
الدوال الشائعة للتعامل مع النصوص (Strings) في لغة C++ باستخدام  | الدرس الثالث عشر

🌷 سأقدم لكم شرحًا مفصلاً عن الدوال الشائعة للتعامل مع النصوص (Strings) في لغة C++ باستخدام std::string. و سأذكر لكم أكثر الدوال استخدامًا مع أمثلة توضيحية.
1. الدوال الشائعة للتعامل مع النصوص

🔰 الدالة ()length أو ()size

🔸️ الهدف: الحصول على طول النص (عدد الأحرف).

🔹️ الصيغة:
int length = text.length();
int size = text.size();

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
cout << "Length: " << text.length() << endl; // 13
cout << "Size: " << text.size() << endl; // 13

return 0;
}

📟 النتيجة على الشاشة:👇
Length: 13
Size: 13


🔰 الدالة ()empty

🔸️ الهدف: التحقق مما إذا كان النص فارغًا.

🔹️ الصيغة:

bool isEmpty = text.empty();

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "";
if (text.empty()) {
cout << "The text is empty." << endl;
} else {
cout << "The text is not empty." << endl;
}

return 0;
}

📟 النتيجة على الشاشة:👇
The text is empty.


🔰 الدالة ()clear

🔸️ الهدف: مسح محتوى النص.

🔹️ الصيغة:
text.clear();

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
cout << "Before clear: " << text << endl;

text.clear();
cout << "After clear: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Before clear: Hello, World!
After clear:


🔰 الدالة ()append

🔸️ الهدف : إضافة نص إلى النهاية.

🔹️ الصيغة:
text.append("additional text");

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello";
text.append(", World!");

cout << "Appended Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Appended Text: Hello, World!


🔰الدالة ()compare

🔸️ الهدف: مقارنة نصين.

🔹️ الصيغة:
int result = text1.compare(text2);

النتيجة:

• قيمة صفر 0 إذا كان النصان متساويين.

• قيمة سالبة إذا كان text1 أصغر من text2.

• قيمة موجبة إذا كان text1 أكبر من text2

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text1 = "apple";
string text2 = "banana";

int result = text1.compare(text2);
if (result == 0) {
cout << "The texts are equal." << endl;
} else if (result < 0) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}

return 0;
}

📟 النتيجة على الشاشة:👇
text1 is less than text2.


🔰 الدالة ()find

🔸️ الهدف : البحث عن نص فرعي (Substring) داخل النص.

🔹️ الصيغة:
size_t pos = text.find("substring");

النتيجة: موقع النص الفرعي إذا تم العثور عليه، أو string::npos إذا لم يتم العثور عليه.

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
size_t pos = text.find("World");

if (pos != string::npos) {
cout << "Found at position: " << pos << endl;
} else {
cout << "Not found." << endl;
}

return 0;
}

📟 النتيجة على الشاشة:👇
Found at position: 7


🔰 الدالة ()replace

🔸️ الهدف : استبدال جزء من النص بنص آخر.

🔹️ الصيغة:
text.replace(start, length, "new text");

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, C++!



🔰 الدالة ()substr

🔸️ الهدف : استخراج جزء من النص (Substring).

🔹️ الصيغة:
string sub = text.substr(start, length);

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
string sub = text.substr(7, 5); // استخراج "World"

cout << "Substring: " << sub << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Substring: World
👍1
🔰 الدالة ()insert

🔸️ الهدف : إدراج نص في موضع محدد.

🔹️ الصيغة:
text.insert(position, "text to insert");

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
    string text = "Hello, !";
    text.insert(7, "World");  // إدراج "World" في الموضع 7

    cout << "Updated Text: " << text << endl;

    return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, World!


🔰 الدالة ()erase

🔸️ الهدف : حذف جزء من النص.

🔹️ الصيغة:
text.erase(start, length);

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
text.erase(7, 5); // حذف "World"

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, !



2. أمثلة عملية لمختلف دوال النصوص

🔮 مثال 1: برنامج لتحويل النص إلى أحرف كبيرة (Uppercase)

#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;

int main() {
string text = "hello, world!";
transform(text.begin(), text.end(), text.begin(), ::toupper); // تحويل النص إلى أحرف كبيرة

cout << "Uppercase Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇

Uppercase Text: HELLO, WORLD!


🔮 مثال 2: برنامج لعكس النص (Reverse)

#include <iostream>
#include <string>
#include <algorithm> // لتضمين reverse
using namespace std;

int main() {
string text = "Hello, World!";
reverse(text.begin(), text.end()); // عكس النص

cout << "Reversed Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇

Reversed Text: !dlroW ,olleH



3. الخلاصة العامة لإستخدام دوال النصوص

︎ كلاس std::string توفر العديد من الدوال الشائعة للتعامل مع النصوص مثل length(), empty(), clear(), append(), compare(), find(), re٠place(), substr(), insert(), و erase().

︎ هذه الدوال تجعل التعامل مع النصوص أكثر مرونة وسهولة في C++.

#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus

#الدرس_الثالث_عشر_سي_بلس_بلس
#المستوى_الأول

الرجاء متابعة قناتنا  👇
https://t.me/artificial_AI_intelligence

🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >>  رواه مسلم.

🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍1
مقارنة النصوص وتعديلها في لغة C++  | الدرس الرابع عشر

🌷 نكمل اليوم درس مقارنة النصوص وتعديلها في لغة C++ باستخدام كلاس std::string. بحيث ننهي موضوع النصوص كاملا بشرح مفصل خطوة بخطوة مع أمثلة توضيحية.
🔰 مقارنة النصوص

1️⃣ استخدام عامل المقارنة (==, !=, <, >, <=, >=)

يمكن مقارنة نصوص باستخدام العوامل العلائقية مباشرة.

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text1 = "apple";
string text2 = "banana";

if (text1 == text2) {
cout << "The texts are equal." << endl;
} else if (text1 < text2) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}

return 0;
}

📟 النتيجة على الشاشة:👇
text1 is less than text2.


2️⃣  استخدام الدالة ()compare

توفر كلاس std::string الدالة ()compare لمقارنة نصوص بدقة أكبر.

🔸️ الصيغة:
int result = text1.compare(text2);

🔹️ النتيجة:

• القيمة 0 إذا كان النصان متساويين.
• قيمة سالبة إذا كان text1 أصغر من text2.
• قيمة موجبة إذا كان text1 أكبر من text2.

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text1 = "apple";
string text2 = "banana";

int result = text1.compare(text2);
if (result == 0) {
cout << "The texts are equal." << endl;
} else if (result < 0) {
cout << "text1 is less than text2." << endl;
} else {
cout << "text1 is greater than text2." << endl;
}

return 0;
}

📟 النتيجة على الشاشة:👇
text1 is less than text2.



🔰 تعديل النصوص

1️⃣ إضافة نص (append() أو +=)

يمكن إضافة نص إلى النهاية باستخدام append() أو عامل الإضافة +=.

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello";
text.append(", World!"); // إضافة نص باستخدام append
text += " How are you?"; // إضافة نص باستخدام +=

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, World! How are you?


2️⃣  إدراج نص (()insert)

يمكن إدراج نص في موضع محدد باستخدام الدالة ()insert.

🔸️ الصيغة:
text.insert(position, "text to insert");

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, !";
text.insert(7, "World"); // إدراج "World" في الموضع 7

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, World!


3️⃣ استبدال نص (()replace)

يمكن استبدال جزء من النص بنص آخر باستخدام الدالة ()replace.

🔸️ الصيغة:
text.replace(start, length, "new text");

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
text.replace(7, 5, "C++"); // استبدال "World" بـ "C++"

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, C++!


4️⃣  حذف نص (()erase)

يمكن حذف جزء من النص باستخدام الدالة ()erase

🔸️ الصيغة:
text.erase(start, length);

🔮 مثال:
#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";
text.erase(7, 5); // حذف "World"

cout << "Updated Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Updated Text: Hello, !


5️⃣ تحويل النص إلى أحرف كبيرة أو صغيرة

يمكن تحويل النص إلى أحرف كبيرة (Uppercase) أو صغيرة (Lowercase) باستخدام الدوال ()toupper و ()tolower من مكتبة <algorithm>.

🔮 مثال:

#include <iostream>
#include <string>
#include <algorithm> // لتضمين transform
using namespace std;

int main() {
string text = "Hello, World!";

// تحويل النص إلى أحرف كبيرة
transform(text.begin(), text.end(), text.begin(), ::toupper);
cout << "Uppercase Text: " << text << endl;

// تحويل النص إلى أحرف صغيرة
transform(text.begin(), text.end(), text.begin(), ::tolower);
cout << "Lowercase Text: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
Uppercase Text: HELLO, WORLD!
Lowercase Text: hello, world!
👍3
🔰  أمثلة عملية

🔮 مثال 1: برنامج لمقارنة نصوص وإظهار النتيجة
#include <iostream>
#include <string>
using namespace std;

int main() {
    string text1, text2;

    cout << "Enter the first text: ";
    getline(cin, text1);

    cout << "Enter the second text: ";
    getline(cin, text2);

    if (text1 == text2) {
        cout << "The texts are equal." << endl;
    } else if (text1 < text2) {
        cout << "text1 is less than text2." << endl;
    } else {
        cout << "text1 is greater than text2." << endl;
    }

    return 0;
}

📟 النتيجة على الشاشة:👇
Enter the first text: pro3dev
Enter the second text: learn c++
text1 is greater than text2.


🔮 مثال 2: برنامج لتعديل نص (إضافة، إدراج، استبدال، حذف)

#include <iostream>
#include <string>
using namespace std;

int main() {
string text = "Hello, World!";

// إضافة نص
text.append(" How are you?");
cout << "After append: " << text << endl;

// إدراج نص
text.insert(7, "Beautiful ");
cout << "After insert: " << text << endl;

// استبدال نص
text.replace(7, 9, "Wonderful");
cout << "After replace: " << text << endl;

// حذف نص
text.erase(7, 9);
cout << "After erase: " << text << endl;

return 0;
}

📟 النتيجة على الشاشة:👇
After append: Hello, World! How are you?
After insert: Hello, Beautiful World! How are you?
After replace: Hello, Wonderful World! How are you?
After erase: Hello, World! How are you?


🔰  الخلاصة

مقارنة النصوص: يمكن استخدام العوامل العلائقية (==, !=, <, >, <=, >=) أو الدالة ()compare.

تعديل النصوص: يمكن إضافة (()append أو +=)، إدراج (()insert)، استبدال (()replace)، حذف (()erase)، وتحويل النص إلى أحرف كبيرة أو صغيرة (()transform).

︎ هذه العمليات تجعل التعامل مع النصوص في C++ أكثر مرونة وسهولة.

#برمجة_و_تطوير
#دورة_سي_بلس_بلس
#C_plus_plus

#الدرس_الرابع_عشر_سي_بلس_بلس
#المستوى_الأول

الرجاء متابعة قناتنا  👇
https://t.me/artificial_AI_intelligence

🥰 قال رسول الله ﷺ << إذا مات ابن آدم؛ انقطع عمله إلا من ثلاث: صدقة جارية، أو علم ينتفع به، أو ولد صالح يدعو له >>  رواه مسلم.

🤗 اذا إستفدت من الدرس لا تنسى الدعاء لنا 🤲
👍41
التعامل مع العمليات الحسابية والمنطقية في لغة ++C | الدرس الخامس عشر

🌷 في هذا الدرس سنشرح لك مقدمة شاملة في التعامل مع العمليات الحسابية والمنطقية في الرياضيات والبرمجة، وسأوضح الفرق بينهما وأهميتهما في كتابة البرامج.
🔥1