کاربرد ریاضیات در برنامه نویسی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۶۰ نفر آنلاین
۰ عضو و ۱۶۰ مهمان در سایت حاضرند

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

+3 امتیاز
1,484 بازدید
سلام

کاربرد ریاضیات در برنامه نویسی؟
سوال شده خرداد 16, 1393  بوسیله ی امیدوار (امتیاز 928)   3 12 47
اغلب کاربرد چشمگیری نداره. مگه برنامه‌ای برای ریاضیات نوشته بشه. مثلا برنامه‌ای برای کار با گروه مثل gap. شاید بشه برای بعضی برنامه‌ها برای بخش‌هایی مدل ریاضی درست کرد و بشه کار سنگینی رو راحت تر کرد. کلا بستگی به برنامه داره. من تا حالا به موردی برنخورده م.
ریاضیات شاید طرز نگاه و فکر رو تا حدی تغییر بده.
البته برای گرافیک کارهایی انجام شده مثل توپولوژی دیجیتال و ... . برای بازی‌های فکری شاید زیاد به کار بیاد. ماتریس‌ها در گرافیک سه بعدی کاربرد دارن.

4 پاسخ

+3 امتیاز
 
بهترین پاسخ

- ریاضی نوعی علم پایه است!
- علم پایه ، مادر علوم زیرشاخه اش است!
- علم زیر شاخه از همان جنس علم مادرش است!
- علم مادر از جنس علوم زیرشاخه اش نیست!

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

مهندسی ، نوعی رشته ریاضیه! ولی ریاضی مهندسی نیست!
امّا نکته دقیقاً اینجاست که اگه ریاضی نباشه، مهندسی دیگه نمیتونه از جنس ریاضی باشه و دیگه مهندسی نیست!

پس مهندسی که بگه "من که رشتم مهندسیه مکانیکه .... یا رشتم مهندسیه کامپیوتره ... یا رشتم مهندسی بیوتکنولوژی ... ریاضی می خوام چیکار ؟" داره اشتباه میکنه !

حالا کاربرد ریاضی در کامپیوتر چیه ؟

وقتی میگیم کاربر ریاضی در کامپیوتر ، منظور استفاده از نرم افزار MATLAb یا Mathematical سا غیره نیست! گرچه این نرم افزار های فوق العاده قدرتمند یکی از کاربرد های ریاضی هستند اما ... 

رشته کامپیوتر علمیست که ابزار برنامه نویسی و برنامه سازی و همچنین مبانی کامپیوتر و سیستم عامل و غیره رو آموزش میده.

تمامی نرم افزار های برنامه نویسی نظیر JAVA, .NET, SQL, Prolog, PHP و غیره، بر اساس منطق ریاضی غیر قابل اشتبا نوشته شده اند و شرکت های بزرگ نرم افزاری همواره از متخصصین ریاضی به عنوان اصلی ترین مهره های برنامه سازی و طراحی استفاده کرده اند.

مسلماً یک کارشناس ریاضی ، با درک منطق موجود در رشته ای مثل کامپیوتر، می تونه به راحتی ابزار مربوط به این رشته رو بدست بیاره. اما یک مهندس کامپیوتر، اگرچه با دستگاهی سر و کار داره که کاملاً منطقیه و همواره برنامه نویسان فوق العاده منطقی هستند، اما شاید به راحتی نتونه تغییر رشته بده و وارد رشته ای مثل مکانیک یا نساجی بشه!

در صورتی که یک کارشناس ریاضی انجام چنین کاری براش راحت تره. چون راحت تر میتونه مفاهیم موجود تو همچین رشته هایی رو درک کنه ، ولی هیچ وقت هم ممکنه به اندازه یک مهندس نرم افزار با ابزارهایبرنامه نویسی آشنا نشه، ولی احتمال بالایی داره که برنامه نویس بهتری بشه!

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

امیدوارم که به درد خورده باشه! ( مخصوصاً واسه کسایی که می خوان انتخاب رشته کنن )

پاسخ داده شده خرداد 16, 1393 بوسیله ی daniyaltjm (امتیاز 1,093)   5 22 85
منم ریاضیم خوب نیست , ولی اگه می خوای برنامه نویس خوبی بشی باید حتما کمی از ریاضی رو بفهمی ! خودمم کمکم دارم روش کار میکنم
دوستان یه نگاهی به زبان Haskell بیاندازید اگه ندیدید... اگر هم مثال هاش رو ببینید خوب متوجه می شید که داشتن دانش ریاضی بیش تر چه قدر در برنامه نویسی می تونه کمکتون کنه... Haskell که اصلا یه پله از بقیه بالاتره در این زمینه!... یه زبان Functional قدرت مند هست... اگه شروع کنید به یادگیریش شاید اصلا به ریاضی علاقه ی بیش تری پیدا کنید... ولی قبلش باید یه سطحی از دانش ریاضی رو داشته باشید که بتونید شروع کنید و لذت ببرید...
به جای این که کلی کد بزنید و بگید چه طوری می شه به خواسته تون برسید، برای Haskell خواسته تون رو تعریف کنید و بهش برسید! یه جورایی، سوال اصلی 'چی' هست نه 'چگونه'...!
+2 امتیاز
کسی اشاره ای به علم رمزنگاری (Cryptography) مدرن نکرد.

فکر میکنم در این حیطه در بین تمام حیطه های برنامه نویسی، ریاضیات بصورت استثنایی اهمیت و کاربرد بسیار زیادتری داره.

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

البته بیشتر کاربرد ریاضیات در علم رمزنگاری و برنامه نویسی مربوط به اون، در سطح طراحی و پیاده سازی الگوریتم ها و پروتکل ها و سیستمهای رمزنگاریه (یجوری شبیه برنامه نویسی سیستمی و سیستم عامل و سطح پایین در مقابل برنامه نویسی سطح بالا و اپلیکیشن)، ولی در سطح برنامه نویسی اپلیکیشن هم که ما از این الگوریتم ها و پروتکل ها و سیستمها میخوایم استفاده کنیم، داشتن دانش عمیق و گسترده، که طبیعتا نیاز به آگاهی و درک حداقلی از ریاضیات بکار رفته هم داره، کمک بزرگیه و حتی در خیلی موارد میشه گفت تقریبا لازمه (وگرنه برنامه نویس نمیتونه براحتی و اطمینان کافی از این ابزارها استفاده کنه و احتمال خطاش واقعا بالاست).

ضمنا خیلی از بزرگان این رشته هم که بنده تاحالا برخورد کردم دیدم مدارک آکادمیک ریاضی یا فیزیک (هم) داشتن. خلاصه باید ریاضیاتت خوب باشه توی این رشته. البته بعنوان یه برنامه نویس معمولی که فقط میخواد از این الگوریتم ها برای امنیت برنامش استفاده کنه، ریاضیات در اون حد کامل و پیشرفته کمتر ضرورت داره، اما بازم مهمه و تاثیر زیادی داره و در خیلی موارد گیر و مشکل ها و خطاهای طراحی و پیاده سازی برنامه های امنیتی سر همین مسئله پیش میاد. بخاطر همین، این یک تخصص جداگانه بحساب میاد که شرکتها و تیم های درست و حسابی یک چنین متخصص و نقشی رو باید داشته باشن در تیم خودشون؛ البته کلا امنیت در برنامه نویسی که خودش یک تخصص و نقشه برای خودش، ولی میشه گفت رمزنگاری هم یک تخصص اندر تخصصه در این حیطه (یک زیرمجموعهء گسترده و مهم و پیچیده که اکثر افراد درش صلاحیت کافی ندارن).
پاسخ داده شده شهریور 5, 1393 بوسیله ی Hamidreza Mz (امتیاز 26)   1
+1 امتیاز
من دانشجوی ارشد نرم افزار هستم

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

به نظرم برای دانشجویان نرم افزار و برنامه نویسان می تونه مفید باشه

برای خرید این تحقیق با قیمت 7000 تومان می تونید به لینک زیر برید.

 

http://123proje.ir/%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%D9%85%D8%B9%D8%A7%D8%AF%D9%84%D8%A7%D8%AA-%D8%AF%DB%8C%D9%81%D8%B1%D8%A7%D9%86%D8%B3%DB%8C%D9%84-%D9%88-%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C%D8%A7%D8%AA-%D8%AF%D8%B1/
پاسخ داده شده خرداد 17, 1393 بوسیله ی aminomidi (امتیاز 115)   1 7
+1 امتیاز
داشتن اطلاعات مربوط به ریاضیات ۲ جا برای هر برنامه نویسی لازمه :‌

۱ـ  ریاضیات گسسته (جبر گراف ) کاربرد ای هم که داره اینه که پیش نیاز و لازمه یادگیری الگوریتم های مختلف و نحوه کارکرد data structure های مختلف و استفاده بهینه ازشون هست . البته علم  آمار هم تا حدی لازم هست. ( مثلا شما تا وقتی که ندونید گراف چیه یا hash چطوری کار می کنه احتمالا هیچ وقت نمی تونید تصمیم بگیرید که آیا مثلا یک الگوریتم خاص باید داخلش map استفاده کنید یا  وکتور یا hash ,... )

۲ـ محاسبه پیچیدگی زمانی  هم لازمش دونستن نحوه محاسبه سری های مختلف هست  .

یچیدگی زمانی هم کاربردش اینه که شما میتونید ۲ تا الگوریتم متفاوت رو بصورت علمی و دقیق بدور از اشتباهاتی که ممکنه در محاسبه عملی وجود داشته باشه  مقایسه کنید ..(مثلا در تست عملی ممکنه دیتا ای که استفاده میشه برای تست با داده های واقعی تفاوت داشته باشه یا نوع پردازنده هم روی سرعتش تاثیر گذاشته باشه و... )  

این که آیا به قسمتی دیگر از ریاضیات لازم داشته باشید یا نه کاملا بستگی به برنامه ای که مینویسید داره .
پاسخ داده شده شهریور 5, 1393 بوسیله ی BlueBlade (امتیاز 15,742)   13 17 85
...