مرحباً بك فى منتديات جمعة نت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


كل ما تبحث عنه موجود هنا فى هذا المنتدى
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 الدرس الثامن : تركيبة if وتركيبة if/else

اذهب الى الأسفل 
كاتب الموضوعرسالة
mahmoud




ذكر
عدد الرسائل : 12
العمر : 41
البلد : egypt
الوظيفة : it
الدعوة : mtskaso@yahoo.com
الدولة : الدرس الثامن : تركيبة if وتركيبة if/else 3dflagsdotcom_egypt_2fawm
تاريخ التسجيل : 15/03/2008

الدرس الثامن : تركيبة if وتركيبة if/else Empty
مُساهمةموضوع: الدرس الثامن : تركيبة if وتركيبة if/else   الدرس الثامن : تركيبة if وتركيبة if/else Emptyالثلاثاء مارس 25, 2008 5:46 pm

في الدرس السابق تحدثنا عن عمليات اتخاذ القرار
وأنها عادة ً ما تستخدم في تركيبة if أو تركيبة if/esle والتي هي محور حديثنا في هذا الدرس .
تحتوي لغة C# على ثلاث أنواع من تراكيب الاختيار :
if : تقوم باختيار الحدث وتنفيذه إذا كان الشرط صحيح (True) ، وتقفز عنه إذا كان الشرط خاطئ(false) ، وتدعى (single-selection structure) أي تركيبة الاختيار المنفرد .
if/else : تقوم باختيار الحدث وتنفيذه إذا كان الشرط صحيح (True) ، وتنفذ حدث آخر إذا كان الشرط خاطئ(false) ، وتدعى (double-selection structure) أي تركيبة الاختيار الثنائية .
switch : تقوم باختيار حدث وتنفيذه من بين مجموعة من الأحداث ، وتدعى
( multiple-selection structure ) .
وثلاث أنواع من تراكيب التكرار :
While , do/while , for , foreach وسنتعرف عليهم لاحقاً . أما في هذا الدرس فسنتعرف على تركيبة if وتركيبة if/else .

ملاحظة :
if , else , switch , While , do/while , for , foreach كلها كلمات محجوزة keywords
والجدول التالي يذكر قائمة الكلمات المحجوزة في C# :


الدرس الثامن : تركيبة if وتركيبة if/else Image801
وسنتعلم معظمها إن شاء الله خلال الدروس .
والآن بسم الله نبدأ :

1- تركيبة if للاختيار:
وهي عبارة عن احتمالين إما تنفيذ ما تحتوي في حالة true أو عدم التنفيذ false .
فلنفرض أن درجة للنجاح في امتحان هي 50 (الدرجة من 100) إذا ًَ خوارزمية التعبير أو الكود الوهمي (pseudocode) سيكون كما يلي :



if student’s grade is grater than or equal to 50

Print “Passed”



إذا كانت درجة الطالب أكبر أو تساوي 50 سيطبع ناجح ، وإذا كانت درجة الطالب أقل من 50 تهمل جملة if وتنفذ الجملة التالية لها .
والآن سنقوم بترجمة ال pseudocode إلى لغة C# حيث يفهمها ال Compiler :

C#


if ( studentGrade >= 50)

Console.WriteLine( “ Passed “) ;



والشكل التالي يوضح عمل تركيبة if :


الدرس الثامن : تركيبة if وتركيبة if/else Image803
2- تركيبة if/else للاختيار :
وهي أيضا ً احتمالين لكن في كلا الحالتين يتم تنفيذ حدث ، وهذا يساعد المبرمج على تحديد حدثين مختلفين بالاعتماد على نتائج الشرط True أم False .
فمثلا ً الكود الوهمي pseudocode التالي :




If student’s grade is greater than or equal to 50

Print “ Passed “

Else

Print “Failed “



سيطبع ناجح (Passed) إذا تحقق الشرط True وهو أن الدرجة أكبر أو يساوي 50 .
وسيطبع راسب (Failed) إذا لم يتحقق الشرط False وهو أن الدرجة أصغر من 50 .
أي أنه لا يهمل جملة if أبدا ً ولا يخرج منها حتى يطبع شيء .
والآن سنترجم هذا ال pseudocode إلى كود C# :

