اموزش Qbasic (تابع RND)
جمعه آبان ۲۳ ۱۳۹۳، ۰۲:۵۸ ب.ظ
تابع
RND
RND از کلمه Random به معنی تصادفی گرفته شده . این تابع در بیسیک بدون متغییر است؛یک عدد تصادفی بزرگتر از صفر و کوچکتر از یک تولید می کند.
RND از کلمه Random به معنی تصادفی گرفته شده . این تابع در بیسیک بدون متغییر است؛یک عدد تصادفی بزرگتر از صفر و کوچکتر از یک تولید می کند.
هر بار که این تابع به کار رود کامپیوتر یک عدد تصادفی بین صفر ویک تولیدمی کند. با این تابع کارهای علمی و تفریحی زیادی می توان انجام داد . برنامه زیر را اجرا کنید
کد:
CLS FOR I = 1 TO 5 PRINT RND NEXT I END
وقتی این برنامه را چند بار متوالی اجرا کردید
متعجب شدید اینکه 5 عدد تصادفی در تمام اجراها کاملا شبیه هم است ؛ اینکه نمی شود .
نکته : در هر بار اجرای دستور RND زمان صفر در نظر گرفته می شود . برای بر طرف کردن این مشکل ما می توانیم دستور RANDOMIZE TIMER را در ابتدای برنامه بنویسیم .
نکته : در هر بار اجرای دستور RND زمان صفر در نظر گرفته می شود . برای بر طرف کردن این مشکل ما می توانیم دستور RANDOMIZE TIMER را در ابتدای برنامه بنویسیم .
کد:
CLS RANDOMIZE TIMER FOR I=1 TO 5 PRINT RND NEXT I END
حالا درست شد . چه اتفاقی افتاد ؛ با اضافه کردن
دستور فوق به برنامه گفتیم به ساعت کامپیوتر نگاه کن . چون در هر لحظه ساعت
کامپیوتر با لحظه قبل فرق دارد. (حتی چند میلیونیم ثانیه )
نکته : چطور می توان عدد صحیح تولید کرد .
بین 0 تا 9 اصلاح خط چاپ 10* PRINT INT( RND ) کار تابع INT(x) حذف اعشار است (جزء صحیح ).
بین 1 تا 10 1 + 10 * PRINT INT( RND )
بین 0 تا 99 100 * PRINT INT( RND )
فرض کنید N عددی طبیعی باشد INT( N * RND ) + 1 یک عدد طبیعی بین 1 و N است .
مثال جالب
نکته : چطور می توان عدد صحیح تولید کرد .
بین 0 تا 9 اصلاح خط چاپ 10* PRINT INT( RND ) کار تابع INT(x) حذف اعشار است (جزء صحیح ).
بین 1 تا 10 1 + 10 * PRINT INT( RND )
بین 0 تا 99 100 * PRINT INT( RND )
فرض کنید N عددی طبیعی باشد INT( N * RND ) + 1 یک عدد طبیعی بین 1 و N است .
مثال جالب
کد:
CLS FOR I=1 TO 9 A= INT( RND * ( I + 1 )) B= INT( RND * ( I + 1 )) C= A * B PRINT A ; “ * “ ; B ; “ = “ INPUT D IF D = C THEN PRINT “ GOOD “ CLSE PRINT “ WRONG “ END IF NEXT I END
- ۹۳/۰۸/۲۳
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.