انا المسلم
الرجاء تسجيل الدخول (مع تحيات منتدى انا المسلم )
انا المسلم
الرجاء تسجيل الدخول (مع تحيات منتدى انا المسلم )

انا المسلم


 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول
بسم الله الرحمن الرحيم
أسرة منتدى أنا المسلم تهنئ السادة الأعضاء(مدرين -
مشرفين - أعضاء - زائرين) والأمة الإسلامة
بحلول عيد الفطر المبارك
 
 
 
منتدى أنا المسلم
دقات قلب المرء قائلة له إن العمر دقائق وثواني




https://emadghost.yoo7.com
بسم الله الرحمن الرحيم

تم يحمد الله إفتتاح قسم جديد خاص بأجهزة الريسيفر والدش والكروت والكامات

وأيضاً شفرات ART- SHoWTIME -وإيضاً الجزيرة الرياضية

وسوفت وير جميع إجهزة الريسيفر
      

 

 الفصل الخامس : اتخاذ القرار

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


ذكر
عدد الرسائل : 595
العمر : 42
الموقع : https://emadghost.yoo7.com
المزاج : رايق
 . : الفصل الخامس : اتخاذ القرار 15781610
نقاط : 311
تاريخ التسجيل : 10/05/2008

الفصل الخامس : اتخاذ القرار Empty
مُساهمةموضوع: الفصل الخامس : اتخاذ القرار   الفصل الخامس : اتخاذ القرار I_icon_minitimeالأربعاء أكتوبر 15, 2008 10:52 am


الفصل الخامس : اتخاذ القرار

تعرضنا حتى الآن لبرامج متتالية الأوامر، حيث ينفذ الكمبيوتر العبارات
الموجودة في البرنامج بالترتيب الذي وردت به .

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

وسنتعرض هنا لطرق اتخاذ القرار في لغة الC وكيفية تغيير تسلسل التنفيذ تبعا
للشروط الموضوعة.

العبارة الشرطية البسيطة ( if statement):

تكوين العبارة الشرطية البسيطة كما هو موضح بالشكل


CODE

if ( condition )
statement;



حيث ( condition ) هو الشرط و ( statement ) هو القرار المراد اتخاذه عند
تحقق الشرط المعطى.
وعندما ترغب في تنفيذ أكثر من عبارة بتحقق الشرط نستبدل العبارة التي تمثل
القرار المراد اتخاذه ببلوك به العبارات المراد تنفيذها.
ولتوضيح استخدام العبارة الشرطية البسيطة أنظر البرنامج التالي



CODE

#include
main()
{
float sum;
printf(“\n Enter the Sum : “);
scanf(“%f”,sum);
if (sum >50)
printf (“\n The student had passed”);
}



وفي هذا البرنامج يطبع الكمبيوتر رسالة ليسأل المستخدم عن مجموع الطالب
وبعد ذلك يقوم بمقارنتها بالشرط اللازم للتأكد من النجاح ( وهو تجاوز
المجموع 50 )فإذا تحقق الشرط يطبع الكمبيوتر رسالة للمستخدم يعلمه أن
الطالب ناجح،

العبارة الشرطية الكاملة ( if ……. else statement)

إن اتخاذ القرارات في الحياة العملية ليست بالسهولة التي ذكرت في البرنامج
السابق، إذ نحتاج في معظم الأحيان لاتخاذ اجراء تبعا لشرط معين، واتخاذ
إجراء آخر إذا لم يتحقق هذا الشرط.

لو نظرنا للبرنامج السابق لوجدنا سؤالا ملحا : ماذا لو كان مجموع الطالب
أقل من 50 ؟؟
الاجابة على هذا السؤال هي أن الطالب يكون راسبا. ولكن البرنامج لا يتضمن
أمرا بإعطاء حالة الرسوب، لأننا استخدمنا عبارة الشرط البسيطة والتي تستجيب
لشرط واحد.
وسنتعرض الآن لعبارة مركبة كما في البرنامج التالي:




CODE

#include
main()
{
float sum;
printf(“\n Enter the Sum : “);
scanf(“%f”,sum);
if (sum >50)
printf (“\n The student had passed”);
else
printf(“\n The student had failed”);
}



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



CODE

if ( condition)
statement-1;
else
statement-2;



حيث أن ( condition ) هو الشرط
و ( statement -1 ) هي عبارة النتيجة الأصلية.
و (statement -2 ) هي عبارة النتيجة البديلة.

ومنطق اتخاذ القرار هنا هو : " لو تحقق الشرط يقوم الكمبيوتر بتنفيذ عبارة
النتيجة الأصلية أما لو لم يتحقق الشرط فيقوم الكمبيوتر بتنفيذ عبارة
النتيجة البديلة"

وهكذا -باستخدام العبارة الشرطية الكاملة - تمكننا من اتخاذ القرار لحالتين
متضادتين ، والآن ماذا لو كانت النتيجة الأصلية و النتيجة البديلة تتضمنان
أكثر من أمر للكمبيوتر؟
في هذه الحالة نحتاج إلى احتواء عبارات النتيجة الأصلية بين قوسين من أقواس
البلوكات، وهو الموضح بالشكل




