• 0
mqmmss

سؤال رهيب علي جملة For..Next

سؤال

إخواني لقد صادفت سؤال أعجبني فعلاً لم أصادفه منذ ثلاث سنوات

سؤالي هو

لدي حلقة For هذه الحلقة تبدأ برقم ( First Number قيمتة ثابتة = 0 )

وتنتهي برقم أخر ( Last Number وقيمتة من المحتمل أن تتغير )

ركزواااااااااا

لايمكن أن تتغير قيمة ( Last Number ) إلا إذا تحقق شرط معين موجود داخل جملة For

فسؤالي هنا هو أنني أريد إذا تحقق الشرط الموجود داخل جملة For فإن جملة الـ For تعود وتشغل من جديد لتستجيب للتغيرات

ملاحظة / يمكن حل هذه المشكلة بسهولة من خلال جملة Goto ولكنني لا أريد إستخدام هذه الطريقة...

* كما نعلم أننا إذا أردنا إنهاء الجملة فيمكننا إستخدام Exit For. فهل هناك دالة تعيد تشغيل جملة For من جديد...؟؟

أرجو مساعدتي..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

هل هذا الكود يفيد

Dim A as integer

A=10

For X= 0 To A

If X=5 Then A=A+x

Next

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

معليش نسيت اصفر X

الكود مره تانية

Dim a As Integer

a = 10

For x = 0 To a

If x = 5 Then x = 0 And a = a + x

Next

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لا ادري اذا كان موجود في اللغة continue ام لا

for(i=0;i<j;i++)
{
if (j==5)
continue;

//else do you code..
}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إفهموني رجاءً إخواني ...

أنا أريد إذا تحقق الشرط يعود وكانة بدأ تشغيل الـ For من جديد

أي زي كإنة يخرج من الـ loop ثم يعود ينشأ جملة الـ For من جديد

أريد البرنامج الذي يحاكي هذا الكود ولكن بدون إستخدام Goto

L:

For i as int = 0 To n

     if i=4 Then Goto L

Next i

تم تعديل بواسطه mqmmss
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

Goto هي الحل الوحيد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

For i as int = 0 To n

    if i=4 Then Goto L

Next i

بإمكانك عمل التالي

For i as int = 0 To n

    if i=4 Then i=0

Next i

بكل بساطة بتعيد تصفير العداد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

goto لسه موجوده في ال vb.net ??? ده أنا نسيتها يمكن من أيام Qbasic , vb6 مع الأعتزاز الكبير للجميع الأصدارات البيسيكية الحبيبة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يـــــــــــــــــــــــــــــــــــــــــــــــــــا شباب

أنا عمري ما إستخدمت Goto ولا أريد إستخدامها مطلقاً

هل هناك طريقة أخرى ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
يـــــــــــــــــــــــــــــــــــــــــــــــــــا شباب

أنا عمري ما إستخدمت Goto ولا أريد إستخدامها مطلقاً

هل هناك طريقة أخرى ...

لقد أعطاك Only The Lonely الحل، وهو أبسط وأفضل حل يمكن الوصول إليه برأيي، أما إذا أردت حلولاً أخرى فأظنك تستطيع الوصول إلى العشرات ولكن بالطبع يبقى حل Only The Lonely هو الأفضل:

حلاً آخر:

Dim x As Integer
       Do
           If x <> 50 Then
               x += 1
           Else
               x = 0
           End If

       Loop

وحلاً آخر:

Dim x As Integer
       Do
           For x = 0 To 100
    If x = 50 Then
                   Exit For
               End If
           Next

       Loop While x = 50

لا ادري اذا كان موجود في اللغة continue ام لا

نعم يوجد جملة resume ولكنها لن تنفع في حلّ السؤال المطروح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .