آموزش برنامه‌نویسی به زبان ++C (قسمت اول)

مقدمه

در یادگیری برنامه نویسی داشتن علاقه به آن بسیار مهم است، زیرا با توجه به پیشرفت روز افزون علم رایانه و تغییراتی که در زمینه‌های مختلف آن به وجود می‌آید، باید به دنبال یادگیری روش های مختلف و جدید باشید و این کار بدون وجود علاقه امکان پذیر نیست؛ همچنین ما در این آموزش شرایطی را در نظر گرفته‌ایم که خواننده هیچ گونه آشنایی و پیش زمینه ای درباره برنامه نویسی ندارد، به همین دلیل سعی کرده‌ایم تا به صورت ساده به بیان مفاهیم آن بپردازیم.

این مقدمه را با این جمله به پایان می‌برم:

«برنامه نویسی هنر است، هنر استفاده از ابزار محدود در خلق موجودیتی نامحدود.»

مهندس پویا لعل بخش

طراحی یک برنامه

قبل از شروع یادگیری برنامه نویسی به زبان سی پلاس پلاس (++C) نیازمند یادگیری طراحی و کدنویسی برنامه‌هایمان هستیم.

به نظر شما تفاوت یک برنامه نویسی با کدنویس چیست؟ آیا اصلا تفاوتی با هم دارند؟ بله، با هم متفاوت هستند؛ کسی که خود را برنامه نویس می‌داند، ابتدا توانایی طراحی برنامه اش را به دست آورده است و سپس به کدنویسی برنامه‌اش می‌پردازد؛ ولی یک کدنویسی فقط روش کدنویسی به یک زبان خاص (که در اینجا سی پلاس پلاس است) را فرا گرفته است و هنوز نیازمند یادگیری و به دست آوردن تجربه در زمینه‌ی طراحی می‌باشد.

حال که کمی با تفاوت های طراحی یک برنامه با کد نویسی آن آشنا شدیم، به توضیح طراحی و کدنویسی برنامه‌، می‌پردازیم.

طراحی

 ما برای نوشتن موفق یک برنامه باید مراحلی را طی کنیم، که اولین مرحله‌ی آن طراحی برنامه‌مان است، ما در طراحی سعی می‌کنیم به این پرسش‌ها، پاسخ دهیم: برنامه‌ی ما قرار است چه کاری انجام دهد؟ ما باید با چه الگوریتمی (در ادامه به آن پرداخته می‌شود) تولید برنامه را پیش ببریم تا برنامه به بهترین صورت اجرا شود؟ اگر کد برنامه برای تکمیل قرار باشد، به شخص دیگری سپرده شود، آیا او قادر به خواندن کدها هست؟ اگر برنامه دچار مشکل شود، چگونه آن را برطرف کنیم؟

کدنویسی

پس از اینکه طراحی یک برنامه را انجام دادیم، به کدنویسی آن می‌پردازیم، که خود مهارتی جداگانه‌ است، زیرا برای طراحی یک برنامه لازم نیست که حتما روش کد نویسی به زبان خاصی را بدانیم، ولی برای کدنویسی باید روش کد نویسی به زبان خاصی را بدانیم.

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

خب پس از این مقدمه خسته کننده! به سراغ شروع طراحی یک برنامه ساده می‌رویم، و در بین آن به آموزش نکته‌های مختلف می‌پردازیم.

 الگوریتم

به راه و روش حل یک مساله یا مشکل، که ما هم هر روز از آن برای انجام کارهای روزانه از آن استفاده میکنیم، الگوریتم گویند. (چه تعریف گویایی!)

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

1. صدای زنگ به گوش ما می‌رسد.

2. وسایل خود را جمع می‌کنیم.

3. آن‌ها را در کیفمان می‌گذاریم.

4. بلند می‌شویم.

5. به سمت درب کلاس می‌رویم.

6. از آن خارج می‌شویم.

7. به سمت درب خروجی مدرسه می‌رویم.

8. از آن خارج می‌شویم.

9. به سمت خانه می‌ رویم.

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

حال الگوریتم برنامه‌ای را می‌نویسیم که دو عدد را که از کاربر برنامه دریافت می‌کند و آن‌ها را با یکدیگر جمع می‌کند:

1. شروع.

2. عدد اول را از کاربر بگیر.

3. عدد دوم را از کاربر بگیر.

4. عدد اول را با عدد دوم جمع کن.

5. حاصل جمع را به کاربر نمایش بده.

6. پایان.

البته این الگوریتم به صورت دیگری بیان می‌شود، ولی با توجه به اینکه ما در حال آموزش مفاهیم اولیه هستیم، در مقاله‌های بعد به جزئیات نوشتن یک الگوریتم درست می‌پردازیم.

با توجه به اینکه این مطلب اول و به عنوان شروع این آموزش بود، دیدگاه‌ها و پیشنهادهای شما را درباره این مطلب پذیرا هستم و امیدوارم با دیدگاه‌های خود مرا در ادامه‌ این آموزش یاری کنید.

موضوع آموزش بعدی: مفاهیم اولیه برنامه نویسی به زبان سی پلاس پلاس

 

