همه‌ی نوشته‌های سینا شعبانی

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – الگوریتم های پرکاربرد – قسمت اول

الگوریتم جست و جوی خطی (Linear Search) در آرایه ها:

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

الگوریتم مرتب سازی حبابی آرایه (Bubble Sort)

این الگوریتم در واقع مجموعه ای از مقادیر را در قالب یک آرایه دریافت می کند و آن ها را بر اساس نیاز ما از کوچک به بزرگ یا از بزرگ به کوچک دسته بندی می کند.تعداد مراحلی که طول می کشد تا این الگوریتم داده هارا مرتب کند در صورتی که n همان تعداد اعداد باشد n-1 می باشد
به تصویر زیر توجه کنید:
آموزش برنامه نویسی ++C – الگوریتم های پرکاربرد – قسمت اول

و کد آن هم بصورت ذیل می باشد.
توجه: شرح کد همان تصویر بالا می باشد.

آموزش برنامه نویسی ++C – الگوریتم های پرکاربرد – قسمت اول

آموزش زبان ++C - مقدمه

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

در مقالات قبل گفته شد که چگونه در نرم افزار Visual Studio رشته (string ) تعریف کنیم اما در Turbo C++ با این روش ممکن نیست به همین دلیل می بایست به روش دیگری رجوع کرد که آن تعریف کردن آرایه ای از کاراکتر هاست (مجموعه ای از چندین کاراکتر یه رشته محسوب می شود) که در ذیل نحوه استفاده از آن را شرح می دهیم.

در کد بالا می بینید که یک آرایه ی ۵ تایی تعریف کردیم که مقدار خود را از ورودی می گیرد و فرض کنید ورودی “Hello” باشد بنابراین بعد از پاک شدن صفحه بوسیله ()clrscr خروجی رشته ای که نام آن A است یعنی کلمه ی “Hello” را مشاهده خواهید کرد.
توجه: برای مقدار دهی کاراکتری به آرایه نیاز به یک حلقه دارید اما اگر یه کلمه یا یک متن باشد میتوانید به راحتی آن را با علامت دابل کد (“”) به متغیر بدهید.

خروجی در کد بالا نیز “Hello” خواهد بود.
توابع مهم در رشته ها:
قبل از شرح توابع شما نیاز به افزودن یک هدر فایل (Header File ) یا کتابخانه ( Library ) دارید که آن ( string.h) می باشد.
تابع (A)strlen
این تابع طول رشته را نشان میدهد و چون عدد بر می گرداند میتوان آن را در یک متغیر عددی ذخیره نمود یا مستقیم از آن خروجی گرفت.

یا

تابع (A,B)strcat:
این تابع متن B را به انتهای متن A می چسباند.

خروجی “HelloWorld” خواهد بود.
تابع (A,B)strcpy:
این تابع متن B را بجای متن A می نشاند بطوریکه متن پیشین حذف می گردد.

خروجی “World” خواهد بود.
آموزش برنامه نویسی C++ – رشته ها در Turbo C++ – قسمت اول

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – ساختار یا Struct | قسمت سوم

در این قسمت تمرینی در نظر گرفته شده است تا شما را بیشتر با بخش ساختار یا Struct در ++C آشنا کند بنابراین بدون مقدمه به حل تمرین می پردازیم.
شرح تمرین به گونه ای است که نام و نام خانوادگی و حقوق افراد را دریافت می کند و به آن ها یک کد اختصاص می دهد. اگر فرد کاربر ویژه بود مالیات از او گرفته نمی شود و اگر نبود مبلغی از درآمدش کم خواهد شد.
ابتدا قسمت ساختار یا Struct را تعریف می کنیم.

دو آرایه ی کاراکتری تعریف کرده ایم که مجموعه آن یه رشته خواهد شد (اعداد دلخواه می باشد).

همان درآمد شخص می باشد.

درآمد نهایی برای افرادی که مشمول مالیات می شوند.

مقدار پولی است که براساس مالیات از پوا اصلی کم می شود.

برای جداسازی کاربران ویژه از کاربران عادی بکار می رود.
حالا نوبت به تابع ()main می باشد.

از ساختاری که قبلا تعریف کرده ایم یک آرایه ۱۰ تایی با نام ma تعریف می کنیم (عددی که در این قسمت قرار می دهید همان تعداد افراد می باشد).

برای انتخاب گزینه های زیر از آن استفاده می کنیم.

کد های مربوط به گزینه ی اول:

با هربار اجرای این مرحله یک فرد دیگر به لیست اضافه خواهد کرد.

استفاده از این کد برای زیبایی برنامه بوده است و ضرورتی در استفاده از آن نیست.

در این برنامه به هر فردی که وارد لیست می شود یه کد بین ۰ تا ۱۰ داده می شود.
کد های مربوط به گزینه دوم:

برای اشاره به شخص مورد نظر باید کد زیر را وارد کنید.

اگر کاربر ویژه باشد کد های این قسمت اجرا می شود

اگر کاربر ویژه نباشد کد های شرط ذیل اجرا خواهد شد.

با کد زیر مقدار مالیات از درآمدش کم خواهد شد (در این جا ده درصد مالیات تعلق می گیرد).

مقدار مالیات از مبلغ کل برداشته می شود تا مقدار درآمد خالص یا همان درآمد نهایی بدست آید.
کد های مربوط به گزینه سوم:

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

نمونه ای از روش کارکرد این برنامه.

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C - ساختار یا Struct – قسمت سوم

آموزش برنامه نویسی ++C – ساختار یا Struct – قسمت سوم

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت سوم

در این قسمت تمرینی دیگر از توابع بازگشتی مثال زده خواهد شد.
تمرین: با استفاده از توابع بازگشتی برنامه ای بنویسید که دنباله فیبیوناتچی را حساب کند.
برای حل این تمرین ابتدا نیازمند آشنایی با چند مفهوم در ریاضی می باشید.
۱- دنباله: به مجموعه ای از اعداد گفته می شود که بوسیله ی ترتیبی خاص که جمله عمومی یا (فرمول دنباله) نام دارند محاسبه می شوند، مانند دنباله اعداد اول یا دنباله اعداد فرد.
۲- دنباله بازگشتی: نوعی از دنباله هاست که برای محاسبه هرکدام از اعدادش به عدد پیشین نیازمند است.
۳- اندیس: همانطور که به یاد دارید در قسمت آرایه ها برای اشاره به خانه ی پنجم همواره داشتیم:

عدد چهار اندیس است. در ریاضی مانند آرایه ها اندیس ها اِلزاما از صفر شروع نمی شوند و کارشان همانند آرایه ها اشاره به عدد خاصی می باشد. اندیس ها را در ریاضی در زیر عدد می نویسند (مانند زیروند در شیمی). و معمولا آن را با حرف n نمایش می دهند.
…,an=1,3,5,7
در مثال بالا a یک متغیر است و n اندیس است (بخوانید a اندیس n).
حال اگر بخواهیم به عدد سوم اشاره کنیم بصورت زیر عمل می کنیم:
نکته: انتخاب اندیس به شما بستگی دارد بنابراین هم می توانید اندیس را از صفر بگیرید هم از یک که اگر از صفر بگیرید همانند آرایه ها خواهد شد.ما در این مثال ترجیحا از اندیس یک شروع میکنیم.
a3=5
بخوانید a اندیس ۳ برابر ۵ .
۳- دنباله فیبیوناتچی: به دنباله ی بازگشتی ای گفته می شود که اعداد آن از جمع دو عدد پیشین آن عدد بدست می آید.
نکته:اگر اندیس را از یک بگیرید دو اعدد اول این دنباله برابر یک است اما اگر اندیس را از صفر بگیرید دو عدد اول صفر و یک خواهند بودک
پس با توجه به نکته بالا فرمول این دنباله بصورت زیر است:
n=0 => 0,1,1,2,3,5,8,13,…,an-1 + an-2 اگر
n=1 => 1,1,2,3,5,8,13,…,an-1 + an-2 اگر
ما ترجیحا از فرمول دوم استفاده خواهیم کرد.
اگر توجه کنید عدد دو برای مثال از جمع دو عدد پیش از خود بدست آمده و یا عدد سه که از جمع عدد دو و یک بدست آمده.
اکنون این دنباله را به فرم توابع بازگشتی مینویسیم.
برای نوشتن آن به صورت توابع بازگشتی به کد زیر توجه کنید.
ابتدا تابع بازگشتی را تعریف کرده.

توجه کنید که در تابع بالا عدد صفر را نیز برای جلوگیری از اشتباه در برنامه قرار دادیم.
خب حال به فراخوانی تابع در تابع ()main می پردازیم.

اندیس ها در هیچ موردی منفی نمی شود مثلا اندیس ۱۳- معنایی ندارد بنابراین در کد بالا شرطی مبنی بر این نوشته تا از این اشتباه جلوگیری شود.
و در نهایت:

آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت سوم

همانطور که می بینید هفتمین جمله از دنباله فیبیوناتچی برابر ۱۳ می باشد.
آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت سوم

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – توابع بازگشتی یا (Recursive Function) – قسمت اول

همانطور که به یاد دارید در مقالات گذشته گفته شد که یک تابع برای آنکه به مرحله اجرا برسد باید در تابع ()main فراخوانی شود. اما توابع نیز می توانند خود را فراخوانی کنند. به چنین توابعی توابع بازگشتی گویند. بنابراین توابع بازگشتی به توابعی گفته می شود که خود را فرا بخوانند و نام دیگر آن خود فراخوان یا (recursive Function) می باشد.
زمانی یک تابع جُزء توابع بازگشتی قرار می گیرد که:
۱- شرطی برای تکرار شدن آن تابع وجود داشته باشد.
۲- شرطی برای متوقف شدن آن تابع نیز وجود داشته باشد.
هنگامی که شما هر دو شرط بالا را به درستی در تابع مورد نظر خود پیاده کردید تابع شما جزء توابع بازگشتی قرار خواهد گرفت.
ابتدا با دو مثال ساده تفاوت توابع بازگشتی و توابع عادی را شرح می دهیم.

در برنامه بالا یک تابع بصورت عادی تعریف شد و کار آن نمایش اعداد یک تا نه می باشد.
حال به نحوه نوشتن برنامه بالا در قالب توابع بازگشتی توجه کنید:

آموزش برنامه نویسی ++C – توابع بازگشتی یا (recursive Function) – قسمت اول

خروجی هر دو برنامه همانند تصویر بالا می باشد.
حالا به مثال زیر توجه کنید.

ما در ورودی عدد پنج را وارد می کنیم (انتخاب عدد پنج دلیل خاصی نداشته و انتخاب اعداد کاملا به شما بستگی دارد) و خروجی همانند تصویر زیر خواهد بود.

آموزش برنامه نویسی ++C – توابع بازگشتی یا (recursive Function) – قسمت اول

شرح کد:
ابتدا تابعی تعریف کرده و ورودی و خروجی آن را متغیر از نوع عدد صحیح (int) قرار دادیم.
سپس شرط تکرار و پایان را قرار دادیم. اگر شرط را قرار ندهیم و عدد ورودی را برابر یک بگیریم جواب صفر خواهد شد که اشتباه است.
در بالای تابع ()main آن را فراخوانی کرده ایم و سپس در تابع ()main از آن استفاده کرده ایم.
در مقالات بعد با مثال های دیگری از توابع بازگشتی آشنا خواهید شد.

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

