وقتی به علوم مهندسی نگاهی گذرا می اندازیم تازه متوجه می شویم که بدون شک در تمام رشته ها، ابزاری به نام کامپیوتر وجود دارد. در دنیای امروز اگر فردی لقب مهندسی به خود می گیرد باید تحت هر شرایطی بتواند به هنگام کار با کامپیوتر نیاز خود را برآورده کند. بنابراین یادگیری این علم همواره در راس تمام علوم قرار دارد. اما گاهی پیش می آید نرم افزارها و اسکریپت های آماده پاسخگوی تمام نیازهای شما نیستند. در این حالت باید چه کاری انجام دهیم؟
برای پاسخ به این سوال دنیای برنامه نویسی را به شما معرفی می کنیم. شما با برنامه نویسی می توانید هر اسکریپت و نرم افزاری که مدنظرتان است به صورت شخصی پیاده سازی کرده و از نتایج خروجی آن در پروژه های خود استفاده کنید.
زبان های برنامه نویسی زیادی برای یادگیری وجود دارند که در راس آنها چندین زبان پایه قرار دارند.
منظور از زبان پایه، زبانی است که با استفاده از آن می توانید به برنامه نویسی تسلط پیدا کرده و سپس آن را به زبان های دیگر گسترش دهید.
زبان C++ (سی پلاس پلاس) به عنوان یک زبان پایه محسوب می شود که یادگیری آن می تواند سهم بزرگی در پیشرفت و موفقیت شما در علوم مهندسی داشته باشد.
تاریخچه زبان c++
قبل از بررسی تاریخچه این زبان بهتر است به معرفی زبان C بپردازیم. زبان C (سی) در سال ۱۹۷۲ توسط آقای Dennis Ritchie (دنیس ریچی) در آزمایشگاه Bell نوکیا برای راحت تر کردن ارتباط انسان با کامپیوتر ایجاد شد.
اما در سال ۱۹۷۹ آقای Bjarne Stroustrup مجددا در آزمایشگاه Bell نوکیا اقدام توسعه زبان C کرد و پس از افزودن ویژگی های بسیار کلیدی به آن، زبان C++ را تولید نمود. این زبان در طی سالهای ۲۰۰۳ تا کنون زیر نظر یک استاندارد ISO تنظیم می شود که هر از چندگاهی با اضافه شدن ویژگی های جدید این استانداردها بروز می شوند. در حال حاضر آخرین نسخه زبان C++، نسخه ۱۷ (سال ۲۰۱۷) می باشد.
چرا C++؟
اولین سوالی که ذهن شما را به خود اختصاص می دهد، این سوال است: چرا C++؟
C و در نهایت C++ یک اتفاق عجیب و غریب در دنیای برنامه نویسی بودند. زیرا قبل از آن بسیاری از کامپیوترها با زبانهای اسمبلی یا بعضا زبان ماشین کار می کردند. این زبان ها علیرغم سرعت بالایی که داشتند، بسیار سخت بودند و همین امر باعث می شد هر کسی نتواند با کامپیوتر به راحتی کار کند. پس از حدود ۳۵ سال از زمان ابداع C++ شما شاهد پیشرفت های فراوانی در حوزه های اینترنت، موبایل، تلویزیون و سایر تجهیزات هوشمند هستید. از طرفی هدف ما این است که وقتی به دنیای برنامه نویسی وارد می شویم، زبانی را انتخاب کنیم که با یک تیر چند نشان زده باشیم. به عبارت دیگر زبان C++ به شما کمک می کند تا بتوانید در انواع تجهیزات هوشمند کدنویسی کرده و پروژه های جذابی را تولید کنید. یکی دیگر از مزیت های عمده این زبان سرعت بسیار بالای آن می باشد.
ویژگی های زبان C++
زبان سطح بالا: در یک کلام زبان C++ باعث افزایش سرعت توسعه نرم افزار می شود و شما می توانید در قالب یک زبان کاملا قابل فهم کدهای خود را پیاده سازی کرده و خروجی کامپیوتر را در برابر این کدها مشاهده کنید.
متن باز: این زبان کاملا رایگان بوده و توسعه آن توسط استاندارد ISO مورد بررسی قرار می گیرد. یعنی برای یادگیری C++ نیازی به پرداخت هزینه های اولیه نیست.
شیء گرا: شی گرایی به معنی حرفه ای کدنویسی کردن. به بیان ساده تر این قابلیت در زبان C++ به شما کمک می کند تا پروژه خود را توسعه پذیر، حرفهای و قابل درک برای یک تیم برنامه نویسی، ارائه دهید.
سرعت بسیار بالا: از آنجا که زبان C++ یک زبان کامپایلری (Compiler) است، سرعت اجرای کدها بسیار بالا است. زیرا کدها یکبار کامپایل شده و می توانند چندین بار در دستگاه یا تجهیزات هوشمند شما استفاده شوند.
حجم کدنویسی پایین: میزان کدنویسی در زبان C++ به نسبت سایر زبان ها پایین می باشد و این یک مزیت بسیار مهم در برنامه نویسی است.
توسعه پذیر و منعطف: ساختار نرم افزارهایی که به زبان C++ (سی پلاس پلاس) نوشته می شوند بگونه است که به هنگام توسعه و افزودن امکانات، تیم توسعه دهنده به دردسر نمی افتند. مثلا شما فرض کنید نرم افزار Office را نوشته اید و می خواهید هر ساله به آن امکانات جدیدی اضافه کنید، در این حالت اگر از زبان های سطح پایین استفاده نمایید به شدت به مشکل بر می خورید.
زبان قابل حمل: معنی این عبارت یعنی شما می توانید نرم افزارهایی که به زبان C++ نوشته می شوند را بدون در نظر گرفتن سیستم عامل اجرا کنید.
چه مهارت هایی در دوره رایگان آموزش C++ (سی پلاس پلاس) کسب می کنید؟
- آشنایی با مفهوم برنامه نویسی استاندارد و بدون اتلاف وقت
- آشنایی با مفاهیم اولیه
- آموزش بکارگیری متغیرها و نحوه تعریف آنها
- کسب توانایی پیاده سازی مفاهیم پیچیده ریاضیاتی
- دستیابی به توانایی کنترل کردن برنامه ها با شرطهای منطقی
- شناخت اشاره گرها، آرایهها و رشته ها
- نحوه کار با توابع و بهینه سازی
- افزایش توسعه پذیری نرم افزار
سرفصلهای دوره آموزش C++
مقدمه و معرفی
- معرفی مدرس و دوره
- پاسخ به سوال برنامه نویسی چیست؟
- دستیابی به راهکاری نوین برنامه نویسی
- معرفی زبان C++
- معرفی مخترعین زبان C و C++ (سی پلاس پلاس)
- مقایسه سرعت زبان C++ (سی پلاس پلاس) با سایر زبانها
- کاربردهای زبان C++
بررسی ساختارهای برنامهنویسی
- معرفی انواع زبان برنامه نویسی
- بررسی زبانهای سطح بالا، پایین و میانی
- معرفی IDE (محیطی برای کدنویسی زبان C++)
مفاهیم اولیه
- معرفی ساختار یک برنامه
- نحوه قرار دادن توضیحات برای یک برنامه (کامنت گذاری)
- یک دید کلی درباره سینتکس ها
- معرفی متغییرها
- کار کردن با دستورهای ورودی و خروجی
- نوشتن اولیه برنامه
- توضیح نامگذاری فایل ها
متغیرها و انواع داده
- معرفی دقیق متغیرها و نحوه مقداردهی اولیه آنها
- آشنایی با مفهوم Void
- آشنایی با سایز متغیرها و اپراتور sizeof
- معرفی متغیرهای عددی (Integer)
- معرفی متغیرهای اعشاری (Float)
- بررسی مقادیر بولین (Boolean)
- بررسی کاراکترها (Chars)
اپراتورها
- معرفی اپراتورها و کاربردهای آنها
- بررسی اپراتورهای ریاضیاتی و محاسباتی
- بررسی اپراتورهای مقایسه ای
- بررسی اپراتورهای منطقی
- تبدیل مقادیر به یکدیگر
اسکوپ متغیرها (Variable Scope)
- بررسی بلوک ها در برنامه نویسی
- معرفی متغیرها و اسکوپ های محلی (Local)
- معرفی متغیرهای جهانی (Global)
- بررسی متغیرهای ثابت (Static)
- معرفی namespace ها
- تبدیل انواع داده به یکدیگر به صورت Implicit
- تبدیل انواع داده به یکدیگر به صورت Explicit
- مروری بر دستور std::string
- معرفی انواع داده شمارشی یا Enumerated
- معرفی Struct ها
دستورهای شرطی کنترلی
- معرفی دستورهای شرطی کنترلی
- کار با دستور شرطی if
- کار با دستور شرطی Switch
- کار با دستور Goto
- معرفی حلقه ها
- کار با حلقه While
- کار با حلقه Do While
- کار با حلقه For
- معرفی کلمه های کلیدی Break و Continue
- پروژه تولید اعداد تصادفی
آرایهها، رشتهها، اشارهگرها و مراجع
- معرفی آرایه ها
- کاربرد حلقه ها در آرایه ها
- مرتب کردن آرایه ها
- معرفی آرایه های چند بعدی (ماتریسی)
- معرفی رشته ها
- کار با رشته ها در آرایه ها
- معرفی اشاره گرها
- کار با اشاره گرها در C++
- ترکیب اشاره گرها و آرایه ها
- معرفی اشاره گرهای ریاضیاتی و ایندکس آرایه ها
- بررسی اشاره گرها و ثابت ها
- معرفی مراجع (Reference)
- معرفی حلقه For Each
- کار با اشاره گر از نوع Void
توابع
- معرفی توابع و کاربردهای آن
- نوشتن توابع
- آموزش ارسال پارامتر به توابع
- آموزش ارسال مراجع به توابع
- معرفی توابع بازگشتی
- معرفی توابع توکار (Inline)
- بررسی توابع overloading
- بررسی پارامترهای پیش فرض در توابع
- توابع اشاره گرها
- معرفی Stack و Heap در C++
- معرفی std::vector
- آموزش کار با خطاها و کنترل آنها
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای دوره پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.