قسم لغات البرمجة php java c++ جافا Visual Basic فيجوال بيسك c# Delphi دلفي API PERL HTML و TML JavaScript ASP XML Oracle اوركال MySql sql server Access

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 29-03-2018, 05:21 PM المشاركة 1   
افتراضي مدخل البرمجة بلغة السى شارب وتطبيقات الكونسول Console Applications Twitter FaceBook Google+



مدخل البرمجة بلغة السى شارب وتطبيقات الكونسول Console Applications
أولا : مقدمة :

معظم تطبيقات لغة السى شارب تعالج معلومات (مدخلات) وتعرض النتائج (مخرجات) . في هذا الدرس ، سوف نقدم تطبيقات "الكونسول" console والتى تكون مدخلاتها ومخرجاتها عبارة عن نصوص text في نافذة الكونسول ، وهى نافذة سوداء تشبة نظام التشغيل DOS وتعرف فى نظام النوافذ باسم "موجه الأوامر" Command Prompt .
سوف نبدأ بالعديد من الأمثلة والتي ببساطة تعرض رسائل messages على الشاشة. ثم نعرض أحد التطبيقات التي تحصل على رقمين من المستخدم ، وتحسب مجموعهما وتعرض النتيجة . ستجري حسابات حسابية مختلفة وتحفظ النتائج لاستخدامها لاحقًا . تحتوي العديد من التطبيقات على منطق إتخاذ القرارات decisions - المثال الأخير في هذا الدرس يوضح أساسيات صنع القرار من خلال عرض كيفية مقارنة الأعداد وعرض الرسائل استنادًا إلى نتائج المقارنة . على سبيل المثال ، يعرض التطبيق رسالة تشير إلى أن رقمين متساويين فقط إذا كان لهما نفس القيمة. سوف نقوم بتحليل كل كود سطر بسطر .


اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 29-03-2018, 06:55 PM المشاركة 2   
افتراضي


ثانيا :تطبيق بسيط على البرمجة بلغة السى شارب C# : عرض سطر من النص Text
يظهر التطبيق وخرجة في الشكل 1 الذي يوضح العديد من الخصائص المهمة للغة C# . يشتمل كل برنامج نقدمه في هذا الدرس على أرقام السطور ، والتي لا تشكل جزءًا من كود C# الفعلي . ( لعرض أرقام السطور إذهب إلى القائمة Tools واختار Options ومنها اختار Text Editor ثم اختار All Languages ومن اليمين حدد Line numbers ) . وسنرى قريبًا أن السطر رقم 10 يقوم بالعمل الحقيقي للتطبيق – أي ، عرض العبارة
Welcome to C# Programming! على الشاشة. نناقش الآن كل سطر من التطبيق – وتسمى هذه العملية بالتجوال خلال الكود .




Code :

كود:
1 	// Fig. 1: Welcome1.cs
2 	// Text-displaying app.
3 	using System;
4
5 	public class Welcome1
6 	{
7 		// Main method begins execution of C# app
8 		public static void Main( string[] args )
9 		{
10 			Console.WriteLine( "Welcome to C# Programming!" );
11 		} // end Main
12 	} // end class Welcome1
1- التعليقات Comments :
السطر رقم 1 :


كود:
// Fig. 1: Welcome1.cs
يبدأ هذا السطر بالأحرف ( // ) ، مشيرا إلى أن ما تبقى من السطر هو تعليق comment . سوف يتم إدراج تعليقات لتوثيق تطبيقاتك وتحسين إمكانية قراءتها. يتجاهل مترجم لغة C# التعليقات ، بحيث لا يتسبب في قيام الكمبيوتر بأي إجراء عند تشغيل التطبيق . سوف نبدأ كل تطبيق بتعليق يشير إلى رقم الشكل واسم الملف الذي تم تخزين التطبيق فيه.
يسمى التعليق الذي يبدأ بـالأحرف // تعليق سطر واحد ، لأنه ينتهي في نهاية السطر الذي يظهر عليه. يمكن أن يبدأ التعليق // أيضًا في منتصف السطر ويستمر حتى نهاية هذا السطر (كما هو الحال في السطور 7 و 11 و 12).

• التعليق المحدد Delimited comments مثل :


كود:
/* This is a delimited comment.
It can be split over many lines */
يمكن تقسيمه على عدة سطور . يبدأ هذا النوع من التعليق بالمحدد delimiter ( /* ) وينتهي بالمحدد ( */ ) . يتم تجاهل كل النص بين المحددات بواسطة المترجم compiler .

أخطاء برمجية : الخطأ رقم 1 :
نسيان أحد المحددات الخاصة بتعليق محدد هو خطأ في بناء الجملة syntax error .يحدث خطأ في بناء الجملة عندما يواجه المترجم الكود الذى ينتهك قواعد لغة C# .
في هذه الحالة ، لا ينتج المترجم ملفًا قابلاً للتنفيذ . بدلاً من ذلك ، فإنه يصدر رسالة خطأ واحدة أو أكثر لمساعدتك في تحديد التعليمات البرمجية غير الصحيحة وإصلاحها . تسمى أخطاء بناء الجملة أيضاً أخطاء المترجم compiler errors ، أوأخطاء وقت الترجمة compile-time errors أو أخطاء الترجمة compilation errors ، لأن المترجم يكتشفها أثناء مرحلة الترجمة . لن تتمكن من تنفيذ تطبيقك حتى تصحح جميع أخطاء بناء الجملة فيه.

السطر رقم 2 :


كود:
// Text-displaying app.

وهو تعليق من سطر واحد يصف الغرض من التطبيق.

2- التوجيه "استخدام" “using” Directive
السطر رقم 3 :

كود:
using System;
عبارة عن "توجيه" directive يستخدم لإخبار المترجم بمكان البحث عن "فئة أو طبقة" class والتى تستخدم في هذا التطبيق . القوة الكبيرة فى الفيجوال سى شارب تكمن فى أنه غنى بمجموعة من الفئات (الطبقات) المعرفة مسبقًا التي يمكنك إعادة استخدامها بدلاً من "إعادة اختراع العجلة". يتم تنظيم هذه الفئات ضمن (تحت) "حيز الأسماء" namespaces – مجموعات مسماة من الفئات ذات الصلة . بشكل جماعي ، تتم الإشارة إلى حيز أسماء الدوت نت NET’s namespaces باسم "مكتبة فئات إطار العمل دوت نت" NET Class Library).( .
يحدد كل توجيه using فضاء (مساحة) اسم تحتوي على فئات محددة مسبقًا يمكن لتطبيقات السى شارب استخدامها.
يشير التوجيه الذي يستخدم في السطر 3 إلى أن هذا المثال يعتزم استخدام الفئات من حيز اسم "النظام" System namespace ، التي تحتوي على فئة "الكونسول" Console class المحددة مسبقًا (التي سيتم مناقشتها بعد قليل) والمستخدمة في السطر 10 ، والعديد من الفئات المفيدة الأخرى .

تلميحات لمنع الوقوع فى الأخطاء 1
نسيان تضمين التوجيه باستخدام using من أجل حيز اسم namespace تحتوي على فئة مستخدمة في تطبيقك عادة ما ينتج عنه خطأ في الترجمة ، يحتوي على رسالة مثل :
“The name 'Console' does not exist in the current context.”
وتعنى الاسم "كونسول" غير موجودة في السياق الحالي . عند حدوث ذلك ، تحقق من أنك قد قمت بتوفير التوجيهات الصحيحة واستخدام أن الأسماء في التوجيهات المستخدمة مكتوبة بشكل صحيح ، بما في ذلك الاستخدام الهجاء الصحيح والحروف الكبيرة والصغيرة.

لكل فئة "دوت نت" (.NET) جديدة نستخدمها ، نشير إلى حيز الاسم namespace التي تقع فيها. تعتبر هذه المعلومات مهمة ، لأنها تساعدك في تحديد أوصاف كل فئة في وثائق الدوت نت . يمكن العثور على نسخة تستند إلى الويب من هذه الوثائق على الرابط
msdn.microsoft.com/en-us/library/ms229335.aspx

يمكن أيضًا الوصول إلى هذا عبر قائمة المساعدة Help . يمكنك النقر فوق اسم أي فئة class أو طريقة (أسلوب) method دوت نت ، ثم الضغط على المفتاح F1 للحصول على مزيد من المعلومات . وأخيرًا ، يمكنك التعرف على محتويات حيز اسم محدد بالانتقال إلى :
msdn.microsoft.com/namespace

لذلك ، يأخذك الرابط msdn.microsoft.com/System إلى وثائق حيز الاسم System .

3- السطور الفارغة Blank Lines والمسافات البيضاء Whitespace
السطر رقم 4 :
هو ببساطة سطر فارغ . تجعل الأسطر الفارغة والمسافات الكود أسهل في القراءة ، وتعرف هى وأحرف التبويب tab باسم المسافات (الفراغات) البيضاء whitespace . تُعرف أحرف المسافات وعلامات التبويب على وجه التحديد بأحرف المسافات البيضاء . يتم تجاهل المسافات البيضاء بواسطة المترجم .


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 29-03-2018 الساعة 06:59 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 29-03-2018, 07:18 PM المشاركة 3   
افتراضي


4- إعلان الفئة Class Declaration

السطر 5

كود:
 public class Welcome1
يبدأ إعلان للفئة Welcome1. يتألف كل تطبيق من إعلان فئة واحدة على الأقل والذى يتم تعريفه من قِبلك – المبرمج . يُعرف هذه باسم الفئات المعرفة من قبل المستخدم . تقدم الكلمة الأساسية (المحجوزة) class إعلانًا للفئة ويتبعها مباشرة اسم الفئة (Welcome1) . يتم حجز الكلمات الأساسية (التي تسمى أحيانًا الكلمات المحجوزة) لاستخدامها بواسطة السى شارب ويتم تهجئتها دائمًا بأحرف صغيرة.

اتفاقية اسم الفئة Class Name Convention
حسبما تم الاتفاق عليه ، تبدأ جميع أسماء الفئات بحرف كبير وبتكبير الحرف الأول من كل كلمة يتضمنها (على سبيل المثال ، SampleClassName). تعرف هذه الاتفاقية باسم غلاف الجمل العلوي upper camel casing . اسم الفئة هو معرف - سلسلة من الأحرف تتكون من حروف وأرقام وشرطات سفلية (_) لا تبدأ برقم ولا تحتوي على مسافات. بعض المعرفات الصالحة هي Welcome1 و identifier و _value و m_inputField1. لا يمثل الاسم 7button معرّفًا صالحًا لأنه يبدأ برقم ، ولا يعد الاسم input field معرفًا صالحًا لأنه يحتوي على مسافة. عادة ، لا يكون المعرف الذي لا يبدأ بحرف كبير هو اسم لفئة. لغة السى شارب C# حساسة لحالة الأحرف - أي يتم التمييز بين الأحرف الكبيرة والصغيرة ، لذا تكون a1 و A1 معرفات مختلفة (ولكن كلاهما صحيح) .

ممارسات برمجية جيدة 1
من خلال ما هو متفق عليه ، ابدأ دائمًا معرّف اسم الفئة بحرف كبير وابدأ كل كلمة لاحقة في المعرّف بحرف كبير.

أخطاء برمجية شائعة 2
لغة السى شارب حساسة لحالة الأحرف. عدم استخدام الأحرف الكبيرة والأحرف الصغيرة بشكل مناسب للمعرف عادة ما يسبب حدوث "خطأ في الترجمة" compilation error .

العبارة :

كود:
public Class
في هذا الدرس ، تبدأ كل فئة نعرفها بالكلمة الرئيسية public . في الوقت الحالي ، ببساطة سوف نحتاج هذه الكلمة. ستعرف المزيد عنها لاحقا . عندما تقوم بحفظ تعريف الفئة على أنها public في ملف ، يكون اسم الملف عادةً هو اسم الفئة متبوعًا بامتداد اسم الملف (.cs) بالنسبة إلى تطبيقنا ، اسم الملف هو Welcome1.cs.

ممارسات برمجة جيدة 2
بموجب ما تم الاتفاق عليه ، يجب أن يكون للملف الذي يحتوي على فئة public واحدة اسم مطابق لاسم الفئة (بالإضافة إلى ملحق .cs ) في كل من التهجئة والكتابة بالأحرف الكبيرة.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 30-03-2018, 11:32 AM المشاركة 4   
افتراضي


5- جسم إعلان الفئة Body of a Class Declaration
القوس الأيسر (فى السطر 6 بالشكل 1 ) ، { ، يبدأ "جسم" كل إعلان لفئة . القوس الأيمن المناظر (فى السطر 12 ) ، } ، يجب أن ينهى كل إعلان لفئة . الأسطر 7-11 يكون بها "فراغات بادئة" indented . هذه الفراغات البادئة عبارة عن فراغات متفق عليها ، وتعتبر من الممارسات البرمجية الجيدة .

تلميحات لمنع الوقوع فى الأخطاء 2
كلما كتبت قوسً الفتح الأيسر ، { ، في تطبيقك ، اكتب على الفور قوس الإغلاق الأيمن ، } ، ثم أعد وضع المؤشر بين الأقواس وخذ المسافة البادئة لبدء كتابة النص الأساسي . هذه الممارسة تساعد على منع الأخطاء بسبب الأقواس المفقودة.

ممارسات برمجية جيدة 3
اجعل المسافة البادئة للجسم بالكامل من كل إعلان فئة عبارة عن "مستوى" واحد من المسافة البادئة بين الأقواس اليسرى واليمنى التي تحدد جسم الفئة . يؤكد هذا التنسيق على بنية تعريف الفئة ويسهّل قراءته. يمكنك السماح لـبيئة التطوير بتنسيق الكود الخاص بك بتحديد Edit> Advanced> Format Document .

ممارسات برمجية جيدة 4
قم بتعيين حجم المسافة البادئة التي تفضلها والتى تتفق عليها ، ثم قم بتطبيق هذه الاتفاقية بشكل موحد. يمكن استخدام المفتاح Tab لإنشاء المسافات البادئة ، ولكن تختلف علامات الجدولة بين برامج تحرير النصوص . نوصي باستخدام ثلاث مسافات لتشكيل كل مستوى من المسافة البادئة. لضبط مسافة tab فى الفيجوال ستوديو ، من القائمة Tools حدد Options ثم من نافذة الخيارات حدد Text Editor ومنه حدد C# وتحته حدد Tabs وفى الجهة اليمنى اكتب حجم التبويب Tab size وحجم المسافات البادئة Indent size ثم اضغط على OK لحفظ هذه الإعدادات .

أخطاء برمجية شائعة 3
إذا لم يحدث تطابق فى أزواج الأقواس ، يتسبب ذلك فى خطأ في بناء الجملة syntax error .

6- الطريقة (الإسلوب أو الدالة ) الرئيسية Main Method
• السطر 7 :

كود:
// Main method begins execution of C# app
وهو تعليق يشير إلى الغرض من الأسطر 8-11 من التطبيق .
• السطر 8 :

[code] public static void Main( string[] args )/code]

هو نقطة البداية لكل تطبيق . تشير الأقواس ( ) بعد المعرف Main إلى أنها كتلة بناء التطبيق وتسمى طريقة method (فى لغات أخرى تسمى دالة) . عادةً ما تحتوي إعلانات الفئة Class على طريقة واحدة أو أكثر. وعادة ما تتبع أسماء الطريقة نفس الاصطلاحات المستخدمة في أسماء الفئات . بالنسبة إلى كل تطبيق ، واحدة من الطرق فى الفئة يجب تسميتها "الرئيسية" Main (والتي يتم تعريفها عادةً كما هو موضح في السطر 8) ؛ وإلا ، لن يتم تنفيذ التطبيق .الطرق Methods قادرة على أداء المهام وإرجاع المعلومات عند إكمال مهامها. تشير الكلمة المحجوزة void (السطر 8) إلى أن هذه الطريقة لن ترجع أى معلومات بعد إكمال مهمتها. لاحقًا ، سنرى أن العديد من الطرق تعيد المعلومات ، وسنتعرف على مزيد من المعلومات حول الطرق ،ونناقش محتويات أقواس Main لاحقا . في الوقت الحالي ، يمكنك ببساطة محاكاة السطر الأول للطريقة Main في تطبيقاتك .

• جسم إعلان الطريقة (الأسلوب) Body of a Method Declaration
يبدأ القوس الأيسر في السطر 9 جسم إعلان الطريقة. القوس الأيمن المقابل يجب أن ينهى جسم الطريقة (السطر 11). يتم وضع مسافة بادئة فى السطر 10 من جسم الطريقة بين الأقواس .

ممارسات برمجية جيدة 5
كما هو الحال مع إعلانات الفئة ، ضع مسافة بادئة للجسم بالكامل لكل طريقة بحيث يكون هناك "مستوى" واحد من المسافة البادئة بين الأقواس اليسرى واليمنى التي تحدد جسم الطريقة.

7- عرض سطر من نص Displaying a Line of Text
• السطر 10 : يعرض سطر من نص

كود:
Console.WriteLine( "Welcome to C# Programming!" );
هذا السطر (العبارة) يرشد الكمبيوتر لتنفيذ إجراء - بمعنى ، عرض سلسلة الأحرف string بين علامتى التنصيص المزدوجة ، والتي تحدد delimit السلسلة. تسمى السلسلة أحيانًا سلسلة أحرف أو رسالة أو سلسلة حرفية. وسوف نشير لها ببساطة "سلسلة" string.
لا يتم تجاهل أحرف المسافات البيضاء في السلاسل بواسطة المترجم .
توفر الفئة Console إمكانيات الإدخال / الإخراج القياسية التي تمكن التطبيقات من القراءة وعرض النص في نافذة الكونسول . تعرض الطريقة Console.WriteLine سطر من النص في نافذة الكونسول . السلسلة في الأقواس في السطر 10 هي الوسيط argument للطريقة . تقوم الطريقة Console.WriteLine بتنفيذ مهمتها وهى عرض وسيطها في نافذة الكونسول . عند اكتمال مهمة الطريقة Console.WriteLine ، يتم وضع مؤشر الشاشة في بداية السطر التالي في نافذة الكونسول (يشير الرمز الوامض إلى مكان ظهور الحرف التالي) . تشبه حركة المؤشر هذه ما يحدث عندما يقوم المستخدم بالضغط على مفتاح Enter أثناء الكتابة في محرر نصوص - ينتقل المؤشر إلى بداية السطر التالي في الملف .

• العبارات Statements
السطر 10 بأكمله ، بما في ذلك Console.WriteLine ، والأقواس ، والوسيط
"Welcome to C# Programming!" في الأقواس والفاصلة المنقوطة ( ، يسمى "عبارة" statement.
تنتهي معظم العبارات بفاصلة منقوطة . عند تنفيذ العبارة في السطر 10 ، فإنها تعرض الرسالة
Welcome to C# Programming! في نافذة الكونسول . تتكون الطريقة method عادة من واحد أو أكثر من العبارات التي تؤدي مهمة هذه الطريقة.


تلميحات لمنع الوقوع فى الأخطاء 3
عندما يقوم المترجم بتسجيل خطأ في بناء الجملة syntax error ، قد لا يكون الخطأ في السطر المشار إليه برسالة الخطأ . أولاً ، تحقق من السطر الذي تم الإبلاغ عن الخطأ به . إذا كان هذا السطر لا يحتوي على أخطاء في بناء الجملة ، فتحقق من عدة أسطر سابقة .

8- مطابقة القوس الأيسر ({) والقوس الأيمن (}) :
قد تجد صعوبة في قراءة أو كتابة أحد التطبيقات لمطابقة الأقواس اليسرى واليمنى{..} التي تحدد جسم إعلان الفئة أو تعريف الطريقة . للمساعدة ، يمكنك تضمين تعليق بعد كل قوس إغلاق يمين (}) والذى ينهى إعلان الطريقة وبعد كل قوس إغلاق يمين والذى ينهى إعلان الفئة. على سبيل المثال :
السطر 11

كود:
} // end Main
يحدد قوس الإغلاق الأيمن للطريقة Main
والسطر 12