24 دیدگاه
  1. Nice Devil می گوید

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

    ۳
  2. پوریا ولی‌زاده می گوید

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

  3. محمد اختیاردینی می گوید

    سلام خسته نباشید،
    بسیار عالی خسته نباشید امیدوارم ادامه پیدا کنه وهیچ چیزی رو از قلم نیاندازید،آرزوم یادگیری این زبان و استفاده در زمینه ی طراحی بازیهای کامپیوتری است.
    از شما خواهش میکنم برای آشنایی بیشتر در صورت امکان چند سورس از کارهای پیشرفته خودتون برام ارسال کنید.
    نرم افزارهایی مثل blender اوپن سورس هستند آیا کسانی مثل شما توانایی ویرایش این برنامه ها رو دارند؟اگر با یک نمونه از ویرایش برنامه مارو آشنا کنید بسیار مفید خواهد بود…
    با تشکر

    1. پوریا ولی‌زاده می گوید

      درود بر شما، ممنون، سعی من در آموزش کد‌نویسی این زبان و همچنین اصول برنامه نویسی و روش طراحی الگوریتم برنامه بوده است، اگر هم کدهای برنامه‌های پیشرفته را خواستار بودید با ایمیل بنده در ارتباط باشید، البته بهتر است ادامه‌ی آموزش‌ها رو هم دنبال کنید تا امکان استفاده از کدها برایتان وجود داشته باشد.
      در زمینه نرافزار blender هم باید بگم که، با این نرم افزار کار نکرده‌ام و در حوضه‌ی طراحی و برنامه نویسی بازی نیز فعالیت نداشته‌ام، اما می‌توانید در حین یادیگری کدنویسی به این زبان، درباره‌ی بازی‌سازی نیز تحقیق کنید، همچنین برای برنامه نویسی بازی‌های رایانه‌ای نیازمند یادیگری کامل و مسلط بودن بر زبان‌های برنامه نویسی باشید، همیچنین اگر گزارش بنده از نمایشگاه بازی‌های رایانه‌ای را مطالعه فرمایید، در گفتگو با بازی‌سازها اشاره کردند که زبان اصلی برنامه نویسی آن ها ++C بوده است که علت آن قدرتمند بودن آن است، من هم سعی میکنم در صورت امکان به صورت کامل تمام مباحث این زبان را آموزش بدهم.
      از استقبال شما از این آموزش هم سپاسگذارم و همچنین دیدگاه‌های شما خوانندگان عزیز است که ما را در ادامه کارمان دلگرم می‌کند.

      1. mehdi می گوید

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

  4. الهام می گوید

    من واقعا هیچ چیزی در مورد برنامه نویسی نمی دونم. اما با خوندن این توضیحات ساده و روان دارم یاد می گیرم. از لطفتون سپاسگزارم.

    ۱
    1. علی می گوید

      الهام جان شما به جای برنامه نویسی میتونی بری اشپزی یاد بگیری بچه داری یاد بگیری که پس فردا رفتی خونه شوهر کارت گیر نیفته شوهرت طلاقت نده.

      ۱
  5. رضا می گوید

    بسیار عالی بود. واقعاً از زحمات شما متشکرم.

  6. Bahar می گوید

    توضیحتون خیلی خوب و قابل فهم بود
    منتظر قسمت های بعدی هستیم
    خسته نباشید

  7. fatemeh می گوید

    aliiiiiiiiiiiiiiii boood..vaghan khoob boood..makhsooosan tozihe visual stduio

  8. mehdi می گوید

    عالی بود بخدا
    خیلی خیلی متشکر

  9. ناشناس می گوید

    مفید بود تشکر

  10. hosseinpour می گوید

    alam.khasteh nabashid.tahsilate man ta avale motevasete hast.vali besyar be elme pc & barnameh alagheh daram.khastam bedoonam & az shoma soal konam ke mitoonam barnameh nevisi ra yad begiram.makhsoosan az tarighe internet.lotfan mano yari konid.age shod az tarighe emailam.ba tashakor.hossein pour

  11. یار می گوید

    خیلی افتضاح بود اگه نمی خواید تجربیاتتون در اختیار دیگران بگذارید لازم نیست مارو مثل بچه ها گول بزنید

  12. جواد می گوید

    بسیار مفید و کاربردی

    ۱
  13. hadis می گوید

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

  14. arian می گوید

    به به واقعا بی نظیر بود مهندس ، من ترم ۳ برنامه نویسی هستم ولی تا حالا نتونستم برنامه نویسیرو پاس کنم پون واقعا تا حالا کسی اینطور ساده روشنم نکرده بود شوق پیدا کردم خواهشمندم این مطالبو با همین شیوه ی خوبتون ادامه بدید

  15. سحر می گوید

    توضیح تون عالی بود خیلی قابل فهم بود

  16. رهام می گوید

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

  17. arash می گوید

    برو بابا بچه نیستیم که نمیخوای یاد بدی بگو نمیخوام

  18. مینا می گوید

    سلام و خسته نباشید
    چرا ادامه آموزش برنامه نویسی نیست،از کجا میتونم دنباله برنامه رو داشته باشم.
    ممنون

  19. رسول می گوید

    سلام به ایدی من بیا فایل پی دی اف کتاب سی پلاس پلاس رو بفرستم بهتون
    @rasoul_18

  20. shams می گوید

    سلام من میخام از صفر شروع کنم و با تاریخچه و کار برنامه نویسی و هدفی که دنبال میکنه اشنا هستم و زبان های لازم وکاربرد زبان ها در موقعیت مختلف رو هم اگاهی دارم میخاستم از زبان CوBASICشروع کنم شما میتونید کمکم کنید؟!!!!سی پلاس پلاس بیشتر برای نوشتن وپیاده سازی برنامه های افلاینه اما اگه بتونم Cرو یاد بگیرم فکر کنم بتونم از پس بقشون بهتر بر بیم ممنون میشم اگه کمک کنید دیگه این که من یه دانشجوم رشتمم با این موضوع کاملا فرق داره ولی علاقه دارم بهش ایا وقت زیادی نیاز داره ؟!

  21. saw می گوید

    عالی عالی عالی خیلی ممنون عالی
    اگه تو نبودی چی بگم…
    عالی بود
    مرسی تشکر

یه نظری بده!

آدرس ایمیل شما منتشر نخواهد شد.

از دیدگاه شما سپاسگزاریم