بسم الله الرحمن الرحيم
الدرس الأول:
المتغيرات وأنواعها :
(أفترض هنا معرفة القارئ بأصول البرمجة في أحدى لغات البرمجة كالسي أو الجافا أو
الفيجوال بيسك أو غيرها .. المهم أن يكون القارئ على علم ولو بشي يسير)
كغيرها من لغات البرمجة تحتوي لغة C#.NET على أنواع مبنية بداخل هذه اللغة
كمتغيرات من نوع Integer و غيرها .
لكن مما ينبغي التنويه إليه أن جميع الأنواع الموجود في لغات .NET لها نفس الأساس .
خذ مثال النوع Integer في C# والنوع Integer في Visual Basic هما في الحقيقة
مشتقان من أصل واحد الذي هو System.Int32 وكذا الحال في أكثر الأنواع الموجودة
بداخل اللغة .
وجيع هذه الأنواع وأي نوع آخر إنما هي في الأصل كائنات مشتقة من الكائن
System.Object
وسأورد هنا جدولا يبين الأنواع الأساسية للمتغيرات في C# :

وإذا أردنا أن نعرف متغير من string مثلا فكل ما علينا كتابته هو :
string myString ; //هنا نقوم بالإسناد myString = "Hello" ;
وهكذا الحال مع كل الأنواع الأخرى .
كما ذكر في الجدول كل نوع الأنواع المعرفة في C# له نظير في بيئة .NET فمثلا النوع
string في C# هو في الحقيقة نوع System.String
ملاحظة هااامة:
بالنسبة لمبرمجي C أو c++ فلا بد من الانتباه إلى أن المتغيرات المنطقية ( Boolean
Variables ) لا تستقبل المتغيرات من نوع Integer أي لا يمكنك فعل شيئا كهذا
bool myBoolean ; myBoolean = 1 ; // هذه العملية غير مسموح بها
المتغيرات المنطقية لا تستقبل قيما غير true or false فقط ! وهذا له حسناته التي
سوف نذكرها في جمل الشرط .
الثوابت وأنواعها :
كما قيل عن المتغيرات يقال عن الثوابت سوى انك لا تستطيع التحكم في المتغير بعد
تعريفه
أي عندما تريد تعريف ثابت من نوع Integer تعمل كالآتي:
const int myConstant = 147 ;
هكذا تكون قد عرفت الثابت myConstant وتستطيع استخدمه لكن بدون الإسناد إليه
.
جمل الشرط :
في أي برنامج مهما صغر حجمه لا بد من استخدام جمل الشرط ..
وجمل الشرط في C# تشابه إلى حد كبير جمل الشرط في C or c++ or Java
if( هنا جملة الشرط ) // إذا تحقق الشرط else // إذا لم يتحقق الشرط
تذكر هنا انه لا بد من وضع جملة الشرط بين قوسين .
وليس من الضروري كتابة جملة else إلا عند الحاجة لها في البرنامج .
ونستطيع أن نضع جملة if أخرى بداخل جملة if مثال:
if( جملة شرط ) // إذا تحقق الشرط else if( جملة شرط أخرى إذا لم يتحقق الشرط الأول ) // إذا تحقق الشرط
هنا خطأ متكرر .
if( جملة شرط ) // يكون هنا أكثر من جملة إذا تحقق الشرط
الحل لا بد من وضع أقواس:
if( جملة شرط )
{
// يسمح هنا بأكثر من جملة إذا تحقق الشرط
}وكذا الحال مع جملة else و else if
ما هي جملة الشرط :
جملة الشرط هي عبارة عن جزين أو أكثر يتم المقارنة بينهما :
مثلا قد تكون جملة الشرط عبارة عن مقارنة بين عددين
مثلا :
لنفرض لدينا عددين a, b كلاهما له نفس القيمة فإن صيغة جملة الشرط تكون
int a = 10, b = 10 ;
if (a == B)
Console.WriteLine("متساويان") ;لا حظ أننا هنا استخدمنا المعامل == ولم نستخدم المعامل = لأن المعامل = يستخدم في
الإسناد والمعامل == يستخدم في المقارنة .
ملاحظة هااااااامة:
ملاحظة هامة لمبرمجي السي جمل الشرط لا بد أن تكون نتيجتها النهائية true or false
ولا يسمع بقيم غير ذلك أي أن الوضع يختلف عما هو عليه في السي حيث أن الجملة في
السي تكون صحيحة مادامت لا تساوي الصفر فإذا ساوت الصفر كانت خاطئة . فيمكن
فعل شيئا كالتالي:
if( i = 1) // هذه الجملة صحيحة دائما لأنها لا تساوي الصفر
أما في C# فلا بد أن تكون النتيجة النهائية عبارة عن true or false ولا يصح
استخدام العبارة
if( i = 1 ) // لا يسمح باستخدام هذه العبارة في سي شارب لأنها عبارة عن متغير عددي // ولكن تستبدل بهذه العبارة if( i == 1 ) // هذه العبارة صحيحة
ونستطيع وضع أكثر من شرط في المقارنة في جملة الشرط مثلا:
if( i != 1 && i != 5 || i == 7 )
بعض المعاملات ومعانيها:
|| هذه تعني أو Or
&& هذه تعني و And
== هذه تستخدم في المساواة وليس الإسناد لاختبار إذا كان متغييرن متساويان فترجع
true وإذا كانا غير متساويين فسترجع false
!= لأختبار إذا كان المتغيرين غير متساويين فإذا كان المتغيرين غير متساويين فترجع true
وإذا كان غير ذلك فترجع false
جمل التكرار:
هناك ثلاثة أنواع من جمل التكرار:
1- جملة التكرار while ..
صيغة الجملة
while( هنا جملة التكرار )
{
..
..
}يستمر التكرار حتى تكون قيمة جملة التكرار خطأ false فإذا كانت خطأ فإن جملة
التكرار تتوقف . ونستطيع الاستغناء عن الأقواس في جملة التكرار إذا كانت الجملة
التي نريد تكرارها جملة واحدة فقط .
مثال:
int a = 3 ;
while( a != 0 )
{
Console.WriteLine( a.ToString ) ;
a-- ;
}هنا نقوم بطباعة المتغيرa ومن ثم انقاص قيمته واحد .
2- جملة do … while :
تختلف جملة do .. while عن جملة while في أن الحلقة سوف يتم تنفيذه مرة
واحدة على الأقل.
مثال:
int a = 0 ;
do
{
Console.ToString( a ) ;
}while ( a != 0 )هنا سوف يتم طباعة المتغير a مع ان قيمته تساوي صفر لأننا استخدمنا الجملة do …
while
3- جملة for :
تختلف الجمل السابقة عن جملة for في أننا لا نعلم عدد المرات التي سوف يستمر
فيها التكرار حتى يتوقف ، أما في جملة for فإننا غالبا ما نكون على علم بعدد
المرات .
تركيب جملة for :
for( هنا يتم تهيئة العداد ; شرط التكرار ; هنا مقدار الزيادة للعداد )
مثال:
سوف نستخدم المثال السابق:
int a = 10 ;
for( int i = 1 ; i <= 5 ; i++ )
{
a-- ;
Console.WriteLine( a.ToString ) ;
}أخر قيمة سوف تكون للمتغير a هي 5 حيث أننا وضعنا عداد اسمه i هذا العداد يستمر
في الزيادة حتى يصل إلى الرقم 5 ثم يتوقف .
بعض المعاملات ومعانيها:
++ هذا العامل يستخدم للزيادة بمقدار واحد
-- هذا العامل يستخدم للنقصان بمقدار واحد
< أصغر من
> أكبر من
<= أصغر من أو يساوي
>= أكبر من أو يساوي
+= هذا المعامل لزيادة المتغير بقيمة معينة مثلاً:
a = 10 ; a += 20 ;
ستصبح القيمة الموجودة في a هي 30 .
-= للنقصان من المتغير كسابقه .
*= للضرب في المتغير نفس عمل السابق.
/= للقسمة.
%= باقي القسمة .
* ضرب
+ زائد
/ قسمة
- ناقص
% باقي القسمة Mod
سوف نتطرق في الدرس القادم بإذن الله إلى الدوال ثم ننتقل بعدها إلى الفئات وهي
الجزء المهم في هذه الدروس .
