مبرمجه
28-04-2006, 04:20 PM
سؤال بخصوص
الدالة rand
كيف استخدمها؟
وما هي فائدتها؟
كذلك المجال scope
وش قصته؟
واستخدامه وفائدته
الدالة rand
كيف استخدمها؟
وما هي فائدتها؟
كذلك المجال scope
وش قصته؟
واستخدامه وفائدته
|
مشاهدة النسخة كاملة : دالة الارقام العشوائيه مبرمجه 28-04-2006, 04:20 PM سؤال بخصوص الدالة rand كيف استخدمها؟ وما هي فائدتها؟ كذلك المجال scope وش قصته؟ واستخدامه وفائدته منطلق بطموحي 28-04-2006, 07:08 PM السلام عليكم: راجعي موضوع مسائل C++ المثبت بالقسم بالنسبة للارقام العشوائية ستجدين شرح و امثلة بالصفحة العاشرة من الموضوع الردود 99 و 100 بالنسبة ل scope ستجدين شرح عنه ضمن شرح بقية الدوال ضمن نفس الموضوع مبرمجه 28-04-2006, 10:13 PM رجعت للشرح كان شرح رائع ولقيت تمرين بدون حل التمرين الاول: اكتب معادلة تولد الارقام التالية تحديدا 3 ، 8 ، 13 ،18،23،28 حلي لها rand()%6 +3 حليته كذا ولما سويت له رن بلوب طلعت كل القيم 3 وش الخطأ 3 ،9،27،81 (pow(3,rand()%4 ياليت تصحح لي ودي اسأل اخوي الله يعطيك العافيه وش المجال scope لاني مالقيته كذلك وش فائدة seed؟ وكيف استخدمه؟ منطلق بطموحي 29-04-2006, 12:29 AM السلام عليكم: بالنسبة للارقام 3,8,13,18,23,28 فينقص معادلتك : rand()%6 +3 شيء بسيط لاحظي التالي : 3=3+5 *0 8=3+5*1 13=3+5*2 18=3+5*3 23=3+5*4 28=3+5*5 الان المعادلة تبدأ باول قيمة كما ذكرت بالموضوع و هي 3 القيمة المتغيرة هي بين 0 و 5 اذن shifting value قيمتها = 0-5+1=6 و لكن هل تلاحظين انها دوما مضروبة ب 5؟ اذا الحل يكون كالتالي 3+5*(rand()%6) و اليك كود تجريبي: #include<iostream> #include<cstdlib> using namespace std; void main()** for(int i=0;i<=15;i++) ** cout<<3+5*(rand()%6)<<endl; } } الان بالنسبة للارقام : 3,9,27,81 لاحظي التالي: 3=3^0 9=3^2 27=3^3 81=3^4 اذن القيم تتغير من 0 حتى 4 اذن shifting value لها قيمة = 0-4+1=5 و ليس 4 كما بمعادلتك اذا وضعنا 4 فكاننا نقول ان 81 ليست ضمن مجموعة الارقام فالمعادلة الصحيحة ستصبح: pow(3,rand()%5) بالنسبة ل seed او المعادلة srand() فان الامر يتعلق بترتيب ظهور الارقام العشوائية ....لاحظي عند وضع دالة عشوائية دون seed و عمل run للبرنامج اكثر من مرة فان الارقام ذاتها بنفس الترتيب هي التي ستظهر و لكن عند تغيير seed سيتغير الترتيب في كل مرة ...هذا كل ما في الامر اما بالنسبة ل scoping فلي عودة مع الموضوع غدا ان شاء الله ...:) مبرمجه 29-04-2006, 02:44 PM مشكور اخوي الله يجزاك الخير بالنسبه للمعادله الاولى كنت حالتها بس نسيت اكتب بالرد*5 انتظرك لــ Scope وكذلك بسأل سؤال ب& _ * الرفرنس وش سالفتها وكيف استخدمها معليش على الاطاله بس ياليت تتحمل اسئلتي وتجاوبني لان امتحاني مابقى عليه الا ايام منطلق بطموحي 29-04-2006, 05:08 PM بالنسبة ل scope او ما يسمى ب binary scope ستجدينه بالرد رقم 107 ضمن موضوع مسائل C++ و بالنسبة لقصة الرفرنس فستجدين الشرح ضمن الرد 133 و هناك تمرين متروك حله لكم ضمن الرد 134 على نفس الموضوع اما بالنسبة ل * فهذه تعتبر مؤشرات pointers ...فهل درستم المؤشرات ؟ مبرمجه 29-04-2006, 08:25 PM لا المؤشرات مابعد درسناها الان خلصنا الفنكشن وان شاء الله بنبدأ الاري منطلق بطموحي 29-04-2006, 08:35 PM السلام عليكم: اذا الخطة سليمة تماما عليك بفهم الدوال و ان المتغيرات التي تبعث لها على نوعين by value و by refrence و ال by refrence بالعلامة & و تعني عنوان الذاكرة و عادة ما يكون بلارقام الست عشرية hexdecimal ...ادرسي هذا الامر جيدا و تدربي عليه و كذلك الدوال تقسم الى نوعين من حيث طريقة التصميم: 1.تكرارية اي باستخدام loops ( مثل for,while,do while ) 2. ذاتية الاستدعاء recursively defined ( بدون استعمال ال loops ) اذا فهمت هذه الامور و طريقة تصميمها اضمن لك علامة ممتازة ان شاء الله ...انصحك بمراجعة درس الدوال بموضوع سي بلس بلس و حل التمارين عليه و خاصة التمرين الذي ذكرته الخاص بالقيم المرجعية (رفرينس) ...و اذا استصعب عليك شيء فانا بالخدمة... بالنسبة ل * ستفهمين عملية تصميمها بشكل تفصيلي بعد دراسة المصفوفات arrays عند دراسة المؤشرات ....و ستفهمين اكثر و اكثر معنى & التي نستعملها الان و ماذا تعني ... بالتوفيق :) |