# Native Code > برنامه نویسی با C > بحث و گفتگوی فنی - خانواده C > مبتدی: ارتباط ریاضی با C++‎‎

## UnknowC

سلام و وقت بخیر خدمت اساتید محترم 




> در صورتی که سوالم را در جای مربوطه انتشار ندادم معذرت میخوام و اگه اینطوری باشه تقاضا دارم به بخش مربوطه منتقل شود(جای بهتر از این بخش پیدا نکردم )


بنده برنامه هایی رو با VB.NET نوشتم البته اونم اصول کار با VB.NET رو یاد نگرفته بودم فقط به دستوراتی که نیاز داشتم در اینترنت سرچ میکردم و بکار میبردمش رفته رفته دستم تو .NET روونتر شده بود (یواش یواش خودکفا میشدم)

اما به دلیل اینکه یک پروژه بزرگتری نیاز شد کار کنم که نیاز به امنیت و سرعت بیشتر لازم بود برنامه های دات نتی به سرعت دیسورس میشن و نمیشه کارهای تجاری رو انجام داد بنابر این تصمیم گرفتم از نو با C++‎‎‎‎ شروع کنم

اما سوال :
بنده چند آموزش C++‎‎‎‎ رو مطالعه کردم از جمله اونا دیتل پال جی دیتل هست آموزش ها رو به خوبی درک میکنم اما یک مشکل اساسی هست

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

آیا نیاز هست که ریاضی رو برای این زبان یاد بگیرم ؟ شما یک فردی رو در نظر بگیرید که هیچ چیزی جز ضرب ، تقسیم و جمع و تفریق از ریاضی نمیدونه کدام مطالب از ریاضی رو باید فرا بگیرم؟

اگر نیازی به دانستن ریاضی نیست آیا آموزشی رو سراغ دارید که بدون مثال های ریاضی C++‎ رو توضیح دهد؟

ممنون میشم راهنمایی کنید

----------


## farhad_shiri_ex

> سلام و وقت بخیر خدمت اساتید محترم 
> 
> 
> 
> بنده برنامه هایی رو با VB.NET نوشتم البته اونم اصول کار با VB.NET رو یاد نگرفته بودم فقط به دستوراتی که نیاز داشتم در اینترنت سرچ میکردم و بکار میبردمش رفته رفته دستم تو .NET روونتر شده بود (یواش یواش خودکفا میشدم)
> 
> اما به دلیل اینکه یک پروژه بزرگتری نیاز شد کار کنم که نیاز به امنیت و سرعت بیشتر لازم بود برنامه های دات نتی به سرعت دیسورس میشن و نمیشه کارهای تجاری رو انجام داد بنابر این تصمیم گرفتم از نو با C++‎‎‎‎ شروع کنم
> 
> اما سوال :
> ...


با سلام 
دوست عزیز این که ریاضی بلد باشید خوب تو برنامه نویسی کمی افق دید الگوریتمی تون را وسیع تر میکنه البته نه ریاضیات محض و مهندسی پیچیده در حد همون ریاضیات دانشگاه برای رشته نرم افزار را عرض میکنم کفایت خواهد کرد.
اما اینکه در ریاضی حرفه ای باشید می تونید برنامه نویسی حرفه ای هم بشید خیر اصلا ارتباطی ندران! 
حالا چرا اغلب برای آموزش از ریاضی استفاده میکنند( البته تو ایران را عرض میکنم وگرنه تو آموزشهای خارجی از هر 100 تا یکیشون با ریاضی توضیح داده برنامه نویسی را حالا چه ++c ویا java باشه )
به این علت هست اول میان قواعد زبان را توضیح میدن که پایه اکثر زبان های برنامه نویسی که راحترین مثال هایی هم که داره حل کردن فرمولهای ریاضی که 90 درصدشونم هیچ وقت بدردتون نمیخوره مگر برای امتحان ویا المپیادها ویا برای قوی ترشدن تفکر الگوریتم نویسی برنامه نویس.
و بعد میان شی گرائی را آموزش میدن که باز پای مثلثات و هندسه این وسط باز میشه برای اینکه مثلا شرح بدن که پلی مورفیسم چی وراثت چی کپسوله کردن چی تجرید چی و... که البته در حد خیلی بیسیک این موارد را آموزش میدن و معمولا برای شروع هم خیلی فراتر از این ها نمیرن مگر اینکه دوره حرفه ای تر برای اون ربان برنامه نویسی اجرا کنند که البته من که تا حالا ندیدم نه ویدویی نه حضوری ...
پس برای اینکه بتونن نشون بدن که recursive چی هست چطور اجرا میشه میان مثلا محاسبه فیبوناچی را آموزش میدن ویا پیدا کردن اعداد اول و امثالهم...
وبرای اینکه بتونن نشون بدن که ارث بری چطور اتفاق می افته میان از shape شروع میکنن که میتونه دایره باشه میتونه هر چند ضلعی باشه و محاسبه برای محیط ومساحت و تانژانت و کتانژانت و... که چند ریختی را توضیح داده باشند.

باید توجه داشته باشید که این مباحث فقط بیسیک شروع برنامه نویسی هستند حالا هر زبانی که باشه! پس برای اینکه بخواهید متخصص یک زبان شوید علی الخصوص ++c که هم خیلی خشن هست و هم آموزش فارسی براش درست حسابی نداریم باید خیلی تلاش کنید بعد ها که هرچقدر تو برنامه نویسی متبحر بشید مبنید که برنامه نویسی از صفر تا صد یک نرم افزار خیلی کار سخت و طافت فرسائی هست باید خیلی صبر و حوصله داشته باشید .
پس ...
- ریاضی خوب بلد باشید ویا متوسط باشید ولی الزامی نیست و ارتباطی با خیلی از حوزه های نرم افزاری نداره (مگر تو هوش مصنوعی و یادگیری ماشین و ...)
- کار با الگوریتم ها و آشنایی با ساختمان داده و عملیتهای بیتی خیلی خیلی مهمتر از ریاضی یاد گرفتنشون.
- از اونجایی که تکنیکهای برنامه نویسی که الان داره تو ایران آموزش داده میشه تقریبا برای 10 سال پیش هستند به همین علت بعد از فراگیری قواعد زبان باید از تکنیکهای جدید برنامه نویسی حتما استفاده کنید مثلا الان ما تو ایران 90 درصد روی دات نت هستند 5درصدم رو جاوا هستند از اون 5 درصد 4 درصدشون هنوز 11 ++c استفاده میکنند 1 درصدهم از نسخه 14 ++c استفاده میکنند درصورتی که نسخه 17++c هم اومده.
- برنامه نویسی بر روی بک نرم افزار واقعی چون هیچ کس با نوشتن تکه برنامه های معادلات ریاضی برنامه نویس نمیشه حتما تو فیلدی که هستید روی یک برنامه واقعی کار کنید. البته اگر نخواهید برید تویک شرکت بشید developer.
موفق باشید

----------


## UnknowC

> با سلام 
> دوست عزیز این که ریاضی بلد باشید خوب تو برنامه نویسی کمی افق دید الگوریتمی تون را وسیع تر میکنه البته نه ریاضیات محض و مهندسی پیچیده در حد همون ریاضیات دانشگاه برای رشته نرم افزار را عرض میکنم کفایت خواهد کرد.
> اما اینکه در ریاضی حرفه ای باشید می تونید برنامه نویسی حرفه ای هم بشید خیر اصلا ارتباطی ندران! 
> حالا چرا اغلب برای آموزش از ریاضی استفاده میکنند( البته تو ایران را عرض میکنم وگرنه تو آموزشهای خارجی از هر 100 تا یکیشون با ریاضی توضیح داده برنامه نویسی را حالا چه ++c ویا java باشه )
> به این علت هست اول میان قواعد زبان را توضیح میدن که پایه اکثر زبان های برنامه نویسی که راحترین مثال هایی هم که داره حل کردن فرمولهای ریاضی که 90 درصدشونم هیچ وقت بدردتون نمیخوره مگر برای امتحان ویا المپیادها ویا برای قوی ترشدن تفکر الگوریتم نویسی برنامه نویس.
> و بعد میان شی گرائی را آموزش میدن که باز پای مثلثات و هندسه این وسط باز میشه برای اینکه مثلا شرح بدن که پلی مورفیسم چی وراثت چی کپسوله کردن چی تجرید چی و... که البته در حد خیلی بیسیک این موارد را آموزش میدن و معمولا برای شروع هم خیلی فراتر از این ها نمیرن مگر اینکه دوره حرفه ای تر برای اون ربان برنامه نویسی اجرا کنند که البته من که تا حالا ندیدم نه ویدویی نه حضوری ...
> پس برای اینکه بتونن نشون بدن که recursive چی هست چطور اجرا میشه میان مثلا محاسبه فیبوناچی را آموزش میدن ویا پیدا کردن اعداد اول و امثالهم...
> وبرای اینکه بتونن نشون بدن که ارث بری چطور اتفاق می افته میان از shape شروع میکنن که میتونه دایره باشه میتونه هر چند ضلعی باشه و محاسبه برای محیط ومساحت و تانژانت و کتانژانت و... که چند ریختی را توضیح داده باشند.
> 
> ...



بسیار سپاسگذارم بابت توضیحات کامل
کار با الگوریتم را تا حدودی بلدم 
بنده پروژه ای که در حال کارکردن روی آن هستم قطعا نیازی به ریاضیات ندارد نمونه آن را توسط vb.net نوشتم اما فکرشو بکنید برای من که ریاضیاتم ضعیفه وسط آموزش کتاب یا ویدیو C++‎‎‎‎ خسته میشم (یه حالت خواب آلودگی بهم دست میده)
فکر میکنم qt بهترین انتخاب برای پروژه من باشه اما بنا به گفته های اساتید محترم نیاز هست قبلش C++‎‎‎‎ رو یاد بگیرم 

حالا
آیا آموزشی هست که بدون توضیح مثال های ریاضی C++‎‎‎‎ رو یاد بده؟ (با وجود مباحث ریاضی در آموزش ها و عدم دانایی از مباحث مربوطه سست میکنه )
اگر وجود نداره آیا بشینم ابتدا مباحث ریاضی رو یاد بگیرم ؟ مباحث ریاضی که تمامی ندارد فکر میکنید دانستن کامل چه مباحثی میتونه در روند یادگیری بهم کمک کنه
یا حداقل راه هایی هست که بنده نیازمندیهای پروژه ام رو فقط یاد بگیرم و نرم تو بحث های تو در تو؟

سپاسگذارم

----------


## farhad_shiri_ex

> کر میکنم qt بهترین انتخاب برای پروژه من باشه


کیوت یک فریم وورک همه فن حریفه که خودش اومده تقریبا اکثر کلاسهای ++c استاندارد را بازنویسی کرده پس بهتره حتما اول ++c را خوب یاد بگیرید البته شما که قبلا برنامه نویسی کردید نگران نباشید خیلی سخت نیست هرچند که با زبان vb خیلی متفاوت هست ولی باالطبع نمودار یادگیری برای کسی که قبلا برنامه نویس بوده خیلی بهتر هست اینو من نمیگم..




> آیا آموزشی هست که بدون توضیح مثال های ریاضی C++‎‎‎‎‎ رو یاد بده؟


بله که هست در پست قبلی هم گقتم اکثر آموزشهای لاتین که برای شرکت لیندا و پکت هست عالی و خیلی از مفاهیم را که امکان نداره تو آموزش های فارسی پیدا کنید را آموزش دادند.
اگر هم که برای شروع و فقط در حد آشنایی میخواهید که البته اونم فقط 11 ++c از آموزشهای فرادرس و فرانش و البته یکم گرونتر از همه جا لایتک استفاده کنید البته آموزشگاه همین سایت برنامه نویس هم هست البته نمی دونم سی پلاس پلاس هم دارند یانه.! 




> اگر وجود نداره آیا بشینم ابتدا مباحث ریاضی رو یاد بگیرم ؟


به نظر من در کنار آموزش برنامه نویسی و انجام پروژه تون ریاضی هم اگر روزی 2 ساعت کار کنید خیلی خوبه برای شروع هم آموزشهای تئوری دانشگاهی فرادرس انصافا خوبه البته بازهم میگم نه ریاضی محض و دیفرانسیل و انتگرال ... ریاضی دانشگاهی البته رشته کامپیوتر منظورم هست کافی.

----------

