الدرس العاشر

الناقل : mahmoud | المصدر : www.kettaneh.net

وفي هذا الدرس سنكمل إن شاء الله الشكل الثالث ، وبعض الإختصارات للعمليات الحسابية :
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 > 8)

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


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

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

 

C#
while( condition ) 

{

      statement 

}



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

 

C#
do

{

       statement

} while( Condition ) ;



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

 

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

 
C#
int  counter = 1; 



do { Console.WriteLine(counter); counter++; }while(counter <= 5);



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

 

MS-DOS
1

2

3

4

5

Press any key to continue