PDA

View Full Version : تولید عدد تصادفی



hamhik
چهارشنبه 25 مرداد 1385, 19:18 عصر
برای تولید عدد تصادفی بین 1 تا n باید از چه تابعی استفاده کرد؟به طور کامل توضیح دهید با تشکر

subsub
شنبه 04 شهریور 1385, 16:18 عصر
توضیح کامل خواستی پس همه این مطالب رو بخون.
توی وی بی تابعی به نام Rnd وجود داره که اعداد تصادفی بین صفر تا یک تولید می کنه. این اعداد کاملاً هم تصادفی نیستند بلکه از طریق فرمولهای خاص ریاضی و با استفاده از جداولی که در کامپیوترهای مختلف، متفاوت اند، تولید می شود. اگر شما دستورmsgbox Rnd را در مثلاً رویه load فرم بنویسید و سپس برنامه را اجرا کنید، در هر بار اجرای برنامه، عدد یکسانی به شما نمایش داده می شود. این کار برای تست برنامه و رفع اشکالات برنامه کاملاً مفید است.
ممکن است شما بخواهید اعداد تولید شده کاملاً تصادفی و کاملاً متفاوت باشند. برای اینکار از روالی به نام Randomize استفاده می شود. در اول رویه مورد نظر که از تابع Rnd استفاده می کنید، تایپ کنید:
Randomize Timer
این کار منبع تولید اعداد تصادفی را Timer یا مدت زمان گذشته از نیمه شب بر حسب ثانیه قرار می دهد. چون Timer اعدادی که تولید می کند در هر شبانه روز فقط یکبار تکرار می شوند، اعداد تولید شده کاملاً تصادفی و غیر تکراری در هر بار اجرای برنامه هستند.
برای اینکه عدد تولید شده بین صفر و n باشند، هر جا لازم بود به جای Rnd بنویسید Rnd*n . اگه خواستید بین 1و n باشه به جای Rnd بنویسید Rnd*(n-1)+1 این در صورتی است که شما عدد تصادفی حقیقی بخواهید. اگر اعداد صحیح خواستید، به جای Rnd*n بنویسید int(Rnd*n)+1 و به جای Rnd*(n-1)+1 از int(Rnd* (n))+1 استفاده کنید.
امیدوارم توضیحات کامل باشه.

Armanprogrammer
شنبه 04 شهریور 1385, 21:07 عصر
این اقا برای vb توضیح داد من c رو توضیح میدم
با دستور rand در stdlib.h و اگه میخوای زمان هم تاثیر داشته باشه باید اولین دستور رو با srand اجرا کنی

mousamk
شنبه 04 شهریور 1385, 21:34 عصر
از توضیحات دوستان ممنونم.

subsub
یک شنبه 05 شهریور 1385, 17:13 عصر
این اقا برای vb توضیح داد من c رو توضیح میدم
با دستور rand در stdlib.h و اگه میخوای زمان هم تاثیر داشته باشه باید اولین دستور رو با srand اجرا کنی
آقا جان اول ببین این زیر انجمن اسمش چیه بعد پست بزن. آخه نوشته کارگاه VB بعد تو میای در مورد سی می نویسی؟

Arash_VBScripts
سه شنبه 07 شهریور 1385, 07:34 صبح
من هم یه چیزی یاد گرفتم:بامزه:

subsub
چهارشنبه 15 شهریور 1385, 18:42 عصر
من هم یه چیزی یاد گرفتم:بامزه:
دوست عزیز لطفاً پست الکی نزنید