PDA

View Full Version : ارتباط ریاضیات با برنامه نویسي



TeacherMath
یک شنبه 03 مرداد 1389, 23:57 عصر
من از تمام دوستانی که فکر می کنند ریاضی به آنها در برنامه نویسی کمک کرده است خواهش می کنم که نظراتشان را بیان کنند.
من که خودم فکر می کنم ریاضی و کامپیوتر در واقع یک مسیر را طی می کنند .به این دلیل که برای یادگیری یک مطلب ریاضی باید یک راه یا الگوریتم حل را یاد بگیرید همچنین برای نوشتن یک برنامه هم باید یک مسیرمشخص را طی کنید تا یک مشکل را حل کنید.
من فکر می کنم اگر با دید ریاضی به برنامه نویسی بنگریم پیشرفتمان در این راه دو چندان می شود.
اگر بشود از همان ابتدای طراحی یک برنامه واقعا همه چیزرا با دلیل وبرهان طراحی کرد مشکلات احتمالی در حین کار بسیار کم می شود.
پس بیایم دقیقتر باشیم.وبه ریاضی نیز در کنار برنامه نویسی نیم نگاهی داشته باشیم.

amir-yeketaz
دوشنبه 04 مرداد 1389, 00:59 صبح
من که کاملا مخالفم !!!
یه سوال دارم:
بهتر نیست که ما به جایه اینکه یه نیم نگاهی (در کمترین حد!) به ریاضی دانشگاه بندازیم تمام نگاه رو به برنامه نویسی و کامپیوتر بپردازیم(همون بندازیم!)؟؟؟

nima898
دوشنبه 04 مرداد 1389, 06:56 صبح
پس بیایم دقیقتر باشیم.وبه ریاضی نیز در کنار برنامه نویسی نیم نگاهی داشته باشیم. من کاملا موافقم ریاضیات توبرنامه نویسی خیلی به من کمک کرده

eshpilen
دوشنبه 04 مرداد 1389, 09:00 صبح
ریاضیات اساس کامپیوتر و برنامه نویسی هست.
منتها اون سطح و مقداری از ریاضیات که در بیشتر برنامه نویسی های اپلیکیشن بکار میره، محدود یا از نوع پایه و ساده هست بنظرم. مقدار زیادی از ریاضیات در لایه های زیرین و انواع دیگر برنامه نویسی پنهان شده. معمولا برنامه نویسان اپلیکیشن با ریاضیاتش کاری ندارن چون امکانات قبلا در لایه های پایینتر پیاده سازی شده.
مثلا شما رسم یک دایره رو درنظر بگیرید. برای اینکار API های خیلی ساده و سرراستی هست. اما اون کتابخانه هایی که این امکانات رو فراهم میکنن الگوریتم رسم دایره رو چطور پیاده کردن؟ مثلا از الگوریتمهایی مثل الگوریتم برسنهام استفاده میکنن که جنبه های ریاضی مشخصی داره (بنده یک بار با استفاده از حساب دیفرانسیل یک الگوریتم کاراتر از روی اون ایجاد کردم!).
یا مثلا Cryptography که اصولا سراسرش پر از ریاضیات پیشرفته هست.
مسلما اگر شما بخواید کتابخانهء Cryptography بنویسید یا روی Cryptography بصورت اصولی و پایه ای بینش بدست بیارید، باید ریاضیاتش رو بخونید و درک کنید. اما یک برنامه نویس اپلیکیشن به بیشتر این کارها نیازی نداره و صرفا از کلاسها و توابع آمادهء Cryptography با روشهای سادهء شرح داده شده ای که نیاز به دانش ریاضی پیشرفته ندارن استفاده میکنه.
البته همین برنامه نویس وقتی بخواد برنامه ها و پروتکل های پیچیده تر و مفصل تری رو که بحث امنیتی و رمزنگاری جدی دارن طراحی کنه، به احتمال زیاد گیر میکنه یا چیزی که طراحی میکنه عملا حاوی حفره های امنیتی خواهد بود که این حفره ها میتونن براحتی از نوع بزرگ و جدی باشن. چون ترکیب اینطور الگوریتمها باهم، ترکیب ریاضیات حساس زیربنایی اونها باهم هست که میتونه نتایج غیرمنتظره ای به بار بیاره. ولی بازهم میبینیم که کاربرد رمزنگاری در بیشتر اپلیکیشن های عادی خیلی محدود هست و برنامه نویس معمولا درگیر ایجاد پروتکل و ترکیب اجزای مختلف رمزنگاری نمیشه.

البته بطور کلی در هر برنامهء بزرگ یا الگوریتم پیچیده و هوشمندانه ای، نقش اساسی ریاضیات اغلب به وضوح دیده میشه و مسلما در اینجا کسی که ریاضیات خوبی داشته باشی برتری واضحی داره و میتونه مشکلات بیشتری رو خودش حل کنه یا از راههای بهتر/بهینه تر و هوشمندانه تری حل کنه.
در بعضی وادیهای برنامه نویسی نقش ریاضیات برجسته تر هست. مثل Cryptography که بصورت سنگینی درگیر با ریاضیات و ریاضیات پیشرفته هست.
همونطور که گفتم این مسئلهء اهمیت احاطهء برنامه نویس به ریاضیات و لزوم درک پایه ای مبنای ریاضی کارش، در برنامه نویسیهای سطح پایینتر یا پیچیده تر و بزرگ تر و غیرمتداول تر از برنامه نویسی اپلیکیشن های عادی برجسته میشه.
بخش بزرگی از برنامه ها و برنامه نویسی های بخصوص تجاری، از نوع اپلیکیشن های عادی هستن؛ و وقت و انرژی برنامه نویسان هم محدود هست. بنابراین اونا ترجیح میدن بیشتر روی خود برنامه نویسی کار کنن تا ریاضیات. چون دنبال کردن هرکدوم از اینها کلی وقت و انرژی میخواد. اگر پروفسور ریاضی هم باشید، بازم برای یادگیری و مهارت در برنامه نویسی کلی کار خواهید داشت.

Afshin160
دوشنبه 04 مرداد 1389, 11:46 صبح
سلام ....
نگاه كنيد همان طور كه دوستمون گفته در سطح هاي پاييه اي رياضيات خيلي دخيل است ولي در سطوح ديگر استفاده از آن به خلاقيت شما در به كار گيري برمي گردد . ولي در كل علم رياضيات و درك آن در تمامي مسير زندگي يك انسان مي تونه تاثير گذار باشه ، يادمه يه درسي داشتيم به نام آناليز كاربردي 1-2 كه واقعا" جذاب بود . نگرش ما به مسائل اطراف خيلي مهم . مثلا" مهمه كه آن درس را چطور مي خونيد . مي خونيد براي نمره يا براي براي درك صحيح و عميق . اگر كسي نگرش دوم را داشته باشد حال مي خواهد رياضيات يا برنامه نويسي باشد موفق است . حال آنكه اگر رياضيات خوانده باشد و انساني خلاق باشد ممكنه بتونه اين مسائل رياضي را كار بردي كنه و در برنامه نويسي هم استفاده كنه .
دركل درك درست مسائل رياضي بي تاثير در نحوه آناليز برنامه نويسي وحتي مسائل زندگي نيست .
به شخصه تاثير آن را در زندگي حس كرده ام .
ولي تلفيق و به كاربردي كردن در برنامه نويسي هنري ديگر است .

Salar Ashgi
دوشنبه 04 مرداد 1389, 12:15 عصر
در اینکه ریاضیات نقش بسزا و خارق العاده ای در برنامه نویسی داره ، هیچ شکی درش نیست و مثل روز روشنه .

البته دوستانی که مطرح میکنند ، ریاضی با برنامه نویسی در ارتباط نیست ، حتما تا بحال برنامه های

ریاضیاتی ننوشته اند ! بقول یه دوست عزیز برنامه نویس ، لذت برنامه نویسی فقط در برنامه های الگوریتمی

و محاسباتی هست ، نه برنامه های بی پایه و اساس و کلیشه ای دیتابیس .

شما اگه یه نگاه به مسابقات برنامه نویسی هم نگاه کنید ، می بینید که بعد دانش برنامه نویسی ، دانش

ریاضی حرف اول رو تو این مسابقات میزنه .
نمیدونی چه لذتی به آدم میده نوشتن برنامه های ریاضیاتی ، گرفتن انتگرال ، حل معادلات چند جمله ای ،

گرفتن حد و مشتق ، ریاضیات گسسته و ...

اصلا میتونم بگم مبنای مهندسی نرم افزار ریاضیست ، من که بشخصه علاقه نجومی بهش دارم و همین

علاقه ، علاقه جدید و بزرگی ایجاد میکنه برای برنامه نویسی .

به قول ... : خداوند جهان را بر اساس ریاضیات خلق نموده است !

موفق باشید .

Alireza_Salehi
دوشنبه 04 مرداد 1389, 12:43 عصر
تمام اصول زبان های برنامه نویسی و پایگاه داده بر مبنای قواعد دقیق ریاضی است...
اگر کسی ریاضیات قوی داشته باشه ذهن خیلی خلاق تر و ایده های ناب تری ارائه میکنه...

مصطفی ساتکی
دوشنبه 04 مرداد 1389, 18:06 عصر
من با پردازش تصوير و شبكه عصبي كه كار مي كنم سرتاسر رياضي و آمار .
مخصوصاً اگر بخاي صاحب نظر باشي و كتابخانه كاريت رو توسعه بديد.
engine game و خود game ها برنامه هاي گرافيكي 2d , 3d و برنامه هاي محاسباتي و ‍CAD و .....
رياضيات نقشه اساسي بازي مي كنن.
اصولاً پشت اكثر كارهاي تجاري رياضيات و آمار حتماً ديده ميشه.

eshpilen
دوشنبه 04 مرداد 1389, 19:23 عصر
نمیدونی چه لذتی به آدم میده نوشتن برنامه های ریاضیاتی ، گرفتن انتگرال ، حل معادلات چند جمله ای ،

گرفتن حد و مشتق ، ریاضیات گسسته و ...

ببخشید بنظرم منظور استارتر کاربرد ریاضیات در برنامه نویسی عادی بوده نه کاربرد برنامه نویسی در ریاضیات.


به قول ... : خداوند جهان را بر اساس ریاضیات خلق نموده است !
بله همینطوره.
اصلا ریاضی و منطق و استنباط بنظر من یکی هستن.
برنامه نویسی هم چیزی جز منطق و استنباط منطقی نیست.
در پایه همه چیز ریاضی هست.