مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش سی شارپ قسمت 33: حلقه ها


حلقه ها بخش مهمی از هر زبان برنامه نویسی هستند و زبان #C از این قاعده مستثنی نیست. حلقه راهی برای اجرای مکرر قسمتی از کد است. طرز کار آن به این صورت است که کاری پشت سرهم تکرار میشود تا اینکه به یک شرط پایانی میرسد. اینجاست که حلقه می شکند. بعنوان مثال فرض کنید که میخواهید اعداد یک تا 10 را با هم جمع ببندید. این عمل را بصورت زیر انجام میدهیم:

int answer;
answer = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;

این روش تا زمانی که بخواهید فقط 10 عدد را جمع ببندید عملی است . اما فرض کنید میخواهید هزار یا 10 هزار عدد را جمع ببندید. حتما قصد ندارید تمام این اعداد را به روش بالا بنویسید. در این حالت از حلقه استفاده میکنیم تا عملیات جمع اعداد را تکرار کند.

حلقه For در #C

اولین نوع حلقه که آن را یاد میگیریم حلقه For نام دارد. دو نوع دیگر حلقه ها ، حلقه Do و حلقه While هستند که بزودی با آنها آشنا خواهیم شد. اما حلقه For پرکاربردترین حلقه ایست که باید آن را یاد بگیرید. در اینجا برای جمع اعداد 1 تا 100 از این حلقه استفاده خواهیم کرد.

با انتخاب File > New Project آز نوار منو در بالای پنجره Visual Studio یک پروژه جدید ایجاد کنید. 

به فرم یک دکمه اضافه کنید.

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

بین براکتها در کد دکمه راست کلیک کنید تا بتوانید کدنویسی حلقه را انجام دهید.

