تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الفصل (7):- اوامر التكرار والدوران ( شرح مفصل )
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

سيكون درسنا اليوم ان شاء الله عن جمل التكرار والدوران وسيكون عملنا الكلي على الكونسول
ولفتح مشروع كونسول جديد اتبع الصورة التالية :_







لقد قمنا بإيضاح شيء بسيط حول الكونسول في الفصل الاول هنا

والان سوف نتعلم سوياً كيفية استخدام جمل التكرار والدوران داخل هذا الكونسول


ملاحظة هامة :_ المصفوفات غالباً مايتم استخدامها مع جمل التكرار والدوران
لذلك سوف نتعلم ذلك الان

==================================================


اولاً :- ماهي جمل التكرار :-


جمل التكرار :-
باختصار هي جزء من البرنامج يتكرر

فمثلاً اذا اردنا ان نضيف على الكومبو ال قائمة المنسادلة الارقام من
0
إلى
100

فهل من المعقول ان نقوم بكتابة 100 سطر لاجل ذلك ؟؟
بالطبع لا ....

---------------------------------------


وسينتج لنا كود كبير جدأً وبدون اي فائدة منه :- مثل



كود :
[color=#0000BB]ComboBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]1[/color][COLOR=#007700])
[/COLOR][color=#0000BB]ComboBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]2[/color][COLOR=#007700])
[/COLOR][color=#0000BB]ComboBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]3[/color][COLOR=#007700])
[/COLOR]

.
.
.

كود :
[FONT=Verdana][FONT=arial][b]
[color=#0000BB]ComboBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]99[/color][COLOR=#007700])
[/COLOR][color=#0000BB]ComboBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]100[/color][COLOR=#007700])
[/COLOR][/b][/FONT][/FONT]
الان سنجرب ان نضيف اليه الارقام ولكن باستخدام جملة التكرار for مثلاً :-

كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#007700]For [/color][color=#0000BB]i [/color][color=#007700]= [/color][COLOR=#0000BB]1 to 100
ComboBox1[/COLOR][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#0000BB]i[/color][COLOR=#007700])
[/COLOR][color=#0000BB]next [/color]
[/b][/FONT][/FONT][/align]
[/COLOR]
بهذه الكود هنا سوف يقوم بعمل اضافة للاعداد من 1 إلى 100 ولا حظ ان كلمة next تاتي مع حلقة for دائماً


---------------------------------------------



أقسام جمل التكرار:
1-جمل التكرار باستخدام For..Next
2-جمل التكرار باستخدام Do...Loop


-------------------------------


*******************************************

اولاً :- جملة التكرار for --- next



يمكننا استخدام هذه الجملة عندما نريد تكرار التعليمة حسب المراد


فمثلاً كما في المثال السابق حدد انا نريد الارقام من 1 إلى 100 وبهذا صار التكرار معلوماً لدينا


وتكون الصيغة العامة لجملة التكرار for .... next بالشكل التالي :-



كود :
[FONT=Verdana][FONT=arial][b][COLOR=#007700]
For [/COLOR][color=#0000BB]i [/color][color=#007700]= ([/color][color=#0000BB]ٍStartValue[/color][color=#007700]) [/color][color=#0000BB]to [/color][color=#007700]([/color][color=#0000BB]EndValue[/color][COLOR=#007700])
[/COLOR][COLOR=#0000BB]Condition
Next i
[/COLOR][/b][/FONT][/FONT]

>

......................./\/\/\/\\/\/\/...........................



مثلاً هذا الكود لاضافة مصفوفة جديدة ومن خلال جملة التكرار اريدها ان تضع الاسماء التي بداخل المصفوفة
وتكتب في الكونسول

كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b] [COLOR=#0000BB]Dim *****rab[/color][color=#007700]() As [/color][color=#0000BB]String [/color][color=#007700]= {[/color][color=#DD0000]"lo2i"[/color][color=#007700], [/color][color=#DD0000]"ali"[/color][color=#007700], [/color][color=#DD0000]"mohammed"[/color][color=#007700], [/color][color=#DD0000]"samer"[/color][color=#007700], [/color][color=#DD0000]"some one"[/color][COLOR=#007700]}

For [/COLOR][color=#0000BB]i [/color][color=#007700]= [/color][COLOR=#0000BB]0 To 4

Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the name is " [/color][color=#007700]& [/color][color=#0000BB]*****rab[/color][color=#007700]([/color][color=#0000BB]i[/color][COLOR=#007700]))

[/COLOR][COLOR=#0000BB]Next
Console[/COLOR][color=#007700].[/color][color=#0000BB]ReadKey[/color][color=#007700]() [/color]
[/b][/FONT][/FONT][/align]
[/COLOR]
------------------------------------------



قمنا بتعريف مصفوفة جديد وادخلنا فيها القيم التالية -

كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#007700]{[/color][color=#DD0000]"lo2i"[/color][color=#007700], [/color][color=#DD0000]"ali"[/color][color=#007700], [/color][color=#DD0000]"mohammed"[/color][color=#007700], [/color][color=#DD0000]"samer"[/color][color=#007700], [/color][color=#DD0000]"some one"[/color][color=#007700]} [/color]
[/b][/FONT][/FONT][/align]
[/COLOR]
استخدمنا الكلمة المحجوزة
for



قمنا بتنفيذ تكرار جديد واعطينا قيمة له هي ان يبدأ بالعد من الصفر وينتهي ب اربعة
اي 0 1 2 3 4 اي خمس مرات


الصفر رقم منفصل -
الواحد رقم منفصل -
الاثنين رقم منفصل -
الثلاثة رقم منفصل -
الاربعة رقم منفصل –






يمكنك تجريب النتيجة بنفسك الان لعمل ذلك
ولا حظ هنا اننا كتبنا هذا الكود

كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the name is " [/color][color=#007700]& [/color][color=#0000BB]*****rab[/color][color=#007700]([/color][color=#0000BB]i[/color][color=#007700])) [/color]
[/b][/FONT][/FONT][/align]
[/COLOR]
وهو الكود الذي سيقوم بتكرار نفسه خمس مرات على التوالي

ملاحظة هامة جداً :-


سيقوم تكرار العد على العداد الذي نقوم بتعريفه في جملة التكرار
فمثلاً قيمة i
لاول مرة سيكون 0

وبعد وصوله للكلمة المحجوزة next

سوف يعود لبداية التكرار
بعد ان تصبح قيمته 2
وهكذا حتى تصل إلى خمسة
اذا وصل العداد إلى الرقم 5 خرج من جملة التكرار
وادى الاكواد التالية ...

ولا تنسوا انه يمكننا الحصول على القيمة التي بداخل اي مصفوفة من خلال الكود التالي
كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]Textbox1[/color][color=#007700].[/color][color=#0000BB]text [/color][color=#007700]= [/color][color=#0000BB]*****rab[/color][color=#007700]([/color][color=#0000BB]1[/color][color=#007700]) [/color]
[/b][/FONT][/FONT][/align]
[/COLOR]
وسيظهر لنا في التيكست اسم lo2i


طيب لماذا في جملة التكرار لم نقم بكتابة عدد داخل فهرس المصفوفة

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


*********************************************


نعم المسألة بسيطة اكثر مما تتصور
فكما قلنا ان العداد سوف يبدأ من القيمة صفر وهي اول قيمة في المصفوقة ايضاً
لان المصفوفة كمان قيمها تبدأ من العدد ر قم صفر
وعند وصوله اول مرة إلى كلمة next
سوف يذهب إلى ال for
وتكون قيمته 1
وسيعرض لنا القيمة الاولى في المصفوفة التي تأتي بعد الصفر
وهكذا


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


[SIZE=7]ثانياً :- جملة التكرار Do...Loop[/SIZE]


القسم الأول:توضيح الحلقة Do...Loop


هذا التكرار لا يقيدنا بقيم البداية أو النهاية بل يتحدد فقط بتحقق الشرط وبالنسبة للحلقة For..Next نحدد مقدار الزيادة أو النقصان في مقدار العداد

الفرق بين ال for next
و
Do...Loop




الفرق كما ذكرنا في التعريف ان جملة ال for next قمنا بتحديد مقدار الاضافة ومقدار العداد له
اما جملة التكرار do while


فهي غير محددة وينتهي تكرارها بالاعتماد على الشرط التي اعطيته بها

مثلاً في هذا الكود هنا
كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#007700]For [/color][color=#0000BB]x [/color][color=#007700]= [/color][COLOR=#0000BB]o to 2
Msgbox x
Next [/COLOR]
[/b][/FONT][/FONT][/align]
[/COLOR]
ستظهر لنا ثلاث رسايل فيها التالي:-



اقتباس:

الاولى رقم 1

الثانية رقم 2

الثالثة رقم 3

واما الكود التالي لجملة التكرار ال
do ..Loop

كود :
[color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]Dim x [/color][color=#007700]As [/color][COLOR=#0000BB]Integer
x [/COLOR][color=#007700]= [/color][COLOR=#0000BB]0
[/COLOR][color=#007700]Do While [/color][color=#0000BB]Not x [/color][color=#007700]= [/color][COLOR=#0000BB]4
MsgBox[/COLOR][color=#007700]([/color][color=#0000BB]x[/color][COLOR=#007700])
[/COLOR][color=#0000BB]x [/color][color=#007700]= [/color][color=#0000BB]x [/color][color=#007700]+ [/color][COLOR=#0000BB]1
Loop [/COLOR]
[/b][/FONT][/FONT][/align]
[/COLOR]
--------------------



سيقوم الكود التالي بطباعة المسج الرسالة msgbox 3 مرات على التوالي :

وبهذا //؟


اعتقد ان الفرق اصبح واضح الان

.................................................. .....................................



القسم الثاني:جزأي الحلقة Do...Loop



  • [*=center]الحلقة Do While...Loop
    [*=center]الحلقة Do Until...Loop
أولا:الحلقة Do While...Loop
باختصار تقوم هذه الحلقة بتنفيذ التعليمات المحتواة طالما تحقق الشرط وعند فشل الشرط تتوقف هذه الحلقة
مثال بسيط:
كود :
Dim I As Integer = 0 Do While I < 10 Console.Write(I) I = I + 1 Console.WriteLine() Loop Console.ReadKey()

الآن سيقوم البرنامج باختبار الشرط عند اول عملية تنفيذ وسيرى أن الشرط قد تحقق لان صفر اقل من عشرة وهكذا الى ان يصل الرقم تسعة فيزيد البرنامج 1 ويفشل الشرط وبهذا تنتهي الحلقة
والناتج:
0
1
2
3
4
5
6
7
8
9
ثانيا:الحلقة Do Until...Loop
تقوم هذه الحلقة بتنفيذ التعليمات داخل كتلة Do...Loop طالما لم يتحقق الشرط وبمجرد تحققه تتوقف الحلقة(اذن كما نرى فهي تعمل عكس الحلقة Do While...Loop
مثال:
كود :
Dim I As Integer = 0 Do Until I >= 10 Console.Write(I) I = I + 1 Console.WriteLine() Loop Console.ReadKey()

كما نرى فان الشرط هو مضاد تماما للشرط في الحلقة السابقة لكن نتج نفس النتائج بالضبط!!كيف ذلك؟

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

0
1
2
3
4
5
6
7
8
9

القسم الثالث:الفحص قبل الحلقة أو بعد الحلقة

الجزء الأول: الفحص المبدأي: Pre-Test
يقوم البرنامج بفحص الشرط ثم ينفذ الحلقة بعد التحقق من صحة الشرط
مثال: جميع أمثلة Do..Loop السابقة هي من هذا النوع من الفحص

الجزء الثاني:الفحص بعد تنفيذ الحلقة: Posted-Test
يقوم البرنامج بتنفيذ التعليمات لاول مرة ثم يقوم بعد تنفيذ التعليمات للمرة الأولى بفحص الشرط
أي أنه ينفذ التعليمات لاول مرة بالرغم من صحة الشرط المعطى:
مثال: نظام (هل تريد اعادة البرنامج في تطبيقات الكونسول)
الآن سأوضح الفكرة بهذا الكود:

كود :
[align=right][align=left][align=right][align=left][align=right][align=left][align=right][align=left][align=center][align=right][align=center]Dim    again As String Do Console.Write("Do you Want to re-start The    Program?(Y/N)") again = Console.ReadLine() Loop While (again = "Y" Or    again = "y")
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]
[/align]

[b][/CODE]
الآن نخبر البرنامج أول مرة أن يقوم بتنفيذ التعليمات وبعد ذلك يقوم البرنامج بالتحقق من قيمة again التي أدخلناها وقت التنفيذ فاذا كانت تساوي y أو Y فنخبره بتكرار الحلقة وان لم يكن يتخطى الحلقة
[/b]
ثالثاً :-


طبعاً النوع هذا لا يعتبر نوع بحد مايعتبر طريقة استثنائية ثانية
فمثلاً اذا اردنا ان نقوم بتعبئة الكونسول 10 مرات ali
بدون ذكر اي من الكلمات for او do while
فسنعمل طريقة التالية لتعبئة الكونسول بدون استخدام اي من جمل التكرار المعروفة
وهذه هي الطريقة :_



كود :
[align=center][COLOR=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]
Dim s [/COLOR][color=#007700]As [/color][COLOR=#0000BB]Integer

s [/COLOR][color=#007700]= [/color][COLOR=#0000BB]0
lo2i[/COLOR][COLOR=#007700]:

[/COLOR][color=#0000BB]s [/color][color=#007700]= [/color][color=#0000BB]s [/color][color=#007700]+ [/color][COLOR=#0000BB]1

Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"ali"[/color][COLOR=#007700])

If [/COLOR][color=#0000BB]s [/color][color=#007700]< [/color][COLOR=#0000BB]5 Then GoTo lo2i

Console[/COLOR][color=#007700].[/color][color=#0000BB]ReadKey[/color][color=#007700]() [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
شرح الكود السابق :-


السطر الاول :-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB] Dim s [/color][color=#007700]As [/color][color=#0000BB]Integer [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
عرفنا متغير من نوع رقمي وللتعلم المزيد حول المتغيرات والثوابت ادخل هنا

****

السطر الثاني :-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]s [/color][color=#007700]= [/color][color=#0000BB]0 [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
اسندنا قيمة للمتغير s وهي صفر .

*****


السطر الثالث :-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]lo2i[/color][color=#007700]: [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
ماهذا
((سنشرحه بعد قليل))


السطر الخامس :-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"ali"[/color][color=#007700]) [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
الكود الذي تستطيع من خلاله كتابة اي شيء في الكونسول

وهنا اخترنا اسم علي ali

**********


السطر السادس:-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#007700]If [/color][color=#0000BB]s [/color][color=#007700]< [/color][color=#0000BB]5 Then GoTo lo2i [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
جملة شرطية واعتقد انها واضحة بعد ماقمت بقرأءة هذا الدرس هنا

ومضمون هذه الحملة الشرطية انه اذا كانت قيمة المتعير s

اذهب إلى كلمة لؤي lo2i

وابدأ بالقراءة من هناك ...

****************

السطر السابع :-


كود :
[align=center][color=#000000][align=left][FONT=Verdana][FONT=arial][b][COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]ReadKey[/color][color=#007700]() [/color]
[/b][/FONT][/FONT][/align]
[/COLOR][/align]
هذا الكود اذا لم تضعه فسوف تفتح لك شاشة الكونسول وتقفل بدون ان ترى اي شيء كتب فيها

لذلك يجب عليك ان تقوم بكتابته لكي تستطيع القراءة من الكونسول ...

**********


اي انه باستخدام جملة ال Goto

يمكنك البدء من سطر جديد في الكود ام من اجراء معين

ولا حظ ان كلمة Lo2i يكتب بعدها : نقطتان رئسيتان

كما هو موضح في الصورة التالية :-








=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



[b]يتبع[/b]

الرد }}}
تم الشكر بواسطة:
#2
هذا مثال بسيط على الكونسول وجمل التكرار والمصفوفات والمتغيرات
سننشأ مصفوفة جديدة لنضع فيها درحات الطلاب
وسنخرج منها ايضاً
مجموع الدرجات جميعها
العلامة الاكبر من بين العلامات
متوسط العلامات اي عدد الطلاب قمسة الدرجات ..
كود :
[align=left][color=#000000][COLOR=#0000BB]Dim marks[/color][color=#007700]([/color][color=#0000BB]4[/color][color=#007700]) As [/color][COLOR=#0000BB]Integer
Dim sum [/COLOR][color=#007700]As [/color][COLOR=#0000BB]Double
Dim avg [/COLOR][color=#007700]As [/color][COLOR=#0000BB]Double
Dim big [/COLOR][color=#007700]As [/color][COLOR=#0000BB]Double
sum [/COLOR][color=#007700]= [/color][COLOR=#0000BB]0
avg [/COLOR][color=#007700]= [/color][COLOR=#0000BB]0
big [/COLOR][color=#007700]= [/color][COLOR=#0000BB]0
[/COLOR][color=#007700]For [/color][color=#0000BB]x [/color][color=#007700]= [/color][COLOR=#0000BB]0 To 4
marks[/COLOR][color=#007700]([/color][color=#0000BB]x[/color][color=#007700]) = [/color][color=#0000BB]InputBox[/color][color=#007700]([/color][color=#DD0000]"ادخل الدرجة هنا "[/color][COLOR=#007700])
[/COLOR][color=#0000BB]sum [/color][color=#007700]= [/color][color=#0000BB]sum [/color][color=#007700]+ [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]x[/color][COLOR=#007700])
[/COLOR][COLOR=#0000BB]Next
[/COLOR][color=#007700]For [/color][color=#0000BB]s [/color][color=#007700]= [/color][COLOR=#0000BB]0 To 4
Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"number of marks " [/color][color=#007700]& [/color][color=#0000BB]s [/color][color=#007700]& [/color][color=#DD0000]"  = " [/color][color=#007700]& [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]s[/color][COLOR=#007700]))
[/COLOR][COLOR=#0000BB]Next
Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"-----------------------------"[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the sum is  = " [/color][color=#007700]& [/color][color=#0000BB]sum[/color][COLOR=#007700])
[/COLOR][color=#0000BB]avg [/color][color=#007700]= [/color][color=#0000BB]sum [/color][color=#007700]/ [/color][COLOR=#0000BB]5
Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"-----------------------------"[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the avg of numbers is  = " [/color][color=#007700]& [/color][color=#0000BB]avg[/color][COLOR=#007700])

For [/COLOR][color=#0000BB]m [/color][color=#007700]= [/color][COLOR=#0000BB]0 To 4
[/COLOR][color=#007700]If [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]m[/color][color=#007700]) > [/color][color=#0000BB]big Then big [/color][color=#007700]= [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]m[/color][COLOR=#007700])
[/COLOR][COLOR=#0000BB]Next
Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"-----------------------------"[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the bigger number is  = " [/color][color=#007700]& [/color][color=#0000BB]big[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"-----------------------------"[/color][COLOR=#007700])
[/COLOR][color=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]ReadKey[/color][COLOR=#007700]()
[/COLOR][/COLOR][/align]
شرح الكود السابق :-

عرفنا مصفوفة من نوع رقم وفيها خمس مناطق للتخزين
لانها تبدأ من الصفر وتنتهي عند الاربعة
يعني 0 1 2 3 4


السطور التي بعدها هي لتعريف المتغيرات وهي
Sum & avg & big

----------------------

Sum =ليحمل بداخله مجموع الدرجات جميعها
Avg = ليحمل بداخله متوسط الدرجات
Big = ليحمل بداخله اكبر درجة



واسندنا قيمة بدائية لكل من المتغيرات الثلاثة :-


اقتباس:
Sum=0
Avg=0
Big=0
اول جملة تكرار في الكود
عرفنا عداد اسمه x على انه يبدأ من صفر وينتهي عند الاربعة
الان بندأ باسناد القيمة لكل من الغرف الموجودة في المصفوفة marks
بهذا الكود

كود :
[align=left][color=#000000][COLOR=#007700][COLOR=DarkSlateBlue][/color][/COLOR][/COLOR]             [color=#000000] [COLOR=#0000BB]Marks[/color][color=#007700]([/color][color=#0000BB]x[/color][color=#007700])=[/color][color=#0000BB]inputbox[/color][color=#007700]([/color][color=#0000BB]“ادخل الدرجة هنا ”[/color][color=#007700])  [/color][/COLOR]
[/align]
اعتقد الان بدأت توضح الفكرة لماذا وضعنا داخل القويين x
لان x يمثل العداد والعداد سوف يبدأ من الصفر ويسير للوصول إلى الاربعة
كود :
[align=left][COLOR=#000000][COLOR=#0000BB]نفس فهارس المصفوفة   marks
Sum [/COLOR][color=#007700]= [/color][color=#0000BB]sum [/color][color=#007700]+ [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]x[/color][COLOR=#007700])

[/COLOR][/COLOR]
[/align]
الان كبداية.. المتغير قيمته صفر ونحن نقول له
اجمع قيمتك القديمة التي هي صفر مع مجموع الدرجة التي ادخلت من قبل المستتخدم

الان سوف نقوم بكتابة جملة تكرار لتكرار مجموع الدرجات وطباعتها على الكونسول الخاص بنا

كود :
[align=left][color=#000000][COLOR=#007700]For [/color][color=#0000BB]s [/color][color=#007700]= [/color][COLOR=#0000BB]0 To 4
Console[/COLOR][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"number of marks " [/color][color=#007700]& [/color][color=#0000BB]s [/color][color=#007700]& [/color][color=#DD0000]"  = " [/color][color=#007700]& [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]s[/color][COLOR=#007700]))
[/COLOR][color=#0000BB]Next[/color][/COLOR]
[/align]
عرفنا عداد جديد للتكرار اسمه s
ويحمل بداخله قيمة من صفر إلى 4
----------------------------------------
وسيقوم بإعطاء هذا الكود

كود :
[align=left]             [color=#000000] [COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"number of marks " [/color][color=#007700]& [/color][color=#0000BB]s [/color][color=#007700]& [/color][color=#DD0000]"  = " [/color][color=#007700]& [/color][color=#0000BB]marks[/color][color=#007700]([/color][color=#0000BB]s[/color][color=#007700]))  [/color][/COLOR]
[/align]
وهو يعني ان الكونسول سوف يكتب لك ان رقم الدرجة الاولى هي = الدرجة التي ادخلها المستخدم
وهو يعني ان الكونسول سوف يكتب لك ان رقم الدرجة الثانية هي = الدرجة التي ادخلها المستخدم
وهو يعني ان الكونسول سوف يكتب لك ان رقم الدرجة الثالثة هي = الدرجة التي ادخلها المستخدم
وهكذا .......

--------------------------------------------------------------------------------------------

طبعاً من الامور البديهية في هذ النوع
استخراج المتوسط لهذه الدرجات
يمكننا ذلك من خلال الكود التالي

كود :
[align=left]avg = sum / 5
[/align]

لماذا الخمسة ؟؟؟؟ الخمسة مجموع القيم الموجودة في المصفوقة

وهي التي تبدأ من الصفر وتنتهي بالاربعة

*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&


وجملة التكرار الثالثة

هي لتحديد الدرجة الاكبر من خلال الدرجات المدخلة جميعها
اي عندما تكون
الدرجة اكبر من ال درجة التي قبلها سوف يحفظها في المتغير


وسنقوم استدعاء المتغير من خلال الكود التالي :-
كود :
[align=left]             [color=#000000] [COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]WriteLine[/color][color=#007700]([/color][color=#DD0000]"the bigger number is  = " [/color][color=#007700]& [/color][color=#0000BB]big[/color][COLOR=#007700])  
[/COLOR][/COLOR][/align]


طبعاً لا ننسى الكود الذي لايعمل البرنامج بدونه وهو الـ

كود :
[color=#000000][COLOR=#0000BB]Console[/color][color=#007700].[/color][color=#0000BB]readkey[/color][color=#007700]()[/color][/COLOR]

والكود كله موضح في هذه الصورة البسيطة



أبلغكم تحياتنا

Lo2i و Mohammed Asaad
انتظروا الدرس القادم



الرد }}}
تم الشكر بواسطة:
#3
بارك الله فيكم وجزاكم الله كل خير على هذه المجهودات الطيبة
أسأل الله ان يكون في ميزان حسناتكم
الرد }}}
تم الشكر بواسطة:
#4
يارك الله فيك
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الفصل(8): الدوال والاجراءات B3dak Hbebe 3 19,682 15-08-18, 09:20 AM
آخر رد: nagoma
  الفصل(9):مدخل الى الفئاتClasses - الجزء الأول B3dak Hbebe 5 4,332 30-05-17, 01:09 PM
آخر رد: ali hussein
  الفصل(5):صنع القرار...الجزء الأول-الجمل الشرطية Omar Mekkawy 4 4,168 10-08-13, 05:39 PM
آخر رد: Omar Mekkawy
  الفصل(3): التركيبات أنواعها واستخداماتها Omar Mekkawy 4 4,156 10-08-13, 05:32 PM
آخر رد: Omar Mekkawy
  الفصل (1) : الفيجوال بيسك دوت نت (لمحة تعريفية) Omar Mekkawy 2 3,499 27-07-13, 02:39 PM
آخر رد: green.grass52
  الفصل (0) : دورة تعلم معنا فيجوال بيسك دوت نيت Omar Mekkawy 7 4,825 18-07-13, 06:29 PM
آخر رد: el@nsary
  الفصل(16): مدخل لمسارات التنفيذ Threading B3dak Hbebe 3 3,785 27-04-13, 10:58 AM
آخر رد: خليل اسماعيل
  الفصل(15): الفئتان Stack و Queue B3dak Hbebe 2 3,228 27-04-13, 09:20 AM
آخر رد: خليل اسماعيل
  الفصل(12): Oop بالتفصيل...الجزء الثاني B3dak Hbebe 3 3,908 27-04-13, 09:16 AM
آخر رد: خليل اسماعيل
  الفصل (11) :oop بالتفصيل ..الجزء الاول Easy4ever 3 3,569 27-04-13, 09:08 AM
آخر رد: خليل اسماعيل

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم