no-img
اونلی لرن

آموزش برنامه نویسی سی شارپ #C | جلسه چهارم حلقه های for تو در تو

اونلی لرن
ویژه های امروز
اطلاعیه های سایت

گزارش خرابی لینک
اطلاعات را وارد کنید .

ادامه مطلب

آموزش برنامه نویسی سی شارپ #C | جلسه چهارم حلقه های for تو در تو
امتیاز 5.00 ( 2 رای )
zip
خرداد ۲۵, ۱۳۹۶
مدرس : Special_One

آموزش برنامه نویسی سی شارپ #C | جلسه چهارم حلقه های for تو در تو


 

جلسه چهارم آموزش زبان برنامه نویسی سی شارپ #C

حلقه های for تو در تو در سی شارپ #c

 

خیلی از اوقات، نیاز داریم قطعه ای از کد چندین بار تکرار شود. برای مثال، فرض کنید میخواهیم اعداد 1 تا 100 را چاپ کنیم. راه حل چیست؟

صد بار پشت سر هم دستور Console.WriteLine را بنویسیم؟؟؟!!!

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

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

حلقه ها را در دو بخش مورد بررسی قرار خواهیم داد. در بخش اول به بررسی دستور for پرداخته و در بخش بعدی به بررسی دستورات while و do-while می پردازیم.

در ابتدا، ساختار کلی دستور for را با هم بررسی می کنیم.

بوسیله دستور for می توان یک قطعه از کد را تعداد دلخواهی که مد نظر داریم اجرا کنیم.

 

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

 

 

خوب، بهتره که به کاربرد و مفهوم هر یک از بخش های دستور بالا بپردازیم:

 

   init :

در این بخش باید متغیری که شمارنده بر اساس آن عمل خواهد کرد را تعریف کنیم. هر حلقه for نیاز به یک متغیر شمارنده دارد که در هر تکرار، مقدار آن یک واحد اضافه می شود. این متغیر در بخش init تعریف می شود. این متغیر باید مقدار اولیه نیز داشته باشد.

 

Condition :

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

 

increment :

در این بخش مقداری که با هر بار تکرار به شمارنده ما اضافه می شود یا کم می شود را مشخص می کنیم.

 

loop body :

بدنه حلقه for یا دستوراتی که می خواهیم با هر بار تکرار حلقه for اجرا شوند را در این قسمت می نویسیم. دقت کنید که بدنه حلقه for با Brace باز و بسته مشخص می شود. در اینجا مانند دستور if، در صورتی که تعداد دستورات حلقه for تنها یک دستور بود می توان از نوشتن Brace ها خودداری کرد.

 

در ادامه با یک مثال ساده، با کاربرد واقعی دستور for آشنا می شویم.

 فرض کنید تصمیم داریم اعداد یک تا 10 را در خروجی چاپ کنیم. برای اینکار کافیست یک حلقه for تعریف کرده و داخل آن مقدار مورد نظر را در خروجی چاپ کنیم:

 

 

همانطور که مشاهده می کنید، داخل دستور if سه بخش داریم که با علامت ; از هم جدا شده اند. در قسمت اول متغیری به نام counter تعریف کرده و مقدار پیش فرض 1 را به آن اختصاص دادیم. در قسمت دوم شرط for را نوشتیم که حلقه تا زمانی اجرا شود که مقدار counter کوچکتر یا مساوی عدد 10 می باشد. در انتها هم گفتیم که با هر بار تکرار، یک واحد به متغیر counter اضافه شود.

 

در داخل بدنه for نیز با دستور WriteLine مقدار متغیر counter را که با هر بار تکرار یک واحد به آن اضافه می شود را در خروجی چاپ می کنیم.

 

در مثال دوم تصمیم داریم اعداد 10 تا 1 را به صورت معکوس چاپ کنیم:

 

در اینجا، تغیراتی که دادیم، ابتدا مقدار اولیه متغیر counter را برابر 10 قرار دادیم و شرط را نیز جوری تغییر دادیم که دستورات for تا زمانی اجرا شوند که مقدار counter بزرگتر یا مساوی یک می باشد. در انتها نیز گفتیم با هر بار اجرای حلقه for، از مقدار counter یک واحد کم کن. با این کار اعداد 10 تا 1 به صورت معکوس در خروجی چاپ خواهند شد.

 

