No more random, if you are a geek

هل تعرف كيف يتم حساب القيم العشوائية بالبرمجة ؟؟(Random values )

يتم حسابها عن طريق مجموعة من المعادلات المعقدة

وتعتمد المعادلات هذه علي القيمة المدخلة للدالة المسئوله عن اخراج قيم عشوائية

ففي لغة الجافا علي سبيل المثال

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

فكر في هذا جيدا

يمكنك التلاعب  بهذا الموضوع كثيرا

يمكنك التلاعب في المسابقات ويمكنك ايضا ان تقيم برنامج للقرعة وانت تعرف ما نتيجتها

كل ما عليك هو فهم هذه المعادلات والبدئ بالعبث معها

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

لنرا ما اذا كان هذا الكلام صحيحا؟

فهذا الكود يخرج لك الناتج

1 1 1 1 1 1 1 1 1 1

Random random = new Random(441287210);
for(int i=0;i<10;i++)
System.out.print(random.nextInt(10)+” “);

///////////////////////////////////////////////////////////////

 اما هذا الكود فيخرج لك

0 1 2 3 4 5 6 7 8 9
 
Random random = new Random(-6732303926L);
for(int i=0;i<10;i++)
System.out.print(random.nextInt(10)+” “);
///////////////////////////////////////////////////////////////

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

hello world

لنرى هذا الكود

😀
public static void main(String [] args)
{
       System.out.println(randomString(-229985452)+’ ‘+randomString(-147909649));  
}
public static String randomString(int seed){
       Random rand = new Random(seed);
       StringBuilder sb = new StringBuilder();
      for(int i=0;;i++){
           int n = rand.nextInt(27);
          if (n == 0) break;
              sb.append((char) (‘`’ + n));
      }  
      return sb.toString();
}
///////////////////////////////////////////////////////////////
 
NOTE:
       dont forget to import java.util.Random
      😀 😀

finally i say :

           “If you know what is behind your code you can do more fast and intelligent applications

and you can make programming make impossible “.

 
 

thanks for your time

Amar Ashour

, ,

  1. #1 by يهمنى الانسان (@waleedsam) on December 30, 2011 - 7:06 pm

    موضوع الارقام العشوائيه ده موضوع طويل وبيختلف من لغه للغه .. وهوه نظريا مفيش رقم عشوائى ولابد من وجود معادله وهيه الى هتنتج الرقم العشوائى .. ومشكله اكتشاف المعادله كانت مسببه مشاكل فى اول ما اخترعو الحاسب والبرامج الى بتعتمد على الارقام العشوائيه .. بس بمرور الزمن تم تطوير معادلات ( مكتبات ) تقدر تقدم ارقام عشوائيه مستحيل تقدر تعرف نتيجتها (لان معادلتها متغيره ) فبحثو عن ما هو المتغير (الى نربط بيه المعادله ) وهه الزمن بتاع الجهاز .. يعنى لو نفزت البرنامج عند الساعه 5:30:3:99 ولونفذته تانى (الوقت طبعا هيختلف لان الزمن مبوقفشى ) فيهطلع نتيجه تانيه خالص لان الزمن تغير ..مع حجات تانيه كتير تخلى المعادله غير متوقعه بالمره عمليا ونظريا …
    بس ما زالت لغات معينه مفهاش default
    بتاعها تعمل كل الحسابات دى ..فممكن ت
    import

    مكتبات جاهزه تعمل العمليه دى ..لان لو اعتمدت على مكتبات
    .net , java ممكن تقدر تعرف المعادله …

    • #2 by Amar Ashour on December 30, 2011 - 8:30 pm

      شكرا علي اهتمامك وكلامك مظبوط مية في المية وفعلا فيه
      APIs
      الراندوم فيها بيعتمد علي الزمن ومينفعش تتنبأ بيه

  2. #3 by AhmedYousef on December 30, 2011 - 7:41 pm

    هههههه ممكن نسمى دا تحيز للجافا ;D
    بس كنت افضل اشوفه فى كل اللغات 😦

    • #4 by Amar Ashour on December 30, 2011 - 8:32 pm

      كل واحد بيتشطر بالتول بتاعته ورينا شطارتك بقا بي اتش بي 😀

      • #5 by AhmedYousef on December 30, 2011 - 8:34 pm

        نخلص بس امتحانات وهتشوف احسن شغل إن شا الله

  3. #6 by Mosab Ahmad on December 30, 2011 - 10:43 pm

    This is a well known issue in most programming languages,

    Check out this comic about the topic :

    http://xkcd.com/221/

    It is also noteworthy to say, that when people don’t see my code, why use random if I want to set the result of a competition 😉 I would just put the number I want to appear, no need to write that function in the first place!

    • #7 by Amar Ashour on December 31, 2011 - 5:00 pm

      thanks for interesting and link 😀
      but competitions are impartial and honest 😀

  4. #8 by Elbastawesy on December 31, 2011 - 7:27 am

    انا عرفت كده انا ما كسبتش فى الديف ميكس ليه
    ههههههههههههههههههههههههههه
    بجد موضوع اكتر من رائغ ربنا يزيدك يا عمار

  5. #9 by Elbastawesy on December 31, 2011 - 7:27 am

    اقصد فى الديفنت

    • #10 by Amar Ashour on December 31, 2011 - 5:02 pm

      عيب عليك هوا احنا وش ذلك 😀
      شكرا يا باشا دا من بعض ما عندكم

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: