View Full Version : مبدل واحد
mtfa65
شنبه 30 شهریور 1392, 15:48 عصر
سلام
بسیار ممنونم از اینکه به تاپیک ها جواب می دهید.
من در دلفی برنامه ای نوشتم که نیاز به تبدیل واحد دارد.به این صورت که مقادیر واحد ها را باید خود کاربر تعریف کند و این تعاریف در بانک اطلاعاتی اکسس ذخیره میشود و موقع بازیابی عملیات تبدیل واحد انجام می شود اما دستوراتی که من نوشتم درست نیست یعنی تبدیل واحد به درستی انجام نمیشود.
به عنوان مثال 3 واحد می خواهیم ذخیره کنیم:
1.کیلوگرم
2.گرم
3.تعداد
تعریفها به این صورت می باشد که:هر یک کیلوگرم 1000گرم می باشد و هر 1000 گرم برابر با 4 عدد میباشد.
بااین اگر بخواهیم بدانیم 20 عدد برابر چند کیلوگرم خواهد شد باشد اول عدد را به گرم تبدیل کنیم و بعد گرم را به کیلوگرم.یعنی عدد 20ضرب در 4 تقسیم بر 1000 حاصل بدست می آید.
لطفا در این مورد راهنمایی فرمایید به چه صورت عملیات تبدیل واحد را انجام دهیم
با تشکر
یوسف زالی
دوشنبه 01 مهر 1392, 10:15 صبح
سلام.
با یک تناسب ساده.
فرض کنید دو واحد دارید با نام های V1 و V2 که رابطه ی زیر رو دارند:
a * V1 = b * V2
فرض کنید V2 رو داریم می خواهیم V1 رو بدست بیاریم.
روش: از جدول استفاده کنید:
نسبت واحد اول ............ تعداد اول
-------------------|---------------------
نسبت واحد دوم ........... تعداد دوم
مثال:
هر 2 بسته = 1000 گرم
حالا می خواهیم بدونیم 56 بسته چقدر می شه:
2 بسته .......1000 گرم
----------|-------------
56 بسته ...... X
X = 1000 * 56 / 2
برای سه واحدی و بیشتر هم از همین روش می تونید به صورت پی در پی (یا یکباره، در صورت داشتن نسبت تبدیل) استفاده کنید.
برای برنامه نویسی هم همین طور،
شما 4 تا باکس رو باید در نظر بگیری، که سه تاش باید پر باشه.
دو تاش نسبت ها توشه، دو تاش تعداد ها که یکی از رو اون یکی ست می شه.
دو حالت داره، برای هر دو حالت باید کد بنویسید. مثلا اگر باکس 3 پر شد 4 محاسبه شه و بر عکس. تنها نکته اینه که باید حواستون باشه که در حلقه گیر نکنید.
دیدن اینجا هم می تونه کمک کنه:
http://barnamenevis.org/showthread.php?418543-%D9%88%D8%A7%D8%AD%D8%AF-%D8%A7%D8%B5%D9%84%DB%8C-%D9%88-%D9%81%D8%B1%D8%B9%DB%8C-%D8%AC%D8%AF%D9%88%D9%84-%DA%A9%D8%A7%D9%84%D8%A7&p=1873201#post1873201
persia_hrn
دوشنبه 01 مهر 1392, 11:39 صبح
تعریفها به این صورت می باشد که:هر یک کیلوگرم 1000گرم می باشد و هر 1000 گرم برابر با 4 عدد میباشد.
بااین اگر بخواهیم بدانیم 20 عدد برابر چند کیلوگرم خواهد شدسلام دوست من ،
محاسبه این مورد به این صورت درست میشه :
شما گفتید هر 1000 گرم برابر با 4 می باشد >>> پس 20 عدد برابر با 5 تا 1000 گرم می باشد و 5 تا 1000 گرم میشه 5 کیلو ، پس رابطه زیر برای بدست آوردن این موضوع جوابتون رو میده :
1 کیلوگرم = A
1000 گرم = B
A=B
1 عدد = C
حالا رابطه :
( (C/4) * b ) / a = جواب به کیلو گرم
راه کوتاه تر :
(C/4) = جواب به کیلوگرم
mtfa65
دوشنبه 01 مهر 1392, 15:11 عصر
با سلام بسیار ممنونم از اینکه جواب دادید.
روشی که شما اعلام کردید بسیار ساده بود امام این روش به شرطی باشد که واحد ثابت باشد و دیگر قابل تغییر نباشد و از پیش تعریف شده باشد.
اما روش دیگری رو بکار بردم-شاید بدرد بخوره.
به این صورت که وقتی کاربر مثلا 5 واحد را اضافه میکند در این صورت باید یکی از واحدها را به صورت واحد پایه انتخاب کند و بقیه واحد بر حسب واحد پایه سنجیده و تبدیل مشود.
مثلا واحد پایه ما x باشد و سه واحد به نام های y,z,c باشد و بخواهیم واحد y را به z تبدیل کنیم در این صورت اول y به x تبدیله شده سپس مقدار x به مقدار z تبدیل میشود.من این دستورات با استفاده از دستور if در داخل یک حلقه گذاشتم.و خیلی هم خوب و درست جواب می دهد.
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.