موضوعات وبسایت : برنامه نویسی
سوالات امتحان آیین نامه رانندگی

حلقه بی نهایت در سی شارپ

نویسنده : محمد پارسایی | زمان انتشار : 03 بهمن 1400 ساعت 08:30

جهت انجام پروژه های دانشجویی و یا تمرین‌های برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید

@AlirezaSepand



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

سوالات امتحان آیین نامه رانندگی

شکل دستوری آن در زبان سی شارپ به صورت زیر است:

While (Boolean expression)

{

    اجرا مجموعه دستورات تازمان برقرار بودن شرط

}
  • عبارت شرطی: یک عبارت bool است که نتیجه درست یا غلط را بر می گرداند و باید داخل پرانتز نوشته شود

ترتیب اجرای مراحل در دستور حلقه while در سی شارپ :

در شروع کار حلقه عبارت شرطی چک می شود شود و در صورت برقرار بودن شرط دستورات داخل بلاک حلقه به ترتیب اجرا می شوند و بعد از اجرای اخرین دستور حلقه While در سی شارپ چک شدن عبارت شرطی انجام می شود و این روند ادامه پیدا می کند.

توجه کنید که افرایش یا کاهش متغیر شرط( عبارت کنترل) حتما باید در داخل دستورات بدنه حلقه While در سی شارپ صورت بگیرد این کار برای خاتمه دادن به حلقه while ضروری است و در صورت فراموشی این کار توسط برنامه نویس یک حلقه while بی نهایت را خواهیم داشت. در نتیجه در زمان استفاده از دستور حلقه While در سی شارپ باید حتما این نکته را به خاطر بسپاریم . (در دستور حلقه for از انجا که عبارت کنترل بخشی از الگوی دستور for است احتمال بروز این خطا توسط برنامه نویس وجود ندارد.)

  • مثال: اجرا ساده دستور حلقه while در سی شارپ

static void Main(string[] args)

        {

            int i = 0;

            while  (i < 10)

            {

                Console.WriteLine("i="+ i);

                i++;

            }



        }

با اجرای این دستور مقدار متغیر i به تعداد دفعات اجرای حلقه (10 بار ) چاپ می  گردد تعریف و مقدار دهی اولیه متغیر شرط باید خارج از حلقه انجام بگیرد( مقدار اولیه در این مثال صفر است.) همان طور که توضیح داده شد بعد از چک شدن عبارت شرطی با اجرا شدن دستور حلقه while در سی شارپ مقدار متغیر شرط یعنی 0 چاپ می  گردد و سپس مقدار i افزایش پیدا می  کند و این روند تا رسیدن مقدار i به عدد 10 ادامه پیدا می کند در این مرحله چون شرط برقرار نیست بدون اجرا شدن دستور حلقه و چاپ متغیر i کنترل اجرا از حلقه خارج می  گردد.

i=0

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

i=9

مثال: استفاده از دستور حلقهwhile در سی شارپ برای چاپ کردن مقادیر آرایه 

static void Main(string[] args)

        {

            int[] arr = { 1, 2, 3, 4, 5, 6 };

            int arrlen = arr.Length;

            int i = 0;

            while (i < arrlen)

            {

                Console.WriteLine(arr[i]);

                i++;

            }

        }
  • مثال از اجرا ساده دستور حلقه while در سی شارپ با اجرای  بی  نهایت

static void Main(string[] args)

        {

            int i = 0;

            while  (i < 10)

            {

                Console.WriteLine("i="+ i);

              

            }

       }

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

i=0

i=1

i=2

i=3

i=4

i=5

i=6

i=7

i=8

i=9

i=10

i=11

i=12

i=13

i=14

i=15

i=16

i=17

i=18

i=19

.

.

.

نکته

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


static void Main(string[] args)

        {

         

            while (true)

            {



                Console.WriteLine(DateTime.Now.TimeOfDay);

                if (DateTime.Now.TimeOfDay.Hours == 2)

                    break;

              

            }





        }

در این مثال تا رسیدن به ساعت 2 ساعت در خروجی چاپ می شود.

 در این مثال طریقه دیگر نوشتن کد بالا می تواند به صورت زیر باشد :

static void Main(string[] args)

        {

            while (DateTime.Now.TimeOfDay.Hours != 2)

            {



                Console.WriteLine(DateTime.Now.TimeOfDay);

            



            }



        }

نکته

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

آیا این مطلب برای شما مفید بود؟


منبع: clicksite.org



ارسال نظر

نام


ایمیل


نظر