C#


if (StudentGrade >= 50)

Console.WriteLine( “ Passed “) ;

else

Console.WriteLine( “ Failed “) ;


والشكل التالي يوضع طريقة عمل تركيبة if/else الاختيارية :


الدرس الثامن : تركيبة if وتركيبة if/else Image805
* وهناك طريقة أخرى لاستخدام تركيبة if/else وهي (? : ) ، وتحتوي على ثلاث جمل تنفيذية :
جملة الشرط ، جملة التنفيذ الأولى في حالة تحقق الشرط True ، جملة التنفيذ الثانية في حالة عدم تحقق الشرط False ، فإذا أعدنا صياغة جملة if السابقة تصبح كالتالي :

C#


Console.WriteLine( StudentGrade >= 50 ? “ Passed “ : “ Failed “);



* يمكن أيضا ً استخدام تركيبة if/else تركيبة if/else لتنفيذ جملة من عدد من الجمل ، فمثلا ً إذا فهمنا الكود الوهمي pseudocode التالي :




If student’s grade is greater than or equal to 90

Print “ A “

Else

If student’s grade is greater than or equal to 80

Print “ B “

Else

If student’s grade is greater than or equal to 70

Print “ C “

Else

If student’s grade is greater than or equal to 60

Print “ D “

Else

If student’s grade is greater than or equal to 50

Print “ E “

Else

Print “ F “



وحولناه إلى كود C# :

C#




if (studentGrade >= 90)

Console.WriteLine(" A ");

else

if (studentGrade >= 80)

Console.WriteLine(" B ");

else

if (studentGrade >= 70)

Console.WriteLine(" C ");

else

if (studentGrade >= 60)

Console.WriteLine(" D ");

else

if (studentGrade >= 50)

Console.WriteLine(" E ");

else

Console.WriteLine(" F ");


سيقوم بتنفيذ جملة واحدة فقط لا محالة .
ويمكن كتابة الكود بشكل أبسط :

C#




if (studentGrade >= 90)

Console.WriteLine(" A ");

else if (studentGrade >= 80)

Console.WriteLine(" B ");

else if (studentGrade >= 70)

Console.WriteLine(" C ");

else if (studentGrade >= 60)

Console.WriteLine(" D ");

else if (studentGrade >= 50)

Console.WriteLine(" E ");

else

Console.WriteLine(" F ");


وكلاهما يعطي نفس النتائج .
ملاحظة :
* كل جملة else مرتبطة بجملة if سابقة لها .
* إذا احتوت أي تركيبة على أكثر من جملة بداخلها يجب استخدام أقواس المجموعة ( { } ) ، أما إذا احتوت على تركيبة أخرى فقط فليس من الضروري استخدام أقواس المجموعة .

C#




if ( x > 5 )

if ( y > 5 )

Console.WriteLine( “ x and y are > 5 “ ) ;

else

Console.WriteLine( “ x is <= 5 “ ) ;



في هذه الحالة else تعتبر تابعة لل if الثانية أي سيتم تنفيذ الجملة الثانية x is <= 5 في حال y <= 5 وقيمة x > 5 ، أم إذا كانت x <= 5 فستهمل هذه الجملة كلها .
إذا أردنا جعل else تابعة لل if الأولى يجب وضع ما داخل ال if في أقواس كما يلي :

C#




if ( x > 5 )

{

if ( y > 5 )

Console.WriteLine( “ x and y are > 5 “ ) ;

}

else

Console.WriteLine( “ x is <= 5 “ ) ;



والآن تنفذ مجموع الجمل الأولى في حال x > 5 وجملة else في حال x <= 5 .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.geocities.com/mtskanso
 
الدرس الثامن : تركيبة if وتركيبة if/else
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مرحباً بك فى منتديات جمعة نت :: قسم البرمجيات والإنترنت :: قسم البرمجة والإنترنت-
انتقل الى: