آموزش برنامه نویسی به زبان ++C

آموزش برنامه نویسی به زبان ++C

مقدمه

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

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

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

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

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

طراحی

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

کدنویسی

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

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

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

 الگوریتم

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

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

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

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

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

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

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

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

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

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

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

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

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

1. شروع.

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

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

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

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

6. پایان.

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

 

در این قسمت به مفاهیم اولیه کدنویسی به زبان ++C می‌پردازیم.

ما برای کدنویسی برنامه‌هایمان، به نرم افزارهای دیگری نیاز داریم تا کدهای برنامه  را درون آن بنویسیم و نتایج آن‌ها را برایمان نمایش بدهد، به این برنامه‌ها مترجم (Compiler) گفته می‌شود، که عبارتند از:

Microsoft visual studio, Borland C++, Turbo C++, Notepad ++

که من استفاده از Microsoft visual studio 2010 را پیشنهاد میکنم، زیرا نوشتن و ویرایش کد در این محیط راحت‌تر است.

ابتدا به روش ساختن یک پروژه جدید در Visual Studio 2010 می‌پردازیم:

پس از باز کردن نرم افزار Visual Studio 2010 همانند شکل زیر بر روی گزینه File کلیک کرده، سپس با رفتن به روی دکمه‌ی New، گزینه‌ی Project را انتخاب می‌کنیم:

سپس در سمت چپ قسمت ++Visual C را انتخاب کرده و از قسمت سمت راست گزینه Empty Project را انتخاب می‌کنیم، همچنین در پایین در کادر name بک نام به پروژه‌ی خود اختصاص دهید و محل ذخیره پروژه را با استفاده از دکمه‌ی browse مشخص کنید:

پس از درست شدن پروژه جدید همانند شکل زیر بر روی Source Files کلیک راست کرده و گزینه New item  را انتخاب می‌کنیم:

سپس در پنجره‌‌ی باز شده در سمت راست همانند شکل زیر روی گزینه‌ی (C++ File(.cpp کلیک می‌کنیم و نام مناسب منبع کد را نیز در قسمت name (پایین صفحه) مشخص می‌کنیم:

 

در شکل زیر کد یک برنامه وجود دارد که پیغام !++welcome to c را برای ما در مانیتور، چاپ می‌کند:

حال به توضیح قسمت های مختلف کد بالا می‌پردازیم:

نتیجه اجرای این کد نمایش جملهی !++welcome to c  است.

خط 1 و 2 دستور های پیش پردازنده است، یعنی قبل از کامپایل (کار تبدیل کدهای برنامه به دستورهای قابل فهم کامپیوتر)  برنامه این خط اجرا می‌شود، به عبارت دیگر هر خطی که با # شروع می‌شود یک دستور پیش پردازنده است.

دستور خط 1 به پیش پردازنده می‌گوید که محتوای سرفایل جریان ورودی/ خروجی را در برنامه قرار دهد.(خودمم نفهمیدم چی گفتم! در نکات تکمیلی توضیح میدم)

عبارت سبز رنگی که با علامت // شروع می‌شود، توسط کامپایلر نادیده گرفته میشود، زیرا از این نوع خطوط برای وضوح بخشیدن به برنامه استفاده می‌شود، همان طور که مشاهده می‌کنید، روبروی خط 1 توضیحی برای علت استفاده از این خط نوشته شده است.(در این باره در نکات تکمیلی توضیح می‌دهم)

خط 3 یک خط خالی است که کامپایلر آن را نادیده می‌گیرد؛ در کل خطوط خالی در کامپایل برنامه خللی ایجاد نمی‌کند و همچینی به خوانایی کد کمک می‌کند.

خط 4 به این معنی است که ما از دستورهای استاندارد استفاده می‌کنیم، که باید در تمام برنامه‌ها وجود داشته باشد.

از خط 6 تا 12، بدنه‌ی اصلی برنامه را تشکیل می‌دهد، که هر برنامه‌ی ما حداقل باید یک بدنه‌ی اصلی داشته باشد.

کلماتی که به رنگ آبی نمایش داده شده است، دستور های اصلی  ++C هستند، دستور int نوع متغیر است. (که در قسمت‌های بعد توضیح داده خواهد شد.)

دستور ()main یک تابع است که نمایانگر بدنه‌ی اصلی برنامه است، که گیومه خالی به این علت است که برنامه مقداری را برنمی‌گرداند، همین طور بدنه‌ی اصلی باید بین دو کروشه باز و بسته {} (خطوط 7 و 12) قرار گیرد. (البته در قسمت‌های بعد به توضیح این تابع می‌پردازیم.) در حالت کلی دستورهای شامل گیومه، تابع هستند.

خط 8، خطی است که جمله‌ی !++welcome to c را در مانیتور نمایش می‌دهد. (این همه خط کد برای نمایش همین چند یه جمله!) دستور cout همراه با علامت >> قسمت بعد از این علامت را در خروجی نمایش می‌دهد، که می‌تواند شامل متن (همانند این مثال)، یک متغیر و … باشد، همچنین دستور n\ باعث می‌شود، مکان نما به خط جدید برود. (درباره‌ی این نوع دستورها در نکات تکمیلی توضیح خواهم داد)

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

خط 11، دستوری است که نشان می‌دهد برنامه به پایان رسیده است، و عملیات ترجمه کد باید خاتمه یابد، البته این خط بیشتر زمانی به کار می‌رود که قرار است شما برنامه‌ی خود را بر روی فضایی اجرا کنید که دارای حافظه‌ی بسیار محدود است، ولی با توجه به اینکه فضای کامپیوتر شما بسیار زیاد است می‌توانید این کد را ننویسید. (از این خط بیشتر در برنامه‌هایی استفاده می‌شود که بر روی چیپ ها نوشته می‌شوند)

نکات تکمیلی

1. ++C به بزرگی و کوچکی حروف حساس است، یعنی main و Main دو معنی جدا از هم دارند، که تمام دستورهای ++C با حروف کوچک نوشته می‌شوند.

2. تمام دستورهای ++C با علامت ; (سِمی کالِن) به پایان می‌رسند، به جز دستورهای پیش پردازنده.

3. تفاوت “  و  ’ :  هرگاه متنی بین  ” ” (دابِل کوتِیشِن) بیاید به آن رشته یا لیتِرال گفته می‌شود، ولی بین ‘ ‘ (کوتِیشِن) یک متن نمی‌تواند بیاید، زیرا این علامت برای نمایش یک کاراکتر به کار می‌رود.

4. به کاراکتر \ کاراکتر کنترلی یا کاراکتر گریز گفته می‌شود، که نشان‌دهنده‌ی کاراکتر خاصی بر روی خروجی است (این کاراکترها در دستور cout استفاده می‌شوند)، که چند نمونه از این نوع کاراکترها عبارتند از:

n\  خط جدید: مکان نما را به ابتدای خط بعد منتقل می‌کند.

t\    جدول بندی افقی: مکان نما را به محل ستون بعدی (به اندازه‌ی 1/4  اینچی) می‌برد.

r\    برگشت به اول سطر: مکان نما را در ابتدای خط فعلی قرار می‌دهد ولی آن را تا خط بعد جلو نمی‌برد.

a\   زنگ: صدای سیستم به صدا در می‌آید. (عموما برای نوشتن کد خطا به کار می‌رود، البته استفاده های دیگه ای هم داره که میتونید خودتون پیدا کنید!)

\\    \: برای چاپ کاراکتر \ به کار می‌رود.

’\     ‘: برای چاپ کاراکتر ‘ به کار می‌رود.

“\    ”: برای چاپ کاراکتر ” به کار می‌رود.

5. دستور های جریان ورودی/ خروجی به ترتیب شامل دستورهای  cin/cout هستند، که استفاده از این دستورها را در برنامه های بعدی که می‌نویسیم، توضیح خواهیم داد، البته این دستورها را با این علامت ها به کار می‌روند: >>cout و <

6. برای اینکه کدی که شما می‌نویسید خوانا باشد و اگر روزی آن را به شخص دیگری بدهید، بتواند آن را بخواند، بهتر است از علامت های توضیحی استفاده کنید که شامل // و /*   */  است، علامت // برای توضیح یک خطی به کار می‌رود و علامت های /*  */ برای توضیح چند خطی به کار می‌روند، که توضیح های چند خطی با علامت */ شروع و با علامت /* به پایان می‌رسد، یعنی هر عبارتی بین این دو علامت قرار بگیرد، توسط برنامه توضیح تلقی می‌شود.

7. دستورهایی که با علامت # شروع می‌شوند، که به آنها پیش پردازنده می‌گویند، در اصل هرکدام از آنها یک کتابخانه (library) سی پلاس پلاس را فراخوانی می‌کنند. حال کتابخانه چیست؟ منظور از کتابخانه در ++C یعنی مجموعه تابع ها و دستورهایی که ما با فراخواندن یکی از دستورهای پیش پردازنده آن ها را در اختیار برنامه قرار می‌دهیم، به بیان ساده‌تر، وقتی شما یک دستور پیش پردازنده مثل iostream را در برنامه به عنوان کد پیش پردازنده می‌نویسید، تمام دستورها و تابع های مربوط به کتابخانه ورودی/خروجی در اختیار برنامه قرار می‌گیرد (همون طور که در توضیح خط 1 کد گفتم، محتوای سرفایل ورودی/خروجی، منظورم همین بود!) به عنوان مثالی دیگر اگر دستور پیش پردازنده math.h را به صورت زیر در برنامه قرار دهید، تمام تابع ها و عملگرهای ریاضی مثل توان، سینوس، کسینوس و… در برنامه قرار می‌گیرد:

# include

 


مطالب مشابه :


دانلود زبان برنامه نویسی Turbo C 4.5

کامپیوتر ــــ نرم افزار - دانلود زبان برنامه نویسی Turbo C 4.5 - دانشجوایان ورودی 91 کامپیوتر




برنامه نویسی c

علوم کامپیوتر ایرانشهر89 - برنامه نویسی c - - علوم کامپیوتر ایرانشهر89




آموزش برنامه نویسی به زبان ++C

برنامه نویسی تحت زبان++c - آموزش برنامه نویسی به زبان ++C - چگونه یک برنامه بنویسیم




یک برنامه نمونه

+C بر مبنای زبان برنامه نویسی C است. زبان C در سال ۱۹۷۲ در آزمایشگاه Bell Telephone نوسط Dennis Ritchie به




برنامه نویسی با c

برنامه نویسی با c. زبان c در سال ۱۹۷۲ توسط دنیس ریچی از روی زبان b و bcpl در آزمایشگاه بل ساخته شد




زبان برنامه‌نویسی C

امپراطوری آموزش کامپیوتر - زبان برنامه‌نویسی c - بزرگترین بانک اطلاعاتی مقالات و آموزش های




آغاز گرافیک در زبان برنامه نویسی ++C

وبلاگ گروه نامیرا - آغاز گرافیک در زبان برنامه نویسی ++c - برنامه نویسی، گرافیک، هک و امنیت




برچسب :