محدوده متغیر ها در زبان برنامه نویسی ++C به طور کلی به سه دسته تقسیم می شوند که عبارتند از:
۱- متغیر های محلی یا (Local Variables)
۲- متغیر های سراسری یا (Global Variables)
۳- پارامتر های رسمی یا (Formal Parameters)
متغیر های محلی (Local Variables): محدوده متغیر ها در این نوع در داخل تابع است. بطور مثال اگر شما در تابع ()main هر متغیری تعریف کنید ملقب به متغیر محلی خواهد شد. توجه کنید که این ها فقط به تابع ()main می باشند و در هر تابعی نمی توان از آن استفاده نمود. همانطور که گفته شد محدوده متغیر ها تنها محدود به تابع است و در خارج از آن قابل استفاده نمی باشد(اما می شود با استفاده از کد return متغیر های محلی را از توابع دیگر به تابع ()main معرفی نمود). عمر این متغیر ها از زمان شروع بکار تابع تا اتمام آن است. بطور مثال شما تابعی تعریف کرده اید و در آن از متغیری استفاده کرده اید و در تابع ()main تنها یک بار آن را صدا زده اید بنابراین عمر این متغیر محلی از زمان شروع بکار آن تابع تا پایان آن است و بعد آن ازبین خواهد رفت.

تمام متغیر های (a ,b ,c) محلی می باشند و در بیرون از تابعی که در آن تعریف شده اند (در اینجا مقصود تابع main() می باشد) کاربردی نخواهند داشت زیرا محدوده متغیر ها در این نوع محدود به تابع است (در واقع توابع دیگر از وجود چنین متغیری خبری ندارند).
متغیر های سراسری (Global Variables): محدوده متغیر ها در این نوع در بیرون از تابع است (معمولا در بالای تابع main()). عمر این متغیر ها از زمان اجرای برنامه تا زمان بسته شدن آن است و تا آن زمان اطلاعات خود را نگه می دارند. با توجه به بالا بدلیل اینکه محدوده متغیر ها در این نوع محدود به تابع نیست و در بیرون آن قرار دارد پس در تمام توابع بکار رفته در یک برنامه قابل استفاده می باشد.

خروجی به صورت شکل زیر است:

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

در این مثال می بینید که هر تابع می تواند از متغیر a که متغیری سراسری است استفاده کند.
پارامتر ها یا متغیر های رسمی: محدوده متغیرها در این نوع محدود به پَرانتِز باز و بسته توابع می باشد بطور مثال اگر تابعی تعریف کنید که ورودی بخواهد آن دسته از متغیر هایی را که برای ورودی تابع انتخاب می کنید متغیر یا پارامتر اصلی گویند.

در مثال بالا (a,b) متغیر یا پارامتر اصلی هستند.
نکته : اگر شما دو متغیر هم نام تعریف کنید یکی محلی و دیگری سراسری و در همان تابع از آن خروجی بگیرید اولویت با آن متغیری است که در همان تابع تعریف شده است.

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

اشاره گر ها یا (Pointers):
همانطور که میدانید هر متغیر یک قسمت از رم را اشغال می کند که خب این قسمت ها هر کدام برای خود آدرس مخصوصی دارند که برای دسترسی به آن از علامت (&) در پشت متغیر استفاده می کنیم به مثال ذیل توجه کنید.

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

همانطور که می بینید ابتدا عدد ۲۰ نمایش داده میشود و سپس آدرس محلی که عدد بیست در آن نگه داری می شود با استفاده از علامت (&) نمایش داده می شود.
پوینتر ها: پوینتر ها در واقع متغیر هایی هستند که کارشان نگه داری آدرس است. برای مثال شما می توانید آدرس متغیر a را در یک پوینتر یا اشاره گر قرار دهید. برای تعریف یک اشاره گر می بایست در پشت نام متغیر از علامت (*) استفاده کنید.

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

آموزش برنامه نویسی ++C – محدوده متغیر ها (Variables Scope)

توجه کنید که اگر:

برنامه با خطا مواجه می شود زیرا متغیر تعریف شده اشاره گر نمی باشد.

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – تابع (function)

تابع چیست؟ تابع در برنامه نویسی قطعه کدی است که مقادیری را به عنوان ورودی گرفته و محاسباتی را که ما می خواهیم روی آنها انجام می دهد و این مقدار ها را به عنوان خروجی به ما می دهد.
موارد استفاده: در هر برنامه اگر قطعه کدی بیش از یک بار نوشته شود از تابع استفاده می کنیم.
نکته: دستور main که از آن برای اجرای برنامه خود استفاده می کنیم نیز یک تابع است یا تابع های دیگر مانند clrscr یا تابع getch که برای گرفتن یک کاراکتر استفاده می شود.
نکته: برای ایجاد تابع، در بیرون از تابع main اقدام می کنیم و در داخل تابع main از آن استفاده می کنیم.
ایجاد یک تابع دارای سه قسمت است:
۱- تیتر تابع (Header)
۲- بدنه ی تابع (Body)
۳- صدا زدن تابع (Call) و الگو (prototype)
Header تابع
ساختار کلی:

(…,نام متغیر ورودی دوم    نوع متغیر ورودی دوم,نام متغیر ورودی اول   نوع متغیر ورودی اول)نام تابع     نوع خروجی تابع

مثال:

نام: power

نوع متغیر ورودی اول:int

نوع متغیر ورودی دوم:float

نام متغیر ورودی اول:a

نام متغیر ورودی دوم:b

قسمت Body در تابع:

ساختار کلی:

الگو (prototype):
این دستور را برای آن می نویسیم که به عنوان یک الگو قرار گیرد و سپس بتوانیم از آن استفاده کنیم.
ساختار کلی:
نوع خروجی تابع نوع ورودی اول تابع)نام تابع,نوع ورودی دوم تابع,…)
مثال:
int power(int,float,…)
صدا زدن (call):
در جایی که می خواهید تابع را مورد استفاده قرار دهید نوشته می شود مانند: تابع main که تمام کد هایمان را می خواهیم در آنجا اجرا کنیم.

تمرین: برنامه ای بنویسید که دو عدد از ورودی گرفته و حاصل جمع فاکتویل آنها را در خروجی نمایش دهد.
توجه: ابتدا کد های تابع را تکمیل کنید و سپس به فراخوانی آن در تابع main بپردازید.
فاکتوریل: ضرب تمام اعداد کوچکتر و مساوی همان عدد در هم.
مثال:

۵!=۱*۲*۳*۴*۵

کد:

توضیحات: همانطور که می بینید یک تابع به نام fact ایجاد کرده ایم که عمل فاکتوریل را انجام می دهد و اگر دقت کنید متوجه می شوید که ما باید دو عمل فاکترویل را برای دو عدد ورودی انجام دهیم. در این موارد ما از تابع استفاده می کنیم.
در پایان دستورات دستور return را مشاهده می کنید که عددی که ما می خواهیم را به ما می دهد تا ما ادامه عملیاتی که می خواهیم را برروی آن انجام دهیم.
قسمت صدازدن تابع را ما هم میتوانیم در داخل تابع main و هم در بالای تابع main بنویسیم.
بصورت کد های زیر:

یا:

نوع تابع :

void

این نوع تابع return ندارد و چیزی را باز نمیگرداند ولی ممکن است یک یا چند ورودی داشته باشد
مثال: تابعی ایجاد کنید که کلمه ی hello world را چاپ کند:

مثال: تابعی ایجاد کنید که عددی از ورودی گرفته اگر ۱ بود hello را چاپ کند واگر ۲ بود hi را چاپ کند و اگرنه bye را چاپ کند:

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – آرایه ی دو بعدی (۲D Array)

آرایه ی دو بعدی چیست: آرایه دو بعدی به آرایه ای گفته می شود که دارای ستون و سطر است بطوریکه بُعد اول مربوط به سطر ها و بُعد دوم مربوط به ستون ها می باشد. مانند یک ماتریس سه در سه.
روش تعریف آرایه دو بعدی:
نوع متغیر نام متغیر [تعداد سطر][تعداد ستون];

پس از تعریف کردن آرایه ی دو بعدی فوق بعدی قسمتی از حافظه رم بصورت شکل زیر بوسیله آن متغیر اشغال می شود.

آرایه ی دو بعدی

مقدار دهی به آرایه ی دو بعدی:
متغیر بالا را در نظر بگیرید برای مقدار دهی به آن بصورت زیر عمل می کنیم.
نام متغیر [تعداد سطر][تعداد ستون] = {{سطر اول},{سطر دوم},{سطر سوم}};

با انجام این کار خانه های متغیر A بصورت شکل زیر پر می شوند.

آرایه ی دو بعدی

نکته: برای مقدار دهی اولیه به آرایه ی دو بعدی بصورت زیر عمل می کنیم.

روش مقدار دهی به یک خانه ی بخصوص در آرایه ی دو بعدی:
نام متغیر[شماره سطر][شماره ستون]=عدد مورد نظر;

با اینکار ما ابتدا به خانه ای اشاره می کنیم که در سطر دو و ستون یک قرار دارد و با توجه به تصویر بالا این خانه عدد ۸ را در خود ذخیره کرده است که بعد از استفاده از این کد به عدد ۵ تغییر خواهد کرد.
خروجی گرفتن از آرایه ی دو بعدی:
در آرایه ی دو بعدی دو روش خروجی گرفتن وجود دارد. مورد اول خروجی گرفتن تنها از یک خانه و مورد دوم خروجی گرفتن از کل خانه های آرایه.
خروجی گرفتن از یک خانه:

پس از نوشتن این کد محتوای خانه ای به نمایش گذاشته می شود که در سطر اول و ستون دوم قرار دارد و با توجه به عکس آن خانه با عدد ۶ پر شده است پس عددی که در خروجی به نمایش گذاشته می شود عدد ۶ می باشد.
خروجی گرفتن از تمام آرایه:
هنگامی که بحث از بنمایش گذاشتن تمام آرایه به میان می آید بطور حتم به For تو در تو نیازمندیم.
برای این کار بصورت زیر عمل میکنیم:

نکته: دستور “\t” پس از نمایش هر عدد هشت کاراکتر به جلو می رود.
خروجی:

آرایه ی دو بعدی

نحوه ورودی گرفتن از آرایه ی دو بعدی:
ورودی گرفتن از یک خانه:

با استفاده از کد بالا در واقع عددی که در صفحه کلید وارد می کنید بجای خانه ای از متغیر A در سطر یک و ستون صفر قرار می گیرید.
وارد کردن تمام اعداد یک آرایه:
برای این عمل نیز به For تو در تو نیازمندیم و بصورت زیر عمل می کنیم.

با استفاده از کد بالا می توان یک آرایه ی دو بعدی را مقدار دهی کرد.
تمرین:
برنامه ای بنویسید که آرایه با تعداد سطر و ستون تعیین شده بوسیله ی کاربر ساخته شود و پس از پر کردن خانه ها آن آرایه را نمایش دهد.

نکته: استفاده از تابع ()clrscr برای این بود که اعداد وارد شده را پاک کرده و بر زیبایی برنامه افزوده شود.
پیشنهاد: از اعداد بزرگ برای سطر و ستون استفاده نکنید زیرا فقط خستگی خود را بهمراه دارد.

آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – حلقه ی While و Do While

برنامه نویسی ++C – حلقه ی While و Do While
همان طور که می دانید در حلقه ی For ما ناگذیر بودیم تا گام حرکت را مشخص کنیم پس زمانی که بخواهیم برنامه ای بنویسم که گام حرکت در آن مجهول ( نامعلوم ) باشد به خودی خود نمیتوانیم از حلقه For استفاده کنیم . حلقه ی While دقیقا در این مواقع مورد استفاده قرار می گیرید بطوری که برای استفاده از آن دیگر نیازی به استفاده از مکان شروع یا پایان یا گام حرکت نیست اما باید برای آن شرطی مشخص نمود . حلقه ی While هر بار که به انتهای کد های داخلش میرسد ( } ) دوباره به ابتدای حلقه برگشته و آن شرط را چک می کند و در صورت برقرار بودن شرط یک بار دیگر کد های داخل حلقه ی While را اجرا نموده و این عمل را تا زمانی انجام می دهد که شرط برقرار باشد .
در این مقاله ما با حلقه ی While و Do While آشنا مشویم . پس ابتدا با یک تعریف اجمالی از هر دوی آن ها آشنا شوید .
حلقه ی While : در این حلقه دیگر خبری از گام حرکت و نقطه شروع و پایان نیست اما در آن شرطی وجود دارد که ابتدا چک می کند که شرط برقرار است یا نه و در صورت برقرار بودن آن محتویات حلقه اجرا میشوند .
حلقه ی Do While : این حلقه تفاوتی با حلقه ی While دارد . آن تفاوت این است که در این نوع حلقه ابتدا کد های حلقه اجرا میشود و سپس شرط حلقه چک میشود .
ساختار کلی حلقه While و Do While :
ساختار حلقه ی While :

ساختار حلقه ی Do While :

حالا برای اینکه این مطلب برایتان کاملا روشن شود به مثال های زیر توجه کنید .
حلقه ی While : ابتدا با یک برنامه ساده شروع می کنیم .

شرح برنامه که دیدید : عدد از ورودی گرفته و رقم هایش را از هم جدا کرده و باهم جمع می کند . علت استفاده از Long int این است که اعدد ما محدود نشود و بتوانیم اعداد بزرگتری را نیز مورد آزمایش قرار دهیم سپس سه متغیر تعریف کرده و ادامه میدهیم حلقه تا زمانی اجرا می شود که عدد از صفر بزرگتر باشد و میدانید که برای جدا کردن رقم از عدد باید آن را بر ۱۰ تقسیم کنید و باقیمانده آن تقسیم همان رقم مورد نیاز است سپس یک متغیر دیگر قرار داده ایم که هر دفعه رقم جدا شده را در خود جمع کند و بعد از آن عدد را کوچک تر می کنیم .

ابتدا عدد را وارد می کنیم که ما در این قسمت اعداد یک تا نه را انتخاب کرده ایم .

Untitled
آموزش برنامه نویسی ++C – حلقه ی While و Do While
Untitled2
آموزش برنامه نویسی ++C – حلقه ی While و Do While

سپس کلید Enter را زده و پاسخ را مشاهده خواهید کرد .

حال به مثالی دیگر توجه کنید .

شرح برنامه : در برنامه فوق عددی از ورودی گرفته می شود و آن را معکوس می کند . بصورت پیش فرض با عدد ۱۲۳ ادامه می رویم.
ابتدا عدد را وارد کرده .

Untitled3
آموزش برنامه نویسی ++C – حلقه ی While و Do While

سپس برنامه بصورت زیر عمل می کند .

Untitled4
آموزش برنامه نویسی ++C – حلقه ی While و Do While

مثالی از حلقه Do While :

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

آموزش برنامه نویسی ++C – دستورات شرطی

سلام!
تا حالا برای هممون پیش اومده که توی یکار اَما و اگر داشته باشیم که به این اَما اگر توی برنامه نویسی دستور های شرطی گفته.
دستور های شرطی جز مهمی از زبان های برنامه نویسی است که در نبود آن با مشکل های فراوان روبرو میشویم و حتی تصورش هم ممکن نیست.
آن چنان که تصور دنیایی بدون اما و اگر ممکن نیست شاید تا اینجا فهمیدن موضوع برایتان مشکل باشد .
فرم کلی دستور های شرطی:

