C++ Learning in Persian
C++ Learning in Persian
• زبان های برنامه نویسی حوزه بسیار گستردهای بوده و تعداد آنها بسیار زیاد است؛ اما از یک
دستهبندی کلی میتوان همه انواع زبان های برنامه نویسی را به چهار دسته تقسیمبندی نمود:
.1زبان های برنامه نویسی تحت ویندوز
.2زبان های برنامه نویسی تحت وب
.3زبان های برنامه نویسی اپلیکیشن موبایل
.4زبان های برنامه نویسی چندمنظوره
• هر یک از این شاخه های زبان های برنامه نویسی ،خود شامل تعداد زیادی زبان مختلف میشود.
5 معرفیزبانهایبرنامهنویسیتحتویندوز
• زبان های برنامه نویسی تحت ویندوز :زبانهایی هستند که برای سیستمعامل
ویندوز در محیط کامپیوتر طراحی شدهاند و برای نوشتن و اجرای برنامههای مختلف در
محیط ویندوز به کار میروند .این زبان ها برای محیط برنامه نویسی به ابزارها و یا
نرمافزارهایی نیاز دارند که در محیط ویندوز اجرا میشوند و سپس میتوان برنامه نوشته
شده را برای اجرا در محیطها و یا ماشینهای دیگر ،کامپایل کرد .به این زبان های برنامه
نویسی ،زبان های دسکتاپ نیز گفته میشود.
• نمونه هاییی از زبان های برنامه نویسی تحت ویندوز:
• C# - C++ - C - Java Scrip - Java - PHP - Swift - Red-Lang - Go -
Object Pascal -
6 معرفیانواعزبانهایبرنامهنویسیتحتوب
• زبان های برنامه نویسی تحت وب از نظر سمت اجرا به دو دسته کلی تقسیمبندی میشوند:
زبان های سمت سرور و زبان های برنامه نویسی سمت کالینت یا کاربر .مانند:
• جاوا اسکریپت :که تحت وب سمت کاربر می باشد .
• یکی از زبانهای مطرح برای توسعه وبسایتها ،برنامههای دسکتاپ و بازی ،جاوا
اسکریپت است .این زبان بر روی همه مرورگرها اجرا میشود و قادر است با برنامههایی که
تحت وب نیستند نیز کار کند .این زبان برنامه نویسی اساسا ً برای ایجاد رابط کاربری
فوقالعاده و وبسایتهای جذاب به کار میرود .اجزا ،ساختار داده و الگوریتمهای مورد
استفاده در این زبان تقریبا ً در هر زبان برنامه نویسی دیگری قابلاعمال است.
7 معرفیانواعزبانهایبرنامهنویسیاپلیکیشنموبایل
• زبان های برنامه نویسی چندمنظوره همانطور که از نام آنها مشخص است ،در چندین
پلتفرم مختلف مورد استفاده قرار میگیرند؛ یعنی با یادگیری این زبان ها میتوانید هم برای
توسعه برنامههای دسکتاپ ،برنامههای وب و هم برنامههای موبایل از آن استفاده کنید.
اگر میخواهید از راه برنامه نویسی و توسعه برنامههای کاربردی در پلتفرمهای مختلف کسب درآمد کنید ،بهتر
است به سراغ زبانهایی بروید که چندمنظوره بوده و میتوانند در حوزههای مختلف برای شما درآمدزا باشند.
همچنین ،سادگی و سرعت باال در توسعه کدها را نیز پیش از انتخاب در نظر بگیرد.
9 دلیلازدیادزبانهایبرنامهنویسی
10 انواع و نحوه پیدایش زبان های برنامه نویسی
11 بررسیسطوحزبانهایبرنامهنویسی
ما همواره دو نوع زبان برنامهنویسی کامپایلری و مفسری خواهیم داشت .اما یک دستهبندی دیگر نیز
وجود دارد؛ آنهم از نظر سطح دشواری زبان برنامهنویسی میباشد.
• سطح دشواری یک زبان برنامهنویسی بر اساس میزان نزدیک بودن آن به زبان محاورهای
محاسبه میشود .البته به این نکته نیز دقت کنید که زبانهای برنامهنویسی با زبان انگلیسی
پیادهسازی میشوند .پس هر چقدر یک زبان به محاوره انگلیسی نزدیکتر و قابل فهمتر
باشد ،سطح باالتر خواهد بود .در حال حاضر دستهبندی زبانها در سه سطح انجام میشود:
.1زبان های سطح باالی برنامه نویسی
.2زبان های برنامه نویسی سطح میانی
.3زبان های برنامه نویسی سطح پایین
زبان سطح پایین یا همان زبان ۰و ۱که کار کردن با آن دشوار و غیر ممکن است .اما در زمانهای نه
چندان دور از زبانهای سطح میانی زیاد استفاده میشده است .در حال حاضر نیز زبانهایی نظیر زبان Cکه
میانی هستند ،مورد استفاده قرار میگیرند .اما اکثر برنامه نویسان در حال حاضر به سراغ زبانهای سطح
باال رفته اند.
12 زبانهایمفسرییا کامپایلر؟
(1هر دو نوع تفسیری و کامپایلری در سر جای خود مورد استفاده قرار میگیرند .نمیتوان گفت کدام
یک بهتر و کدام یک را نباید استفاده کرد .هرچند به دلیل تفسیر در لحظه ،ممکن است کمی سرعت
تفسیرگرها کندتر باشد .اما در کامپایل کردن ،به دلیل تولید یک نرمافزار واحد و فایل اجرایی،
سرعت اجرای نرم ازفزار هم میتواند افزایش یابد.
(2به این نکته نیز باید دقت کرد که در برخی مواقع مجبور به استفاده از تفسیرگرها هستیم .مثال
برای تولید یک وبسایت ،مرسوم نیست که یک فایل نصبی به کاربر خود بدهیم .وبسایت باید در
مرورگر اجرا شده و فارغ از پلتفرم باشد .یعنی در هر سیستم عاملی که مرورگری بر روی آن
نصب باشد ،باید وبسایت باال آمده و استفاده شود .پس در تولید وبسایت نیازمند زبان های برنامه
نویسی تفسیری خواهیم بود.
13 دسته بندی ساختار زبان های برنامه نویسی
14 دالیل پیدایش زبان های ساخت یافته
15 دالیل پیدایش برنامه نویسی شی گرا
16 برنامه نویسی شی گرا
❑برنامه نویسی شی گرا روش نوینی است که به جای آن که به جریان اجرای برنامه بپردازد،
به داده هایی که قرار است پردازش شوند می پردازد .در این روش ،دادههای مرتبط با هم ،
یکجا جمع میشوند و توابعی که برای پردازش آنها الزم است نیز اضافه میشوند .به ترکیب
حاصل شی )(Objectمیگویند .پس از اینکه اشیای برنامه شناخته شدند ،با ارسال پیام به
یکدیگر ،تراکنشهایی انجام میدهند که حاصل این تراکنش ها ،مقصود اصلی برنامه را
تعیین می کند .درست مثل دنیای اطراف ما که در آن اشیا مختلف با رفتارشان روی اشیای
دیگر تاثیر میگذارند تا کاری را انجام دهند.
❑ قدرت برنامه نویسی شی گرا در پنهان سازی اطالعات است.
❑عیب یابی این برنامههایی نیز راحت است زیرا اغلب می توان شی معیوب را به راحتی
شناخت و با اصالح و با پیاده سازی داخلی آن ،برنامه را بهبود داد .
❑اشیا نیست مثل تابعها قابلیت استفاده مجدد دارند .با استفاده از وراثت می توانیم از روی
اشیا قبلی شی جدیدی بسازیم که ویژگیهای مشترک و ویژگی منحصر به فرد داشته باشد.
17 موارد مهم در برنامه نویسی
18 پیش نیازها :
(2کامپایلرها:
از جمله کامپایلرها می توان به MinGw ،Ideone ،GCCو Cygwinاشاره نمود.
19 IDE (1یامحیطتوسعهیکپارچهچیست؟
❑مهمترین بخش کار در برنامه نویسی ،ویرایش کردن کد نیست؛ بلکه خروجی نهایی و دیباگ کردن
کدهاست .پس برنامه نویسان برای راحتی کار خود نیازمند یک نرمافزار هستند که تمامی این
قابلیتها را در اختیارشان قرار دهدIDE .ها نیز تمام ویژگیها و نیازمندیهای برنامه نویسان را
فراهم کرده و انجام میدهند .الزم به ذکر است که برای هر زمینه برنامه نویسیIDE ،های متعددی
توسط شرکتهای مختلف ایجاد شده اند.
20 )2کامپایلرچیستوچهکاربردیدارد؟
• در سیستمهای کامپیوتری ،نرمافزارهایی وجود دارند که عملیات تبدیل کدهای سطح باال به
سطح پایین را مدیریت و اجرا میکنند .به این نرمافزارهای مبدل ،کامپایلر یا مترجم گفته
میشود .وظیفه کامپایلرها تولید کد ۰و ۱برای اجرا شدن در پردازنده میباشد.
• کامپایلرها معموال در نرمافزارهای توسعه یکپارچه یا همان IDEوجود دارند .این محیطهای
توسعه سبب افزایش کارایی برنامه نویسان میشوند .در واقع میتوان گفت که بدون استفاده
از کامپایلرها و بدون ترجمه کردن کدهای سطح باال به زبان ماشین ،امکان اجرای این کدها
توسط پردازنده وجود نخواهد داشت
21 ویژگی برنامه نویسی C++
22 مهمترین کاربردبرنامهنویسیC ++
❖ساخت اپلیکیشنهای کاربردی
❖بازیها
❖انیمیشنسازی
❖مرورگرهای وب
❖دسترسی به پایگاه داده
❖ساخت مدیا پلیرها
❖ساخت کامپایلرها
❖سیستمعامل
❖اسکن
❖سیستمهای توزیعشده و ابری
23 معرفینرمافزارDev C++ 5.11
❑نرم افزار Dev C++ 5.11یکی از قدرتمندترین نرم افزار های است که با در اختیار
گذاشتن محیط IDEقدرتمند در اختیار برنامه نویسان کد نویسی را برای آنها راحت می کند
و اکثر برنامه نویسان از آن برای برنامه نویسی به زبان Cو C++استفاده می کنند .این
نرم افزار از کامپایلر GCCبرای کامپایل و اجرا کردن پروژه های ساخته شده استفاده می
کنید .نرم افزار Dev C++ 5.11عالوه بر استفاده از کامپایلر GCCمی تواند از
کامپایلرهای دیگر مانند Cygwinنیز استفاده کنند.
❑ همچنین این نرم افزار بسیار سبک بوده و حافظه کمی را اشکال کرده و سیستم را سنگین
نمی کند .نرم افزار Dev C++ 5.11به صورت رایگان و منبع باز ( ( Open Source
بوده و ویژگی های زیادی را در محیط گرافیکی برای برنامه نویس آماده کرده است.
24 نصب برنامه C++
• https://sourceforge.net/projects/orwelldevcpp
• از طریق آدرس سایت باال وارد برنامه Dev-C++را دانلود و مراحل نصب را طی نمایید.
4 5
28 اتمام مراحل نصب برنامه Dev C++
6
29 اتمام مراحل نصب برنامه Dev C++
7 8
30 محیط برنامه Dev C++
31 نحوه ایجاد فایل جدید Dev C++
✓ برنامه C++نسبت به حروف حساس به حالت است .یعنی A , aرا یکی نمیداند .پس
در عبارتهای MY, My, mY, myهیچ یک با دیگری برابر نیست .برای اینکه در برنامه
دچار اشتباه نشوید ،از قانون زیر پیروی کنید:
✓همه چیز را با حروف کوچک بنویسید ،مگر اینکه برای بزرگ نوشتن برخی از حروف ،دلیل
قانع کننده ای داشته باشید.
✓پایان هر دستور عالمت سمیکولن ; قرار داده شود .که به معنای پایان دستور است.اگر این
عالمت را قرار ندهید برنامه اجرا نمی شود و کامپایلر از برنامه شما خطا می گیرد.
>38 #include <iostream راهنمای پیش پردازنده
oاولین خط از کد یک ((راهنمای پیش پردازنده)) است .راهنمای پیش پردازنده شامل اجزای
زیر است :
(۱کاراکتر #که نشان می دهد این خط ،یک راهنمای پیش پردازنده است .این کاراکتر باید در
ابتدای همه خطوط راهنمای پیش پردازنده باشد.
(2عبارت include
(3نام یک فایل کتابخانه ای که میان دو عالمت <> محصور شده است.به فایل کتابخانه ای
سرفایل نیز گفته میشود.فایل کتابخانه ای در اینجا iostreamنام دارد.
نکته :با توجه به اجرای فوق ،راهنمای پیش پردازنده خطی است که به کامپایلر اطالع میدهد در
برنامه موجودیتی است که تعریف آن را باید در فایل کتابخانه مذکور جستجو کند .در این برنامه ،
موجودیت std::coutاستفاده شده است که کامپایلر راجع به آن چیزی نمیداند ،پس به فایل
iostreamمراجعه میکند ،تعریف آن را مییابد و سپس آن را اجرا میکند.
oهر برنامهای که از ورودی و خروجی استفاده میکند ،باید شامل این خط راهنما باشد.
39 )(int main خط دوم:
oخط دوم برنامه نیز باید در همه برنامه های C++وجود داشته باشد.
oاین خط به کامپایلر می گوید که بدنه اصلی برنامه از کجا شروع میشود.
که شامل اجزای زیر است :
(1عبارت intکه یک نوع عدد در c++است( .در قسمت های بعدی در مورد انواع عدد
توضیح داده خواهد شد).
(2عبارت mainکه به آن تابع اصلی در c++می گویند.
mainیک تابع است( .در قسمت های بعدی در مورد انواع عدد (3دو پرانتز() که نشان می دهد عبارت
توضیح داده خواهد شد).
oنکته :هر برنامه فقط باید یک تابع )( mainداشته باشد.عبارت intکه قبل از mainاستفاده
شده ،نشان میدهد که این برنامه یک عدد صحیح را به سیستم عامل بر می گرداند.
40 سه خط آخر
• سه خط آخر برنامه ،بدنه اصلی برنامه را تشکیل می دهند .بدنه اصلی برنامه مجموعه ای از
دستورات متوالی است که میان دو عالمت براکت { } بسته شده است ( .برای نوشتن براکت از
کلیدهای ترکیبی + ctrlکلید چ و ج استفاده شود ).
در واقع براکت شروع و پایان برنامه را نشان میدهند.
دستور خط سوم با عالمت سمیکولن ; پایان می یابد( .برای نوشتن عالمت سمیکولن از کلیدحرف
ک در حالت تایپ انگلیسی استفاده نمایید < ).دومین قانون مهم و ساده >
oنکته :حتما باید در پایان هر دستور ،عالمت سمیکولن; قرار دهید .که به معنای پایان
دستور است .اگر فراموش کنید کامپایلر خطا می گیرد و برنامه اجرا نمشود.
;41 return 0 خط چهارم (دومین دستور برنامه)
مقدار 0را به سیستم عامل باز می گرداند و برنامه را پایان می دهد .در انتهای این دستور هم
عالمت سمیکولن استفاده میشود .در زیر تصویر هدر فایل یا راهنمای پیش پردازنده را مشاهده
می نمایید.
42 اجرا کردن دستورپرینت در برنامه Dev C++