از منویی که ظاهر میشود گزینه Insert Snippet انتخاب کنید.(در Community 2017 بر روی Snippet > Insert Snippet کلیک کنید.

حلقه For در سی شارپ

 

با انتخاب Insert Snippet لیستی از گزینه ها را خواهید دید

 

حلقه For در سی شارپ

بر روی گزینه #Visual C کلیک کنید تا بتوانید گزینه های قابل افزودن را ببینید.

حلقه For در سی شارپ

در بین گزینه ها اسکرول کنید و گزینه for را انتخاب کنید.

کد مربوط به این حلقه به پنجره کد نویسی اضافه می شود.

حلقه For در سی شارپ

شاید کد حلقه کمی پیچیده به نظر آید. اما براحتی آن را یاد خواهیم گرفت.

در اینجا کد را بدون هیج عبارتی در بین براکتها نوشته ایم:

for ( )
{

}

در ابتدا کلمه for را تایپ میکنیم به همراه یک جفت پرانتز ( ) . در بین جفت پزانتز ها تعداد دفعاتی را که حلقه باید تکرار شود می نویسیم. در بین براکتها { } کدی را که باید تکرار شود مینویسیم.

 پیشفرض #C برای تعداد دفعات تکرار حلقه که باید در بین پرانتزها قرار بگیرد بصورت زیر است:

int i = 0; i < length; i++

در بین پرانتز ها سه بخش قرار دارد:

1- از چه عددی شروع میکنید

2_ چند دفعه میخواهید حلقه تکرار شود

3- حلقه جدید نسبت به حلقه قبلی چگونه تغییر کند

توجه داشته باشید که هر قسمت از بخشها با یک(  ;  ) از هم جدا میشوند

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

حلقه For در سی شارپ

بخش دوم بصورت زیر است:

حلقه For در سی شارپ

بخش سوم بصورت زیر است:

حلقه For در سی شارپ

قسمت اول لیست بالا (عددی که میخواهید حلقه با آن شروع شود) بصورت زیر است:

int i = 0;

کاری که این کد انجام میدهد این است که یک متغیر integer به نام i (که برای متغیرها در حلقه رایج است) تعریف میکند

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

int i

for (i = 0; i < length; i++)
{

}

با این روش متغیر i در خارج از حلقه تنظیم میشود. با این روش تنها باید برای اولین قسمت حلقه مقداری را به متغیر نسبت دهیم

بخش دوم ( چند بار میخواهید حلقه تکرار شود ) را بصورت زیر کدنویسی می کنیم:

i < length;

اگر متغیر i کوچکتر از length باشد شرط اتمام حلقه اتفاق نمی افتد و #C حلقه تکرار میکند. به عبارت دیگر میگوییم "تا هنگامی که i کوچکتر از length است به تکرار حلقه ادامه بده"

اما نیازی نداریم که متغیر length را صدا بزنیم. length تنها نام یک متغیر است. ما میتوانیم آن را خودمان بصورت زیر تعریف کنیم

int endNumber = 101;

for (int i = 0; i < endNumber; i++)
{

}

در اینجا نام متغیر را بجای Length عبارت endNumber قرار دادیم. قسمت دوم در این حالت بصورت زیر است: "تا هنگامیکه مقدار i کوچکتر از endendNumber است حلقه را تکرار کن"

بخش سوم (چگونه می خواهید هر بار دور حلقه را تجدید کنید؟) بصورت زیر است:

i++

بخش پایانی عبارت بروز رسانی نامیده می شود. در دو بخش اول حلق مقدار متغیر برای شروع و پایان حلقه را تعیین کردید. اما #C نمیداند چگونه هر عدد را نسبته به عدد قبلی تغییر دهد . ما با تایپ ++i در هر مرتبه حلقه 1 عدد به مقدار i اضافه می کنیم.(این عمل افزایش مقدار متغیر نامیده می شود) . بصورت زیر:

variable_name++

این کد خلاصه شده کد زیر است:

variable_name = variable_name + 1

با این روش هر بار به مقدار متغیر i یک واحد اضافه می کنیم. تا زمانی که داخل حلقه هستیم #C در هر مرتبه حلقه 1 واحد به مقدار متغیر اضافه می کند. هنگامی که شرط انتهای حلقه برقرار شود افزودن یک واحد به مقدار متغیر i متوقف خواهد شد (زمانی که متغیر  i دیگر بزرگتر از lenthg نباشد)

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

بنا براین سه بخش حلقه بصورت زیر است:

for (Start_Value; End_Value; Update_Expression)

زمان قرار دادن تئوری در تمرین است.

کد زیر را به دکمه اضافه کنید

Type the C# Code

کدی که در داخل براکتها قرار میگیرد بصورت زیر است

answer = answer + i;

احتمالا اینکه بدانید چه عبارتی در کد قرار دهید پیچیده ترین بخش کدنویسی حلقه است. بیاد داشته باشید که چه میخواستید انجام دهید. میخواستیم #C را مجبور کنیم تا قسمتی از یک کد را چندین بار تکرار کند. میخواهیم اعداد یک تا 100 را با هم جمع ببندیم و یک متغیر بنام answer را برای ذخیره کردن جواب در آن تنظیم میکنیم. چون مقدار متغیر i در هر بار تکرار حلقه 1 واحد اضافه میشود میتوانیم از آن درعملیات جمع استفاده کنیم. اولین باری که حلقه تکرار میشود مقادیر بصورت زیراست:

First time round the loop

بار دوم که حلقه تکرار میشود متغیرها بصورت زیر هستند

Second  time round the loop

بار سوم تکرار حلقه:

Third time round the loop

و بار چهارم:

Fourth time round the loop

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

بعنوان تمرین در تکرار حلقه در مرحله پنجم جواب چه خواهد بود؟

برنامه را اجرا و دکمه را کلیک کنید. message box عدد 5050 را نشان خواهد داد.

در تمرین بعدی به مقادیر ابتدایی و انتهایی حلقه نگاه عمیقتری خواهیم انداخت

 

 

 

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

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

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید