الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن أحد يشرح لي هذا الكود FOR - NEXT

بدأه RANDOOM في 27 أغسطس 2012 · 4 رد · 629 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ممكن أحد يشرح لي هذآ الكود وطريقة عملة

و

لماذا الناتج يكون 6

Dim x , SUM , COUNTER AS integer 
sum = 0
    For COUNTER = 0 to 100    STEP 1

SUM = SUM + COUNTER 
if SUM > 5 then 
Exit For

End If 
Next COUNTER

SUM = SUM

شكرا لكم :happy:

تم تعديل هذه المشاركة بواسطة RANDOOM في 27 أغسطس 2012 في 13:21

#2

السلام عليكم ورحمة الله وبركاته

أختي الكريمة حلقة For يتم تنفيذها عدد من مرات محصورة بين أول قيمة لـ COUNTER وآخر قيمة لـ COUNTER حيث في كل مرة تنفيذ للحلقة يتم زيادة COUNTER بمقدار معين يتحدد من خلال الكلمة المحجوزة Step التي تأتي على الشكل التالي:

For COUNTER = 0 to 100 Step 1

وهي بشكل إفتراضي تساوي 1 إذا لم توضع هذه الكلمة ( Step )

ولكن في حالتك هذه يتم تنفيذ الحلقة فقط 7مرات وليس 101 مرات بسبب وضع الشرط الذي يفيد بإيقاف الحلقة عن طريق Exit For

تم تعديل هذه المشاركة بواسطة DOWNLOADER في 27 أغسطس 2012 في 13:52

#3
DOWNLOADER كتب:
ولكن في حالتك هذه يتم تنفيذ الحلقة فقط 7مرات بسبب وضع الشرط الذي يفيد بإيقاف الحلقة عن طريق Exit For

تصحيح: يتم تنفيذ الحلقة 4 مرات فقط

لأن قيمة SUM في المرة الرابعة ستكون (0+1+2+3) وهي أكبر من 5، حيث (0,1,2,3) هي القيم التي تضاف لـ SUM من COUNTER في كل Step.

أما عن سبب كون SUM = 6 في نهاية الحلقة فهو أن مجموع (0+1+2+3) = 6 وهو أكبر من 5 وبالتالي يتم إنهاء الحلقة قسراً.

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4
Xacker كتب:

تصحيح: يتم تنفيذ الحلقة 4 مرات فقط

لأن قيمة SUM في المرة الرابعة ستكون (0+1+2+3) وهي أكبر من 5، حيث (0,1,2,3) هي القيم التي تضاف لـ SUM من COUNTER في كل Step.

أما عن سبب كون SUM = 6 في نهاية الحلقة فهو أن مجموع (0+1+2+3) = 6 وهو أكبر من 5 وبالتالي يتم إنهاء الحلقة قسراً.

السلام عليكم ورحمة الله وبركاته

أخي الكريم Xacker بارك الله فيك

الكود الذي ظهر عندي عند كتابتي للرد كان على الشكل التالي قبل أن يتم تعديله من قبل كاتبة الموضوع

Dim x , SUM , COUNTER AS integer 
sum = 0
For COUNTER = 0 to 100
SUM = SUME + COUNTER 
if SUM > 5 then 
Exit For
End If 
Next COUNTER
SUM = SUM

مع الشكر على إهتمامكم الدائم بالمنتدى

السلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة DOWNLOADER في 27 أغسطس 2012 في 13:49

1
#5

شكرا لكم جميعاَ على الرد ,,

استفدت كثيراً :happy:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…