یک مثال در زبان ریاضی و در زبان ++C :
در زبان ریاضی مگیوییم اگر متغیر x برابر ۵ باشد مقدار متغیر y را برابر ۵ قرار بده .
خب حالا به نوشتن این تمرین در زبان ++C میپردازیم:

خب ممکن است که فکر کنید چرا در قسمت شرط if از دو علامت مساوی بجای یک علامت استفاده شده و اما دلیل:
علامت مساوی به تنهایی برای جایگذاری استفاده میشود در واقع اگر در در قسمت شرط از یک علامت مساوی استفاده میشد بدین معنا بود که عدد پنج را در متغیر x قرار بده بهمین دلیل از علامت دو مساوی استفاده میشود. بنابراین وقتی شما عددی را وارد می کنید ابتدا برنامه در قسمت شرط چک میکند که اگر عدد وارد شده ( مقدار متغیر x ) برابر ۵ باشد در اینصورت دستورات را اجرا کن در اینصورت مقدار ۵ را در متغیر y قرار می بدهد.
دستور های شرطی فرم ۲:
این دستورات علاوه بر اگر ( if ) قسمتی دیگر مبنی مگر اینکه دارند که به آن else گویند و ابتدا چک میکند که اگر شرط if برقرار نبود else را اجرا کند.
نکته: else شرط ندارد پس نیازی نیست برای آن کمانک باز کنید.وقتی شما میگوید اگر ( if ) این اتفاق افتاد این کار را کن در غیر این صور( else ) این کار هارا انجام بده خب در جمله دوم هیچ اثری از شرط نیست چون نیازی به آن نیست بنابراین میگوییم else شرط ندارد.
این نوع از دستورات شرطی به صورت زیر کار می کنند:

توجه کنید که else دقیقا زیر اکولاد بسته شرط موردنظرتون بنویسید و دوباره این رو بگم که براش شرط نذارید .
خب حالا به مثال زیر توجه کنید :
برنامه ای بنویسید که دو عدد از متغیر بگیرد و اگر آن در بر هم بخش پذیر بودند چاپ کند بخش پذیر است و در غیر این صورت پاپ کند بخش پذیر نیست.

برنامه نویسی ++C - دستور های شرطی -گروه برنامه نویسی پنگوئن

علامت % در زبان برنامه نویسی بمعنای باقیمانده دو عدد است .
فرم سوم دستور های شرطی:
این درستورات علاوه بر if قسمت دیگری دارند که به آن else if گویند که معنای آن (( در غیر این صورت اگر )) است که بصورت زیر نوشته میشود:

توجه کنید که اگر میخوهید از else if استفاده کنید باید برای آن شرط بگذارید و تفاوتش با else در همین مورد است.
نکته دیگر اینکه در یک دستور شرطی شما میتوانید بی شمار else if برای باشید اما تنها یک else و یک if باید وجود داشته باشد اما اگر بخواهید در داخل دستور شرطی دستور شرطی دیگری بنویسید میتوانید اینکار را انجام دهید پس هر دستور شرطی میتواند بی نهایت else if و تنها یک if و یک else داشته باشد. یک نکته مهم دیگه اینه که اگر شما یک دستور شرطی داشته باشید بهمراه چند else if و یک else تنها یکیشون اجرا میشه یا کلا اجرا نیمشه در واقع غیر ممکنه در یک دستور شرطی دو شرط باهم اجرا بشن.
یک مثال : برنامه ای بنویسید که دو عدد از ورودی گرفته و مشخص کند که مجموع آن دو عدد کوچکتر یا بزرگتر و یا مساوی صفر هست یا نه.

Untitled2

برنامه نویسی ++C – دستور های شرطی