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


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

 

 الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while

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




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

الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while Empty
مُساهمةموضوع: الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while   الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while Emptyالثلاثاء مارس 25, 2008 5:48 pm

وفي هذا الدرس سنكمل إن شاء الله الشكل الثالث ، وبعض الإختصارات للعمليات الحسابية :
3- التراكيب المتداخلة :
وهي عبارة عن استخدام تركيبة داخل تركيبة . والمثال التالي يوضح الفكرة .
هو برنامج يحسب عدد الرسوب وعدد النجاح لعشرة طلاب .
دعنا نفهم ال pseudocode التالي ثم نترجمه إلى لغة C# :



Initialize passes to zero

Initialize failures to zero

Initialize student to one



While student counter is less than or equal to ten

Input the next exam result



If the student passed

Add one to passes

Else

Add one to failures



Add one to student counter



Print the number of passes

Print the number of failures



If more than eight student passed

Print “ Raise tuition “



أولا سنعرف مجموعة من المتغيرات وإعطاؤها قيم بدائية لأنها كلها عدادات . passes (عدد النجاح ) ، failures (عدد الرسوب ) ، student (عدد الطلاب) .

C#




int passes = 0,

failures = 0,

student = 1,

result;




ملاحظة :
وضعنا القيمة البدائية لل student = 1 لأن شرط ال while سيكون student <= 10 حيث يبدأ من 1 وينتهي عند 10 كما يلي :

C#




while (student <= 10)



//while ستعد حتى 10 وإذا بدأناها من 0 يجب وضع شرط ال student قيمة


while (student < 10)



من غير = وأيضا ً ستعد حتى 10 لذا لا فرق بينهم .

والآن جملة while كاملة :

C#




while (student <= 10)

{

Console.Write("Enter result (1=pass, 2=fail): ");

result = Int32.Parse(Console.ReadLine());

if (result == 1)

passes = passes + 1;

else

failures = failures + 1;

student = student + 1;

}






طالما العداد student أقل أو يساوي 10 نفذ ما يلي :

{

اطبع الجملة التالية : إذا كان الطالب ناجح أدخل الرقم 1 وإذا كان

راسب أدخل الرقم 2

حوّل القيمة المدخلة إلى عدد صحيح (integer) وخزنها في المتغير result

قارن : إذا كانت قيمة المدخل = 1

أضف 1 لعداد الناجحين passes + 1

غير ذلك

أضف 1 لعداد الراسبين failures + 1

قبل الخروج من دارة while أضف 1 لعداد الطلبة student

}



C#




// لإضافة سطر فارغ

Console.WriteLine();

// لطباعة عدد الناجحين

Console.WriteLine("Passed: " + passes);

// لطباعة عدد الراسبين

Console.WriteLine("Failed: " + failures);

// لطباعة جملة ثناء على مستوى التدريس

//.إذا كان عدد الناجحين أكثر من 8

if (passes > Cool

Console.WriteLine("Raise Tuition\n");



وهذا هو البرنامج : تحميل

* تركيبة do/while
وهي تابعة لتركيبة while ، غير أن هناك اختلاف بسيط وهو أن تركيبة while تختبر الشرط ثم تقوم بالتنفيذ وشكلها كالتالي :


C#


while( condition )

{

statement

}



فإذا كان الناتج مخالف للشرط أهملت جملة while بالكامل . أم تركيبة do/while فهي أولا ً تقوم بالتنفيذ ثم ترى إذا ما كان الناتج صحيح أم خاطئ وشكلها كما يلي :


C#


do

{

statement

} while( Condition ) ;



بمعنى : نفذ ما تحتويه ثم اختبر إذا ما تحقق الشرط أعد التنفيذ أم لا فاخرج منها . فهي تنفذ مره واحدة على الأقل. والشكل التالي يوضح طريقة عملها:


الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while Image1001

والبرنامج التالي يوضح الفكرة أكثر :


C#


int counter = 1;



do

{

Console.WriteLine(counter);

counter++;

}while(counter <= 5);



ونتائجه كالتالي :

MS-DOS
1

2

3

4

5

Press any key to continue
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.geocities.com/mtskanso
 
الدرس العاشر : الشكل الثالث 3) التراكيب المتداخله وتركيبة do/while
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-

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