PDA

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



raminlich
یک شنبه 14 اردیبهشت 1393, 18:26 عصر
سلام به همگی
من این سوال خیلی وقت تو ذهنمه چرا همه ی مثال های برنامه نویسی با ریاضیه
الان اگه این طوری باشه من باید برم بیشتر از برنامه نویسی ریاضی بخونم(در حالی که از ریاضی بدم میاد)
یه جا تو کتاب نوشته برنامه نویس نیازی نیست ریاضی در حد سطح بالا بداند بعد یه جا یکی می گه باید برای این که خوب بتونه برنامه نویسی مسلط شه نمی دونم اسمش چی بود تا حالا نشنیده بودم من موندم این برنامه هایی که مینویسن توشون ا ریاضی استفاده می کنن؟!؟مثلا یه بازی
یکی رک راست بگه؟؟؟

jahadgar91
یک شنبه 14 اردیبهشت 1393, 18:41 عصر
خوب دوست عزیز اگه تو بخوای یه برنامه بنویسی که بیشترین قد رو حساب کنه باید مقایسه کنه که ریاضی هستش منظورشون اینه که لازم نیست انتگرال و مشتق رو بلد باشی
اگه از ضرب تقسیم جمع ومنها بدت میا که برنامه نویسی همش اینه

motherboard
یک شنبه 14 اردیبهشت 1393, 18:46 عصر
اگه از ریاضی بدت میاد قید برنامه نویسی رو بزن.:قهقهه:هر چه قدر که برنامه ای که می نویسی پیشرفته باشه باید الگوریتم اون هم پیشرفته باشه و در این الگوریتم ها نقش ریاضی خیلی تعیین کننده است.ضمن اینکه تا برنامه نویسی نکنی نقش ریاضی رو متوجه نمی شی.:قلب:

rahnema1
یک شنبه 14 اردیبهشت 1393, 18:59 عصر
چند علت می تونه داشته باشه:
- معلم می خواد معلومات ریاضی خودشو به رخ بکشه یا دنبال یک چاره می گرده که به هرحال یک درجه بندی از شاگردها درست کنه
در هر صورت فکر می کنم استفاده افراطی از بعضی مسائل ریاضی در برنامه نویسی درست نیست. مهم اینه که شخص بتونه اصول کار را یاد بگیره گرچه فکر نکنم مسائل ریاضی سختی در دروس مبانی برنامه نویسی مطرح بشه
یک بخش برنامه نویسی مربوط به طراحی الگوریتم میشه این قسمت به ریاضی نزدیکتره و همچنین با زبانهایی که به زبان ماشین نزدیکترن مثل سی پلاس پلاس ( بیشتر مربوط میشه به دانشگاه و بحثهای علمی)
اما یک بخش استفاده از این الگوریتم ها هست که علاوه بر دانشگاه بیشترین کاربرد را در بازار کار داره که مثل زبانهایی همچون سی شارپ و دات نت و ارتباط با پایگاه داده و محیطهای ویژوال و همچنین سی پلاس پلاس هم اینجا کاربرد داره
خیلی از جنبه های برنامه نویسی فکریه و به خلاقیت مربوط میشه. حالا اگه از ریاضی خوشتون نمیاد اشکالی نداره ولی باید توانایی این را داشته باشید در یک حد قابل قبول مسائل فکری را حل کنید و گلیم خودتون را در مسائلی که باهاش مواجه می شید از آب بکشید
توی بحث بازی هم که همین طور قسمتهای سطح پایین مثل کتابخانه های گرافیکی آماده مثل Opengl همه بر اساس ریاضیه و هندسه تحلیلی و جبر نوشته شده اما وقتی به سطوح بالاتر میاییم نقش ریاضیات کمتر میشه شاید کار برنامه نویس بشه پیوند دادن بین مثلا یک کاراکتر با صحنه اما خلاقیت و دانش بالای برنامه نویس باعث میشه برنامه کیفیت بهتری پیدا کنه
در هر صورت هر قدرت خلاقیت به کار میاد و هم دانش بالا ممکنه یک نفر در یکی ضعیف باشه که با اون یکی جبران کنه

motherboard
یک شنبه 14 اردیبهشت 1393, 19:28 عصر
چند علت می تونه داشته باشه:
- معلم می خواد معلومات ریاضی خودشو به رخ بکشه یا دنبال یک چاره می گرده که به هرحال یک درجه بندی از شاگردها درست کنه
در هر صورت فکر می کنم استفاده افراطی از بعضی مسائل ریاضی در برنامه نویسی درست نیست. مهم اینه که شخص بتونه اصول کار را یاد بگیره گرچه فکر نکنم مسائل ریاضی سختی در دروس مبانی برنامه نویسی مطرح بشه
یک بخش برنامه نویسی مربوط به طراحی الگوریتم میشه این قسمت به ریاضی نزدیکتره و همچنین با زبانهایی که به زبان ماشین نزدیکترن مثل سی پلاس پلاس ( بیشتر مربوط میشه به دانشگاه و بحثهای علمی)
اما یک بخش استفاده از این الگوریتم ها هست که علاوه بر دانشگاه بیشترین کاربرد را در بازار کار داره که مثل زبانهایی همچون سی شارپ و دات نت و ارتباط با پایگاه داده و محیطهای ویژوال و همچنین سی پلاس پلاس هم اینجا کاربرد داره
خیلی از جنبه های برنامه نویسی فکریه و به خلاقیت مربوط میشه. حالا اگه از ریاضی خوشتون نمیاد اشکالی نداره ولی باید توانایی این را داشته باشید در یک حد قابل قبول مسائل فکری را حل کنید و گلیم خودتون را در مسائلی که باهاش مواجه می شید از آب بکشید
توی بحث بازی هم که همین طور قسمتهای سطح پایین مثل کتابخانه های گرافیکی آماده مثل Opengl همه بر اساس ریاضیه و هندسه تحلیلی و جبر نوشته شده اما وقتی به سطوح بالاتر میاییم نقش ریاضیات کمتر میشه شاید کار برنامه نویس بشه پیوند دادن بین مثلا یک کاراکتر با صحنه اما خلاقیت و دانش بالای برنامه نویس باعث میشه برنامه کیفیت بهتری پیدا کنه
در هر صورت هر قدرت خلاقیت به کار میاد و هم دانش بالا ممکنه یک نفر در یکی ضعیف باشه که با اون یکی جبران کنه

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

rahnema1
یک شنبه 14 اردیبهشت 1393, 19:33 عصر
برنامه نویسی برابر با خلاقیت + ریاضیات.دوست من در کد هایی که قراره پیشرفته و بسیار حرفه ای نوشته بشن و یا در رمز نگاری داده ها فقط خلاقیت کفایت نمیکنه بلکه دانش بالای ریاضی هم تاثیر خودش رو داره.این غیر منطقیه که یک نفر برنامه نویس خوبی باشه و بعد بیاد بگه که از ریاضی بدم میاد.در برنامه نویسی زبان هایی مثل سی خلاقیت و البته دانش بالای ریاضی لازمه.دانش بالای ریاضی می تونه خیلی به برنامه نویس کمک کنه.
محدوده برنامه نویسی را محدود نکنید افراد زیادی توی این حیطه کار می کنند لازم نیست همه شون دانشمند ریاضی باشن. دانش ریاضی بالا در بخشهایی از این مساله به کار میاد. درسته که جهان را پروفسورها می چرخونن. ولی قرار نیست که همه پروفسور باشن

rahnema1
یک شنبه 14 اردیبهشت 1393, 19:36 عصر
فقط یک نکته بگم معمولا اونهایی که به ریاضی خیلی علاقه دارن ( مخصوصا گرایش محض) به برنامه نویسی توجهی ندارن!!!؟

motherboard
یک شنبه 14 اردیبهشت 1393, 19:46 عصر
محدوده برنامه نویسی را محدود نکنید افراد زیادی توی این حیطه کار می کنند لازم نیست همه شون دانشمند ریاضی باشن. دانش ریاضی بالا در بخشهایی از این مساله به کار میاد. درسته که جهان را پروفسورها می چرخونن. ولی قرار نیست که همه پروفسور باشن

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

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

motherboard
یک شنبه 14 اردیبهشت 1393, 20:04 عصر
سلام به همگی
من این سوال خیلی وقت تو ذهنمه چرا همه ی مثال های برنامه نویسی با ریاضیه
الان اگه این طوری باشه من باید برم بیشتر از برنامه نویسی ریاضی بخونم(در حالی که از ریاضی بدم میاد)
یه جا تو کتاب نوشته برنامه نویس نیازی نیست ریاضی در حد سطح بالا بداند بعد یه جا یکی می گه باید برای این که خوب بتونه برنامه نویسی مسلط شه نمی دونم اسمش چی بود تا حالا نشنیده بودم من موندم این برنامه هایی که مینویسن توشون ا ریاضی استفاده می کنن؟!؟مثلا یه بازی
یکی رک راست بگه؟؟؟
دوست من اگه به برنامه های در حد دانشگاهی فکر می کنی همون درس هایی که تا دبیرستان هم خوندی کفایت می کنه.ولی اگه به برنامه ای حرفه ای و تجاری فکر می کنی.دانش خوب ریاضی خیلی به کارت میاد.مثلا شما می تونی همه ی برنامه های حرفه ای رو به صورت اسمبلی که از یکسری دستور العمل های ساده ریاضی درست شده بنویسی اما خیلی سخته و طولانیه و برنامه نویس های حرفه ای هم از اون فرار می کنند.اما مثلا با زبان سی شما می تونی با دانش خوب ریاضی و خلاقیت سریع تر برنامه هات رو بنویسی و همون طور که گفتم تا برنامه نویسی نکنی به ارزش دانش ریاضی کاربردی نمیرسی

raminlich
یک شنبه 14 اردیبهشت 1393, 20:25 عصر
آقا من اونجور که شما میگین بدم نمیاد
مثلا از این برنامه هایی که می گه ماتریس فلانو حساب کنو چمی دونم از این معادله ها حساب کنه انتگرال حساب کنه بدم میاد
ولی نرم افزار های تجاری که انتگرالو ماتریس نمی خواد درست می گم؟؟
یه چیز دیگه معمولا برنامه نویسی تو چه حوضه ای از ریاضی مانور میده؟

motherboard
یک شنبه 14 اردیبهشت 1393, 20:36 عصر
ببین دوست من .اتفاقا انتگرال در برنامه های نموداری خیلی به درد می خوره.اتفاقا برنامه های تجاری که دارای محتوای ترسیمی و نموداری هستند انتگرال خیلی به کار میاد و باید بیاد.
اما در مورد پرسش بعدی شما اینکه تمام حوزه های کاربردی ریاضی در برنامه نویسی قابل استفاده اند . اما به شرط اینکه بدونی کجا استفاده کنی.بستگی به محتوای برنامه ای که می نویسی داره.مثلا در نرم افزار های طراحی سه بعدی مباحث انتگرال و مشتق و مختصات و اینچنینی رو باید بدونی تا بتونی راحت برنامه رو پیاده سازی کنی.

raminlich
یک شنبه 14 اردیبهشت 1393, 20:43 عصر
دیگه مجبورم بخونم یگه :بامزه:
حالا اینم بگین که ریاضی چقدر تو ضمینه بازی سازی دخالت داره؟

