دورة في الــــ
C++.NET Programming
المحاضرة الثانية بعنوان :
مقدمة عن الـ Namespace
التعرف على cin - cout
ما هو الـ Variables
---------------------
مقدمة عن الـ Namespace
أعتقد بأن ترجمتها هي فضاء الأسماء ... على كلن ... تخيل بأن الكود هو الملف (File) .. فسيكون الـ Namespace هو المجلد (Folder) ...
إذن نقول بأن الـ Folder أي الـ Namespace يستخدم من أجل تخزين الـ File أي الكود ... بشكل مجموعات..
في المحاضرة الأولي : تكلمنا عن المكتبة std وقلنا بأنها تمثل مكتبات الـ standard الموجودة في الـ .Net .. ولأحظنا كيف أننا قمنا بالتصريح عنها في كل جزء من الكود .. وكان الأمر مزعج ... فجاء الحل عن طريق وضع folder يحوي على كل مكتبات الـ Standard .... نعم أقصد الـ Namespace
كود:
using namespace std;
سنتكلم في الدروس القدمة بشئ من التفصيل عنها ... ولأكن يكفي إلى هذه المرحلة أن تعلم التالي:
الـ namespace هي folder تضع فيه الأكواد التي تريد إستخدامها ... ومن فوائدة عدم حدوث المضاربة بين الأسماء ... أي أنني أستطيع التصريح عن نفس الإسم مرتين أو ثلاثة أو ... الخ .. بدون مشاكل ... تخيل بأن هناك شخصين يحملان نفس الإسم وليكن raad ... يكون علاج هذه المشكلة كالتالي:
نضع الإسم raad بداخل namespace1 وأيضاً نضع الشخض الآخر والذي يحمل نفس الإسم وهو raad بداخل الـ namespace2 ...
فسيكون إستدعاء الإسم كالتالي ...
الـ namespace هي folder تضع فيه الأكواد التي تريد إستخدامها ... ومن فوائدة عدم حدوث المضاربة بين الأسماء ... أي أنني أستطيع التصريح عن نفس الإسم مرتين أو ثلاثة أو ... الخ .. بدون مشاكل ... تخيل بأن هناك شخصين يحملان نفس الإسم وليكن raad ... يكون علاج هذه المشكلة كالتالي:
نضع الإسم raad بداخل namespace1 وأيضاً نضع الشخض الآخر والذي يحمل نفس الإسم وهو raad بداخل الـ namespace2 ...
فسيكون إستدعاء الإسم كالتالي ...
كود:
Namespace1.raad
Namespace2.raad
Namespace2.raad
كما ذكرت سنتكلم عن هذا لاحقاً ..
التعرف على cin - cout
قلنا في الدرس الماضي بأن هاتان الجملتان مأخوذتان من مكتبة الـ iostream
Cin تعمل على إدخال المعطيات ...
Cout تعمل على إخراج النتيجة ...
ما هو الـ Variables
أدق تعريف للمتغير هو : إسم مستعار تحجزة في الذاكرة ويعتمد حجمة على الـ Datatype المستخدم ..
لنأخذ هذا المثال ... ونطبق علية التعريف ..
التعرف على cin - cout
قلنا في الدرس الماضي بأن هاتان الجملتان مأخوذتان من مكتبة الـ iostream
Cin تعمل على إدخال المعطيات ...
Cout تعمل على إخراج النتيجة ...
ما هو الـ Variables
أدق تعريف للمتغير هو : إسم مستعار تحجزة في الذاكرة ويعتمد حجمة على الـ Datatype المستخدم ..
لنأخذ هذا المثال ... ونطبق علية التعريف ..
كود:
string name = "RAAD";
int number = 3;
float dec = 8.8f;
int number = 3;
float dec = 8.8f;
إسم المتغير في السطر الأول هو name وفي الثاني هو number وفي الثالث هو dec (الآن ما فائدة هذة الأسماء) قلنا في التعريف بالأعلا بأنها أسماء مستعارة ... عند التصريح عن المتغير (Variable) فإنه يخزن في ذاكرة الكمبيوتر في الـ RAM ,, ونعلم بأن لذاكرة الكمبيوتر عناوين .. تكون هذه العناوين بالعد Hexadecimal ,, يخزن المتغير في الذاكرة بشكل عشوائي .. أي لا يستطيع المبرمج معرفة العنوان الذي يأخذة هذا المتغير ... إلا في حالة إستخدام الـ Pointer سنتكلم في الدروس القادمة ...
إذن فالمبرمج لا يهمه أين يتوضع هذا المتغير في الذاكرة ما دام يعلم إسمة المستعار ...
الـ Datatype وهي التي تمثل نوع البيانات المراد تخزينها في ذاكرة الكمبيوتر .. وهي في مثالنا بالأعلا الـ string والتي تخنص بتخزين الكلمات ... وبعدها الـ int والتي تختص بتخزين الأرقام ... وبعدها الـ float والتي تختص بتخزين الأرقام العشرية ..
لنأخذ المثال التالي :
والذي يطلب من المستخدم إدخال إسمة
ومن ثم يطبع الإسم مع جملة ترحيب ..
إذن فالمبرمج لا يهمه أين يتوضع هذا المتغير في الذاكرة ما دام يعلم إسمة المستعار ...
الـ Datatype وهي التي تمثل نوع البيانات المراد تخزينها في ذاكرة الكمبيوتر .. وهي في مثالنا بالأعلا الـ string والتي تخنص بتخزين الكلمات ... وبعدها الـ int والتي تختص بتخزين الأرقام ... وبعدها الـ float والتي تختص بتخزين الأرقام العشرية ..
لنأخذ المثال التالي :
والذي يطلب من المستخدم إدخال إسمة
ومن ثم يطبع الإسم مع جملة ترحيب ..
كود:
//RAAD
//Welcom
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name = "0";
cout << "Enter your First Name and Press Enter: ";
cin >> name;
cout << name <<" Welcom In C++" ;
cout << endl;
}
//Welcom
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name = "0";
cout << "Enter your First Name and Press Enter: ";
cin >> name;
cout << name <<" Welcom In C++" ;
cout << endl;
}
نلاحظ في المثال أننا إستخدمنا مكتبات الـ string
كود:
#include <string>
والتي تتيح لي إستخدام الـ Datatype من نوع string
عند عمل run فسيظهر لي الشكل التالي:
أكثر أنوع الـ Datatype إستخداماً هي:
String = تمثل الكلمات
Char = تمثل الحروق
Int = تمثل الأرقام
Short = تمثل الأرقام ولاكنها أصغر من الـ int
Long = تمثل الأرقام ولاكنها أكبر من الـ int
Float = تمثل الأرقام العشرية
Double= تمثل الأرقام العشرية ولأكنها أكبر من الـ float
Bool= تمثل القيمتان إما true أو false
لنأخذ مثال آخر .. حيث يطلب البرنامج من المستخدم إدخال حرف ومن ثم إدخال رقم ومن ثما إدخال رقم عشري ..
عند عمل RUN فسيظهر الشكل التالي:
قبل أن نختم بقي شئ آخر ...
حجم الـ Datatype يعتمد على النظام الذي تعمل علية أي هل هو bit64 او bit32 أو bit16 ... ولمعرفة كم يبلغ حجم الـ Datatype في جهازك ... فنستطيع إستخدام الدالة sizeof وتكون كالتالي:
عند عمل run :
بالطبع هذه النتيجة قد تتساوي مع جهازك أو تختلف ... طبعاً القياس هنا بي البايت
---------------------
إلى هنا نكون قد إنتهينا من محاضرة اليوم ..
وعندي إستفسارات ...
هل تؤيد عمل تمارين بآخر الدرس ... ؟؟
هل الدرس (قصير, طويل, متوسط) ؟؟
عند عمل run فسيظهر لي الشكل التالي:
أكثر أنوع الـ Datatype إستخداماً هي:
String = تمثل الكلمات
Char = تمثل الحروق
Int = تمثل الأرقام
Short = تمثل الأرقام ولاكنها أصغر من الـ int
Long = تمثل الأرقام ولاكنها أكبر من الـ int
Float = تمثل الأرقام العشرية
Double= تمثل الأرقام العشرية ولأكنها أكبر من الـ float
Bool= تمثل القيمتان إما true أو false
لنأخذ مثال آخر .. حيث يطلب البرنامج من المستخدم إدخال حرف ومن ثم إدخال رقم ومن ثما إدخال رقم عشري ..
عند عمل RUN فسيظهر الشكل التالي:
قبل أن نختم بقي شئ آخر ...
حجم الـ Datatype يعتمد على النظام الذي تعمل علية أي هل هو bit64 او bit32 أو bit16 ... ولمعرفة كم يبلغ حجم الـ Datatype في جهازك ... فنستطيع إستخدام الدالة sizeof وتكون كالتالي:
عند عمل run :
بالطبع هذه النتيجة قد تتساوي مع جهازك أو تختلف ... طبعاً القياس هنا بي البايت
---------------------
إلى هنا نكون قد إنتهينا من محاضرة اليوم ..
وعندي إستفسارات ...
هل تؤيد عمل تمارين بآخر الدرس ... ؟؟
هل الدرس (قصير, طويل, متوسط) ؟؟
__________________