در مثال بعدی، می خواهیم اعداد زوج بین 1 تا 100 را در خروجی چاپ کنیم، یک راه آن به این صورت است که یک حلقه با تکرار 100 بار ایجاد کنیم و در داخل بدنه چک کنیم که باقی مانده تقسیم متغیر شمارنده بر 2 مساوی صفر هست یا نه. اگر بود مقدار را در خروجی چاپ کن:

 

در قسمت های قبلی در مورد عملگر % گفتیم که باقی مانده تقسیم دو عدد را برای ما بر میگرداند.

 

در روش بعدی، می توانیم حلقه را جوری بنویسیم که مقدار counter در هر بار تکرار 2 واحد اضافه شود:

 

کد بالا نیز کلیه اعداد زوج بین 1 تا 100 را برای ما در خروجی نمایش خواهد داد.

 

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

دقت کنید که نوشتن علامت ; اولی برای حلقه for الزامی است، در غیر اینصورت کامپایلر از کد نوشته شده خطا خواهد گرفت.

 

حلقه های تو در تو

زمانی که ما چند حلقه for را داخل هم بنویسیم، به این حلقه ها، حلقه های تو در تو گفته می شود. برای مثال، فرض کنید که قصد داریم جدول ضرب 9 در 9 را در خروجی چاپ کنیم. برای اینکار ما نیاز به حلقه های تو در تو خواهیم داشت.

نمونه کد زیر یک جدول ضرب 9 در 9 را برای ما در خروجی چاپ می کند:

 

حلقه اول، 9 بار، و با هر بار اجرای حلقه اول، حلقه دوم 9 بار اجرا خواهد شد و خروجی ضرب متغیرهای i و j در خروجی چاپ خواهد شد.

 

دستور break

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

برای مثال:

در حلقه زیر، زمانی که شمارنده به عدد 50 برسد، حلقه for متوقف شده و از حلقه خارج می شویم:

 

دستور continue

به کمک این دستور می توانیم روند اجرای حلقه را متوقف کرده و به ابتدای حلقه برگردیم. فقط به این نکته توجه داشته باشید که این دستور باعث reset شدن حلقه نمی شود و حلقه، تکرار بعدی را اجرا می کند. برای مثال، اگر ما در تکرار 50 امین تکرار، دستور continue را اجرا کنیم، 51 امین تکرار اجرا خواهد شد و روند اجرا به ابتدای حلقه باز خواهد گشت.

برای مثال:

برنامه ای که اعداد زوج بین 1 تا 100 را در خروجی چاپ می کرد را به صورت زیر نیز می توانیم بنویسیم:

 

در کد بالا گفتیم که اگر باقیمانده تقسیم متغیر شمارنده بر عدد 2، مخالف صفر بود، تکرار بعدی اجرا شود، در غیر اینصورت دستور WriteLine اجرا خواهد شد.

 

مثال دیگر از دستور for

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

 

در کد بالا، ابتدا دو عدد را از کاربر دریافت کرده و عدد های وارد شده را به عدد تبدیل می کنیم و در دو متغیر firstNumber و secondNumber ذخیره می کنیم. سپس برای خروجی متغیری با نام pow تعریف می کنیم و مقدار اولیه آن را برابر 1 قرار می دهیم.

دلیل اینکه مقدار آن را یک قرار دادیم، دستور داخل حلقه for می باشد، در صورتی که مقدار اولیه را صفر قرار می دادیم، نتیجه ضرب عدد اول در صفر، صفر می شد و نهایتاً خروجی ما عددی جز عدد صفر نخواهد بود. سپس حلقه ای تشکیل داده که به تعداد عدد دوم تکرار می شود و در داخل بدنه عدد اول را در pow ضرب کرده و نتیجه را در pow ذخیره می کنیم. پس از تمام حلقه، در خروجی با پیغام مناسب مقدار pow را چاپ می کنیم.



لینک کوتاه مطلب : http://onlylearn.ir/?p=428

موضوعات :
آموزش سی شارپ

درباره نویسنده

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

دیدگاه ها


دیدگاه بگذارید

avatar
wpDiscuz