#16
|
||||
|
||||
![]() اقتباس:
================================== أولا عدد مرات التكرار سيكون عدد لا نهائى من المرات و لكن ستكون النتيجة فى كل مرة تكرار هى نفس النتيجة و هى الرقم واحد لذلك سيكون عدد مرات التكرار (1) و ذلك حسب القانون عدد مرات التكرار = ((النهاية - البداية)/الزيادة )+1 = ((3 - 1 ) / 0 ) + 1 = ( 2 / 0 ) + 1 = ليس لها معنى + 1 = 1 =========================== عاطف مهدى (أبو زياد) : أولا شكرا جزيلا و تقديرى لحضرتك على كلمات الإطراء - و أتمنى ان اكون عند حسن ظنك بى: ================ لو أردت الكلام من خلال القانون فالمقصود بليس لها معنى هى مالا نهاية Infinity و حسب القانون الذى كتبته = ليس لها معنى + 1=1 هذا الكلام مضمونه أن ما تقصده أنت أن ليس لها معنى قيمة محددة تساوى الصفر و هذا ليس حقيقى فمعنى = ليس لها معنى ( مالانهاية + 1 = مالا نهاية /////////// ================================= ثانيا فى الأداة Label2 لن يتم عرض أى شىء و ذلك لأن الأمر Label2 جاء بعد نهاية التكرار و هذا التكرار غير متوقف لذلك لن يخرج من الحلقة و لن يتم تنفيذ الكود الذى يلى Next عاطف مهدى (أبو زياد) : ثانياً "- ================ لقد كتبت هذه الجملة حتى نتأكد أن البرنامج لن يخرج من الحلقة التكرارية و بالتالى لن تتغير قيمة خاصية الـ Text للأداة Label2 حيث أن البرنامج لن يخرج من الحلقة و يستمر بعرض قيمة العداد ( قيمة البدابة ) [1] بعد كل تكرار لمالا نهاية و قد لا يعرض البرنامج ما هو متوقع للوصول لحلقة تكرارية ليس فيها بعض التوقف كما فى حالة تم العرض على MsgBox حيث انه بعد كل تكرار يتوقف ليعرض القيمة فى صندوق الرسالة فنضغط Ok ليذهب للتكرار التالى و هكذل مالا نهاية [MsgBox(A) ] و للتخلص من الحلقة التكرارية لا يكون ذلك إلا بعمل Stop Debugging ====================================== ثالثا و هو ما يحيرنى أن الأداة Label1 يجب أن يكون بها القيمة 1 و لكن عند التنفيذ عملى لم تكن النتيجة كذلك و لكنها ظلت Label1 السؤال الثانى فى الكود التالى Dim A As integer ما القيمة المعروضه فى أداة العنوان Label1 و أداة العنوان Label2 و كم عدد مرات التكرار مع ذكر السبب فى كل إجابةFor A = 1 To 3 Step -1 Label1.text = A Next Label2.Text = A ثالثاً :- ================ إذا كانت قيمة العداد متزايدة يجب أن تكون قيمة الزيادة موجبة حتى يتم التكرار لذا لن يتم التكرار و طالما ذهب البرنامج لكلمة For سيتم تخزين قيمة البداية فى العداد سواء تحقق شرط التكرار أو لا لذلك سيأخذ المتغير العداد A قيمة البداية [1] و لن يتم التكرار و يذهب للأوامر التى تلى Next إن وجدت فينفذ الجملة Label2.Text =A فيتم عرض آخر قيمة أسندت للمتغير العداد A و هى [1] عاطف مهدى (أبو زياد) - ميت موسى - شبين الكوم =======================================================
|
#17
|
||||
|
||||
![]() اقتباس:
====================================== Dim A As integer ما القيمة المعروضه فى أداة العنوان Label1 و أداة العنوان Label2 و كم عدد مرات التكرارFor A = 1 To 3 Step 0 Label1.text = A Next Label2.Text = A أولا عدد مرات التكرار سيكون عدد لا نهائى من المرات و لكن ستكون النتيجة فى كل مرة تكرار هى نفس النتيجة و هى الرقم واحد لذلك سيكون عدد مرات التكرار (1) و ذلك حسب القانون عدد مرات التكرار = ((النهاية - البداية)/الزيادة )+1 = ((3 - 1 ) / 0 ) + 1 = ( 2 / 0 ) + 1 = ليس لها معنى + 1 = 1 ==================================== أولاً :- كل الشكر و التقدير على كلامك الجميل و أتمنى ان أكون عند حسن ظنك ثانياً :- التعليق :- عاطف مهدى حسان ( معلم اول (أ) كمبيوتر إذا كانت قيمة العداد متزايدة [ قيمة النهاية أكبر من قيمة البداية يجب أن تكون قيمة الزيادة موجبة حتى يتم التكرار ] أما إذا كانت قيمة الزيادة صفر فسوف يتم التكرار إلى مالانهاية و لن يتم الخروج من الحلقة التكرارية و للعلم انه إذا تم التكرار ام لم يتم فإن العداد سيخزن به قيمة البداية و هى [1] أول تكرار يكون قيمة العداد 1 و سينفذ الجملة Label1.text = A فيظهر قيمة العداد A [1] على الأداة Label1 و يذهب البرنامج لـ Next فيتم زيادة قيمة العداد بمقدار الزيادة التى بعد Step و هى صفر فتظل قيمة العداد A ب 1 و يتم التكرار الثانى و هكذا لمالا نهاية و لن يتم الخروج من الحلقة التكرارية و لن يتوقف التكرار الا بعد عمل Stop Debugging و لن يعرض البرنامج القيمة [1] بالشكل المتوقع حيث يتم التنفيذ فى جزء من مليون جزء من الثانية و لن نلاحظ القيمة - لذا كان يفضل العرض من خلال صندوق رسالة MsgBox حيث يتوقف البرنامج معه و لا يواصل التكرار التالى إلا بعد الخروج من المربع و لذا ننصح بالكود التالى Dim A As integer For A = 1 To 3 Step 0 MsgBox(" While Looping" & A) Next MsgBox(" After Looping" & A) ===================================== و بالنسبة لعدد مرات التكرار فهناك مآخذ عليه حيث أنك ذكرت أنه يتم حساب عدد مرات التكرار كالتالى عدد مرات التكرار = ((النهاية - البداية)/الزيادة )+1 = ((3 - 1 ) / 0 ) + 1 = ( 2 / 0 ) + 1 = ليس لها معنى + 1 = 1 ففى السطر الآخير ليس لها معنى المقصود بها ما لانهاية و ما لانهاية +1 = ما لانهاية أى الحلقة لا نهائية و المفهوك من السطر الأخير من كلامك أن ليس لها معنى تكافىء الصفر و هذا غير حقيقى ================================================== == |
#18
|
|||
|
|||
![]()
عدد مرات التكرار = ( قيمة النهاية - البداية ) / قيمة الزيادة + 1
ولو وجدت كسور عشرية فى الناتج يتم تجاهلها وأخذ العدد الصحيح فقط |
#19
|
||||
|
||||
![]()
كتبت رد ثم رد آخر و لا اعلم أين يذهب
هل هناك فى الموقع من يحجبون بعض الردود و ما هو مصير ه1ا الرد هل سيكون كأن لم يكن و يذهب هباء انا أكتب ما أريد من الجميع أن يعرفه من قصور فى هذا الموقع و لا اعلم ماذا يفعل القائمين عليه عاطف مهدى حسان ( أبو زياد) |
#20
|
|||
|
|||
![]()
( أخر قيمة - اول قيمة ) / مقدار الزيادة + 1
مع تجنب الكسور مثال 1 ( 6 - 1 ) / 2 + 1 =3.5 ---- 3 مرات تكرار مثال 2 (10 - 1 ) / 2 + 1 = 5.5 ------ 5 مرات تكرار مثال 3 ( 10 - 1 ) / 4 + 1 = 3.5 ---- 3 مرات تكرار |
![]() |
العلامات المرجعية |
|
|