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

اختيار رقم عشوائي بين رقمين

مغلق
بدأه المتميز في 23 سبتمبر 2005 · 4 رد · 999 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

وضعت كود لاختيار رقم عشوائي بين رقمين ولكن الكود احيانا لا يعمل بشكل سليم ( مثلا يختار رقم اكبر من الحد الاعلى للاختيار ) فارجو تصحيح الكود اذا كان خاطئ

f = Int((40 * Rnd) + 1)

460.gif

#3

السلام عليكم

المشكلة يا اخي الكريم اني وضعت كومبو بوكس فيها قائمة ( خمس اختيارات ) ، لكل صف رقم معين مثلا

الصف الاول يبدا من رقم 1 حتى 16

الصف الثاني يبدأ من 17 وحتى 33

سأرفق المثال وجربه .

القرعة.zip

460.gif

#4

هذا أمر طبيعي لماذا ؟

دعنا نرى الكود و بالخصوص عند الاختيار الثاني /// الصف الثاني يبدأ من 17 وحتى 33 ////

تقو اولا بتحدد المتغيرين Last و First هكذا

last = 35
first = 17

و في دالة اختيار الرقم العشوائي كتبت :

f = Int((last * Rnd) + first)

اذا لنرى ما يحدث داخل هذه الدالة

يتم أولا تنفيذ ما بين القوسين لأن الاسبقية كما هو الحال في الرياضيات لما بين القوسين و يتم اختيار رقم عشوائي ما بين 0 و 34

بعد ذلك تقوم باضافة first الى الرقم العشوائي المنتج علما بأن first =17

اذا اذا كان الرقم العشوائي يساوي 0

ف f ستستوي 0+17

و هكذا ...

لكن المشكل اذا كان الرقم العشوائي يساوي او اكبر من 19

لأن f ستساوي

f=int((19)+17)=36

و بهذا فقد تجاوزت الحد المسموح

اذا ما الحل ... الحل الذي يحضرني الآن هو التالي :

طبعا الاختيار الأول الا و هو اختيار رقم ما بين 1 و16 امره محلول

الحل سيكون على مستوى دالة الرقم العشوائي حيث يمكنك مراقبة الرقم first فاذا كان يساوي 1 تبقى الدالة على ما عليه

اما في حالة العكس فتكون الدالة على شكل :

f = Int((last * Rnd) +1)
if f<19 then f=f+first

هذا ح ترقيعي هههههه

لكن اذا لم يرقك فقل لي و سأحاول أن اعمل دالة تمكنك من تحديد رقمين لاختيار رقم عشوائي بينهما

و السلام عليكم

#5

شكرا لك على محاولتك . وانتظر اي حل ينفع

460.gif

هذا الموضوع مغلق.

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