CODE

if ( condition)
{
statement 1;
statement 2;
.
.
statement n;
}
else
{
statement 1;
statement 2;
.
.
statement m;
}



نلاحظ أن عبارة النتيجة تم استبدالها ببلوك النتيجة، والمثال التالي هو
البرنامج السابق بعد تعديل عبارات النتائج لتصبح بلوكات، وذلك ليتمكن
البرنامج من إعطاء تقرير بالنجاح أو الرسوب متضمنا النسبة المئوية باعتبار
المجموع الكلي 1000 في حالة النجاح أو رسالة تفيد بأنه لا يمكن احتساب
النسبة المئوية لطالب راسب.




CODE

#include
main()
{
float sum;
printf(“\n Enter the Sum : “);
scanf(“%f”,sum);
if (sum >50)
{
printf (“\n The student had passed”);
printf(“\n The percentage is : %f”,(sum/1000)*100)
}
else
{
printf(“\n The student had failed”);
printf(“\ There is no percentage for failed student !”);
}
}



لو افترضنا انه قد طلب منك - كمبرمج - عمل برنامج يمكنه احتساب التقديرات
اعتمادا على مجموع الطالب، في هذه الحالة نستخدم عبارة شرطية أيضا ولكن بها
عدد من الشروط وعدد مناظر من النتائج. أو ما يطلق علية العبارة الشرطية
المتدرجة.

والشكل التالي يوضح التكوين العام للعبارة الشرطية المتدرجة



CODE

if ( condition –1)
statement –1;
else if ( condition-2)
statement-2;
else if( condition-3)
statement-3;
………..
else
statement-n;


الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://emadghost.yoo7.com
Admin
المدير العام
المدير العام
Admin


ذكر
عدد الرسائل : 595
العمر : 42
الموقع : https://emadghost.yoo7.com
المزاج : رايق
 . : الفصل الخامس : اتخاذ القرار 15781610
نقاط : 311
تاريخ التسجيل : 10/05/2008

الفصل الخامس : اتخاذ القرار Empty
مُساهمةموضوع: الباقي   الفصل الخامس : اتخاذ القرار I_icon_minitimeالأربعاء أكتوبر 15, 2008 10:54 am



الاختيار متعدد البدائل ( statement switch )
يعتبر الاختيار المتعدد البدائل بديلا للعبارة الشرطية المتدرجة التي
تعرضنا لها سابقا، والواقع أن الاختيار المتعدد البدائل أعد خصيصا ليكون
أسهل استخداما من العبارة الشرطية المتدرجة.ويتميز عنها بأنه أفضل توضيحا.

والشكل التالي يوضح الصورة العامة للاختيار متعدد البدائل


CODE

switch (variable)
{
case value1;
statement 1;
break;
case value2;
statement 2;
break;
case value 3;
statement 3;
break;
……………
default:
statement;
}



وكما نرى فإن الاختيار المتعدد البدائل يبدأ بكلمة ( switch) يليها متغير
الاختيار والذي تحدد قيمته الاختيار الذي سيتم تنفيذه، ويلي ذلك قوس بلوك
كبير يحتوي داخله بلوكات صغيرة كل منها يمثل اختيارا من البدائل المطروحة و
كل بلوك من بلوكات البدائل يبدأ بكلمة ( case ) متبوعة بقيمة لمتغير
الاختيار - والتي تمثل الشرط - وبعد ذلك تأتي عبارة النتيجة.

ويختتم بلوك البديل بكلمة ( break) والغرض من هذه الكلمة هو منع الكمبيوتر
من تنفيذ عبارة النتيجة التالية!!!
وقد تبدو هذه العبارة غريبة للوهلة الأولى ويتبادر للذهن سؤال ملح : ألم
يتحقق الشرط الأول مثلا فماذا يدفع الكمبيوتر لتنفيذ بقية عبارات النتائج؟؟
والإجابة عن هذا السؤال هي أن عبارة الاختيار متعدد البدائل لا ترسل
للكمبيوتر أمرا بالتوقف بعد تحقق أي شرط فيها، لذا لزم الاستعانة بكلمة
(break )

وبعد نهاية بلوكات البدائل تأتي كلمة (default ) متبوعة بعبارة أو بعبارات
ينفذها الكمبيوتر في حالة عدم تحقق أي من الشروط السابقة.

الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://emadghost.yoo7.com
 
الفصل الخامس : اتخاذ القرار
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» احكام التجويد (الفصل الخامس في حكم الميم الساكنة، وحكم النون والميم المشددتين)
» التدريبـــــــــــات - الجزء الاول
» الفصل الرابع : المؤثرات
» الفصل الثالث : الإدخال و الإخراج ( I/O )
» الفصل السادس : الحلقات التكرارية

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
انا المسلم :: (`'·.¸ (`'·.¸* البـرمجـة * ¸.·'´) ¸.·'´) :: Turbo C plus plus- c-
انتقل الى: