ورود

نسخه کامل مشاهده نسخه کامل : متفیر دلخواه



lord_ashkan_z
28-12-2007, 20:30
سلـــــــــــــــــــــــ ــــام ...

خوبین به قول بعضی ها خفنین ...
به من چه ...


سوال اینه: چه جوری می شه ما زا کاربر متفیر دلخواهی را در خواست کنیم.

چون می دونم خوب فهمیدید توضیح می دم:

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

m3hrz4d
28-12-2007, 20:41
خوب بسته به محیطی که برنامه مینویسین یه روش هایی هست. مثلا اگه برنامه ویژوال باشه برای گرفتن یه عدد یه TextBox درست میکنین. یا مثلا اگه برنامه تحت Console باشه, اول یه پیغام چاپ میکنین که فلان مقدار رو وارد کنین و بعد با توابع مربوطه مقدار رو از ورودی میخونین. یعنی کاربر باید وارد کنه تا برنامه به مرحله ی بعد بره.

lord_ashkan_z
29-12-2007, 10:00
بله خسته نباشین ...

این رو که خودم می دونستم. من توی یک محیط dos می خواهم این عمل رو طوری انجام دهم که کاربر امکان انتخاب را داشته باشد و بتواند انتخاب کند که کدام متغیر را وارد کند ...

اگر بلد نیستید مجبور نیستید بی جهت پست بدین.البته بهتون بر نخوره.
باتشکر ...

bad_boy_2007
29-12-2007, 10:46
عزیز دل بابا سوالت واضح نیست
1- منظور طریقه ذخیره در حافظه است
2- یا فقط دریافت یک نوع مثلا نوع صحیح که یک طول بیشینه داره و یک سری محدودیتها

اگر منظورت 1 هست باید کار با شاره گرها رو یاد داشته باشی یا اینکه از نوع فکر کنم Enum بود ولی دقیقا یادم نیست ، این نوع برات به اندازه بیشینه مقدار حافظه ای که میخوای باهاش کار کنی مثلا Double حافظه میگیره حالا میخوای توش Character بریز یا Integer یا هر نوع دیگه ولی مصرف بیربه حافظه داره اگه کار با شاره گرها رو یاد داری با شاره گر کار کن

ولی اگه منظورت سوال 2 است اگر درس کامپایلر رو پاس کرده باشی به راحتی میتونی این کار رو به بهترین راه ممکنه انجام بدی ، ببین عزیز دل بابا بهترین راه برای این کار این که ماشین حالت رو طراحی کنی و به هر State یک شماره اختصاص بدی مثال میزنم برای دریافت عدد اعشاری :
1- state 0 ----> در حال دریافت بخش صحیح پیش از اعشار
2- State 1 ----> پس از دریافت اولین . (Dot)
3- State3 ----> در حال دریافت عدد صحیح پس از اعشار
برای State 0 فقط اعداد 0 تا 9 را دریافت کن (اگه میخوای حرفه ای تر بشه باید برای این استیت هم شرط بزنی که تاپیش از دریافت عددی بین 1 تا 9 عدد 0 نگیره) اگر . دات رو زد برو به استیت برای باقی استیتها هم مشخصه . . . .

lord_ashkan_z
30-12-2007, 20:52
ببین ، تو نفهمیدی که من چی می خوام پس جوابت هم نامفهوم است.

من می خوام کسی که برنامه نوشته شده را اجرا می کنه بتونه به دلخواه خودش چندتا از متغیرهای مورد نظر را وارد کنه

مثلا اگر قرار باشه برنامه با استفاده از یک فرمول عبارتی را بدست آورد ، امکان دارد داده های مسئله X و y باشد و امکان دارد X و z باشد. برای مثال مقدار بار یک ذره رو از فرمول q=ne بدست می آید اگر سوال مقدار q را بخواهد برنامه باید مقدار n و e را وارد کند در حالی که ممکن است مسئله n را بخواهد که در این صورت باید مقدار q و e را وارد کند.

حالا:

من می خوام که فرد بتونه خودش انتخاب کنه که کدوم متغیر را وارد کند و سپس کامپیوتر با استفاده از فرمول مورد نظر جواب ما را بدست آورد.
که در این جا جواب ما متغیری است که ما برای آن چیز در نظر نگرفته ایم.

lord_ashkan_z
30-12-2007, 20:58
این یکی جدا از بالایی هست:

بر فرض مثال برنامه ما می خواهد n تعداد عدد را وارد کند و میانگینش را بگیرد( خیلی سخته:27:)

مشکل اینه که من باید بگم a و b را وارد کن تا آن را بگیرد حالا اگر من ندونم چه تعداد عدد باید وارد بشه چی؟

bad_boy_2007
31-12-2007, 21:45
ببین ، تو نفهمیدی که من چی می خوام پس جوابت هم نامفهوم است.

من می خوام کسی که برنامه نوشته شده را اجرا می کنه بتونه به دلخواه خودش چندتا از متغیرهای مورد نظر را وارد کنه

مثلا اگر قرار باشه برنامه با استفاده از یک فرمول عبارتی را بدست آورد ، امکان دارد داده های مسئله X و y باشد و امکان دارد X و z باشد. برای مثال مقدار بار یک ذره رو از فرمول q=ne بدست می آید اگر سوال مقدار q را بخواهد برنامه باید مقدار n و e را وارد کند در حالی که ممکن است مسئله n را بخواهد که در این صورت باید مقدار q و e را وارد کند.

حالا:

من می خوام که فرد بتونه خودش انتخاب کنه که کدوم متغیر را وارد کند و سپس کامپیوتر با استفاده از فرمول مورد نظر جواب ما را بدست آورد.
که در این جا جواب ما متغیری است که ما برای آن چیز در نظر نگرفته ایم.

برای انجام این کار اگه یه سری به گتابهای کامپایلر نگاه بندازی کمکت میکنه
کل عمل هم با اشاره گرها به سادگی امکان داره بصورت کلی تو میخوای یک فرمول بگیری و تو فرمول مقادیر رو جایگذاری کنی ، کار خیلی ساده ای هست ولی یکم حوصله میخواد !
در بدو ورود به برنامه اول باید نام و نوع متغییرها رو از ورودی بگیری و با استاده از اشاره گر ها مقادیر حافظه مورد نظرت رو اخذ کنی ، بعد باید فرمول رو بگیری و تو یک پشته ذخیره کنی (فکر کنم بصورت پس ترتیب بایس ذخیره کنی که راحت باهاش محاسبت رو انجام بدی) و در نهایت مقادی مربوط به متغییرها رو بگیری و عمل محاسباتی رو انجام بدی ! به همین راحتی حالا برو پروژه ات رو تحویل بده ! :27::27::27::27:
هر جاش مشکل داری بگو همونجا رو بیشتر توضیح بدم
برای کار با پشته هم یه سری به کتابهای طراحی الگوریتم یا ساختمان داده ها بزن

bad_boy_2007
31-12-2007, 21:51
این یکی جدا از بالایی هست:

بر فرض مثال برنامه ما می خواهد n تعداد عدد را وارد کند و میانگینش را بگیرد( خیلی سخته:27:)

مشکل اینه که من باید بگم a و b را وارد کن تا آن را بگیرد حالا اگر من ندونم چه تعداد عدد باید وارد بشه چی؟

ها !!!!!!
نوفهمیدم :13:
یعنی میخوای مقداری رو از ورودی بگیری و این مقدار بشه تعداد تکرارهای حلقه ات ؟ :21:
حالا تو چه زبونی وخای این کدت رو بنویسی ؟

lord_ashkan_z
01-01-2008, 12:52
هیچی دومی رو فهمیدم ...

در ضمن کار من پروژه نیست

lord_ashkan_z
07-01-2008, 22:56
با طول و عرض و ارتفاع پوزش از این یک مدتی در بین سوالاتم وقفه ایجاد شد.


ببین من از این توضیحاتت هیچی نفهمیدم. می دونی چرا ؟ چون من اصلا کامپایلر ماپایلر نخوندم.

لطفا به من توضیح بده که در یک برنامه نویسی مثل C چه جوری باید برنامه ای نوشت که اعداد را در فرمول جاگذاری کند؟در ضمن اگر سوال نکته دار باشد چی ، مثلا یکی از داده ها بر حصب دیگری باشد ؟!...


خیلی مخسی ...

bad_boy_2007
08-01-2008, 14:06
با طول و عرض و ارتفاع پوزش از این یک مدتی در بین سوالاتم وقفه ایجاد شد.


ببین من از این توضیحاتت هیچی نفهمیدم. می دونی چرا ؟ چون من اصلا کامپایلر ماپایلر نخوندم.

لطفا به من توضیح بده که در یک برنامه نویسی مثل C چه جوری باید برنامه ای نوشت که اعداد را در فرمول جاگذاری کند؟در ضمن اگر سوال نکته دار باشد چی ، مثلا یکی از داده ها بر حصب دیگری باشد ؟!...


خیلی مخسی ...

ساختمان داده پاسیدی ؟
با مفهوم پشته آشنایی داری و همینطور مفهوم Preorder- PosOrder , InOrder ؟

lord_ashkan_z
11-01-2008, 13:58
نــــــــــــــــــــــــ ــه ...

گفتم که ، من سنم به پاس کردن و این حرفا قد نمی ده خودم دارم مطالعه می کنم.

نمی دونم اینایی رو که گفتی به چه معنی هستن ولی احتمالا بلد باشو،یعنی به اسم بلد نیستم.

ولی شما لطف کن ساده بگو با زبانی مثل C چه جوری باید داده ها رو توی فرمول جاگذاری کرد؟

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

ممنون ....

bad_boy_2007
11-01-2008, 22:51
نــــــــــــــــــــــــ ــه ...

گفتم که ، من سنم به پاس کردن و این حرفا قد نمی ده خودم دارم مطالعه می کنم.

نمی دونم اینایی رو که گفتی به چه معنی هستن ولی احتمالا بلد باشو،یعنی به اسم بلد نیستم.

ولی شما لطف کن ساده بگو با زبانی مثل C چه جوری باید داده ها رو توی فرمول جاگذاری کرد؟

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

ممنون ....

اشکال نداره کمکت میکنم
فقط یک سوال کار با پشته رو یاد داری ؟
اگه یاد نداری یک کتاب ساختمان داده تهیه کن و حدود 30 یا 40 صفحه ای رو که مربوط به صف و پشته میشه بخون
ایده های زیادی واسه این کار میشه داد ایده پیشنهادی من اینه یک استراکچر تعریف کن حاوی موارد زیر :
1- یک Enum که بتونه هر نوع داده ای رو توش ذخیره کنه اعم از Integer یا Float یا . . . مثلا با عنوان Value
2- یک متغییر نوع Byte که نوع Enum رو برات مشخص کنه مثلا با عنوان Type
3- یک عنوان برای نام متغییر در صورت وجود مثلا با عنوان Name


مثلا برای ذخیره معادله زیر :

A=23*B + ((B+4)/2)
با فرض :
A=23*B + ((B+4)/2)
کد پرانتز باز 100
کد پرانتز بسته 101
کد متغییر نوع صحیح 1
کد عملگر جمع 201
کد عملگر تفریق 202
کد عملگر ضرب 203
کد عملگر تقسیم 204
و متغییر های B , A نوع صحیح باشن

پشته به این شکل خواهی داشت :

سر پشته
Value=0,type=101,name=""
Value=2,type=1,name=""
Value=0,type=204,name=""
Value=0,type=101,name=""
Value=4,type=1,name=""
Value=0,type=201,name=""
Value=B,type=1,name="B"
Value=0,type=100,name=""
Value=0,type=100,name=""
Value=0,type=201,name=""
Value=B,type=1,name="B"
Value=0,type=203,name=""
Value=23, type=1,name=""
ته پشته

و الگوریتمهای نوشته شده و آماده ای وجود داره که میتونه این پشته رو مقدار معادلش رو حساب کنه متاسفانه کتاب ساختمان داده ام رو دادم به دوستام (کدومشون نمیدونم !) و الان نمیتونم واست الگوریتمش رو بزارم ولی اگه تمایل داشتی هر موقع رفتم کتابخونه کتابشو میگیرم و واست میزارم
تا جایی که ادمه الگوریتمش مشابه زیر بود
1- یک مقدار رو از پشته وردار
- مقدار پرانتز با هست :
تا رسیدن به پرانتز بشته مقادیر رو محاسبه کن
- مقدار پرانتز بسته هست
مقدار محاسبه شده رو بزیر تو پشته
مقدار عملگر هست
- مقدار عدد هست ، بریزش تو یک متغییر تو حافظه مقدار بعدی رو بخون (حتما باید یک عملگر باشه) با مقدار بعدی که باید یک عدد یا یک عبارت محاسباتی باشه جمع کن
2- این کار رو تا زمانی انجام بده که پشته خالی نشده اگر پشته خالی شد آخرین مقدار برداشته شده مقدار مورد نظره

lord_ashkan_z
12-01-2008, 00:33
ایول من جوابم رو گرفتم ولی دو چیز :

اولا : برای هر کارکتری برای ذخیره یک فرمول مثل اینایی که گفتی عدد خاصی هست؟

ثانیا: میشه بگی که سن و رشته ات چیه؟

bad_boy_2007
12-01-2008, 09:41
ایول من جوابم رو گرفتم ولی دو چیز :

اولا : برای هر کارکتری برای ذخیره یک فرمول مثل اینایی که گفتی عدد خاصی هست؟

ثانیا: میشه بگی که سن و رشته ات چیه؟

سوال اولت ، بله - برای هر کاراکتر یا رشته ای که ذخیره میکنی باید فضایی هم دریافت کنی و به متغییر دلخواه و منحصر به فردی اختصاص بدی
دومی ، سن 22 رشته علوم کامپیوتر - پیام نور