درس چهارم – دستورالعمل‌های کنترلی، حلقه‌ها

ابتدا به مثال 2-4 توجه نمایید.

using System;

 

class DoLoop

{

  public static void Main()

   {

    string myChoice;

    do

     {

      // منویی  نمایش داده می‌شود

      Console.WriteLine("My Address Book\n");

      Console.WriteLine("A - Add New Address");

      Console.WriteLine("D - Delete Address");

      Console.WriteLine("M - Modify Address");

      Console.WriteLine("V - View Addresses");

      Console.WriteLine("Q - Quit\n");

      Console.WriteLine("Choice (A,D,M,V,or Q): ");

      // ورودی کاربر بررسی می‌شود

      myChoice = Console.ReadLine();

      // تصمیمی بر اساس ورودی کاربر گرفته می‌شود

      switch(myChoice)

       {

         case "A":

         case "a":

         Console.WriteLine("You wish to add an address.");

              break;

         case "D":

         case "d":

         Console.WriteLine("You wish to delete an address.");

              break;

         case "M":

         case "m":

         Console.WriteLine("You wish to modify an address.");

                 break;

         case "V":

         case "v":

         Console.WriteLine("You wish to view the address list.");

                 break;

         case "Q":

         case "q":

         Console.WriteLine("Bye.");

                 break;

         default:

         Console.WriteLine("{0} is not a valid choice", myChoice);

                 break;

       }

     Console.Write("Press Enter key to continue...");

     Console.ReadLine();

     Console.WriteLine();

    } while (myChoice != "Q" && myChoice != "q");

   }

}

مثال 2-4 نحوه استفاده از حلقه do-while را نشان می‌دهد. ساختار نوشتاری این دستور بصورت زیر است :

do

{ <statements> } while (<boolean expression>);

 

دستورالعملهای مورد استفاده در بلوک این دستور، هر دستورالعمل معتبر زبان C# می‌تواند باشد. عبارت منطقی نیز همانند نمونه‌هائیست که تا کنون با آنها آشنا شدیم و یکی از دو مقدار true یا false را بر می‌گرداند.

 

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

 

یک نگاه کلی به مثال 2-4 بیندازیم. در متد Main() متغیر myChoice را از نوع رشته‌ای تعریف نموده‌ایم. سپس یکسری دستورات را بر روی کنسول چاپ نموده‌ایم. این دستورات منوهای انتخاب برای کاربر هستند. ما باید ورودی از کاربر دریافت کنیم که چون این عمل از طریق Console.ReadLine() صورت گرفته، باید در متغیری از نوع رشته‌ای قرار گیرد و از اینرو این ورودی را در myChoice قرار داده‌ایم. ما باید ورودی را از کاربر دریافت کنیم و بر روی آن پردازش انجام دهیم. یک روش کارآمد برای این منظور استفاده از دستورالعمل switch است. همانطور که در دستور switch ملاحظه می‌کنید، بری default نیز دستوری در نظر گرفته شده‌ است که نشان می‌دهد مقدار ورودی معتبر نیست.

 

حلقه for

به مثال 3-4 توجه کنید.

using System;

 

class ForLoop

{

  public static void Main()

   {

    for (int i=0; i < 20; i++)

     {

      if (i == 10)

         break;

      if (i % 2 =

/ 0 نظر / 23 بازدید