تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 36 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

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

آموزش مقدماتی تا پیشرفته سی شارپ بخش چهلم


بنام خدا

آموزش مقدماتی تا پیشرفته سی شارپ بخش چهلم

سلام به همه کاربران وبسایت بزرگ لندلرن

قسمت چهلم


دستور continue:

 

در بعضي از مواقع ممك ن است بخواهيد دستورات حلقه در شرايطي خاص اجرا نشوند. فـرض كنيـد ميخواهيـد اعـداد ۱ تـا ۱۵ را كـه مضربي از ۳ نيستند در ListBox قرار دهيد . براي اين كار بايد از يك حلقه for اسـتفاده كنيـد كـه شـمارنده آن از يـك تـا پانزده، يك واحد يك واحد افزايش يابد، اما در صورتي كه عدد بر سه بخش پذير بود نبايد آن را در ListBox قرار دهيـد و بـهعدد بعدي برويد.

در امتحان كنيد زير نحوه نوشتن چنين برنامه اي را مشاهده خواهيم كرد :

امتحان كنيد: دستور continue

 

  1. كنترل Button ديگري به فرم اضـافه كنيـد، خاصـيت Name آن را برابـر بـا btnContinue و خاصـيت Text آن را برابر با Continue قرار دهيد
  2. روي اين كنترل دو بار كليك كنيد و كد مشخص شده در زير را در متد مربوط به رويداد Click آن وارد كنيد:
  • برنامه را اجرا كنيد و روي دكمه ي Continue كليك كنيد. مشاهده مي كنيد كـه تمـام اعـداد از ۱ تـا ۱۵ بـه جـز مضارب سه در ليست باكس قرار گرفته اند.
  •  
  • چگونه كار مي كند؟دستور continue باعث خروج كامل از حلقه نمي شود، بلكه در هر قسمتي كه استفاده شود باعث مي شود بقيه دستورات حلقه كه بعد از اين دستور قرار گرفته اند در نظر گرفته نشوند و حلقه مجددا اجرا شود.در اين مثال بـراي اعـداد۲ و ۱  ، حلقـه بـه صـورت عادي كار مي كند . با رسيدن به عدد سه، بـه علـت اينكـه باقيمانـده ايـن عـدد بـر سـه برابـر بـا صـفر اسـت، كامپـايلر بـه دسـتور continue  مي رسد . هنگامي كه ويژوال #C به اين دستور رسيد، بقيه دستورات حلقه را اجرا نمي كند، بلكه شمارنده حلقـه را يك واحد افزايش ميدهد و حلقه را براي عدد ۴ اجرا مي كند . اين مرتبه نيز همانند اعداد قبل از ۳ ،چون عدد ۴ مـضربي از ۳ نيـست پس باقيمانده برابر با صفر نمي شود و عبارت داخل if درست نيست. پس دستور continue اجرا نمي شود و بقيه دسـتورات حلقه اجرا مي شوند.نكته: عملگر % براي محاسبه باقيمانده تقسيم دو عدد به كار ميرود . در اين مثال استفاده از اين عملگر موجب مي شود در هر مرحله باقيمانده تقسيم intCount بر سه محاسبه شود و در شرط if بررسي شود

    حلقه هاي بي نهايت

    هنگام ايجاد حلقه ها، ميتوانيد حلقه هايي ايجاد كنيد كه بينهايت بار اجرا شوند . به عبارت ديگر هنگامي كه شروع شوند، هـيچ وقـت تمام نشوند. به حلقه ايجاد شده در كد زير نگاه كنيد:

با شروع حلقه مقدار شمارنده براب ر با عدد ۱ است و چون از صفر بزرگتر است حلقه براي بار اول اجرا مي شود . بعد از اجراي دسـتورات حلقه، شمارنده تغيير مي كند و برابر با دو مي شود . در اين مرحله نيز به علت اينكه عدد ۲ از صفر بزرگتر است، حلقه مجددا اجرا مـي شود. همانطور كه مشاهده مي كنيد، شمارنده ي اين حلقه هيچگاه به عددي كوچكتر از صفر نمي رسـد، پـس شـرط حلقـه همـوارهدرست است.

اين حلقه بينهايت بار اجرا مي شود . ممكن است برنامه توقف نكند اما به كليك هاي بعدي پاسخي نخواهـد داد و دائمـا دستورات حلقه را اجرا مي كند.

اگر حس كرديد كه يك برنامه درون يك حلقه بي نها يت قرار گرفته است، بايـستي آن را ببنديـد . اگـر برنامـه را در محـيط ويـژوال استوديو اجرا كرده ايد، به محيط ويژوال اسـتوديو برگرديـد و از منـوي Debug گزينـه Debugging   Stop را انتخـاب كنيد. اين گزينه اجراي برنامه را فورا متوقف مي كند. اگر برنامه كامپايل شده را در محيط و يندوز اجرا كـرده ايـد و درون يـك حلقـه بينهايت قرار گرفته است، براي بستن آن بايـد از Manager Task اسـتفاده كنيـد.

كليـدهاي  Del + Alt + Ctrl را فشار دهيد، برنامه Task Manager باز خواهد شد. برنامه اي كه در حلقه ي بينهايت قرار دارد به عنوان Not Responding نمايش داده مي شود. برنامه را انتخاب كنيد و بر روي Task  End كليك كنيد. پنجره اي باز خواهد شد و مي گويد كه برنامه مورد نظر پاسخي نمي دهد، آيا مي خواهيد آن را به اجبار ببنديد. در اين قسمت نيز بـر روي End Task  كليك كنيد .

در بعضي از مواقع ممكن است حلقه آنقدر حافظه سيستم را مصرف كند كه نتوانيد پنجره Task Manager را باز كنيد و يـابه محيط ويژوال استوديو برگرديد . در اين مواقع مي توانيد مقداري صبر كنيد و مجددا اين روشها را امتحان كنيد و يا كامپيوتر خود را مجددا راه اندازي كنيد .

هر بار كه در محيط ويژوال استوديو برنامه را اجرا م ي كنيد، ابتدا برنامه توسط ويژوال استوديو در ديسك ذخيره مي شود و سپس اجرا مي شود، تا اگر به علتي مجبور به راه اندازي مجدد كامپيوتر شديد كدهاي خود را از دست ندهيد.

با قسمت ۴۱ همراه باشید.


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

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

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

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