|
انتخاب عدد تصادفی از بین یک بازه عددی
|
|
۶-مهر-۱۳۹۰, ۱۱:۱۵ صبح
(آخرین ویرایش در این ارسال: ۷-مهر-۱۳۹۰ ۰۱:۵۳ عصر، توسط حسین صابری.)
ارسال: #1
|
|||
|
|||
|
انتخاب عدد تصادفی از بین یک بازه عددی
باسلام.اگر در یک فیلد از دیبی گریدی اعدادی که ذخیره میشوند به صورت رنجی باشند یعنی به صورت مثلا 1-3 باشند ما چگونه میتوانیم برنامه ای بنویسیم که بشه یک عدد مثلا 2.25 به عنوان رندوم نشون داده بشه؟با تشکر |
|||
|
۷-مهر-۱۳۹۰, ۰۱:۵۱ عصر
ارسال: #2
|
|||
|
|||
|
RE: اشکال برنامه نویسی
سلام اولاً عناوینی که شما برای موضوعتون مینویسید خیلی کلیه. ثانیاً من بازم این چند خطی رو که شما نوشته بودین نفهمیدم، نمیدونم مشکل از منه یا از شما، ولی به هر حال اون چیزی رو که فهمیدم توضیح میدم و امیدوارم که درست فهمیده باشم: اینطور که من فهمیدم شما میخواید یک فیلد رشته ای رو تبدیل کنید به دو مقدار عددی و از بین این دو مقدار عددی رو به تصادف انتخاب کنید. برای این کار شما باید دو مقدار رو از فیلدی که محتوی بازه اعداد شما هست استخراج کنید (یعنی کاراکترهای قبل از خط فاصله را به عنوان مینیمم و کاراکتر های بعد از خط فاصله را به عنوان ماکزیمم )، برای این کار میتوانید از فرمولهای زیر استفاده کنید (در دلفی): تابع Pos : این تابع برای مشخص کردن موقعیت یک یا چند کاراکتر در بین یک متن است (برای مشخص کردن موقعیت کاراکتر خط فاصله) تابع Copy :این تابع با استفاده از موقعیت یک یا چند کاراکتر را از بین یک متن جدا کرده و در خروجی به عنوان رشته قرار میدهد (از این تابع برای جدا سازی مینیمم و ماکزیمم از بازه استفاده میشود) تابع StrToInt : این تابع برای تبدیل متن به عدد است (برای تبدیل رشته های مینمم و ماکزیمم به اعداد) و بالاخره دو تابع Randomize و Random برای انتخاب اعداد تصادفی از بین بازه مورد نظر موفق باشید دیگران قرعه قسمت همه بر عیش زدند دل غم دیده ما بود که هم بر غم زد حافظ |
|||
|
۸-مهر-۱۳۹۰, ۱۰:۳۹ صبح
(آخرین ویرایش در این ارسال: ۸-مهر-۱۳۹۰ ۱۰:۴۱ صبح، توسط mnakhaei.)
ارسال: #3
|
|||
|
|||
|
RE:انتخاب عدد تصادفی از بین یک بازه عددی
ضمن عرض سلام و عذرخواهی منظورم دقیقا همینه که فرمودید.اما میشه خواهش کنم کدش رو برام بنویسید آخه با 2 تا تابع اولی آشنایی ندارم(البته از لحاظ کدنویسی) |
|||
|
۸-مهر-۱۳۹۰, ۱۱:۵۸ صبح
ارسال: #4
|
|||
|
|||
|
RE:
انتخاب عدد تصادفی از بین یک بازه عددی
متاسفانه فعلاً وقتشو ندارم.
برای توابع هم میتونید به راهنمای خوددلفی مراجعه کنید دیگران قرعه قسمت همه بر عیش زدند دل غم دیده ما بود که هم بر غم زد حافظ |
|||
|
۹-مهر-۱۳۹۰, ۱۲:۲۵ صبح
ارسال: #5
|
|||
|
|||
|
RE:
انتخاب عدد تصادفی از بین یک بازه عددی
اگه وقت کردید جوابمو بدید ممنون میشم.
|
|||
|
۱۰-مهر-۱۳۹۰, ۱۱:۲۲ صبح
ارسال: #6
|
|||
|
|||
|
RE: انتخاب عدد تصادفی از بین یک بازه عددی
باسلام و خسته نباشید.من برنامه زیر رو نوشتم میشه بگید اشکالش از کجاست؟ c:=length(a:string):integer; d:=pos(a,'-'); b:=copy(a,0,d); e:=copy(a,d+1,c-d); درضمن چگونه میتونم برای هر رکورد از جدولم برنامه ای بنویسم که براساس فیلد f_randomdigits عددی به تصادف انتخاب کند؟ توجه:اعداد در این فیلد به صورت 1-3 برای مثال درج میشوند باتشکرفراوان |
|||
|
۱۱-مهر-۱۳۹۰, ۰۸:۱۸ عصر
ارسال: #7
|
|||
|
|||
|
RE: انتخاب عدد تصادفی از بین یک بازه عددی
سلام این کدی که شما نوشتید فقط الگوریتمش درسته، ولی متاسفانه بقیش غلطه. البته این روش کد نویسی توی C و مشتقاتش جواب میده ولی متاسفانه توی دلفی قبل از بکارگیری متغیر باید اونو تعریف کنید (با کلمه کلیدی var) در مورد سوال دومتون هم باید یک فیل Calculate بسازید و در رویداد OnCalculate اون همین الگوریتم رو بنویسید. موفق باشید. دیگران قرعه قسمت همه بر عیش زدند دل غم دیده ما بود که هم بر غم زد حافظ |
|||
|
۱۱-مهر-۱۳۹۰, ۱۱:۴۴ عصر
ارسال: #8
|
|||
|
|||
|
RE:
انتخاب عدد تصادفی از بین یک بازه عددی
ضمن سلام و تشکر.بله بنده قسمت var نیز در برنامه ام برای تعریف متغیرها درنظر گرفته ام و مشکل اولم حل شده است اما برای مشکل دوم اگه بیشتر راهنمایی فرمایید ممنون میشم
|
|||
|
۱۴-مهر-۱۳۹۰, ۱۱:۱۵ صبح
ارسال: #9
|
|||
|
|||
|
RE: انتخاب عدد تصادفی از بین یک بازه عددی
سلام فیلدهای Calculate فیلدهایی هستند که مقدار ثابتی ندارند و مقدار آنها در زمان اجرا با توجه به مقدار ساید فیلدها مشخص میشود. برای ایجاد این نوع فیلد در جدول خود مراحلی که در اینجا گفتم را دنبال کنید البته در قسمت انتخاب نوع فیلد Calculate را انتخاب کنید. و پس از اضافه نمودن فیلد در رویداد OnCalculate آن کد مربوطه را وارد کنید. دیگران قرعه قسمت همه بر عیش زدند دل غم دیده ما بود که هم بر غم زد حافظ |
|||
|
۱۶-مهر-۱۳۹۰, ۱۰:۱۹ صبح
(آخرین ویرایش در این ارسال: ۱۶-مهر-۱۳۹۰ ۱۰:۲۱ صبح، توسط mnakhaei.)
ارسال: #10
|
|||
|
|||
|
RE:انتخاب عدد تصادفی از بین یک بازه عددی
باسلام.من برنامه ای به کمک شما نوشتم اما حالا یه سوال دیگه دارم اگه خواسته باشم عدد تصادفی از بین اولین عدد در اولین رکورد(یعنی اگه عدد در اولین رکورد به صورت 1-3 بود عدد1 منظور من است یعنی عدد قبل از "-")و آخرین عدد از آخرین رکورد(یعنی اگه عدد در آخرین رکورد به صورت 7-10 بود عدد 10 منظور من است یعنی عدد بعد از "-")انتخاب بشه چه کدی باید بنویسم؟من کد زیر رو نوشتم اما این کد عدد تصادفی در هر رکورد را جدا حساب میکنه.ممنون از راهنمایی های شما procedure TForm1Initialize(Sender:TObject); begin Randomize; end; procedure TForm1.Button1Click(Sender: TObject); var e,b,a:string; d,c,f,w,i: Integer ; x:integer; begin a:=form2.ADOTable1.FieldValues['f_randomdigits']; d:=Pos('-',a); b:=copy(a,0,d-1); e:=Copy(a,d+1,c-d); edit1.Text:=b; edit2.Text:=e; f:=strtoint(b); w:=strtoint(e); Randomize; x:=RandomRange(w,f); label3.Caption:=inttostr(x); form2.ADOTable1.Next; end; |
|||
|
|