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

  1. آشنایی با متد
  2. آشنایی با روش بازگشتی
  3. آشنایی با if

کد گری

نمایش کدهای دودویی که بعد از فرانک گری (Frank Gray) به نام کد گری شناخته شد که یک سیستم از اعداد دودویی است که هر دو عدد متوالی فقط در یک بیت با هم اختلاف داشته باشند. امروزه کد‌گری به طور گسترده برای تصحیح اشکالات در سیستم ارتباط دیجیتالی مثل کابل‌های تلویزیونی و تلویزیون‌های دیجیتالی جهانی استفاده می‌شود.

gray-code-in-csharp

پیاده سازی کد گری در سی شارپ

برای پیاده سازی کد گری در سی شارپ ما از ایده تکرار الگوی هر رقم با رقم دیگر استفاده کردیم بدین صورت که مثلا بیت اول اعداد 1 تا 4 را ببینید بدین صورت است 0110 و همین الگو دوباره برای 4 رقم بعدی تکرار شده است. کد پیاده سازی کد گری در سی شارپ به صورت زیر است:

    public static void yarg(String prefix, int n) {
            if (n == 0) Console.WriteLine(prefix);
            else {
                gray(prefix + "1", n - 1);
                yarg(prefix + "0", n - 1);
            }
        }  

        public static void gray(String prefix, int n) {
            if (n == 0) Console.WriteLine(prefix);
            else {
                gray(prefix + "0", n - 1);
                yarg(prefix + "1", n - 1);
            }
        }

کد بالا شامل دو متد زیر است:

  1. Gray: در این متد قسمت اول الگویی که گفته شد وارد کد میشود
  2. Yarg: در این متد قسمت دوم الگویی که در بالا توضیح داده شد وارد کد میشود.

متد های gray و yarg شامل 2 ورودی هستند یکی پیشوند یا همان رقم های قبلی و دیگری تعداد بیت باقیمانده. در هر دو متد بررسی میکنیم تعداد بیت صفر است یا خیر. در صورت صفر بودن عدد را چاپ میکنیم و در غیر این صورت الگوریتم را ادامه میدهیم.

تست کد گری در سی شارپ

برای تست کد گری، کد main زیر را بزنید.

        public static void Main (string[] args)
        {
            int n = 3;
            gray("", n);

            Console.ReadKey ();
        }

متغییر n تعداد بیت است. برای تعداد بیت 3 خروجی برنامه به صورت زیر است:

000
001
011
010
110
111
101
100

Download “دانلود سورس کد گری در سی شارپ” Gray-Code-in-Csharp-www.codegate.ie_.rar – 18 بار دانلود شده است – 13 کیلوبایت

پسورد: www.codegate.ir