صفحه 1 از 1
برنامه محاسباتی عدد پی
ارسال شده: پنجشنبه ۱۳۹۶/۸/۴ - ۱۴:۰۷
توسط behros
من میخوام برنامه محاسباتی عدد پی رو بنویسم با چه برنامه هایی میشه این کار رو انجام داد . ایا با c++میشه این برنامه رو نوشت
Re: برنامه محاسباتی عدد پی
ارسال شده: پنجشنبه ۱۳۹۶/۸/۴ - ۱۴:۳۲
توسط aalireza
behros نوشته شده:من میخوام برنامه محاسباتی عدد پی رو بنویسم با چه برنامه هایی میشه این کار رو انجام داد . ایا با c++میشه این برنامه رو نوشت
از قلم و کاغذ گرفته تا ماشینحسابِ کاسیو کشیده تا کوک و آگدا، رو همه چی میشه نوشتش. اگه رو سی پلاس پلاس میخوای، از جی ام پی استفاده کن. بزرگترین مشکلت تو سی پلاس پلاس فلوتینگ پوینته نه ضرب و تقسیم کردنِ چهارتا عدد. تو پایتون هم بخوایی بنویسیش میشه:
کد: انتخاب همه
from decimal import Decimal
def iterate_over_N():
n = 0
while True:
yield n
n += 1
def pi_approximator():
bbp = lambda k: (
(Decimal(1) / (Decimal(16 ** k)) *
((Decimal(4)/Decimal(8 * k + 1)) -
(Decimal(2)/Decimal(8 * k + 4)) -
(Decimal(1)/Decimal(8 * k + 5)) -
(Decimal(1)/Decimal(8 * k + 6))))
)
results = Decimal(0)
for n in iterate_over_N():
results += bbp(n)
yield results
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۱۴:۳۹
توسط behros
واقعیت اینکه من برای محاسبه عدد پی یه روش کشف کردم.خواستم برم دانشگاه تربیت مدرس از استاد های ریاضی اونجا بپرسم روشی که من کشف کردم چیز جدیدی هست یا نه .چون من دانشجوی اونجا نبودم به من اجازه ورود ندادند و حالا قصد دارم این روش رو سیدی بزنم و تو ایران پخش کنم .البته یکی از چیزهای دیگه ای که من کشف کردم فرمولی برای محاسبه سینوس و کسینوس هر زاویه ای . حتی میتونم سینوس یک میلیاردم درجه را با دقت بالا محاسبه کنم . فقط دنبال یه برنامه نویس میگردم که من فرمول ها رو بهش یاد بدم و اون برنامه اش را بنویسد حتی بهش پول هم میدم.اگر کسی برنامه نوشتنش خوب هست اعلام امادگی کنه.
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۱۵:۴۶
توسط You-See
برنامه نویس کم نیست.
فرمول رو یدید ببینم چی هست.
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۱۹:۱۱
توسط aalireza
behros نوشته شده:واقعیت اینکه من برای محاسبه عدد پی یه روش کشف کردم.خواستم برم دانشگاه تربیت مدرس از استاد های ریاضی اونجا بپرسم روشی که من کشف کردم چیز جدیدی هست یا نه .چون من دانشجوی اونجا نبودم به من اجازه ورود ندادند و حالا قصد دارم این روش رو سیدی بزنم و تو ایران پخش کنم .البته یکی از چیزهای دیگه ای که من کشف کردم فرمولی برای محاسبه سینوس و کسینوس هر زاویه ای . حتی میتونم سینوس یک میلیاردم درجه را با دقت بالا محاسبه کنم . فقط دنبال یه برنامه نویس میگردم که من فرمول ها رو بهش یاد بدم و اون برنامه اش را بنویسد حتی بهش پول هم میدم.اگر کسی برنامه نوشتنش خوب هست اعلام امادگی کنه.
امیدوار بودم این رو نگی انصافاً...
عمرخیام یا اینکاهایِ آمریکایِ جنوبی دقتِ محاسباتی براشون حدِ بالایِ سختیِ کار بود. وقتی شما کامپیوتر داری، دقتِ «هر» روشِ موجود برایِ محاسبهیِ عددِ پی (یا هر ثابتِ ریاضیاتیِ دیگه) و توابعِ مثلثاتی و امثالهم، تا حدِ دلخواه میتونه بره بالا! (سادگیِ خاصِ محاسبهیِ عددی مثلِ پی، اینه که محاسبهش عیناً از تعریفِ دقیقِ همون عدد میان بیرون)
واسه اینکه بدونی یه روشِ خاص بهتر یا بدتر از یهروشِ دیگهست، باید ببینی چهقدر سریعتر یا کندتر از روشِ دیگه به یهمقدارِ ثابت میرسی (فرض میکنم با خرط و پرتهایِ احتمالاتی که من سوادشو ندارم سروکار نداری، و همچنین با روشهایِ عمومی که برایِ تمامیِ مقادیرِ یهبازه صادق هستند هم). سنجشِ سرعتِ روشت، و اثباتِ اوّلیهیِ اینکه روشت ماقبلِ تمامیِ این شامورتیبازیها منطقاً درسته یا نه، تقریباً در تمامیِ شرایط هیچربطی به کامپیوتر و برنامهنویسی و اینا نداره.
به عبارتِ دیگه، اوّل برو ریاضیاتِ روشت رو اثبات کن، بعد برو با روشهایِ دیگه مقایسهش کن، بعد تبلیغ کن.
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۱۹:۱۸
توسط You-See
دوست عزیز، به جز مواردی مثل O که تقریبا با یک نگاه در میاد چیه، باقی موارد رو که نمی شه دستی انجام داد.
مثلا در روش هایی مثل تیلور، باید بشینی برای 5 رقم اعشار یک روز محاسبه کنی و مطمئن شی همه اش درسته.
به نظر من بهترین راه تست، اول دیدن Order مساله، به قول شما، بررسی اجمالی ریاضیات مساله، و در نهایت ران کردن برنامه است.
ران کردن مساله هم بخشی از تست هست.
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۱۹:۵۵
توسط aalireza
You-See نوشته شده:دوست عزیز، به جز مواردی مثل O که تقریبا با یک نگاه در میاد چیه، باقی موارد رو که نمی شه دستی انجام داد.
مثلا در روش هایی مثل تیلور، باید بشینی برای 5 رقم اعشار یک روز محاسبه کنی و مطمئن شی همه اش درسته.
به نظر من بهترین راه تست، اول دیدن Order مساله، به قول شما، بررسی اجمالی ریاضیات مساله، و در نهایت ران کردن برنامه است.
ران کردن مساله هم بخشی از تست هست.
کلاً من نگرفتم الان چی گفتی دادا. مثلاً واسه تیلوری که میگی، هیچ کس نمیاد صورتِ مسئله رو بکنه برنامه، چون اوّلاً باید توابع رو کمی نشون بده تا بخواد مشتقشون رو بگیره (و فرض میکنیم مشتقگیریِ اتوماتیک طرف نداره) و ثانیاً هر مرحله هم تعدادِ عملیاتِ زیادتری میطلبه و هم کندتر میرسه به جوابِ تیلور با یه ارورِ ثابت. واسه تیلور پایهایترین کاری میکنی CORDICئه که این تو ماشینحسابِ کاسیو هم بهت سریع جواب میده.
تحلیلِ سرعتِ یه الگوریتمِ محاسباتی ربطی به بیگ اًیی که میگی نداره، چون خیلی راحت میشه تحلیلی قضیه رو بررسی کرد. تفاوتِ یه الگوریتمِ محاسباتی با چیزایِ دیگه، اینه که تماماً قابلِ بررسیِ تحلیلیه که یعنی برنامهنوشتن (با وجودی که آسونترین کاره) میشه قسمتِ آخر.
تمامیِ اینا تو چند فصلِ اول kincaid بررسی میشن. به هرحال اینم ربطی نداره به موضوعِ اولیه تاپیک.
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۲۰:۰۵
توسط You-See
برادر من، شما با نگاه به الگوریتم بازگشت می تونی بگی اوردر اون چی هست؟
اگر بله، خیلی کارت درسته
Re: برنامه محاسباتی عدد پی
ارسال شده: جمعه ۱۳۹۶/۸/۵ - ۲۰:۳۲
توسط aalireza
You-See نوشته شده:برادر من، شما با نگاه به الگوریتم بازگشت می تونی بگی اوردر اون چی هست؟
اگر بله، خیلی کارت درسته
منظورت رو از «اوردر» نمیگیرم، ولی اگه منظورت اینه که رابطهیِ بازگشتی رو غیرِبازگشتی کنی، در شرایطِ کلی این مسئله معادلِ هالتینگه که یعنی غیر ممکنه. در شرایطِ خاص، مثلِ خطی بودنِ رابطه، مثلاً مستر الگوریتمِ دیواید اند کانکر، رابطش تحلیلی حل شده و مثلاً تو CLRS آمده.
منتهی این بیربطه به چیزی که من قبلاً گفتم. من گفتم روشهایِ عددی، تحلیلی باید اثبات و بررسی بشن و نمونهشم تیلوری که آوردی. روابطِ بازگشتی اینجا واردِ بازی نمیشن.
بعدنوشت: الان اوردر رو Order خوندم! :دی آره اون غالباً راحتتر از حلِ کاملِ مسئلهست. ولی کماکان هم در شرایطِ کلی معادلِ هالتینگه و قسعلیهذا.