Professional Documents
Culture Documents
#8 المتغيرات Variables - البرمجة بواسطة #C - طوّرنِي
#8 المتغيرات Variables - البرمجة بواسطة #C - طوّرنِي
َت عُلُم البرمجِة للمبتدئيَن كليًا بواسطِة – C#المتغيرات الجزء األول
المتغريات Variables
السالُم عليكم ورحمُة اِهلل وبركاته ،وأهًال بكْم في الدرِس الثامن من دروِس سلسلِة َ ،ت عُلِم البرمجِة للمبتدئيَن كليًا بواسطِة السي شارب ،في
البداية أحب أن أشارككم فرحتي ،بحصولي على شهادة مطور معتمد من ،Unityالشركة الرائدة في مجال تطوير األلعاب ،من خالل
محركها الشهير ،Unityوالذي يمكنك بواسطته تطوير ألعاب ،لجميع أنواع المنصات المتوفرة حاليًا ،سواء للـ PCأو الـ ،Mobileأو حتى الـ
Consolesمثل PlayStationوغيرها ،فالشهادة التي حصلت عليها ،ستكون تعزيزًا لما هو معلن على منصة طورني ،حيث ستكون
السلسلة التالية لسلسلة البرمجة هذه ،سلسلة تعلم أساسيات تطوير األلعاب باستخدام محرك األلعاب ،Unityوالتي أعدك أن تقضي أوقاتًا
ممتعة فيها بإذن اهلل ،في هذا الدرْس سنتكلُم عن مفهوم المتغيرات ،Variablesوكيف تقوم بحجز مكان مناسب لمتغيرك في ذاكرة
الحاسوب ،وكيف تقوم بإعطائه قيمًا تستخدمها في تطبيقك ،بالبداية دعنا ننظر إلى المعادلة الموجودة على الشاشة،
x = 8 + 3
فإن قمت بدراسة مادة الحساب ،فالبد أنك شاهدت مثل هذه المعادلة الحسابية ،فإن طلبُت منك أن تقوم بإيجاد قيمة ،xفأنا متأكد أنك
ستجيب من غير تردد أن قيمة المتغير xهي ،5بنفس التحليل الذي استخدمته في المعادلة السابقة ،قم بالنظر الى األسطر البرمجية
الظاهرة على الشاشة:
بإستخدام الخبرة البرمجية التي تمتلكها ،ستجد أن ناتج yسيكون الرقم ،7وهذا بالضبط ما سيتم طباعته على الـ ،Console
كما تعلنا سابقًا عن لغة الـ ،#Cأنها لغة مفهومة للبشر ،فاألسطر الظاهرة على الشاشة ،مطابقة تمامًا لما تعلمناه في المعادالت الرياضية ،عدا
عن أن هناك فاصلة منقوطة في نهاية كل سطر ،وأصبحنا نعرف معناها بناًء على الدروس السابقة ،وستجد نفسك خالل تقدمنا في الدروس
القادمة ،أنك في معظم األحيان ستفهم األسطر البرمجية ،حتى قبل أن أقوم بشرحه لك.
ويمكن للمتغيرات أن تحتوي على قيم متنوعة ،منها العدد الصحيح كما هو في مثالنا الحالي ،ويمكن أن تحتوي على خانة واحدة
فقط ،ويمكن أن تحتوي على فقرات نصية طويلة ،ويمكن أيضًا أن تحتوي على التاريخ والوقت ،أو حتى أنواعًا جديدًة تقوم أنت
بإنشائها ،كما سنالحظ في الدروس القادمة إن شاء اهلل .نعود لمثالنا حيث ستجد أن قيمة المتغيرات هي قيمة عددية ،فقيمة المتغير xهي
العدد الصحيح ،3وقيمة المتغير yهي حاصل جمع قيمة المتغير ،xمضافًا إليها الرقم 4ليصبح اإلجمالي هو العدد الصحيح .7
التطبيق الحالي نظريًا صحيح ،لكنه غير مقبول لدى لغة الـ ،#Cألننا لم نقم بحجز الصندوق الوهمي الخاص بكل متغير .تعرفنا في
الدروس السابقة أنه بعد الـ ،Compile Processسيقوم الـ NET run-time.بتنفيذها ،ومن مسؤولياته األساسية حجز مساحاٍت كافيٍة
في الذاكرة ،للمتغيرات التي قمنا باستخدامها بناًء على نوع قيمها ،ففي مثالنا هنا يجب أن نخبر الـ ،Run-timeبضرورة حجز مساحة
في الذاكرة للمتغيرين ،x,yبما يتناسب مع حجم القيمة العددية لكليهما ،كيف نقوم بذلك؟ هذا ما سوف نتعرف عليه معًا في هذا الدرس
إن شاء اهلل.
إلنشاء مشروع جديد ،سأقوم بتكرار ما قمنا به في الدروس السابقة ،سأذهب إلى قائمة ،File — > New — > Projectومن شاشة New
Projectسأحرص على اختيار ،#Visual Cثم اختيار ،Console Applicationسأقوم بعدها بإعادة تسمية هذا المشروع إلى
،Variablesومن ثم نضغط على زر ،OKليبدأ برنامج الـ Visual Studioبتهيئة مشروعنا الجديد ،ببناء الـ Solutionوالـ Project
بالهيكلية التي تعرفنا عليها في الدرس السابق ،وسأجد ملف Program.csظاهر في وسط الشاشة ،حيث يمكنني البدء بكتابة األسطر
البرمجية ،بين األقواس الموجودة في السطر 12والسطر .14
أنوه أن كل المالحظات التي ذكرتها في الدروس السابقة ،يمكنك تطبيقها متى شعرت بعدم وصول المعلومة ،قم بإيقاف الفيديو وكرره متى
احتجت لذلك ،خذ وقتك حتى تتمكن من تطوير مهارة تمييز الفروقات ،سواًء حالة الحروف الصغيرة Small Letterأو الكبيرة Capital
،Letterأو بالفروقات بين عالمات الترقيم والفواصل والمسافات ،التي سنستخدمها خالل كتابتنا األسطر البرمجية ،قم بتطوير مهارة
المطابقة بين ما أقوُم بكتابتِه على شاشتي ،وبين ما تقوُم أنَت بكتابته على نسختك من برنامج الـ ،Visual Studioوفي حال ظهور
خطوط حمراء متعرجة تحت الجمل ،قم بالتحري بطريقتك الخاصة الكتشاف حٍل لهذا الخطأ.
في السطرين السابقين سألنا الـ ،NET run-time.أن يقوم بحجز مساحة للمتغيرين xو ،yمن النوع intوهي إختصار لكلمة Integerأي
عدد صحيح ،والعدُد الصحيُح هو مصطلٌح في علم الرياضيات ،يمثل العدد الكامل الذي ال كسور عشرية فيه ،فمثًال الرقم 5هو رقم
صحيح ،لكن الرقم 5.6هو رقم غير صحيح ألنه يحتوي على رقم بعد الفاصلة العشرية ،باإلضافة إلى أن النوع Integerفي لغة الـ #C
يمثل األعداد الصحيحة ،فإن القيمة يجب أن تكون بين سالب بليونين وكسور ،وموجب بليونين وكسور ،وهذا حجم القيمة التي يتم
حجزها في الذاكرة لهذا النوع ،أما في حال كنا نحتاج أن نتعامل مع رقم أكبر من القيم السابقة ،فنحن نحتاج إلى نوع غيِر نوِع العدد
الصحيح ،Integerوسنتعرف على األنواع األخرى الحقًا إن شاء اهلل.
بعد الـ ،Variables Declarationدعنا نقوم بإكمال كتابتنا لألسطر البرمجية كما في المثال أول الدرس،
لنتمكن من مشاهدة النتائج قبل خروج البرنامج بسرعة .إن قمنا بتنفيذ التطبيق سنجد أن المخرجات هي نفسها التي توقعناها سابقًا ،كما
نشاهد اآلن على الشاشة أننا حصلنا على قيمة .7إن لم تحصل على هذه القيمة ،قم بإيقاف الفيديو وتتبع ما قمُت بكتابته لتتأكد من صحِة
ما قمَت أنت بكتابته.
اآلن بعد ما قمنا بحجز المتغيرات في السطر رقم 13و ،14قمنا في األسطر 16و 17بإسناد قيم للمتغيرات ،باستخدام إشارة المساواة
= ،وهذه اإلشارة تسمى ،Assignment Operatorوسنتعرف على حاالت خاصة منها في دروس متقدمة إن شاء اهلل .وإشارة المساواة
تقوم بأخذ كل ما على الجانب األيمن وتضعه في الجانب األيسر،
وتطبيق ذلك على مثالنا هنا ،يمكننا القول ،أعطني قيمة 3وضعها في المتغير الذي اسمه ،xوبالمثل في السطر التالي ،نقوم بإضافة قيمة
إلى المتغير ،yعدا أننا نقوم بشيء إضافي هنا ،أال وهو استدعاء قيمة المتغير xأوًال ،فنحن نسأل الحاسوب أن يقوم بالبحث عن موقع
المتغير xفي الذاكرة ،ثم نقوم بأخذ قيمته وجمعها مع الرقم ،4ليتم إسناد القيمة الكلية إلى المتغير .yوفي السطر رقم ،19نقوم بطباعة
قيمة المتغير ،yعلى شاشة الـ Consoleمن خالل استدعاء موقعه في الذاكرة.
لتأكيد ضرورة حجز المتغيرات قبل استخدامها ،سأقوم بتحويل السطر الذي يحتوي على تعريف المتغير xإلى سطر مالحظة ،تعلمنا أنه
لفعل ذلك يلزم إضافة // double slashإلى بداية السطر ،بعد فعل ذلك ،سنالحظ ظهور خطوٍط حمراَء متعرجة ،تحت المتغير في
السطر رقم 16والسطر رقم ،17وإن قمت بوضع مؤشر الفأرة على موضع الخطأ ستجد رسالة:
The name x Does not exist in the current context
والتي تعني أن xغير معّر ف ،ولكنك لربما تقول :لقد قمنا بتعريفه هذا المتغير وها هو في السطر رقم ،13لكن كما اتفقنا في درس
سابق ،أننا بتحويل سطر برمجي إلى جملة مالحظة ،Comment Statementفإننا نخبر مترجم لغة الـ #Cوالمعروف بالـ NET run-.
،timeأن يقوم بتجاهل هذا السطر تمامًا وكأنه غير موجود.
وكأن حال الـ Compilerينظر إلى المتغير xويقول لنا :ما هذا الشيُء هنا؟ من هذا الـ xالذي تتحدث عنه؟ لم أسمع به من قبل ،وال
أعرف ماذا تريد مني أن أفعل به ،إن لم تعطني معلومات أكثر عن هذا المدعو ،xسأرفع العلم األحمر في وجهك ،ولن أدعك تمر تحت هذه
الظروف الغامضة .لكي نقوم بحل المشكلة التالية ،ولكي نرضي السيد الـ Compilerالمحترم ،يجب علينا التراجع عن جملة المالحظة،
لنجعلها جملة صريحة يمكن تنفيذها.
: Variablesالمتغيرات هي صناديق وهمية تتواجد في ذاكرة الحاسوب تحتوي على قيم بأنواع معينة
: Unityمحرك ألعاب بإمكانك تطوير ألعاب عليه سواءًا 2Dأو 3Dويمكن تصديرها لكل المنصات مثل Android, iOS,
Xbox,Playstationوغيرها
: Compile processعملية تحويل األسطر البرمجية التي تقوم بكتابتها إلى تطبيق مخرجات ( EXEأو حسب نوع المشروع) يمكن
نشره للزبائن
.
: Dot Net Run-timeالمكون الرئيسي الذي يعتمد عليه برنامج Visual Studioويتكون من العديد من الطبقات الخدمية
: Projectالمشروع الذي نقوم بتطويره ويكون تحت Solutionواحد فقط
: Newجديد
: Console Applicationتطبيق شاشة سوداء يقوم بطباعة أسطر متتالية وتتميز ببساطتها وقوة أداءها
: solutionالحل البرمجي وهو أعلى وأكبر حاوية للمشروع ،ويمكن أن يتكون من أكثر من
Projects
: Programالبرنامج أو التطبيق الذي تقوم بتطويره
: Small Letterاألحرف اإلنجليزية الصغيرة مثل حرف tالصغير
: Capital Letterاألحرف اإلنجليزية الكبيرة مثل حرف Tالكبير
: Variables Declarationحجز مكان في ذاكرة الحاسوب يتناسب مع نوع المتغير
: intإختصار لـ Integer أي عدد صحيح ال كسور فيه مثل
25
: Console.ReadLineدالة تقرأ جملة كاملة بشرط أن تنتهي بزر اإلدخال
Enter
: Assignment Operatorعالمة المساواة (=) وتقوم بإسناد قيمة ما على الطرف األيمن إلى مكان ما على الطرف األيسر
: Double Slashعالمة ( ) //وتستخدم لتحويل السطر البرمجي إلى جملة مالحظة
: The name x Does not exist in the current contextاإلسم ( ) xغير معرف في القطعة البرمجية الحالية
: Comment Statementجملة مالحظة ،وهي جملة ال يتم تنفيذها وتستخدم لشرح وظيفة األسطر البرمجية
تعليم# تعلم#
osamadeep
C# – الربمجة بواسطةString المتغري النيص#9 – الربمجةProject Files المرشو ملفاُت#7
ِع
C# بواسطة
صناعة األفالم داخل محرك Unity #22مكتبات الدوال – Namespaceالربمجة بواسطة C#
5تعليقات
:yazan
ديسمبر 2017 ,6الساعة 1:55م
رد
:osamadeep
رد
:adm
يوليو 2018 ,11الساعة 12:47م
رد
رد
:osamadeep
تم إرجاعه
رد
ًا
اترك تعليق
لن يتم نشر عنوان بريدك اإللكتروني .الحقول اإللزامية مشار إليها بـ *
االسم *
البريد اإللكتروني *
الموقع اإللكتروني
إرسال التعليق
القائمة الرب يدية
إشترك
3٬669 21٬093
Followers Fans
850 37٬300
Followers Subscribers
األقسام
25 البرمجة
12 مدونة
تعرف اكرث
IntelliSense Game Design Game Design Csharp Console Visual C# C#
تعليم تعلم تطوير األلعاب تطوير برمجة ألعاب Visual Studio Unity Project
سي شارب
Copyright 2023, All Rights Reserved