illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید تا کنون 6336 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !

تولید اعداد random و تصادفی در جاوااسکریپت

44256 ۲۲ بهمن ۹۰

:: در زبان های برنامه نویسی مختلف اعداد تصادفی اهمیت ویژه ای دارند . در خیلی از الگوریتم های پیشرفته ای که در علوم کامپیوتر استفاده میشه (مثل الگوریتم های ژنتیک) اعداد رندم نقش مهمی رو ایفا میکنند . بدلیل کاربرد زیادشون مخصوصا تو زبان جاوا اسکریپت و صفحات وب ، امروز شیوه ی تولید اعداد تصادفی رو در زبان جاوااسکریپت مفصلا توضیح میدیم .

:: اگر شما بخواید کدهای جاوااسکریپتی شبیه کد نمایش عکس تصادفی ، کد پخش موزیک رندم ، کد نمایش سخن و متن اتفاقی و امثال این کدها رو بنویسید ، حتما نیاز دارید تا عددی رو به صورت تصادفی تولید کنید که معمولا ایندکس آرایه ی نگه دارنده ی آدرس عکس ، موزیک یا نوشته ی تصادفی انتخاب شده هست .

:: تولید اعداد اعشاری تصادفی بین صفر و یک :

:: خوب ، بریم سر اصل مطلب . در javascript برای تولید اعداد random از متد ()Math.random استفاده میشه . متد ()Math.random یک عدد اعشاری بین 0 و 1 رو تولید میکنه . به طور مثال اگر شما کد زیر رو درون تگ body در صفحه ی وب قرار بدید یک عدد اعشاری بین 0 و 1 ، با بیش از ده رقم اعشار براتون چاپ میشه .

:: خروجی این کد (یک عدد تصادفی اعشاری بین 0 و 1) :  (با رفرش صفحه عددی جدید می بینید)

در کد فوق عدد تصادفی توسط متد ()Math.random تولید شده و در متغیر randomNumber قرار میگیره و مقدار این متغیر توسط متد  ()document.write در صفحه ی وب چاپ میشه .

:: تولید اعداد اعشاری تصادفی بین صفر و عددی دلخواه :

حالا اگربخواید اعداد بزرگتری رو به صورت رندم تولید کنید کافیه عدد تولید شده توسط متد رندم رو در حداکثر عدد دلخواهتون ضرب کنید . مثلا اگر میخواید یک عدد رندم بین 0 تا 100 تولید کنید ، همون کد بالا رو به شکل زیر داریم :

:: خروجی این کد (یک عدد تصادفی اعشاری بین 0 و 100) :  (با رفرش صفحه عددی جدید می بینید)

:: تولید اعداد صحیح تصادفی بین صفر و عددی دلخواه :

برای اینکه اعداد تصادفی تولید شده رو از حالت اعشاری دربیارید و اعداد رو به صورت صحیح و بدون قسمت اعشاری داشته باشید باید از متد ()Math.floor استفاده کنید . این تابع یک عدد اعشاری رو به عنوان ورودی میگیره و خروجیش جزء صحیح اون عدد هست . جزء صحیح همون بزرگترین عدد صحیح کوچکتر از یک عدد اعشاریه . پس برای تولید اعداد صحیح بین 0 تا یک عدد دلخواه مثل 100 ، کد رو به شکل زیر داریم :

در این کد ابتدا یک عدد اعشاری بین 0 و 1 توسط تابع random تولید میشه ، بعد ضرب در 100 میشه و سپس عدد حاصل ،که یک عدد اعشاری بین 0 تا 100 هست ، جزء صحیحش توسط متد floor گرفته میشه و در متغیر randomNumber قرار میگیره .
:: خروجی این کد (یک عدد تصادفی صحیح بین 0 و 100) :  (با رفرش صفحه عددی جدید می بینید)

:: تولید اعداد صحیح تصادفی بین دو عدد دلخواه :

شاید دوست نداشته باشید عدد تصادفی از 0 تا یه عدد دلخواه باشه . و بخواید مثلا عدد تولید شده بین 80 تا 100 باشه . انجام اینکار هم سادست . فرض کنید که می خواید اعداد تصادفی تولید شده بین دو عدد x و y باشه . کافیه عدد باند پایین یعنی x رو به عدد رندم تولید شده اضافه کنید و تابع رندم رو به جای اینکه در y ضرب کنید در y-x ضرب کنید . مثلا اگر بخواید اعداد تصادفی تولید شده بین 80 و 92 باشند ، کد رو باید به صورت زیر بنویسید :

12 همون اختلاف بین 92 و 80 هست ، و 80 رو هم که با عدد تصادفی تولید شده جمع کردیم . در واقع حداقل می خواید 80 رو داشته باشید به اضافه ی یک عدد تصادفی بین 0 تا 12 !
:: خروجی این کد (یک عدد تصادفی صحیح بین 80 و 92) :  (با رفرش صفحه عددی جدید می بینید)

:: تابع تولید اعداد صحیح تصادفی بین دو عدد دلخواه :

:: در آخر هم یک تابع ساده براتون نوشتم که دیگه نخواید کد اضافه بزنید ! به راحتی می تونید کد زیر رو درون تگ head اضافه کنید :

و درون تگ body به همین راحتی از اون استفاده کنید(که در مثال زیر چهار بار برای دامنه های مختلف عددی استفاده شده) :

تگ br هم که استفاده شده برای نمایش هر عدد در یک خط جدید است .
:: خروجی کد (چهار عدد تصادفی در دامنه های ذکر شده در کد) :  (با رفرش صفحه اعداد نو میبینید)

اگر این مقاله رو خوب خونده باشید ، می دونید که این تابع روش کارش چطور بوده .
:: دوستان عزیز ، برای نوشتن این مقالات وقت گذاشته شده و زحمت کشیده شده . لطفا در صورت انتشار این مطلب در وبگاهتون منبع رو ذکر کنید . با تشکر فراوان .
:: چیز دیگه مونده در مورد تولید اعداد تصادفی ؟

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 43 دیدگاه برای این مطلب ارسال شده است. نظردهی برای این مطلب بسته شده است .

  • ‏‏

    استاد گفته باید با for درست بشه

  • ‏‏

    سلام
    من میخام عکس هدر وبلاگم به صورت تصادفی نغییر کنه
    برای این کار اولا باید عدد تصادفی تولید کنم و بعدش یه چیزی مانند if در زبان c داشته باشم تا به یکی از عکس ها ارجاع بدم 💡
    من از بلوگفا استفاده میکنم
    میشه یه نمونه کد بدین؟
    ممنون میشم اگه به ایمیلم جواب بدین
    خیلی مرسی 😉

  • ‏‏

    سلام من باید اشعار حافظ رو توی یک ارایه قراربدم وبعد با کلیک روی یه دکمه فال بگیره.
    ولی اصلا انجام نمیشه
    ابزارهای شماهم کار نمیکنه برای یه سایت تمرین کلاسی میخوام
    سپاس

  • ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

    :: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
    برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
    عضویت/ ورود سریع با :
    در حال اتصال ...

    ورود به سایت

    ورود سریع با :
    در حال اتصال ...

    جستجو در سون لرن

    عبارت :
    7LearnTelegram