كود:
} // end class Welcome1
يحدد قوس الإغلاق الأيمن للفئة Welcome1. تشير كل من هذه التعليقات إلى الطريقة أو الفئة التى ينتهي به قوس أيمن . يمكن أن يساعدك Visual Studio في تحديد موقع الأقواس المتطابقة في الكود . ببساطة ضع المؤشر مباشرة أمام القوس الأيسر أو مباشرة بعد القوس الأيمن ، وسوف يقوم الفيجوال ستوديو بتسليط الضوء (تمييز) على كلاهما.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2018, 05:36 PM المشاركة 5   
افتراضي


ثالثا : إنشاء تطبيق بسيط فى الفيجوال ستوديو :
الآن وقد قدمنا أول تطبيق كونسول (الشكل 1) ، نقدم شرحًا تفصيليًا ، خطوة بخطوة ، حول كيفية إنشاء هذا البرنامج ، وترجمته ، وتنفيذه باستخدام الفيجوال ستوديو 2015 ، والذي سنشير إليه ببساطة "فيجوال ستوديو" Visual Studio من بعد ذلك .
1- إنشاء تطبيق وحدة التحكم Creating the Console App
بعد فتح الفيجوال ستوديو Visual Studio ، حدد FILE > New Project… لعرض مربع الحوار "مشروع جديد"
New Project (الشكل 3). في الجانب الأيسر من مربع الحوار وتحت Installed > Templates > Visual C# حدد فئة Windows ، ثم في منتصف مربع الحوار ، حدد قالب template "تطبيق كونسول"Console Application .
في حقل "الاسم" Name بمربع الحوار ، أكتب Welcome1 ، ثم انقر فوق OK لإنشاء المشروع . بشكل افتراضي ، سيتم وضع مجلد المشروع في مجلد Documents تحت Visual Studio 2015 \ Projects (يمكنك تغيير هذا المكان ووضعه فى مكان قريب مثل سطح المكتب ) . تحتوي بيئة التطوير الآن على تطبيق كونسول مفتوح ، كما هو موضح في الشكل 4 . تحتوي نافذة التحرير بالفعل على بعض الأكواد التي يوفرها الفيجوال ستوديو . بعض هذه الشفرات مشابهة لتلك الخاصة بالشكل 1 ، والبعض ليس كذلك ، ويستخدم ميزات لم نناقشها بعد. يدرج الفيجوال ستوديو هذا الكود الإضافي للمساعدة في تنظيم التطبيق وتوفير الوصول إلى بعض الفئات الشائعة في المكتبة Class .NET Framework - في هذه المرحلة من الدرس ، لا يعد هذا الكود مطلوبًا أو ملائمًا لمناقشة هذا التطبيق ؛ لذلك يتم حذف كل ذلك.



Fig.3 Creating a Console Application with the New Project dialog.




Fig.4 IDE with an open console app.


يطلق على نظام كود ألألوان الذي يستخدمه الفيجوال ستوديو "تمييز الألوان بناء على بناء الجملة" syntax-color highlighting ويساعدك على التمييز بين عناصر التطبيق بشكل مرئي . على سبيل المثال ، تظهر الكلمات الرئيسية (المحجوزة) باللون الأزرق وتظهر التعليقات باللون الأخضر . يمكنك تخصيص الألوان الموضحة في محرر الكود من خلال تحديد Tools > Options…. ، حيث يعرض مربع الحوار "خيارات" Options ، ثم قم بتوسيع "البيئة" Environment وحدد الخطوط والألوان Fonts and Colors . هنا يمكنك تغيير الألوان لعناصر الكود المختلفة.

2- تغيير اسم ملف التطبيق
بالنسبة للتطبيقات التي نقوم بإنشائها في هذا الدرس ، نقوم بتغيير الاسم الافتراضي لملف كود المصدر (على سبيل المثال ، Program.cs) لإدخال اسم أكثر توصيفا . لإعادة تسمية الملف ، انقر فوق Program.cs في نافذة "مستكشف الحلول" Solution Explorer . يعرض ذلك خصائص ملف التطبيق في نافذة "الخصائص" Properties (الشكل 5). قم بتغيير خاصية اسم الملف File Name إلى Welcome1.cs واضغط على Enter.



Fig.5 | Renaming the program file in the Properties window.

3- كتابة الكود واستخدام التحسس الذكي Writing Code and Using IntelliSense
في نافذة المحرر (الشكل 4) ، استبدل الكود الذي تم إنشاؤه بواسطة الفيجوال ستوديو بالكود من الشكل 1. عندما تبدأ بكتابة اسم الفئة Console (السطر 10) ، يتم عرض نافذة "التحسس الذكى" IntelliSense (الشكل 6a ). أثناء الكتابة ، تسرد IntelliSense عناصر مختلفة تبدأ بالحروف التي كتبتها أو تحتوي عليها. يعرض IntelliSense أيضاً "أداة تلميح" tool tip تحتوي على وصف العنصر المطابق الأول . يمكنك إما كتابة اسم العنصر الكامل (على سبيل المثال ، Console ) ، انقر نقرًا مزدوجًا فوق اسم العنصر في قائمة الأعضاء أو اضغط على المفتاح Tab لإكمال الاسم . بمجرد توفير الاسم الكامل ، يتم إغلاق نافذة IntelliSense. بينما تكون نافذة IntelliSense معروضة ، الضغط على مفتاح Ctrl يجعل النافذة شفافة حتى تتمكن من رؤية الكود خلف النافذة.
عند كتابة النقطة (.) بعد Console ، تظهر نافذة IntelliSense وتعرض فقط أعضاء الفئة Console التي يمكن استخدامها على يمين النقطة (الشكل 6b ).



Fig.6a | IntelliSense


Fig.6b | IntelliSense

عندما تقوم بكتابة حرف "قوس الفتح" ‘ ( ‘ بعد Console.WriteLine ، يتم عرض نافذة "معلومات البارامترات" Parameter Info (الشكل 7) ، تحتوي هذه النافذة على معلومات حول بارامترات "الطريقة" method ، كما ستعرف لاحقا ، يمكن أن يكون هناك العديد من إصدارات الطريقة . بمعنى ، يمكن للفئة أن تحدد (تعرف) عدة طرق لها نفس الاسم ، طالما أنها تحتوي على أعداد numbers و / أو أنواع types مختلفة من البارامترات — وهو مفهوم يُعرف باسم الطرق الزائدة overloaded methods ؛ فهذه الطرق عادة ما تؤدي جميعها مهام متشابهة. تشير نافذة المعلومات إلى عدد الإصدارات المتوفرة للطريقة المحددة وتوفر أسهمًا لأعلى ولأسفل للتمرير خلال الإصدارات المختلفة ، على سبيل المثال ، هناك 19 إصدارًا من الطريقة WriteLine - نستخدم أحد هذه الإصدارات التسعة عشر في التطبيق الخاص بنا. تعد نافذة المعلومات إحدى الميزات العديدة التي يوفرها الفيجوال ستوديو لتسهيل تطوير التطبيق ، وفي الدروس المتعددة التالية ، سنتعرف على المزيد عن المعلومات المعروضة في هذه النوافذ . نافذة معلومات البارامترات مفيدة بشكل خاص عندما تريد أن ترى الطرق المختلفة التي يمكن من خلالها استخدام طريقة ما. من الكود في الشكل1 ، نعلم بالفعل أننا نعتزم عرض سلسلة واحدة بالطريقة WriteLine ، لذلك ، لأنك تعرف بالضبط أي إصدار من WriteLine تريد استخدامه ، يمكنك ببساطة إغلاق نافذة معلومات البارامترات عن طريق الضغط على المفتاح Esc.


Fig.7 | Parameter Info window.

4- حفظ التطبيق Saving the App
بعد كتابة كود التطبيق ، حدد FILE> Save All لحفظ المشروع.

5- ترجمة وتشغيل التطبيق Compiling and Running the App
أنت الآن مستعد لترجمة وتنفيذ تطبيقك. اعتماداً على نوع المشروع ، قد يقوم المترجم بترجمة الكود في ملفات بالامتداد (.exe) (القابل للتنفيذ) أو بالامتداد (.dll) (المكتبة المرتبطة بشكل ديناميكي) أو أحد الامتدادات العديدة الأخرى. تسمى هذه الملفات التجميعات assemblies وهي وحدات التعبئة الخاصة بكود C# المترجم. تحتوي هذه التجميعات على كود "لغة الميكروسوفت الوسيطة " Microsoft Intermediate Language (MSIL) للتطبيق.
لترجمة التطبيق ، حدد BUILD> Build Solution . إذا كان التطبيق لا يحتوي على أخطاء في بناء الجملة ، فسيعمل ذلك على ترجمة تطبيقك وإنشاءه في ملف قابل للتنفيذ (يُسمى Welcome1.exe ، في أحد الأدلة الفرعية للمشروع). لتنفيذ ذلك الملف ، اضغط Ctrl + F5 ، والذي يستدعي الأسلوب الرئيسي Main (الشكل 1) . إذا حاولت تشغيل التطبيق قبل بنائه ، فسيقوم الفيجوال ستوديو بإنشاء التطبيق أولاً ، ثم تشغيله فقط في حالة عدم وجود أخطاء في االترجمة .
العبارة في السطر 10 من الدالة الرئيسية تعرض Welcome to C# Programming! . يوضح الشكل 8 نتائج تنفيذ هذا التطبيق ، المعروض في نافذة الكونسول (موجه الأوامر). اترك مشروع التطبيق مفتوحًا في فى الفيجوال ستوديو ، سوف نعود إليها لاحقًا في هذا الدرس .
ملاحظة : تحتوي نافذة الكونسول عادةً على خلفية سوداء ونص أبيض . أعدنا تكوينها ليكون لها خلفية بيضاء ونص أسود لقابلية القراءة. إذا كنت تريد إجراء ذلك ، فانقر على الرمز في الركن العلوي الأيسر من نافذة الكونسول ، ثم حدد خصائص Properties. . يمكنك تغيير الألوان في علامة التبويب ألوان Colors في مربع الحوار الذي يظهر.



Fig.8 | Executing the app shown in Fig.1.

6- أخطاء فى بناء الجملة Syntax Errors ورسائل الخطأ Error Messages ونافذة قائمة الأخطاء Error List Window
عد إلى التطبيق في الفيجوال ستوديو . أثناء كتابة الكود ، تستجيب بيئة التطوير إما بتطبيق "تمييز لون - بناء الجملة" أو عن طريق إنشاء "خطأ في بناء الجملة" ، مما يشير إلى انتهاك قواعد الفيجوال سى شارب لإنشاء تطبيقات صحيحة (بمعنى ، لا يتم كتابة عبارة أو أكثر بشكل صحيح). تحدث أخطاء بناء الجملة لأسباب مختلفة ، مثل الأقواس المفقودة والكلمات الرئيسية التي بها أخطاء إملائية.
عند حدوث خطأ في بناء الجملة ، تقوم بيئة التطوير بتأشير موقع الخطأ بخط أحمر متعرج وتوفر وصفًا له في نافذة قائمة الأخطاء (الشكل 9). إذا لم تكن نافذة قائمة الأخطاء مرئية في بيئة التطوير ، فحدد VIEW > Error List لعرضها. في الشكل 9 ، حذفنا عن قصد الفاصلة المنقوطة في نهاية العبارة في السطر 10.
تشير رسالة الخطأ إلى أن الفاصلة المنقوطة مفقودة . يمكنك النقر المزدوج على رسالة خطأ في قائمة الأخطاء للانتقال إلى موقع الخطأ في الشفرة.



Fig.9 | Syntax error indicated by the IDE.


تلميح لمنع الوقوع فى الأخطاء 4
يمكن أن يؤدي خطأ في بناء جملة واحدة إلى عدة إدخالات في نافذة قائمة الأخطاء. يمكن أن يؤدي كل خطأ تعالجه إلى إزالة عدة رسائل خطأ لاحقة عند إعادة ترجمة تطبيقك . لذلك عندما ترى خطأ تعرف كيفية إصلاحه قم بتصحيحة ثم إعادة الترجمة ، فقد يؤدي ذلك إلى اختفاء العديد من الأخطاء الأخرى.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2018, 07:26 PM المشاركة 6   
افتراضي


رابعا : تعديل تطبيق C# البسيط
نواصل فى هذا القسم تقديمنا للبرمجة بلغة السى شارب مع مثالين لتعديل مثال الشكل 1.
1- عرض سطر واحد من النص بعبارات متعددة Multiple Statements
تستخدم الفئة "مرحبا 2" Class Welcome2 ، كما هو موضح في الشكل 10 ، عبارتين لإنتاج نفس الناتج كما هو موضح في الشكل 1. من هذه النقطة ، نسلط الضوء على الميزات الجديدة والرئيسية في كل قائمة كود ، كما هو موضح في السطور 10-11 من الشكل 10.

كود:
1 	 // Fig.10: Welcome2.cs
2 	 // Displaying one line of text with multiple statements.
3  	using System;
4
5  	public class Welcome2
6  	{
7 		// Main method begins execution of C# app
8 		public static void Main( string[] args )
9 		{
10 	   		Console.Write( "Welcome to " );
11 	   		Console.WriteLine( "C# Programming!" );
12 		}  // end Main
13 	} // end class Welcome2

Output

Welcome to C# Programming!

Fig. 3.10 | Displaying one line of text with multiple statements.
التطبيق متطابق تقريبًا مع الشكل 1. نناقش التغييرات .
السطر 2

كود:
// Displaying one line of text with multiple statements.
تعليق ينص على الغرض من هذا التطبيق .
السطر 5 يبدأ إعلان الفئة Welcome2 .
السطور 10-11 جسم الطريقة (الدالة) Main

كود:
Console.Write( "Welcome to " );
Console.WriteLine( "C# Programming!" );
وهى تعرض سطر واحد من النص في نافذة الكونسول . تستخدم العبارة الأولى الطريقة Write من الفئة Console لعرض سلسلة . على عكس WriteLine ، بعد عرض وسيطه ، لا يقوم Write بوضع مؤشر الشاشة في بداية السطر التالي في نافذة الكونسول - سيظهر الحرف التالي الذي يعرضه التطبيق فورًا بعد الحرف الأخير الذي تعرضه Write. وبالتالي ، يضع السطر 11 أول حرف في وسيطه (الحرف "C") مباشرة بعد الحرف الأخير الذي يعرضه السطر 10 (حرف المسافة قبل حرف الإغلاق المزدوج الخاص بالسلسلة). تستأنف كل عبارة Write عرض الأحرف من حيث آخر عبارة Write عرضت آخر حرف لها .

2- عرض سطور متعددة من النص بعبارة واحدة
يمكن أن تعرض عبارة واحدة أسطر متعددة باستخدام أحرف "سطر جديد" \n ، والتي تشير إلى الطرق Write و WriteLine من الفئة Console عندما يجب وضع مؤشر الشاشة فى بداية السطر التالي في نافذة الكونسول . مثل أحرف المسافات وأحرف التبويب ، أحرف السطر الجديد هي أحرف بيضاء. يقوم تطبيق الشكل 11 بإخراج أربعة أسطر من النص ، باستخدام أحرف السطر الجديد للإشارة إلى وقت بدء كل سطر جديد.


كود:
1 	  // Fig. 11: Welcome3.cs
2 	  // Displaying multiple lines with a single statement.
3   	using System;
4
5   	public class Welcome3
6 	{
7      		// Main method begins execution of C# app
8      		public static void Main( string[] args )
9      		{
10          		Console.WriteLine( "Welcome \nto\nC#\nProgramming!" );
11     		} // end Main
12  	} // end class Welcome3

Output

Welcome
to
C#
Programming!
Fig.11 | Displaying multiple lines with a single statement.

معظم التطبيق مماثل لتطبيقات الشكل 1 والشكل 10 ، لذلك سوف نناقش التغييرات فقط .
السطر 2

كود:
// Displaying multiple lines with a single statement.
تعليق ينص على الغرض من هذا التطبيق .
السطر 5 يبدأ تعريف فئة Welcome3.
السطر 10

كود:
Console.WriteLine( "Welcome\nto\nC#\nProgramming!" );

يعرض أربعة أسطر منفصلة من النص في نافذة الكونسول . عادةً ، يتم عرض الأحرف في سلسلة تماماً كما تظهر بين علامات الاقتباس المزدوجة. مع ذلك ، لاحظ أن الحرفين \ و n (مكرران ثلاث مرات في العبارة) لا يظهران على الشاشة.
يسمى الخط المائل العكسي (\) حرف الهروب escape character. وهو يشير إلى شارب #C أن "حرف خاص" موجود في السلسلة. عندما تظهر شرطة مائلة عكسية في سلسلة من الأحرف ، يجمع السى شارب الحرف التالي مع الخط المائل العكسي لتشكيل تسلسل هروب . تسلسل الهروب \n يمثل حرف السطر الجديد . عندما يظهر حرف السطر الجديد في سلسلة يتم إخراجها باستخدام طرق الفئة Console ، يؤدي حرف السطر الجديد إلى تحريك مؤشر الشاشة إلى بداية السطر التالي في نافذة الكونسول . يسرد الشكل 12 العديد من تسلسلات الهروب الشائعة ويصف كيف تؤثر على عرض الأحرف في نافذة الكونسول .



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2018, 07:51 PM المشاركة 7   
افتراضي


خامسا : تنسيق النص باستخدام الطرق Console.Write و Console.WriteLine
الطرق Write و WriteLine للفئة Console أيضا لديها القدرة على عرض البيانات المنسقة.
الشكل 13 يخرج السلاسل "Welcome to" و "C# Programming!" باستخدام WriteLine .


كود:
 1 	//   Fig. 13: Welcome4.cs
2 	//   Displaying multiple lines of text with string formatting.
3     	using System;
4
5         public class Welcome4
6   	{
7       		// Main method begins execution of C# app
8       		public static void Main( string[] args )
9       		{
10            		Console.WriteLine( "{0}\n{1}", "Welcome to", "C# Programming!" );
11       	} // end Main
12  	} // end class Welcome4

Output

Welcome to
C# Programming!

Fig. 13 | Displaying multiple lines of text with string formatting.
السطر 10 :

كود:
Console.WriteLine( "{0}\n{1}", "Welcome to", "C# Programming!" );
يستدعى الطريقة Console.WriteLine لعرض خرج التطبيق . استدعاء الطريقة (الدالة) يحدد ثلاث وسائط arguments .عندما تتطلب الطريقة وسائط متعددة ، يتم الفصل بين الوسائط بفواصل (,) - تُعرف هذه القائمة باسم قائمة مفصولة بفواصل.

ممارسة البرمجة الجيدة 6
ضع مسافة بعد كل فاصلة (,) في قائمة الوسائط لجعل التطبيقات أكثر قابلية للقراءة.

تنتهي معظم العبارات بفاصلة منقوطة ( . لذلك ، يمثل السطر 10 عبارة واحدة فقط . يمكن تقسيم العبارات الكبيرة عبر عدة خطوط ، ولكن هناك بعض القيود .

أخطاء برمجية شائعة 4
تقسيم عبارة في وسط معرف أو سلسلة يعتبر خطأ في بناء جملة.

السلاسل المنسقة وعناصر التنسيق Format Strings and Format Items :
الوسيط الأول في الطريقة WriteLine هو سلسلة منسقة والتى قد تتكون من "نص ثابت" و"عناصر التنسيق" . النص الثابت يتم إخراجة بواسطة الدالة WriteLine ، كما هو موضح مثال الشكل 1. كل عنصر تنسيق هو عنصر "نائب لقيمة" placeholder . قد تحتوي عناصر التنسيق أيضًا على معلومات تنسيق اختيارية.
يتم تضمين (إحتواء) عناصر التنسيق في أقواس متعرجة {} وتحتوي على أحرف تخبر الطريقة أى وسيط تستخدم وكيفية تنسيقه . على سبيل المثال ، يعد عنصر التنسيق {0} عنصرًا نائبًا للوسيط الإضافى الأول (نظرًا لأن C# يبدأ العد من 0) ، {1} هو عنصر نائب للوسيط الإضافى الثاني وهكذا. تعيّن سلسلة التنسيق في السطر 10 أنه يجب على الطريقة WriteLine إخراج الوسيطين وأن الأول يجب أن يتبعه حرف السطر الجديد. لذلك هذا المثال يحل "Welcome to" محل {0} ويحل "C# Programming!" محل {1}. يظهر الخرج أنه يتم عرض سطرين من النص . لأن الأقواس في سلسلة منسقة تشير عادة إلى عنصر نائب لاستبدال النص ، فيجب أن تكتب اثنين من الأقواس اليسرى ({{) أو اثنين من الأقواس اليمنى (}}) لإدراج قوس يسار أو يمين واحد في سلسلة منسقة ، على التوالي . نقدم ميزات تنسيق إضافية عند الحاجة إليها في الأمثلة.


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 01-04-2018, 11:24 AM المشاركة 8   
افتراضي


سادسا : تطبيق C# آخر : جمع الأعداد الصحيحة Adding Integers
التطبيق التالي يقرأ reads (أو يدخل inputs ) عددين صحيحين (الأعداد الصحيحة ، مثل –22, 7, 0 , 1024 ) تكتب بواسطة المستخدم عن طريق لوحة المفاتيح ، ويحسب مجموع القيم ويعرض النتيجة.
هذا التطبيق يجب أن يتعقب الأعداد المقدمة من المستخدم للحساب لاحقًا في التطبيق . تحفظ التطبيقات الأعداد numbers والبيانات الأخرى في ذاكرة الكمبيوتر وتصل إلى تلك البيانات من خلال عناصر التطبيق التي تسمى المتغيرات variables . يوضح تطبيق الشكل 14 هذه المفاهيم . في عينة الخرج ، تم تمييز البيانات التي يدخلها المستخدم من على لوحة المفاتيح بخط غامق bold .

كود:
1 	// Fig. 14: Addition.cs
2	 // Displaying the sum of two numbers input from the keyboard.
3 	using System;
4
5
public class Addition
6 	{
7 		// Main method begins execution of C# app
8 		public static void Main( string[] args )
9 		{
10 			int number1; // declare first number to add
11 			int number2; // declare second number to add
12 			int sum; // declare sum of number1 and number2
13
14 			Console.Write( "Enter first integer: " ); // prompt user
15 			// read first number from user
16			number1 = Convert.ToInt32( Console.ReadLine() );
17
18 			Console.Write( "Enter second integer: " ); // prompt user
19 			// read second number from user
20 			number2 = Convert.ToInt32( Console.ReadLine() );
21
22 			sum = number1 + number2; // add numbers
23
24 			Console.WriteLine( "Sum is {0}", sum ); // display sum
25 		} // end Main
26 	} // end class Addition

Output

Enter first integer: 45
Enter second integer: 72
Sum is 117

Fig. 3.14 | Displaying the sum of two numbers input from the keyboard.

• التعليقات Comments
السطور 1-2 :

كود:
// Fig. 14: Addition.cs
// Displaying the sum of two numbers input from the keyboard.
• إعلان فئة الجمع Class Addition
السطر 5 :

كود:
public class Addition
يبدأ الإعلان عن فئة "الجمع" class Addition. تذكر أن جسم كل إعلان لفئة يبدأ بقوس الفتح الأيسر ({) (السطر 6) وينتهي بقوس الغلق الأيمن (}) (السطر 26).

• الدالة الرئيسية Function Main
يبدأ التطبيق التنفيذ بالدالة الرئيسية Main (السطور 8-25 ) . يمثل القوس الأيسر (السطر 9) بداية جسم الدالة الرئيسية Main ، ويمثل القوس الأيمن المقابل (السطر 25) نهاية جسم الدالة الرئيسية . تم وضع الطريقة (الدالة) Main بعد مسافة بادئة لمستوى واحد داخل جسم الفئة Addition وتم وضع كود جسم الدالة الرئيسية بعد مسافة بادئة لمستوى آخر لقابلية القراءة .

• إعلان المتغير Declaring Variable number1 :
السطر 10


كود:
int number1; // declare first number to add
عبارة إعلان (تعريف) متغير والتى تحدد "اسم" name (number1) و"نوع" type (int) المتغير المستخدم في هذا التطبيق . المتغير هو موقع في ذاكرة الكمبيوتر حيث يمكن تخزين "قيمة" value للاستخدام لاحقًا في التطبيق . يتم الإعلان عن المتغيرات عادةً باسم ونوع قبل استخدامها . اسم المتغير يمكّن التطبيق من الوصول إلى قيمة المتغير في الذاكرة - الاسم يمكن أن يكون أي معرف صالح (سوف نتعرف على متطلبات التسمية لاحقا) . يحدد نوع المتغير نوع المعلومات المخزنة في ذلك الموقع في الذاكرة ومقدار المساحة التي يجب وضعها جانباً (تخصيصها) لتخزين تلك القيمة. مثل العبارات الأخرى ، تنتهي عبارات التعريف بفاصلة منقوطة ( .

• النوع "عدد صحيح" Type int :
يحدد الإعلان في السطر 10 أن المتغير المسمى number1 هو من نوع int- فهو سيحتوي (يحفظ) على قيم عدد صحيح (الأعداد الصحيحة مثل 7, –11, 0 , 31914 ). نطاق القيم من أجل النوع int يكون –2,147,483,648 (int.MinValue) إلى +2,147,483,647 (int.MaxValue) . سنناقش في وقت قريب الأنواع float, double , decimal ، لتحديد الأعداد الحقيقية real numbers ، والنوع char ، لتحديد الأحرف characters . تحتوي الأعداد الحقيقية على نقاط عشرية ، كما في 3.4, 0.0 , –11.19 .
المتغيرات من نوع float , double تخزن قيم تقريبية لأعداد حقيقية في الذاكرة. المتغيرات من النوع decimal تخزن أعداد حقيقية دقيقة ، لذلك غالبا ما تستخدم المتغيرات decimal مع الحسابات النقدية . تمثل المتغيرات من نوع char الأحرف الفردية ، مثل حرف كبير (على سبيل المثال ، A) ، أو رقم (على سبيل المثال ، 7) ، أو حرف خاص (على سبيل المثال ، * أو%) أو تسلسل هروب (على سبيل المثال ، حرف السطر الجديد ، \n ). غالباً ما تسمى الأنواع مثل int, float, double, decimal , char بالأنواع البسيطة. مسميات النوع البسيط هي كلمات أساسية (محجوزة) ويجب أن تظهر كلها بالأحرف الصغيرة.

• إعلان المتغيرات number2 و sum :
عبارات إعلان المتغيرات فى السطور 11-12 :

كود:
int number2; // declare second number to add
int sum; // declare sum of number1 and number2
وبالمثل ، إعلان المتغيرات number2 و sum لتكون من النوع int.
يمكن تقسيم عبارات تعريف المتغيرات على عدة أسطر ، مع فصل أسماء المتغيرات بفواصل (أي قائمة مفصولة بفواصل بأسماء المتغيرات). قد يتم الإعلان عن عدة متغيرات من نفس النوع في إعلان واحد أو في إعلانات متعددة. على سبيل المثال ، يمكن أيضًا كتابة الأسطر من 10 إلى 12 كما يلي:

كود:
int number1, // declare first number to add
number2, // declare second number to add
sum; // declare sum of number1 and number2


ممارسة البرمجة الجيدة 7
قم بتعريف كل متغير على سطر منفصل . يسمح هذا التنسيق بإدراج التعليق بسهولة بجوار كل إعلان .

ممارسة البرمجة الجيدة 8
إن اختيار أسماء المتغيرات ذات المعنى يساعد الكود على أن يكون موثقا ذاتيًا (بمعنى أنه يمكن فهم الكود ببساطة من خلال قرأته بدلاً من قرأة كتيبات التوثيق أو مشاهدة عدد كبير من التعليقات).

ممارسة البرمجة الجيدة 9
حسب الاتفاقيات ، تبدأ معرفات اسم المتغير بحرف صغير ، وكل كلمة في الاسم بعد الكلمة الأولى تبدأ بحرف كبير. تعرف اتفاقية التسمية هذه باسم غلاف الجمل المنخفض .

• مطالبة (حث) المستخدم للإدخال Prompting the User for Input :
السطر 14 :

كود:
Console.Write( "Enter first integer: " ); // prompt user
تستخدم الطريقة (الدالة) Console.Write لعرض الرسالة "Enter first integer: " . هذه الرسالة تسمى "حث" prompt لإنها توجه المستخدم لأخذ فعل محدد .

• قراءة قيمة من المتغير number1 :
السطر 16 :


كود:
number1 = Convert.ToInt32( Console.ReadLine() );
يعمل في خطوتين . أولاً ، يستدعي الطريقة (الدالة) Console.ReadLine ، التي تنتظر المستخدم لكتابة سلسلة من الأحرف في لوحة المفاتيح والضغط على مفتاح Enter . كما ذكرنا ، بعض الطرق تؤدي مهمة ثم تعيد نتيجة تلك المهمة. في هذه الحالة ، تقوم ReadLine بإرجاع "النص" الذي قام المستخدم بإدخاله. بعد ذلك ، يتم استخدام هذه السلسلة كوسيط للطريقة ToInt32 بالفئة Convert ، والتى تحول هذا التسلسل من الأحرف إلى بيانات من نوع int. في هذه الحالة ، تقوم الدالة ToInt32 بإرجاع تمثيل "عدد صحيح" int لمدخلات المستخدم .

• إمكانية إدخال خاطىء للمستخدم
من الناحية الفنية ، يمكن للمستخدم كتابة أي شيء كقيمة إدخال. سوف تقبلها الدالة ReadLine ثم يتم تمريرها إلى الدالة ToInt32. تفترض هذه الدالة أن السلسلة تحتوي على قيمة عدد صحيح صالحة. في هذا التطبيق ، إذا قام المستخدم بكتابة قيمة لغير عدد صحيح ، فسيحدث خطأ منطقي في وقت التشغيل يسمى "الاستثناء" exception وسيتم إنهاء التطبيق. يقدم C# تقنية تسمى معالجة الاستثناء والتي ستساعدك على جعل تطبيقاتك أكثر قوة من خلال تمكينها من التعامل مع الاستثناءات ومتابعة التنفيذ. يُعرف هذا أيضًا باسم جعل تطبيقك "متسامح الخطأ" . سوف نلقي نظرة أعمق على معالجة الاستثناءات لاحقا .

• تعيين (تخصيص) قيمة للمتغير Assigning a Value to a Variable
في السطر 16 ، يتم وضع نتيجة استدعاء الطريقة (الدالة) ToInt32 (قيمة int) في المتغير number1 باستخدام عامل "التخصيص" أو "التعيين" ، = . تقرأ العبارة "number1 يحصل على القيمة التي تم إرجاعها بواسطة Convert.ToInt32" . العامل ( = ) هو عامل ثنائي ، لأنه يعمل على قطعتين من المعلومات، والتى تُعرف على أنها معاملاته operands - في هذه الحالة ، تكون المعاملات هي number1 ونتائج استدعاء الدالة Convert.ToInt32. تسمى هذه العبارة "عبارة تخصيص أو تعيين " ، لأنها تعيّن قيمة للمتغير. يتم دائمًا تقييم كل شيء على يمين عامل التعيين .

ممارسات البرمجة الجيدة 10
ضع مسافات على جانبي العامل الثنائي لجعل الكود أكثر قابلية للقراءة.

• مطالبة المستخدم لإدخال وقراءة قيمة إلى المتغير number2
السطر 18

كود:
Console.Write( "Enter second integer: " ); // prompt user
يطالب (يحث) المستخدم بإدخال العدد الصحيح الثاني.
السطر 20


كود:
number2 = Convert.ToInt32( Console.ReadLine() );
يقرأ العددً الصحيحً الثانى ويقوم بتعيينه للمتغير number2.

• جمع العدد الأول number1 والعدد الثانى number2 :
السطر 22 :



كود:
sum = number1 + number2; // add numbers



حساب مجموع number1 و number2 وتعيين النتيجة إلى المتغير sum باستخدام عامل التعيين ، =. تتم قراءة العبارة كـما يلى " يحصل sum على قيمة number1 + number2". يتم إجراء معظم العمليات الحسابية في عبارات تعيين . عند مواجهة number1 + number2 ، يتم استخدام القيم المخزنة في المتغيرات في الحساب. عامل الجمع هو عامل ثنائي – معملاته هى number1 و number2 . تسمى الأجزاء من العبارات التي تحتوي على عمليات حسابية بالتعبيرات expressions . في الواقع ، التعبير هو أي جزء من عبارة statement له قيمة مقترنة به. على سبيل المثال ، قيمة التعبير number1 + number2 هي مجموع العددين . وبالمثل ، فإن قيمة التعبير Console.ReadLine() هي سلسلة من الأحرف التي كتبها المستخدم .

• عرض المجموع sum :
بعد إجراء الحساب ، السطر 24

كود:
Console.WriteLine( "Sum is {0}", sum ); // display sum
يستخدم الطريقة Console.WriteLine لعرض المجموع sum . يعد عنصر التنسيق {0} عنصرًا نائبًا للوسيط الأول بعد سلسلة التنسيق . بخلاف عنصر التنسيق {0} ، تكون الأحرف المتبقية في سلسلة التنسيق نصًا ثابتًا. لذا تعرض الطريقة WriteLine التالى "Sum is" ، متبوعة بقيمة المجموع sum (في موضع عنصر التنسيق {0}) وسطر جديد.

• إجراء (أداء) الحسابات في عبارات الإخراج :
يمكن إجراء الحسابات أيضًا داخل عبارات الإخراج . كان من الممكن دمج العبارات في السطور 22 و 24 في العبارة :


كود:
Console.WriteLine( "Sum is {0}", ( number1 + number2 ) );

الأقواس حول التعبير number1 + number2 غير مطلوبة - يتم تضمينها للتوضيح وللتأكيد على أن قيمة التعبير number1 + number2 يتم إخراجها في موضع عنصر التنسيق {0}.

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:33 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025