motherboard
یک شنبه 14 اردیبهشت 1393, 20:54 عصر
دیگه مجبورم بخونم یگه :بامزه:
حالا اینم بگین که ریاضی چقدر تو ضمینه بازی سازی دخالت داره؟
ببینید یک بازی سرتاسر کاراکتر های و منظره های طراحی شده است و این طراحی هیچ وقت با استفاده از ابزارهای جمع و تفریق معقول نیست!!!!!
دوم اینکه یک بازی حرفه ای مثل فیفا 2014 که هر سال با امدن ورژن جدید هوش مصنوعی اضافه شده به بازی رو تبلیغ می کنند.فکر می کنی چه جوری درست شده؟؟؟ایا تنها با استفاده از ++i به وجود اومده؟؟؟!!!!بلکه بازیکنان و تماشاگران و داور و حرکات توپ و انواع دریبل و شوت و ....... این ها با استفاده از ریاضیات پیشرفته کد نویسی شده.تو بحث تصادفی بودن در زبان c هدرفایلی به اسم stdlib هست که میشه باهاش اعداد تصادفی درست کرد.برنامه نویس های حرفه ای بازی ای مثل فوتبال هم میان با استفاده از خلاقیت و دانش ریاضی هوش مصنوعی بازی ای مثل فوتبال رو سال به سال ارتقا می دهند.مسلما تمام این ها در هیچ کدوم از کتاب های خارجی و فارسی نوشته نشده!!!!!بلکه برنامه نویس با استفاده از خلاقیت و دانش خوب ریاضی کاربردی می تونه در زمینه برنامه های بزرگ موفق عمل کنه.

raminlich
یک شنبه 14 اردیبهشت 1393, 21:57 عصر
دادش از اون جایی که من اماتورم یه توصیه می کنی تو یاد گیری برنامه نویسی؟
چجور خوب پیشرفت کنم هر چی هم لازم باشه می خونم الان یکم سر در گمم
یه خورده راهم نا معلومه

(while(c=1) printf(cpp=0
یک شنبه 14 اردیبهشت 1393, 22:36 عصر
ریاضی یک قانونه; قانونی که اشخاصی مثل انیشتین و فیثاغورس اونها رو بنا کردن; ریاضی ساخته شده، و از قبل وجود نداشته. زمانی بشر به این پی برد که طبیعت رو با اعداد میشه توضیح داد. برنامه نویسی هم یک قانونه که البته باید مدیون سخت افزارها باشیم، و حتی قبل از اون باید مدیون اتم ها باشیم; چرا که هر ماده از ذرات ریز%:8.9!به نام اتم ساخته شده. نمیخوام به تاریخ رجوع کنم، اما برای این که کسی به درک اصلی برنامه نویسی و ساختار داده ها برسه، باید ریاضی و فیزیک بخونه; زیرا همونطور که اشاره کردم، همه چیز به اتم ها برمیگرده. اگر تنها برق نباشه، کامپیوتری وجود نداره!، چون این اتم ها هستن که پردازشگر کامپیوتر رو راه می اندازن. زمان ساخت یک پردازشگر، اون رو با میلیاردها میلیارد اتم باردار می کنن تا پردازشگر آماده پردازش داده ها یا دیتا ها بشه; دیتا خب، یعنی همین کلمات من; بعنی این صفحه سفید داخل انجمن; یعنی هر چیزی که در کامپیوتر مشاهده می کنی.
اصل ریاضی، جمع، تفریق، ضرب، تقسیم و باقی مانده تقسیم صحیح هست و تموم; این پنج نماد (+ - * / %) فقط ابزارهایی برای ساخت فرمول های ریاضی هستن; زبان برنامه نویسی هم به همین گونه هست. ابزارهایی رو در اختیار شما برای انجام کاری قرار میده. ما دو نوع زبان برنامه نویسی معروف داریم: زبان رویه ای و زبان شی گرا. دو مثال ساده و قدرتمند برات می زنم :
زبان C یک زبان رویه ای هست. زبان ++C یک زبان شی گرا هست. دو کارگاه رو تصور کن; یکی زبان سی هست، و دیگری زبان سی پلاس پلاس. کارگاه سی شامل یک میزه درازه که روی اون میز ابزارهایی مانند انبدردست، آچار، پیچ گوشتی، چکش، پتک و غیره وجود داره، و داخل کارگاه بسیار خالیه; یعنی دستگاهی برای کار وجود نداره.
کارگاه سی پلاس پلاس شامل یک میز درازه که روی اون میز ابزارهایی مانند انبردست، آچار، پیچ گوشتی، چکش، پتک و غیره وجود داره; اما بر خلاف کارگاه سی، داخل کارگاه سی پلاس پلاس دستگاه های بزرگ و کار آمدی وجود داره (شیء). زبان شیء گرا به همین منظوره; گرایشی برای اشیاء; از قبل اشیائی که توسط دیگران ساخته شده رو در اختیار شما قرار میده تا باهاشون کار کنی.

زبان رویه ای یعنی تنها ابزار. شما مجبوری دستگاه های مورد نیاز خودت رو شخصا بسازی که این برای کسانی که عجله دارن وقت گیره; اما خوبیش اینه که شما خودت اوستای خودتی. در این زبان شما باید پله به پله راه ها رو طی کنی، اما زبان شیء گرا شما رو قادر می سازه تا ده پله ده پله قدم برداری. برنامه نویسان زبان های رویه ای مثل زبان سی، فهم و درک بهتری از برنامه نویسی دارن; زیرا جزئیات کدها رو مشاهده می کنن و خودشون رو تسلیم شیء های از قبل آماده ای که توسط دیگران ساخته شده نمی کنن. هر دو نوع برنامه نویس سختی های خودشون رو می کشن; اما رویه یعنی قدم به قدم; پس وقت و هوش بیشتری صرف حل الگوریتم ها میشه. بنابراین سی پلاس پلاس یک زبان سطح بالا محسوب میشه و C یک زبان سطح پایین (البته اگر با زبان های اسمبلی مقایسه بشه، C جزء زبان های سطح میانه حساب میشه); هرچه سطح زبان ها پایین تر باشه، کد نویسی در اونها پیچیده تر و وقت گیر تر میشه.

به این برنامه در زبان C توجه کن :

#include <stdio.h> /*به منظور استفاده از تابع مین و پرینت اف، این سربرگ نیز تعریف :.8*ده است*/
int main(void) /*تابع مین یا اصلی تعریف شده به منظور اجرای عملیات*/
{ /*عملیات ها داخل دو براکت انجام می شوند. براکت بسته و براکت باز*/
int a, b, c, natijeh; /*متغیرهای ای بی سی و نتیجه، از نوع عدد صحیح نیز تعریف شدند*/
a = 10; /*متغیر آ عدد ده که عددی صحیح است را در خود جای می دهد*/
b = 90; /*متغیر بی عدد نود که عددی صحیح است را در خود جای می دهد*/
c = 2; /*متغیر سی عدد دو که عددی صحیح است را در خود جای می دهد*/
natijeh = (a + b) / c; /*متغیرهای آ بی و سی که شامل سه اعداد می باشند نیز با یکدیگر محاسبه می شوند و نتیجه داخل متغیر نتیجه نیز ثبت می گردد*/
printf("%d", natijeh); /*تابع پرینت اف نیز رقمی که متغیر نتیجه در خود ثبت کرده بود را نیز چاپ می کند*/
return 0; /* ارسال عدد صفر به سیستم عامل به معنای دُرُست اجرا شدنِ برنامه هست */
}

در داخل برنامه توضحاتی دادم. همونطور که می بینی، در خط هشتم، یک دستور کاملا ریاضی وجود داره. در ریاضی از پرانتزها برای اولویت بندی استفاده می کنیم و در این برنامه هم از پردانتزها استفاده کردیم، تا اول از همه اعداد داخل a و b که 10 و 90 هستن رو با هم جمع کنیم، بعدش تقصیمشون کنیم بر عدد داخل c (عدد 2). به اون سه حرف انگلیسی به علاوه کلمه natijeh به فارسی میگیم متغیر و به انگلیسی میشه Variable; یک متغیر نقش یک ظرف رو داره که داخلش "مقدار" رو نگهداری می کنه (منظورم از مقدار همون اعداد 10 و 90 و 2 هستش).
int که پشت متغیرها نوشته شده، میخواد بگه که متغیر :8.9ا متغیرهای رو به رویی قراره که عدد یا اعدادی صحیح در خودشون ذخیره و نگهداری کنن (عدد صحیح مثل -3 -2 -1 0 1 2 3). بعد از محاسبه خط هشتم، نتیجه (منظور از نتیجه یعنی "مقدار" جدید) در داخل متغیر natijeh ثبت میشه (یعنی عدد 55)، بعدش در خط نهم، تابعی به نام printf (چاپگر یا چاپ کننده) عدد داخل متغیر natijeh رو چاپ یا پرینت می کنه (عدد 55).
d% یعنی محتوای داخل متغیر natijeh به عنوان عدد صحیح چاپ شود; d یعنی عدد صحیح و f یعنی عدد اعشاری (d %f%).
به تابع اشاره کردم: تابع یعنی همون ابزار روی میز کارگاه; چکش یه کار انجام میده و printf هم یک کار خاص انجام میده. خوبه که بدونی عملیات اصلی برنامه در تابع main (اصلی) اجرا میشن; یعنی هر برنامه ای حداقل یک تابع main داره; برنامه ها درواقع از تابع main شروع به اجرا شدن می کنن.

در برنامه نویسی، همچنان توابع ریاضی داریم; توابعی مثل sin (سینوس)، cos (کسینوس)، tan (تانژانت); که همونطور که از printf یا main استفاده کردیم، از این سه توابع ریاضی هم می تونیم استفاده کنیم; به شرطی که فرمول اینها رو بلد باشیم.
در خلاصه می خوام بگم که زبان هایی مثل زبان برنامه نویسی C می تونن هرچیزی باشن; حتی سخت ترین های ریاضی!. اگر میخوای برنامه نویسی رو شروع کنی، بهتره اول از همه زبان C رو مطالعه کنی تا سختی هایی بکشی (که البته از لحاظ ترکیب یا شکل کد نویسی بسیار آسونه). بعدش اگر مایل بودی می تونی زبان های محبوب امروزی مثل ++C یا Java یا #C یا PHP رو مطالعه کنی و کار کنی. اول از همه کاری رو که میخوای انجام بدی رو معلوم کن و بعدش ببین کدوم زبان برنامه نویسی کارِت رو راه می اندازه (مثلا اگر میخوای به توسعه دهنده گوشی آیفون یا تبلت آیپد که هردو دارای سیستم عامل iOS هستن تبدیل بشی، می تونی زبان Objective-C رو شروع کنی). اول از همه زبان سی خالص رو بخون یعنی نسخه C89; نام کتابش The C Programming Language هست; چاپ دومش رو بخون. به این خاطر می گم زبان C رو بخون چون اکثر زبان های برنامه نویسی محبوب امروزی مثل سی پلاس پلاس و جاوا از سینتاکس (ترکیب یا شکل کد نویسی) زبان C بهره گرفتن. هرچند، به قول لینوس تُروالدز (خالق کرنل سیستم عامل لینوکس): برای ساخت یک برنامه خوب و کارآمد و بدون مشکل، باید خودتون رو محدود کنید به تمام چیزهایی که در زبان C استاندارد وجود دارن. کسی که فهمی از زبانهای برنامه نویسی سطح پایین داشته باشه، کمتر به دردستر می اُفته و مردم به خاطر اشتباهات برنامه نویس به داد و هوار کرد ن راه نمی اُفتن.

اُمیدوارم موفق باشی.:لبخندساده:

motherboard
یک شنبه 14 اردیبهشت 1393, 22:54 عصر
جناب while(c=1) printf(cpp=0 (http://barnamenevis.org/member.php?331231-%28while%28c-1%29-printf%28cpp-0) مطالب خوبی رو ارائه فرمودند.اما نکته ای رو هم می خواستم براتون بگم و اون اینه که هیچ وقت این طرز تفکر رو نداشته باش که وقتی چندین کتاب رو خوندی اونوقت بشی یک برنامه نویس ماهر.علاوه بر خوندن سعی کن مسائل برنامه نویسی هم حل کنی.این خیلی کمکت می کنه.مخصوصا قسمت توابع رو خیلی بخون.چون که خیلی مبحث مهمیه.به هیچ وجه ابزار و توابعی رو که در هدرفایل ها وجود دارند برای برنامه نویسی کافی نیستند.شما در ادامه رفته رفته به اهمیت فراگیری توابع پی خواهید برد.

(while(c=1) printf(cpp=0
یک شنبه 14 اردیبهشت 1393, 23:06 عصر
raminlich (http://barnamenevis.org/member.php?327285-raminlich) جان، هر سوالی داری، لیست کن در یک تاپیک یا دیگه یا همین تاپیک بپرس یا بنده و برنامه نویسان عزیز پاسخ بدیم.:لبخندساده: از نوشتن برنامه !Hello, World گرفته تا ساخت سیستم عامل. منتها قبلش حتما جست و جو کن در انجمن چون ممکنه قبلا کسی سوالاتت رو پرسیده باشه و به پاسخ رسیده باشه; بنابراین نیازی به سوال مجدد نیست. اما اگر تاپیکی پیدا کردی و دیدی که جوابش کامل نیست، می تونی در همون تاپیک مجددا سوالت رو بپرسی و من هم بهشون پاسخ میدم. این رو بدون که من تخصصی در سخت افزار ندارم; پس یقه ما رو نگیر خواهشا.:لبخندساده:

(while(c=1) printf(cpp=0
یک شنبه 14 اردیبهشت 1393, 23:10 عصر
جناب while(c=1) printf(cpp=0 (http://barnamenevis.org/member.php?331231-%28while%28c-1%29-printf%28cpp-0) مطالب خوبی رو ارائه فرمودند.اما نکته ای رو هم می خواستم براتون بگم و اون اینه که هیچ وقت این طرز تفکر رو نداشته باش که وقتی چندین کتاب رو خوندی اونوقت بشی یک برنامه نویس ماهر.علاوه بر خوندن سعی کن مسائل برنامه نویسی هم حل کنی.این خیلی کمکت می کنه.مخصوصا قسمت توابع رو خیلی بخون.چون که خیلی مبحث مهمیه.به هیچ وجه ابزار و توابعی رو که در هدرفایل ها وجود دارند برای برنامه نویسی کافی نیستند.شما در ادامه رفته رفته به اهمیت فراگیری توابع پی خواهید برد.

سلام. ممنون از راهنمایی هات، دوست عزیز. من مدتیه که برنامه نویس زبان C هستم و در شرف ساخت کرنل و یک سیستم عامل موبایل جدید در آینده هستم. ساخت توابع مختلف یکی از مهم ترین مباحثه و این رو قبول دارم; چون در زبان C، برنامه نویس مجبور به ساخت بسیاری توابع هست. اگر قرار باشه که رویه ای جلو بریم، باید بتونیم توابع پیچیده ای بنویسیم.:لبخندساده:

(while(c=1) printf(cpp=0
یک شنبه 14 اردیبهشت 1393, 23:14 عصر
جناب while(c=1) printf(cpp=0 (http://barnamenevis.org/member.php?331231-%28while%28c-1%29-printf%28cpp-0) مطالب خوبی رو ارائه فرمودند.اما نکته ای رو هم می خواستم براتون بگم و اون اینه که هیچ وقت این طرز تفکر رو نداشته باش که وقتی چندین کتاب رو خوندی اونوقت بشی یک برنامه نویس ماهر.علاوه بر خوندن سعی کن مسائل برنامه نویسی هم حل کنی.این خیلی کمکت می کنه.مخصوصا قسمت توابع رو خیلی بخون.چون که خیلی مبحث مهمیه.به هیچ وجه ابزار و توابعی رو که در هدرفایل ها وجود دارند برای برنامه نویسی کافی نیستند.شما در ادامه رفته رفته به اهمیت فراگیری توابع پی خواهید برد.


سلام. ممنون از راهنمایی هات، دوست عزیز. من مدتیه که برنامهنویس زبان C هستم و در شرف ساخت کرنل و یک سیستم عامل موبایل جدید در آینده هستم. ساخت توابع مختلف یکی از مهم ترین مباحثه و این رو قبول دارم. چون در زبان C، برنامه نویس مجبور به ساخت بسیاری توابع هست. اگر قرار باشه که رویه ای جلو بریم، باید بتونیم توابع پیچیده ای بنویسیم.http://barnamenevis.org/images/smilies/yahoo/106.gif

گمون کردم منظورتون بنده بودم.:لبخندساده:

asdasd123123
یک شنبه 14 اردیبهشت 1393, 23:55 عصر
فقط یک نکته بگم معمولا اونهایی که به ریاضی خیلی علاقه دارن ( مخصوصا گرایش محض) به برنامه نویسی توجهی ندارن!!!؟
این حرفتون چندان درست نیست.

raminlich
دوشنبه 15 اردیبهشت 1393, 00:03 صبح
:کف::کف::متعجب::متعجب::متعجب:.
:تشویق::تشویق::تشویق::تشویق:: شویق:
دادش ایول کف کردم اشک از چشمام جاری شد:کف:
while(c=1) printf(cpp=0

asdasd123123
دوشنبه 15 اردیبهشت 1393, 00:07 صبح
البته با پست شماره 6 شما کاملا موافقم.

raminlich
دوشنبه 15 اردیبهشت 1393, 00:18 صبح
raminlich (http://barnamenevis.org/member.php?327285-raminlich) جان، هر سوالی داری، لیست کن در یک تاپیک یا دیگه یا همین تاپیک بپرس یا بنده و برنامه نویسان عزیز پاسخ بدیم.:لبخندساده: از نوشتن برنامه !Hello, World گرفته تا ساخت سیستم عامل. منتها قبلش حتما جست و جو کن در انجمن چون ممکنه قبلا کسی سوالاتت رو پرسیده باشه و به پاسخ رسیده باشه.. بنابراین نیازی به سوال مجدد نیست. اما اگر حتی پیدا کردی و دیدی که جوابش کامل نیست، می تونی در همون تاپیک مجددا سوالت رو بپرسی و من هم بهشون پاسخ میدم. فقط این رو بدون که من تخصصی در سخت افزار ندارم; پس یقه ما رو نگیر خواهشا.:لبخندساده:
داداش مثلا یکی از همین ابزار های ساخته شد در زبان C++ که با C ساختن رو مگی البته یکی ازون کوچیکاش :لبخند:؟؟

mox123
دوشنبه 15 اردیبهشت 1393, 00:36 صبح
با احترام

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


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

اصل ریاضی، جمع، تفریق، ضرب، تقسیم و باقی مانده تقسیم صحیح هست. تموم. این پنج نماد (+ - * / %) فقط ابزارهایی برای ساخت فرمول های ریاضی هستن. زبان برنامه نویسی هم به همین گونه هست. ابزارهایی رو در اختیار شما برای انجام کاری قرار میده. ما دو نوع زبان برنامه نویسی معروف داریم: زبان رویه ای و زبان شی گرا.


در خلاصه می خوام بگم که زبان هایی مثل زبان برنامه نویسی C می تونن هرچیزی باشن; حتی سخت ترین های ریاضی!


این یه نگاه به فلسفه ریاضیاته (آنتی رئالیسم) و لزومی نداره همه در مورد اون اتفاق نظر داشته باشند . همچنین محدود کردن ریاضی به چند عمل اصلی روی اعداد تعریف شایسته ای از ریاضیات فعلی نیست. یه مقدار جملات شما در مورد ریاضی و حتی برنامه نویسی جای ایراد داره.

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 02:31 صبح
داداش مثلا یکی از همین ابزار های ساخته شد در زبان C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎ که با C ساختن رو مگی البته یکی ازون کوچیکاش :لبخند:؟؟

ممکنه خیلی از توابع ++C در زبان C نوشته شده باشن و در داخل هدرفایل ها نگهداری شده باشن. من وقتم رو صرف یادگیری زبان ++C نکردم; بنده رویه ای فکر می کنم و نمی تونم شیء گرایانه فکر کنم. وقتی حرف از ابزار زدم، منظورم توابع بود. وقتی حرف از دستگاه زدم، منظورم شیء ها بود. زبان ++C از خانواده زبان C و چند زبان دیگر مثل آلگول، سیمولا و اِیدا هست. توابع و هدر فایل هایی که در زبان C وجود دارن، همچنان در زبان ++C نیز وجود دارن; در کامپیالرهای ++C میشه رَویه ای برنامه نوشت و تنها از هدرفایل های حاویه توابعی که در کتابخانه استاندارد C موجود هستن استفاده کرد، هرکس که اینکار رو بکنه، خودش رو مسخره کرده; چون در اونصورت نیازی به کامپایلر سی پلاس پلاس نداره. یک هدر فایل مثل یک جعبه ابزار می مونه; شما درب جعبه ابزار رو باز می کنی و ابزار مورد نظرت رو برمیداری. هدرفایل ها توابع، متغیرها و عملگرهای ریاضی رو نگهداری می کنن; توابع ()main و()printf که در الگوریتم بالایی بهت نشون دادم، در هدر stdio.h وجود دارن. h یعنی header (هدر). تابع ()printf که در زبان C وظیفه چاپ کردن مقدارهای داخل متغیرها رو داره، در زبان ++C به نام cout (سی اوت) شناخته میشه ;cout << natijeh
همونطور که گفتم، زبان C یک زبان رویه ای هست; میشه باهاش یک زبان قوی تر از ++C رو حتی طراحی کرد; میشه باهاش هرچیزی که دلت میخواد طراحی کنی، اما چون که در زبان سی برنامه ها رویه ای نوشته میشن، تو از توابع و متغیرها بیشتر باید استفاده کنی و نیاز بسیاری به توابع های جدید و نو داری که باید خودت طراحیشون کنی. سختی و آسونی طراحی توابع بستگی به نوع اونها داره. میخوایم یک تابع به نام تابع ضرب بسازیم :


#include <stdio.h>
int zarb(int z); /*تعریف تابع قبل از تابع مین یا اصلی*/
int main(void)
{
int x = 15;
printf("%d", zarb(x)); /*استفاده تابع ضرب از متغیر ایکس در تابع چاپگر*/
}

int zarb(int z) /*تعریف نام، پارامتر و نوع تابع مورد نظر*/
{
return z*2;
}
/*خروجی: 30*/

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

asdasd123123
دوشنبه 15 اردیبهشت 1393, 06:46 صبح
ممنون از mox123 به خاطر پست خوبشون.
ببینید چند تا مساله هست که نباید با هم اشتباه بشه.
- آیا یه ریاضیدان باید برنامه نویس باشه؟ قطعا بله. برای حل بسیاری از مسائل باید از سرعت پردازش بالای کامپیوتر ها، الگوریتم های پیچیده و هوش مصنوعی کمک گرفت. در دوره ی زمانی ما هیچ ریاضیدانی وجود نداره که به matlab یا زبانی دیگه مسلط نباشه.
- آیا یه برنامه نویس معمولی باید ریاضیدان باشه؟ لزومی نداره.
- آیا یه برنامه نویس حرفه ای باید ریاضیدان باشه؟ قطعا بله. به عنوان مثال یه سه بعدی کار حرفه ای باید مسلط به هندسه، جبر و جبرخطی باشه.

rahnema1
دوشنبه 15 اردیبهشت 1393, 11:40 صبح
تفکر ابزار خاصی نمی خواد نه کامپیوتر نه لپ تاپ نه برنامه نویسی و نه قلم و کاغذ
ببخشید منظور خودمو نتونستم صریح بگم:

«لطفا دامن ریاضیات را به برنامه نویسی آلوده نکنید!!»

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 17:57 عصر
یک بخش برنامه نویسی مربوط به طراحی الگوریتم میشه این قسمت به ریاضی نزدیکتره و همچنین با زبانهایی که به زبان ماشین نزدیکترن مثل سی پلاس پلاس ( بیشتر مربوط میشه به دانشگاه و بحثهای علمی)

سلام. زبان ++C یک زبان سطح بالا محسوب میشه; بنابراین به زبان ماشین نزدیک نیست. زبان های سطح پایین (مثل Assembly های مختلف) به زبان ماشین نزدیک هستن. زبان C به Assembly اینتل و AMD نزدیکه، و ساختار ++C بیشتر به C نزدیکه، اما به با این وجود دو زبانی متفاوت هستن.

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 18:21 عصر
«لطفا دامن ریاضیات را به برنامه نویسی آلوده نکنید!!»

سلام. این حرف شما خیلی عمومی بیان شده و دُرُست نیست. این دو با هم در ارتباط هستن و شکی در این وجود نداره، و بسته به نوع کار از ریاضی استفاده میشه: یک برنامه نویس قصد داره دو عدد 2 رو با هم جمع کنه، برنامه نویس دیگری قصد داره از توابع cos, sin, tan و cot (نسبت های مثلثاتی تانژانت، سینوس، کسینوس و کتانژانت) استفاده کنه.
از همه خواهش می کنم ریاضی رو با برنامه نویسی مقایسه نکنن. برنامه نویسی یک زبان هست. زبان های برنامه نویسی مختص به انجام کاری هستن، اما زبانی مثل C یک زبان همه منظوره هست. برای مثال: زبان PHP وظایف خاصی رو بر عهده داره، اما با زبان C حتی میشه یک زبان جداگانه ساخت و وظایفی رو براش تعریف کرد. بنابراین نه ریاضی یک تعریف داره و نه زبان برنامه نویسی.

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 18:52 عصر
با احترام

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


این یه نگاه به فلسفه ریاضیاته (آنتی رئالیسم) و لزومی نداره همه در مورد اون اتفاق نظر داشته باشند . همچنین محدود کردن ریاضی به چند عمل اصلی روی اعداد تعریف شایسته ای از ریاضیات فعلی نیست. یه مقدار جملات شما در مورد ریاضی و حتی برنامه نویسی جای ایراد داره.

جمله ای نیست که ایراد نداشته باشه تا وقتی که ایراد یک معنی نمیده، و تا وقتی که برای یک لیوان اندازه خاصی تعریف نشده. بنده گفتم که عملگرها نقش ابزار رو دارن و از این ابزارها میشه فرمول هایی به وجود آورد. بنده یک تعریف اصلی از ریاضی با عملگرهای محاسبه ای کردم. اگر حرف از عملگر های رابطه ای مثل =< => > < == ~= یا =! زده بشه، قبلش بد نیست حرف از عملگرهای محاسبه ای زده بشه. اما بنده قصد نداشتم عملگرهایی مثل رابطه ای یا منطقی رو وارد کنم و شرحشون بدم; هرچند که در برنامه نویسی، عملگرهای رابطه ای و منطقی بسیار قابل استفاده هستن.

rahnema1
دوشنبه 15 اردیبهشت 1393, 19:27 عصر
واسه اینکه بدونید کامپیوتر چه تاثیری روی ریاضی محض داشته پیشنهاد می کنم این مقاله را مطالعه کنید:
The Effect of Computers on Pure Mathematics

http://rudar.ruc.dk/bitstream/1800/4916/1/The%2520Effect%2520of%2520Computers%2520on%2520Pur e%2520Mathematics.pdf
بعضی جمله های این مقاله:
-اکنون سی سال پس از اثبات قضیه چهار رنگ توسط کامپیوتر تا کنون تلاشی جهت اثبات قضایای پیچیده ریاضی توسط کامپیوتر انجام نشده. کامپیوترها سریعتر و سریعتر می شوند اما کامپیوتر یک همکار روشن بین در حل مسائل نیست و تمام مسائل هم قابل فرمول بندی نیستند
-ریاضی محض توسط کامپیوتر دچار تغییر چندانی نشده

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 19:29 عصر
البته رامین جان، اگر تاپیکی که من اخیرا ایجاد کردم رو مشاهده کردی، اُمیدوارم کدهای داخل اون رو یک شوخی تلقی کنی; چون اون روش کد نویسی یک روش کثیف و بیخودی پیچیده برای نوشتن برنامه !Hello, world هست.
تاپیک (http://barnamenevis.org/showthread.php?450927-%D9%85%D8%B3%D8%A7%D8%A8%D9%82%D9%87-%DA%A9%D8%AF-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%D8%B1%D9%85%D9%88%D8%B2%D8%A7%D9%86%D9%87-%D9%88-%D8%A7%D9%81%D8%B1%D8%A7%D8%B7%DB%8C-%D8%AF%D8%B1-%D8%B2%D8%A8%D8%A7%D9%86-C-Cpp)

(while(c=1) printf(cpp=0
دوشنبه 15 اردیبهشت 1393, 19:31 عصر
واسه اینکه بدونید کامپیوتر چه تاثیری روی ریاضی محض داشته پیشنهاد می کنم این مقاله را مطالعه کنید:
The Effect of Computers on Pure Mathematics

http://rudar.ruc.dk/bitstream/1800/4916/1/The%2520Effect%2520of%2520Computers%2520on%2520Pur e%2520Mathematics.pdf
بعضی جمله های این مقاله:
-اکنون سی سال پس از اثبات قضیه چهار رنگ توسط کامپیوتر تا کنون تلاشی جهت اثبات قضایای پیچیده ریاضی توسط کامپیوتر انجام نشده. کامپیوترها سریعتر و سریعتر می شوند اما کامپیوتر یک همکار روشن بین در حل مسائل نیست و تمام مسائل هم قابل فرمول بندی نیستند
-ریاضی محض توسط کامپیوتر دچار تغییر چندانی نشده

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

motherboard
دوشنبه 15 اردیبهشت 1393, 21:56 عصر
جناب rahnema 1 چه تعصبی نسبت به کامپیوتر دارین.بابا بی خیااااال!!!!!!! ولی همون طور که جنابwhile(c=1) printf(cpp=0 (http://barnamenevis.org/member.php?331231-%28while%28c-1%29-printf%28cpp-0) اشاره فرمودند کامپیوتر با استفاده از نظام ریاضی می تونه برای شما کامپیوتر بشه.در واقع بهتره اینجوری بگم که کامپیوتر با استفاده از مفاهیم ریاضی می تونه برنامه ای رو که می نویسید اجرا کنه.در ضمن ما نمیگیم که کامپیوتر چه تاثیری در سرعت رشد دانشی مثل ریاضی و یا هر دانش دیگه ای داشته(همون طور که دوستمون اشاره کردند کامپیوتر تنها سرعت بیش تری رو نسبت به مغز داره) بلکه از اول تاپیک این را می گفتیم که کامپیوتر با نظام ریاضی کار می کنه و شما تاکید داشتید که فقط و فقط خلاقیت و من گفتم که دانش بالای ریاضی به همراه خلاقیت می تونه برنامه نویس رو در حین الگوریتمی که می نویسه کمک شایانی بکنه.

rahnema1
دوشنبه 15 اردیبهشت 1393, 22:10 عصر
من فقط می خواهم بگم اینقدر به این raminlich آدرس غلط ندید. یا صحبت از زبان سی و برنامه های غلط انداز می کنیم یا از مزایای ریاضی در برنامه نویسی میگیم. در حالی که کسی که تاپیک را ایجاد کرده میگه خیلی خوشش نمیاد از ریاضی. میشه دانش ریاضی نداشت ولی از قِبَل برنامه نویسی نون خورد. قصدم بازی با الفاظ و آوردن کلمات قلمبه سلمبه نیست. کسی که کارشناس sqlserver هست و کارش هم خوب می گرده آیا باید پروفسور ریاضی باشه یا صرفا یک تکنسینه؟

motherboard
دوشنبه 15 اردیبهشت 1393, 22:20 عصر
من فقط می خواهم بگم اینقدر به این raminlich آدرس غلط ندید. یکی میاد صحبت از زبان سی و برنامه های غلط انداز می کنه یکی میاد از مزایای ریاضی در برنامه نویسی میگه. انگار مسابقه گذاشتیم در اسپم دادن. در حالی که کسی که تاپیک را ایجاد کرده میگه خیلی خوشش نمیاد از ریاضی. میشه دانش ریاضی نداشت ولی از قِبَل برنامه نویسی نون خورد. قصدم بازی با الفاظ و آوردن کلمات قلمبه سلمبه نیست. کسی که کارشناس sqlserver هست و کارش هم خوب می گرده آیا باید پروفسور ریاضی باشه یا صرفا یک تکنسینه؟
البته حرف شما هم از این جهت که حتما نباید یک برنامه نویس پروفسور ریاضی باشه هم درسته و من هم از ابتدا این حرف شما رو تاکید کردم.اما موضوع اینه که جناب raminlich از انتگرال و این جور مباحث ریاضی صحبت کردند.و من هم به ایشون گفتم که لااقل برنامه نویس حرفه ای و خوب که قراره پول دربیاره باید این مباحث رو تا حد قابل قبولی بلد باشه و در خیلی از برنامه های کاربردی که نوشته میشن استفاده داره.هرچند ممکنه در برخی زمینه ها کاربرد زیادی نداشته باشه اما در خیلی از برنامه های تجاری و گرافیکی میشه از دانش ریاضی(حالا نه در حد پروفسور!!)استفاده کرد.

motherboard
دوشنبه 15 اردیبهشت 1393, 22:43 عصر
ببینید جناب raminlich
این برنامه هایی که در دانشگاه می خونید برنامه های خیلی پیش پا افتاده ای هستند و صرفا برای اموزش هستند.ببینید اگه شما می خواهید یک برنامه نویس ماهر و حرفه ای بشید دیگه این طور نیست که برنامه رو کامپایل کنید و یک صفحه سیاه ببینید که توش چند تا عملیات انجام میشه.وقتی شما یک برنامه حرفه ای مثل طراحی سه بعدی قراره بنویسید زمانی که مفاهیم انتگرال و مشتق و شبیه این ها رو درک نکرده باشید.چه طور می تونید با دستورات ریاضی ساده در برنامه نویسی چنین برنامه ای رو بسازید.مثلا در رسم خط در این زبان یک تابعی به نام line وجود داره.این تابع از قبل نوشته شده.توی این تابع شما باید مختصات x,x1,y,y1 رو وارد کنید.خب چیزی که مشخصه در داخل این تابع که عملیات در پشت صحنه رخ میده و محتوای اون رو نمیتونید ببینید فرمول رسم خط در ریاضی با استفاده از این چهار نقطه در این تابع پیاده سازی شده.اگر می خواهید ترقی کنید و به بالا بالاها برسید به همراه خلاقیت و کسب مهارت در برنامه نویسی دانش ریاضی تون رو با توجه به زمینه برنامه نویسی تون رو زیاد کنید.مثلا تو همین زمینه رمزنگاری اون مباحث جبر و احتمال و این جور مباحثی که در دوره دبیرستان بود(من خودم از این درس خوشم نمیومد!!!)کاملا در زمینه رمزنگاری داده ها کاربرد داره و من پیشنهاد می کنم در مورد این قضیه یک سرچی بکنید.در حالی که من اون موقع ها فکر می کردم جبر و احتمال چه کاربردی می تونه داشته باشه؟؟!!!!من نمی خوام شما رو در برنامه نویسی ناامید کنم اما با داشتن مهارت در برنامه نویسی و البته دانش خوب ریاضی علاوه بر اینکه کد های برنامه تون خوب میشه همچنین شرکت ها با کله شما رو قبول می کنن.

raminlich
دوشنبه 15 اردیبهشت 1393, 23:49 عصر
خوب با این حساب بگین از چه فصل هایی از ریاضی شروع کنم ؟
بعد هم جلو هر فصل اگه میشه یکی از کاربرد های اون رو در برنامه نویسی بنویسید
از مقدماتی تا حرفه ای رو اگه میشه برام بنویسید
خیییییلییییییی ممنون میشم :قلب::بوس:

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 00:11 صبح
خوب با این حساب بگین از چه فصل هایی از ریاضی شروع کنم ؟
بعد هم جلو هر فصل اگه میشه یکی از کاربرد های اون رو در برنامه نویسی بنویسید
از مقدماتی تا حرفه ای رو اگه میشه برام بنویسید
خیییییلییییییی ممنون میشم :قلب::بوس:

نه دیگه!. رامین جان، پست شماره 15 من (15#) رو بهتر بخون. تو اگه به من بگی دقیقا چیکار می خوای بکنی با کامپیوتر، بهتر می تونم کمکت کنم. به بازی سازی اشاره هایی کردی; آیا دوست داری بازی ساز بشی؟

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 00:36 صبح
من فقط می خواهم بگم اینقدر به این raminlich آدرس غلط ندید. یا صحبت از زبان سی و برنامه های غلط انداز می کنیم یا از مزایای ریاضی در برنامه نویسی میگیم. در حالی که کسی که تاپیک را ایجاد کرده میگه خیلی خوشش نمیاد از ریاضی. میشه دانش ریاضی نداشت ولی از قِبَل برنامه نویسی نون خورد. قصدم بازی با الفاظ و آوردن کلمات قلمبه سلمبه نیست. کسی که کارشناس sqlserver هست و کارش هم خوب می گرده آیا باید پروفسور ریاضی باشه یا صرفا یک تکنسینه؟

منظور شما از برنامه های غلط انداز چیه؟

raminlich
سه شنبه 16 اردیبهشت 1393, 00:55 صبح
اره خوب ولی تنها بازی سازی نیست دوستدارم در کنارش برنامه های به غیر از بازی هم بنویسیم حالا هر چی باشه کلا من با برنامه نویسی حال میکنم نتنها برنامه نویسی علاقه ایی درونم هست همش دلم می خواد چیز های که در ذهنم هست رو به وجود یارم مثلا من وقتی خیلی بچه بودم با خمیر هر چی تو دنیا بود می ساختم از ادم تا حیوون
اینم بگم من ممکنه بگم از ریاضی بدم میاد به خاطره انکه هنوز ریاضی رو درک نکردم
تا همین 4و5 ماه پیش من تو دانشگاه الگرویتم ها رو بلد نبودم بعد رفتم پیش یه مهندس برام قشنگ توضیح داد از اون موقع بود که به برنامه نویسی علا قه پیدا کردم سرتونو درد نیارم
کلان من برنامه نویسی رو دوست دارم

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 09:17 صبح
اره خوب ولی تنها بازی سازی نیست دوستدارم در کنارش برنامه های به غیر از بازی هم بنویسیم حالا هر چی باشه کلا من با برنامه نویسی حال میکنم نتنها برنامه نویسی علاقه ایی درونم هست همش دلم می خواد چیز های که در ذهنم هست رو به وجود یارم مثلا من وقتی خیلی بچه بودم با خمیر هر چی تو دنیا بود می ساختم از ادم تا حیوون
اینم بگم من ممکنه بگم از ریاضی بدم میاد به خاطره انکه هنوز ریاضی رو درک نکردم
تا همین 4و5 ماه پیش من تو دانشگاه الگرویتم ها رو بلد نبودم بعد رفتم پیش یه مهندس برام قشنگ توضیح داد از اون موقع بود که به برنامه نویسی علا قه پیدا کردم سرتونو درد نیارم
کلان من برنامه نویسی رو دوست دارم

بازی سازی
بازی سازی مثل فیلم سازی می مونه; حتی سخت تر از فیلم سازی. بازی سازی بیشتر وقتها گروهی انجام میشه; گروهی که تشکیل میشه از :

طراح گرافیک سه بعدی (مدل سازان، کاراکتر سازان، محیط سازان، اشیاء سازان)
طراح گرافیک دو بعدی (طراحی Menu و ...)
ویراستار برای موتور بازی سازی (CryEngine ,UDK و Unity 3D از جمله موتورهای بازی سازی بسیار معروف هستن)
آهنگ ساز (برای موسیقی متن بازی، موسیقی های تیتراژ شروع و تیتراژ پایانی)
کارگردان (برای مثال: این کارگردان هست که باید به طراحان سه بعدی بگه که مدل شما در صحنه مربوطه باید چه واکنشی از خودش نشون بده تا به واقعیت شبیه تر باشه. هرچقدر بیشتر کیفیت بازی ها بالا بره، بیشتر نیاز به کارگردانان میشه)
نویسنده
برنامه نویس

بنابراین، اگر بخوای بازی ساز بشی، باید زمینه کاریت رو مشخص کنی :
طراحی (زمینه کاریت در طراحی رو باید مشخص کنی، به علاوه انتخاب یک نرم افزار طراحی مثل 3D Max یا Photoshop)،
ویراستاری (برای وارد کردن و ویرایش مدل ها، کاراکترها، اشیاء و صداها در نرم افزار موتور بازی سازی مربوطه)،
آهنگ سازی (زمینه کاریت در آهنگ سازی رو باید مشخص کنی، به علاوه انتخاب یک نرم افزار آهنگ سازی مثل FL Studio،
کارگردانی (معمولا سرگروه نقش کارگردان اولیه رو داره; اما میشه از کارگردانان خبره کمک گرفت)، برنامه نویسی (موتورهای بازی سازی معروف از زبان هایی مثل Lua, Unreal Script, JavaScript, C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎, Boo و Python پشتیبانی می کنن)،
نویسندگی (ساخت داستان بازی).
اگر بخوای برنامه نویس یکی ازاین موتورهای باز سازی بشی، باید ببینی که از چه زبانی پشتیبانی می کنه تا همون زبان رو یاد بگیری; برای مثال: موتور Unity 3D از سه زبان C#, Java Script و Boo پشتیبانی می کنه،
و موتور UDK و Unreal Engine از زبان Unreal Script استفاده می کنن.


برنامه نویسی تحت وب
اگر دوست داری از برنامه نویسی برای ساخت و راه اندازی وبسایت یا انجمن استفاده کنی، زبان های زیر محبوب هستن :

PHP (http://fa.wikipedia.org/wiki/%D9%BE%DB%8C%E2%80%8C%D8%A7%DA%86%E2%80%8C%D9%BE%D B%8C)

Java (http://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_%28%D8%B2%D8%A8%D8%A7%D9% 86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D 9%86%D9%88%DB%8C%D8%B3%DB%8C%29)
JavaScript (http://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%D B%8C%D9%BE%D8%AA)
Python (http://fa.wikipedia.org/wiki/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86_%28%D8%B2%D8% A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%8 7%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C%29)

Ruby (http://fa.wikipedia.org/wiki/%D8%B1%D9%88%D8%A8%DB%8C_%28%D8%B2%D8%A8%D8%A7%D9% 86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D 9%86%D9%88%DB%8C%D8%B3%DB%8C%29)

Perl (http://fa.wikipedia.org/wiki/%D9%BE%D8%B1%D9%84)

++C (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B)


برنامه نویسی مخصوص ساخت اپلیکیشن
اگر دوست داری برای سیستم عامل خاصی اپلیکیشن بسازی، زبان های زیر محبوب هستن :

++C (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B)(سیستم عامل: Windows Phone, Windows, UNIX, Linux,Mac OS X)
Java (http://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7_%28%D8%B2%D8%A8%D8%A7%D9% 86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D 9%86%D9%88%DB%8C%D8%B3%DB%8C%29)(سیستم عامل: Windows Phone, Windows, UNIX, Linux,Mac OS X, Android)
Objective-C (http://fa.wikipedia.org/wiki/%D8%A2%D8%A8%D8%AC%DA%A9%D8%AA%DB%8C%D9%88-%D8%B3%DB%8C)(سیستم عامل: Mac OS X, iOS)
#C (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C_%D8%B4%D8%A7%D8%B1%D9%BE) (سیستم عامل: Windows Phone, Windows)


برنامه نویسی سیستمی
اگر میخوای قادر به مدیریت سخت افزار کامپیوتر باشی (مموری، هارد دیسک و پردازشگر)، تا بتونی نرم افزارهای سیستمی مثل درایور کارت گرافیک، درایور کارت صدا، کرنل وسیستم عامل و از این قبیل بسازی، زبان های زیر محبوب هستن :

Assembly x86, x64 (http://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A7%D8%B3%D9%85%D8%A8% D9%84%DB%8C)
C (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C_%28%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8 %B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%D B%8C%D8%B3%DB%8C%29)
++C (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C%2B%2B)



بعضی از زبان ها مثل PHP مختص به انجام یک وظیفه هستن، اما بعضی از زبان ها مثل C و++C در گروه زبان های سیستمی و همه منظوره هستن; یعنی با این دو زبان میشه هر برنامه ای ساخت; از این دو زبان همچنان میشه برای طراحی وبسایت استفاده کرد، اما اندکی از مردم هستن که راه دور (++C) و دورتر (C) رو انتخاب می کنن در حالی که راه نزدیکتری (PHP) وجود داره.
انتخاب با خودته. هر سوالی داشتی بپرس. اگر بخوای، از نو همه چیز رو برات واضح تر توضیج میدم.
اگر روی نام زبان ها کلیک کنی، متصل میشی به وبسایت ویکی پدیا تا درباره زبان مورد نظرت اطلاعات کسب کنی.

موفق باشی.:لبخندساده:

rahnema1
سه شنبه 16 اردیبهشت 1393, 09:26 صبح
منظور شما از برنامه های غلط انداز چیه؟

نخواستم از واژه هایی که خود شما در توصیف اون برنامه به کار بردید استفاده کنم

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 09:49 صبح
نخواستم از واژه هایی که خود شما در توصیف اون برنامه به کار بردید استفاده کنم

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

rahnema1
سه شنبه 16 اردیبهشت 1393, 11:50 صبح
سربسته صحبت نکن، عزیز. حرفت رو بزن. می بخشی که من اشتباه کردم و رامین جان رو راهنمایی کردم. همچنان می بخشی که راهنمایی های بنده و بعضی از دوستان عزیز باب میل شما نبود.

حرفهایی زده شد اگه تند شدم از شما و سایر دوستان معذرت می خوام

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 13:54 عصر
حرفهایی زده شد اگه تند شدم از شما و سایر دوستان معذرت می خوام

من مخلص شما هستم.

hadi0x7c7
سه شنبه 16 اردیبهشت 1393, 20:23 عصر
حوصلم نشد همه پستا رو بخونم ولی اینجا نظرم رو میگم
ببنید تیم ملی المپیاد کامپیوتر رو چطوری انتخاب میکنن؟ 3 تا مرحله آزمون که دوتای اولش همش ریاضی گسسته هست. خب این ینی چی؟ ینی کسی میتونه یه برنامه نویس خوب بشه(البته اینجا عالی) که ریاضیش قوی باشه. حالا همه که نمیخوان در حد المپیاد کار کنن ولی توی همین برنامه های کاربردی هم اونایی که ریاضیشون خوبه، یا بهتر تحلیلشون قوی هست خیلی متمایز تر هستن از سایر افراد. البته صنعت نرم افزار همش ریاضی نیست خیلی فاکتور های دیگه یا وجود داره. حد اقل در سای رشته کامپوتر همشون پایشون ریاضی هست.

(while(c=1) printf(cpp=0
سه شنبه 16 اردیبهشت 1393, 21:28 عصر
حوصلم نشد همه پستا رو بخونم ولی اینجا نظرم رو میگم
ببنید تیم ملی المپیاد کامپیوتر رو چطوری انتخاب میکنن؟ 3 تا مرحله آزمون که دوتای اولش همش ریاضی گسسته هست. خب این ینی چی؟ ینی کسی میتونه یه برنامه نویس خوب بشه(البته اینجا عالی) که ریاضیش قوی باشه. حالا همه که نمیخوان در حد المپیاد کار کنن ولی توی همین برنامه های کاربردی هم اونایی که ریاضیشون خوبه، یا بهتر تحلیلشون قوی هست خیلی متمایز تر هستن از سایر افراد. البته صنعت نرم افزار همش ریاضی نیست خیلی فاکتور های دیگه یا وجود داره. حد اقل در سای رشته کامپوتر همشون پایشون ریاضی هست.

تعریف از برنامه نویسی به صورت کلی بسیار اشتباه هست. به قول مرحوم دنیس ریچی بزرگ: برنامه نویسی یعنی استفاده از توابع و متغیرها; بنابراین، متغیرها که واظح و آشکار هستن، اما توابع متفاوت هستن; برای ریاضیات گسسته و از این قبیل هم باید توابعی خاص برای انجام عملیات مورد نظر تعریف بشه.

omid_kma
سه شنبه 16 اردیبهشت 1393, 23:39 عصر
شما برنامه نویسی رو یادبگیر شروع کن به نوشتن برنامه هر جا دیدی بدون ریاضی نمی تونی کاری کنی شروع کن به یاد گیری ریاضی !
به نظر من چیزی که عملی نباشه ونشه ازش استفاده کرد بدرد نمی خوره حالا یک نفر بیاد بشینه گسسته آمار وووو رو بخونه بعد نتونه ازشون استفاده کنه فایدش چیه
یادگیری خودش 4 تا بخش داره
دیدن - گوش دادن - تجسم کردن - عمل کردن !
خوندن ریاضی محض نهایتا با دو تا یا 3 تای اولی کار داره 25% یادگیری می مونه هنوز

کاربرد ریاضی که زیاده شما باید اول منظورتو از برنامه نویسی مشخص کنی !! مثلا ادم می تونه یک شبیه ساز برای فیزیک هم بسازه یعنی بسته به برنامه ممکنه به فیزیک هم نیاز پیدا کنی ! حالا میشه گفت برای برنامه نویسی نیاز به فیزیک هست ؟ واضحه که نه !
ولی در مجموع ریاضیات لازمه(همون if/else جمع و تفریق هم خودشون ریاضی حساب میشن ! ) ولی این که تا چه حدی لازمه دیگه بستگی به چیزی که قراره نوشته بشه داره !
شما اگر بخوای یک سایت ساده بنویسی به ریاضی نیاز پیدا نمی کنی ولی همین که یکم بخوای سطح سایت بره بالاتر کاملا به ریاضی نیاز پیدا میشه ( مثلایک سایت در حد فیسبوک الگوریتم هایی که نوشته شده برای پیشنهاد friend - برای اشتراک گذاری - برای ذخیره این حجم از اطلاعات و پردازششون به نظرتون فقط با خلاقیت قابل نوشتنه ؟! یا یک engine جست و جو ؟ طبیعتا نه ! ) البته خب تو ایران کسی از این چیزا دوست نداره بنویسه :)

از اونجایی که این جا تالار ++C هستش
چند تا از جاهایی که من ریاضی آمار دیدم استفاده میشه :
در مورد پردازش تصویر بازم به هندسه جبر خطی گراف آمار و... دارین چند تا نمونه ساده :
مثلا برای این که گوشه های تصویر رو بدست بیارن از مشتق و گرادیان و لاپلاس استفاده می کنن
یا برای حذف نویز تصویر از توزیع گاوسین در آمار استفاده میکنن
یا مثلا برای افزایش کنتراست تصویر از تعدیل نمودار فراوانی (http://www.7khatcode.com/index.php?qa=2479&qa_1=تعدیل-هیستوگرام-در-پردازش-تصویر) استفاده میشه (آمار +ریاضی )
یا برای پیدا کردن تشابه متن های 2 سایت از ضرب نقطه ای استفاده میشه : http://nlp.stanford.edu/IR-book/html/htmledition/dot-products-1.html
و...

در مورد الگوریتم هم آمار + ریاضیات گسسته خیلی کاربرد داره
ساختار های خیلی زیادی هم هستن که زیاضی کاملا دخیله داخلشون
برای نمونه ساختار Hash table که اکثر جاهایی که نیاز به جست و جو سریع هست استفاده میشه برای hash کردن کاملا از آمار استفاده می کنه

یا مثلا زمانی که نیازی به ساختار برای جست و جو ورود خوندن سریع داشته باشیم از binary search tree و چیزایی مثل red and black tree , AVL tree (http://www.7khatcode.com/index.php?qa=3353&qa_1=نحوه-نوشتن-درخت-ای-وی-ال-یا-avl-tree) و ... اسفاده میشه که از ساختار درخت و گراف استفاده می کنن که میشه گفت مربوط میشن به ریاضیات گسسته ! .

یا یکی از الگوریتم های پیمایش گراف که BFS هست که توضیحاتش رو می تونید این جا ببینید : BFS (http://www.7khatcode.com/index.php?qa=3694&qa_1=%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9 %85-bfs-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F) برای نوشتن garbage collector استفاده می کن یا برای پیمایش صفحات وب و ...
و خیلی از کاربرد های دیگه که با جست و جو توی اینترنت راحت می تونید پیدا کنید !

یا اگوریتم ژنتیک که برای بهینه سازی بعضی جا ها ازش استفاده میشه درصد زیادیش آمار و ریاضی هست .

یا الگوریتم های مربوط به یادگیری ماشین مثل SVM -neural network و ... کلا ریاضی ان مثلا کتاب زیر که درباره شبکه عصبی هست رو دانلود کن ببین !
http://arashvahidi.persiangig.com/.BxjHpuRAD6/Neural_Network_Design_M%5b1%5d.Hagan_.pdf

یا حتی در مورد دیتابیس یکی از شاخه های علوم کامپیوتر در مورد data mining هستش که در مورد استخراج اطلاعات از دیتابیس هست پیش نیاز اولیش آمار هستتش
علم رمز نگاری هم که کاملا بر اساس نظریه اعداد و آمار هستش !

raminlich
چهارشنبه 17 اردیبهشت 1393, 00:12 صبح
بازی سازی
بازی سازی مثل فیلم سازی می مونه; حتی سخت تر از فیلم سازی. بازی سازی بیشتر وقتها گروهی انجام میشه; گروهی که تشکیل میشه از :

طراح گرافیک سه بعدی (مدل سازان، کاراکتر سازان، محیط سازان، اشیاء سازان)
طراح گرافیک دو بعدی (طراحی Menu و ...)
ویراستار برای موتور بازی سازی (CryEngine ,UDK و Unity 3D از جمله موتورهای بازی سازی بسیار معروف هستن)
آهنگ ساز (برای موسیقی متن بازی، موسیقی های تیتراژ شروع و تیتراژ پایانی)
کارگردان (برای مثال: این کارگردان هست که باید به طراحان سه بعدی بگه که مدل شما در صحنه مربوطه باید چه واکنشی از خودش نشون بده تا به واقعیت شبیه تر باشه. هرچقدر بیشتر کیفیت بازی ها بالا بره، بیشتر نیاز به کارگردانان میشه)
نویسنده
برنامه نویس

بنابراین، اگر بخوای بازی ساز بشی، باید زمینه کاریت رو مشخص کنی :

شما فک کن من کی خوام برنامه نویس موتور ها بشم خوب حالا چه مبحص از ریاضیات رو باید بلد باشم؟
لطفا برای گرافیک هم بگین

(while(c=1) printf(cpp=0
چهارشنبه 17 اردیبهشت 1393, 07:44 صبح
شما فک کن من کی خوام برنامه نویس موتور ها بشم خوب حالا چه مبحص از ریاضیات رو باید بلد باشم؟
لطفا برای گرافیک هم بگین

ببین، چرا پله به پله عمل نمی کنی؟ تو کتاب زبان برنامه نویسی مربوطه ات رو دانلود می کنی یا می خری و می خونیش، و اگر هرکجا مشکلی داشتی، میری در انجمن ها درباره مشکلت با دیگران بحث می کنی. چندبار اشاره کردم که بستگی به برنامه ای داره که قراره بنویسی. کدهایی که برای بازی ها نوشته میشن ممکنه تکراری و به یک روش خاص نوشته بشن; برای مثال: یک طراح سه بعدی یک تفنگ طراحی کرد، و شما به عنوان برنامه نویس وظیفه داری تا رفتارهای تفنگ رو تعریف کنی; شما کد بارگذاری تفنگ رو می نوییسی | سرعت پرتاب فشنگ ها رو می نویسی | باید معلوم کنی که چند فشنگ در خشاب تفنگ مورد نظر جای بگیره (شرط) | سرعت پر شدن خشاب رو معلوم کنی | باید معلوم کنی که فشنگ ها با چه دکمه ای پرتاب بشن (fire) و با چه دکمه ای خشاب عوض بشه (Reload) | اگر تفنگ مورد نظر دوربین داره، باید تنظیمات دوربینش رو با کد نویسی انجام بدی (وارد شدن به محیط دوربین، اندازه زوم کردن دوربین، سرعت حرکت دوربین، خارج شدن از محیط دوربین) | وقتی فشنگی پرتاب شد و به شیء مورد نظر اصابت کرد،طی زمان معینی فشنگ ناپدید بشه | خاصیت فیزیکی فشنگ و اسلحه معلوم بشه | عوض کردن خشاب (یعنی مقدار جدید جایگزین مقدار قبلی داخل متغیر خشاب بشه) | مشخص سازی تعداد فشنگ ها در هر خشاب | تنظیم صدای تفنگ زمان شلیک و عوض شدن خشاب (بستگی به محیط باز و بسته و محیط های دارای انعکاس صدا) | در صورت لزوم، نحوه ضربه زدن با تفنگ به دشمن و ...

رامین جان، اگر میخوای عمرت رو برای کاری بگذاری، با وجود تموم سختی ها، دلسرد نمیشی. کلی انجمن بازی سازی وجود داره که می تونی درونشون فعالیت کنی. از ایرانی گرفته تا خارجی; برای مثال :
انجمن یونیتی: forum.unity3d.ir (http://forum.unity3d.ir/)
انجمن یو دی کِی: www.udk.ir (http://www.udk.ir/)
اول زمینه کاریت رو معلوم کن، بعدش در انجمن مخصوص به خودش سوالاتت رو بپرس.

طراحی گرافیکِ مثلا سه بعدی یک دنیای دیگست. از بهترین نرم افزارهای طراحی سه بعدی فوق العاده قدرتمند و حرفه ای و چاق! میشه به 3D Max و Maya اشاره کرد; برای کار با این نرم افزارها نیاز به یک سیستم قدرتمند و به روز هست; از Memory حداقل 8GB بگیر تا 128GB و بیشتر | از پردازشگر Core i5 اینتل بگیر تا بالاترین و گرونترین هاش | از کارت گرافیک های گرون مثلا مدل GTX انویدیای بی شرف و ***** بگیر تا گرونترین هاش | همچنان یک دستگاه منبع تغذیه برق قدرتمند میخوای به علاوه یک مادربرد که از اینها پشتیبانی کنه. اگر بخوای با اِدیتور/ موتور بازی سازی UDK کار کنی، اگر سیستم بسیار قدرتمندی نداشته باشی، کارکردن باهاش مثل این می مونه که داخل جهنمی; هم روی اعصابت تاثیر می گذاره و هم روی سیستم کامپیوترت; چون فشار بدی روی سیستم میاره، و این فشار رو اعصابت تاثیر بد می گذاره. وقتی پردازشگر کامپیوتر من داغ می کنه، و سرعت پَنکه اش بالا میره، انگار مغزم داره می سوزه. در خلاصه، اگر بخوای وارد دنیای گرافیک بشی، بهتره به پُشتوانه یک سیستم کامپیوتریِ قدرتمند راه خودت رو شروع کنی.
سعی کن اون کاری که دوست داری رو انجام بدی، نه اون کاری که فقط استعدادش رو داری اما دوستش نداری. لذت ببر.

رامین جان، بشین و تمیز چیزهایی که دوست داری انجام بدی رو بنویس. اگر دوست داری برنامه بنویسی، اول از همه معلوم کن چه چیزی قراره بنویسی، بعدش زبان مورد نظرت رو انتخاب کن (در پُست بالا توضیح دادم).
هروقت معلوم کردی که چیکار قراره بکنی، اونوقت اگر دیدی نیازی به یادگیری بخشهای خاصی از ریاضی وجود داره، برو سراغ یادگیری اون بخشها.
برنامه ای که دوست داری بنویسی رو معلوم کن چیه و چکار قرار انجام بده، بعدش برنامه ات رو تقصیم کن به برنامه های کوچک; وقتی این کار رو انجام دادی، متوجه میشی که در کدام یک از برنامه ها چه نیازی به ریاضی هست.

خوبه که بدونی نرم افزارهای بزرگی مثل 3D Max یا Photoshop، یک برنامه چند هزار خطی درار نیستن!; اینها و همه نرم افزارهای بزرگ از صدها برنامه کوچک نوشته شدن; یه برنامه ده خطه، یکی پنجاه خطه، یکی بیست خطه; اینها باهم یک نرم افزار رو تشکیل میدن; برای همین میگم که برای ساخت برنامه ای، باید اون رو به برنامه های کوچک تقسیم کنی، و به خودت بگی: در این برنامه کوچک، من باید اون بخش از ریاضی رو بلد باشم; بنابارین میری و همون بخش از ریاضی رو مطالعه می کنی تا برنامه ات رو بتونی بنویسی; این روند همینطور ادامه داره تا اینکه کم کم قوی و با تجربه بشی. انتظار نداشته باش که یک شبه یک برنامه نویس خوب بشی.
هر کدام از ما در این انجمن، بسیار ضعف در بخشهای مختلف برنامه نویسی داریم، و کسی نیست که این رو تکذیب کنه، و ما این رو می دونیم; ما سعی می کنیم تا اندازه ای که می دونیم و می تونیم به همدیگه کمک کنیم.
خیلی از ما پولدار نیستیم تا بتونیم به دانشگاه های نسبتا خوب ایران بریم; هرچند که تاثیری نداره; اونقدر هم خاکی هستیم که مثل برخی از دانشگاهی ها مغرور به چیزهایی که یاد گرفتیم نباشیم و با روی باز به همدیگه کمک کنیم.
دلیل اینکه از پاسخ دادن به سوالات تو خسته نمیشم، اینه که خودمم روزی مثل تو به این انجمن و اون انجمن سَرَک می کشیدم و سوال می کردم تا به جواب هام برسم; مُسلما من برنامه نویس به دنیا نیومدم و همه ما از صفر شروع کردیم.
صفا و صیمیت همینجاست، رامین جان. ما رُک هستیم; مثل بعضی ها اَدا و اُصول درنمیاریم، و تجربه های خودمون رو در اختیار کسانی که روزی شبیهشون بودیم قرار میدیم.

به راهی که درونشی توجه کن، نه مقصد; تو راهِت رو دوست داشته باش; مطئن باش که فقط یک مقصد در این راه وجود نداره; هر قدم به جلو، رسیدن به یک مقصد محسوب میشه، و هر مقصد، مَبدعیه برای رسیدن به مقصدی بعد.
اگر باز هم سوال هایی داری، بپرس.:لبخندساده:

موفق باشی.:لبخندساده:

raminlich
چهارشنبه 17 اردیبهشت 1393, 15:48 عصر
اولا انو بگم که نمی دونم چجوری ازت تشکر کنم:بوس::بوس::بوس::قلب:
دوما حالا من می خوام بزنم تو کار موتور چند تا سر در گمی جلو راهمه
1-انواع موتور ها هستن با زبون های مختلف
2-بنظرت من بخوام C# یا هر زبون دیگه رود یاد بگیرم نیازه که C رو هم خوب یاد بگیرم اینو می گم چون زیاد تو طول روز وقت ندارم برنامه نویسی بخونم دانشگاه بدمصب مگه میزاه :عصبانی:بنظرت واقعا ضروریه C رو بخونم؟؟
if(تاثیر داره سی خوندنم)
تاثیراتش تو آینده برنامه نویسیم اگه بخونم؟
else
اگه نخونم تاثیراتش چیه؟
:لبخند:

(while(c=1) printf(cpp=0
چهارشنبه 17 اردیبهشت 1393, 23:48 عصر
اولا انو بگم که نمی دونم چجوری ازت تشکر کنم:بوس::بوس::بوس::قلب:
دوما حالا من می خوام بزنم تو کار موتور چند تا سر در گمی جلو راهمه
1-انواع موتور ها هستن با زبون های مختلف
2-بنظرت من بخوام C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎‎‎‎ یا هر زبون دیگه رود یاد بگیرم نیازه که C رو هم خوب یاد بگیرم اینو می گم چون زیاد تو طول روز وقت ندارم برنامه نویسی بخونم دانشگاه بدمصب مگه میزاه :عصبانی:بنظرت واقعا ضروریه C رو بخونم؟؟
if(تاثیر داره سی خوندنم)
تاثیراتش تو آینده برنامه نویسیم اگه بخونم؟
else
اگه نخونم تاثیراتش چیه؟
:لبخند:

نیاز به تشکر کردن نیست. کسانی بودن و هستن که من رو کمک می کنن، من هم به کسانی که مثل خودم سوال دارن کمک می کنم.
سی شارپ بیشتر از ++C و Java الهام گرفته شده; سینتاکس یا سینتَکس (ترکیب و شکل کدنویسی) در #C شبیه به این دو زبان هستن.
می تونی مستقیم بری و #C رو یاد بگیری، اما از اونجایی که یک زبان بسیار سطح بالاست، ممکنه یادگیریش کمی پیچیده باشه.
کلمات کلیدی معروفی مثل for، while، do، while، if، break, else, case, do, float, double, int, long, void, null, return, default که در C وجود دارن، در #C هم وجود دارن. اما خب بسیاری کلمات جدید در #C تعریف شده که مدت یادگیری این زبان رو درازتر می کنه.
به این دلیل میگم از C شروع کن چون زبان کوچکی هست و یک خَروار کلمه کلیدی و Class روی سرت هموار نمی کنه.
یادگیری زبان C بسیار راحته، منتها سختیش وقتی از راه می رسه که بخوای کارهای بزرگ باهاش انجام بدی; در این صورت مجبوری بسیاری فایل Header که حاویه تابع/توابع هست خَلق کنی;
برای مثال میخوایم یک فایل Header حاویه یک تابع ساده بسازیم :


نرم افزاری مانند Notepad رو باز می کنیم.
داخلش یک تابع می نویسیم (برنامه شماره یک) :
برنامه رو به نام myheader.h ذخیره می کنیم.
در هر سیستم عاملی، فایل myheader.h رو در مکانی که کامپایلر نصب شده، در پوشه include اون کپی می کنیم (مسیر جست و جو در کامپایلر GCC در لینوکس /usr/local/include/).
برای استفاده از myheader.h در یک برنامه، این گونه عمل می کنیم(برنامه شماره دو) :


/*برنامه شماره یک*/
/*تابع ضرب دو عدد با یکدیگر*/
int zarb (int a, int b)
{
return a*b;
}



/*برنامه شماره دو*/
#include <stdio.h>
#include <myheader.h>
int zarb (int a, int b);
void main ()
{
int shomareh1 = 10, shomareh2 = 3, natijeh;
natijeh = zarb (shomareh1, shomareh2);
printf ("نتیجه ضرب اعداد درون متغیرهای شماره1 و شماره2 با یکدیگر می شود = %d", natijeh);
}




یه خورده با کلمات کلیدی موجود در زبان C نسخه ANSI (که در سال 89 و 90 توسعه داده شده) کار کن، بعدش اگر خواستی برو سراغ یک زبان سطح بالای معروف مثل #C.
من نسخه C99 و C11 رو قبول ندارم، چون از حالت استاندارد خارج شده. یادگیری زبان C ربطی به یادگیری یک زبان شیء گرا نداره; منتها چون زبان های شیء گرای معروف همچنان از سینتکس زبان C استفاده می کنن، بهتره که زبان C رو کمی قبلش بخونی تا وقتی که کار با کلمات کلیدی قدیمی رو خوب یاد بگیری و بعدش بری سراغ زبان هایی مثل #C; من فقط نمیخوام که تو گیج بشی در یادگیری #C یا هر زبان سطح بالای دیگری.
بببین زبان سی شارپ (جدا از Class ها) چندتا کلمه کلیدی داره (روی کلمه کلیدی مورد نظر کلیک کن تا متصل بشی به وبسایت مایکروسافت تا نمونه کدش رو ببینی) :
به همین جهت میگم که اول کمی با نحوه برنامه نویسی در C آشنا شو، بعدش برو سراغ این زبان های عجیب و چاق و خپل!:لبخندساده:




void (http://msdn.microsoft.com/en-us/library/yah0tteb.aspx)

as (http://msdn.microsoft.com/en-us/library/cscsdfbt.aspx)

switch (http://msdn.microsoft.com/en-us/library/06tc147t.aspx)

bool (http://msdn.microsoft.com/en-us/library/c8f5xwh7.aspx)



sbyte (http://msdn.microsoft.com/en-us/library/d86he86x.aspx)

using (http://msdn.microsoft.com/en-us/library/zhdeatwt.aspx)

case (http://msdn.microsoft.com/en-us/library/06tc147t.aspx)

false (http://msdn.microsoft.com/en-us/library/67bxt5ee.aspx)


byte (http://msdn.microsoft.com/en-us/library/5bdb6693.aspx)

new (http://msdn.microsoft.com/en-us/library/51y09td4.aspx)

break (http://msdn.microsoft.com/en-us/library/adbctzc4.aspx)

true (http://msdn.microsoft.com/en-us/library/eahhcxk2.aspx)



char (http://msdn.microsoft.com/en-us/library/x9h8tsay.aspx)

add (http://msdn.microsoft.com/en-us/library/cc713648.aspx)

default (http://msdn.microsoft.com/en-us/library/25tdedf5.aspx)

do (http://msdn.microsoft.com/en-us/library/370s1zax.aspx)


short (http://msdn.microsoft.com/en-us/library/ybs77ex4.aspx)

lock (http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx)

continue (http://msdn.microsoft.com/en-us/library/923ahwt1.aspx)

for (http://msdn.microsoft.com/en-us/library/ch45axte.aspx)



ushort (http://msdn.microsoft.com/en-us/library/cbf1574z.aspx)

remove (http://msdn.microsoft.com/en-us/library/cc713642.aspx)

goto (http://msdn.microsoft.com/en-us/library/13940fs2.aspx)

while (http://msdn.microsoft.com/en-us/library/2aeyhxcd.aspx)



int (http://msdn.microsoft.com/en-us/library/5kzh1b5w.aspx)

fixed (http://msdn.microsoft.com/en-us/library/f58wzh21.aspx)

if (http://msdn.microsoft.com/en-us/library/5011f09h.aspx)

abstract (http://msdn.microsoft.com/en-us/library/sf985hc5.aspx)



uint (http://msdn.microsoft.com/en-us/library/x0sksh43.aspx)

try (http://msdn.microsoft.com/en-us/library/0yd65esw.aspx)

is (http://msdn.microsoft.com/en-us/library/scekt9xw.aspx)

unsafe (http://msdn.microsoft.com/en-us/library/chfa2zb8.aspx)



long (http://msdn.microsoft.com/en-us/library/ctetwysk.aspx)

catch (http://msdn.microsoft.com/en-us/library/0yd65esw.aspx)

else (http://msdn.microsoft.com/en-us/library/5011f09h.aspx)

static (http://msdn.microsoft.com/en-us/library/98f28cdx.aspx)



ulong (http://msdn.microsoft.com/en-us/library/t98873t4.aspx)

finally (http://msdn.microsoft.com/en-us/library/zwc8s4fz.aspx)
yield (http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx)

event (http://msdn.microsoft.com/en-us/library/8627sbea.aspx)



float (http://msdn.microsoft.com/en-us/library/b1e65aza.aspx)

from (http://msdn.microsoft.com/en-us/library/bb383978.aspx)
return (http://msdn.microsoft.com/en-us/library/1h3swy84.aspx)

global (http://msdn.microsoft.com/en-us/library/cc713620.aspx)



double (http://msdn.microsoft.com/en-us/library/678hzkk9.aspx)
in (http://msdn.microsoft.com/en-us/library/ttw7t8t6.aspx)

enum (http://msdn.microsoft.com/en-us/library/sbbt4032.aspx)

public (http://msdn.microsoft.com/en-us/library/yzh058ae.aspx)



decimal (http://msdn.microsoft.com/en-us/library/364x0z75.aspx)

on (http://msdn.microsoft.com/en-us/library/cc713588.aspx)

const (http://msdn.microsoft.com/en-us/library/e6w8fe1b.aspx)

private (http://msdn.microsoft.com/en-us/library/st6sy9xe.aspx)



sizeof (http://msdn.microsoft.com/en-us/library/eahchzkf.aspx)

let (http://msdn.microsoft.com/en-us/library/bb383976.aspx)

extern (http://msdn.microsoft.com/en-us/library/e59b22c5.aspx)

object (http://msdn.microsoft.com/en-us/library/9kkx3h3c.aspx)



typeof (http://msdn.microsoft.com/en-us/library/58918ffs.aspx)

out (http://msdn.microsoft.com/en-us/library/t3c3bfhx.aspx)

string (http://msdn.microsoft.com/en-us/library/362314fe.aspx)

class (http://msdn.microsoft.com/en-us/library/0b0thckt.aspx)



dynamic (http://msdn.microsoft.com/en-us/library/dd264741.aspx)

join (http://msdn.microsoft.com/en-us/library/bb311040.aspx)

namespace (http://msdn.microsoft.com/en-us/library/z2kcy19k.aspx)

base (http://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx)



null (http://msdn.microsoft.com/en-us/library/edakx9da.aspx)

select (http://msdn.microsoft.com/en-us/library/bb384087.aspx)

ascending (http://msdn.microsoft.com/en-us/library/cc713606.aspx)

sealed (http://msdn.microsoft.com/en-us/library/88c54tsw.aspx)



value (http://msdn.microsoft.com/en-us/library/a1khb4f8.aspx)

foreach (http://msdn.microsoft.com/en-us/library/ttw7t8t6.aspx)

descending (http://msdn.microsoft.com/en-us/library/cc713622.aspx)

params (http://msdn.microsoft.com/en-us/library/w5zay9db.aspx)



internal (http://msdn.microsoft.com/en-us/library/7c5ka91b.aspx)

get (http://msdn.microsoft.com/en-us/library/ms228503.aspx)

orderby (http://msdn.microsoft.com/en-us/library/bb383982.aspx)

delegate (http://msdn.microsoft.com/en-us/library/900fyy8e.aspx)



readonly (http://msdn.microsoft.com/en-us/library/acdd6hb7.aspx)

set (http://msdn.microsoft.com/en-us/library/ms228503.aspx)

checked (http://msdn.microsoft.com/en-us/library/74b4xzyw.aspx)

override (http://msdn.microsoft.com/en-us/library/ebca9ah3.aspx)



ref (http://msdn.microsoft.com/en-us/library/14akc2c7.aspx)

where (http://msdn.microsoft.com/en-us/library/bb383976.aspx)

unchecked (http://msdn.microsoft.com/en-us/library/a569z7k8.aspx)

explicit (http://msdn.microsoft.com/en-us/library/xhbhezf4.aspx)



stackalloc (http://msdn.microsoft.com/en-us/library/cx9s2sy4.aspx)

into (http://msdn.microsoft.com/en-us/library/bb311045.aspx)

this (http://msdn.microsoft.com/en-us/library/dk1507sz.aspx)

async (http://msdn.microsoft.com/en-us/library/hh156513.aspx)



protected (http://msdn.microsoft.com/en-us/library/bcd5672a.aspx)

by (http://msdn.microsoft.com/en-us/library/bb384063.aspx)

await (http://msdn.microsoft.com/en-us/library/hh156528.aspx)

struct (http://msdn.microsoft.com/en-us/library/ah19swz4.aspx)



virtual (http://msdn.microsoft.com/en-us/library/9fkccyh4.aspx)

group (http://msdn.microsoft.com/en-us/library/bb384063.aspx)

operator (http://msdn.microsoft.com/en-us/library/s53ehcz3.aspx)

alias (http://msdn.microsoft.com/en-us/library/ms173212.aspx)





equals (http://msdn.microsoft.com/en-us/library/cc713644.aspx)

interface (http://msdn.microsoft.com/en-us/library/87d83y5b.aspx)

partial (type) (http://msdn.microsoft.com/en-us/library/wbx7zzdd.aspx)





throw (http://msdn.microsoft.com/en-us/library/1ah5wsex.aspx)

volatile (http://msdn.microsoft.com/en-us/library/x13ttww7.aspx)

partial (method) (http://msdn.microsoft.com/en-us/library/6b0scde8.aspx)


































































حلقه while در زبان Unreal Script :

while(ammo < maxammo)
{
ammo = ammo + 1;

if(ammo >= maxammo)
break;
}



حلقه for در زبان Java Script :
<html>
<body>
<script type="text/javascript">
var i = 0
for (i = 0; i <= 10; i++)
{
document.write("The number is " + i)
document.write("<br />")
}
</script>
</body>
</html>


سوالت رو بپرس!:لبخندساده:
موفق باشی.:لبخندساده:

(while(c=1) printf(cpp=0
پنج شنبه 18 اردیبهشت 1393, 00:10 صبح
حلقه while در زبان Unreal Script :


http://upload7.ir/imgs/2014-05/95562771066504558003.jpg

majid1605
پنج شنبه 18 اردیبهشت 1393, 17:55 عصر
راستش حوصله میخواد ادم بشینه کل پستها رو بخونه منم حوصله خوندن کاملشون رو ندارم
اما خلاصه بگم هم rahnema1 و هم (while(c=1) printf(cpp=0
خیلی از برنامه ها نیاز به داشتن دانش بالا ریاضی نداره حتی در برنامه های به اصطلاح حرفه ایی (البته تعریف برنامه حرفه ایی چیه؟)در عوض برنامه هایی هستند که تماما در ریاضی خلاصه شدن اما داشتن دانش ریاضی در حد متوسط برای یه برنامه نویس حتما لازمه .
در مورد دوستمون حیطه خودشون رو بازی سازی اونم مبحث انجین نویسی در نظر گرفتن که باید بگم ریاضی بلد نباشید باید بیخیال این موضوع بشید هرچند انجین نویسی کار یک نفر نیست و بهتره گروهی باشه .یه بخش از انجین نویسی هوش مصنوعیه یه بخش دیگه فیزیک و یا خود گرافیک و... دوتای اول تقریبا خودشون تووی ریاضی خلاصه شدن و الگوریتهای مختلف هرچند برای هردوی اینها کتابخونه های آماده وجود داره اما خیلی مواقع مجبور میشید یه جای کار رو خودتون بنویسید یا کتابخونه مربوطه رو توسعه بدید حالا اگه رایاضیاتتون در حد قابل قبولی نباشه مطمئنا درک درستی از این کتابخونه ها و اصلاح و توسعه اشون نخواهید داشت .

(while(c=1) printf(cpp=0
جمعه 19 اردیبهشت 1393, 02:04 صبح
راستش حوصله میخواد ادم بشینه کل پستها رو بخونه منم حوصله خوندن کاملشون رو ندارم
اما خلاصه بگم هم rahnema1 و هم (while(c=1) printf(cpp=0
خیلی از برنامه ها نیاز به داشتن دانش بالا ریاضی نداره حتی در برنامه های به اصطلاح حرفه ایی (البته تعریف برنامه حرفه ایی چیه؟)در عوض برنامه هایی هستند که تماما در ریاضی خلاصه شدن اما داشتن دانش ریاضی در حد متوسط برای یه برنامه نویس حتما لازمه.

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

IamOverlord
دوشنبه 23 تیر 1393, 19:27 عصر
دوستان یه نگاهی به زبان Haskell بیاندازید اگه ندیدید... اگر هم مثال هاش رو ببینید خوب متوجه می شید که داشتن دانش ریاضی بیش تر چه قدر در برنامه نویسی می تونه کمکتون کنه... Haskell که اصلا یه پله از بقیه بالاتره در این زمینه!... یه زبان Functional قدرت مند هست... اگه شروع کنید به یادگیریش شاید اصلا به ریاضی علاقه ی بیش تری پیدا کنید... ولی قبلش باید یه سطحی از دانش ریاضی رو داشته باشید که بتونید شروع کنید و لذت ببرید...
به جای این که کلی کد بزنید و بگید چه طوری می شه به خواسته تون برسید، برای Haskell خواسته تون رو تعریف کنید و بهش برسید! یه جورایی، سوال اصلی 'چی' هست نه 'چگونه'...!

sa1378
دوشنبه 23 تیر 1393, 20:29 عصر
من که برای المپیاد کامپیوتر برنامه نویسی میکنم کلا فقط ریاضی هست
ولی برنامه نویسی گرافیکی مثلا با vb خیلی کمتر ریاضی میخواد