تمرين - إنشاء أسلوب لعرض النتائج

مكتمل

في هذه الخطوة، ستقوم بتعريف الأسلوب لعرض نتائج المجموعات الحيوانية. كما ستكمل مهام مجموعة الحيوانات للمدارس الزائرة الأخرى. لنبدأ!

تطوير أسلوبك

  1. أدخل سطر تعليمة برمجية فارغا جديدا. ثم حدد PrintGroup الأسلوب عن طريق إدخال التعليمات البرمجية التالية.

    void PrintGroup(string[,] group) 
    {
    
    }
    

    تذكر أنك قررت أن هذا الأسلوب سيتخذ صفيفا ثلاثي الأبعاد كإدخال. الآن تحتاج فقط إلى الأسلوب الخاص بك لطباعة محتويات الصفيف 2D.

  2. أضف التعليمات البرمجية PrintGroup التالية إلى الأسلوب :

    void PrintGroup(string[,] group)
    {
        for (int i = 0; i < group.GetLength(0); i++) 
        {
            for (int j = 0; j < group.GetLength(1); j++) 
            {
                Console.Write($"{group[i,j]}  ");
            }
        }
    }
    

    هنا، يمكنك استخدام GetLength(0) للحصول على عدد الصفوف في الصفيف، وعدد GetLength(1) الأعمدة. ثم يمكنك استخدام Console.Write لطباعة العنصر مع بعض المسافات الإضافية بين الحيوانات. بعد ذلك، دعنا نضيف بعض نص المساعد وسطرا جديدا لفصل المجموعات.

  3. تحديث الأسلوب الخاص بك مع التعليمات البرمجية التالية:

    void PrintGroup(string[,] group) 
    {
        for (int i = 0; i < group.GetLength(0); i++) 
        {
            Console.Write($"Group {i + 1}: ");
            for (int j = 0; j < group.GetLength(1); j++) 
            {
                Console.Write($"{group[i,j]}  ");
            }
            Console.WriteLine();
        }
    }
    

    الآن لديك جميع التعليمات البرمجية في مكان لإكمال المهمة للتحضير لزيارة المدرسة.

  4. PrintGroup حدد موقع استدعاء الأسلوب وأزل أحرف البداية// .

    بعد ذلك، ستقوم بتشغيل التعليمات البرمجية الخاصة بك ومراقبة النتائج.

  5. احفظ ثم قم بتشغيل التعليمات البرمجية الخاصة بك عن طريق إدخال تشغيل dotnet tt موجه الأوامر Terminal.

  6. للتحقق من أن التعليمات البرمجية الخاصة بك تعمل كما هو متوقع، تحقق من أن إخراج التطبيق الخاص بك مشابه للإخراج التالي، مع مراعاة الترتيب العشوائي للحيوانات:

    School A
    Group 1: ducks  emus  rabbits  
    Group 2: lemurs  chickens  geese  
    Group 3: iguanas  macaws  alpacas  
    Group 4: goats  kangaroos  pigs  
    Group 5: capybaras  llamas  tortoises
    Group 6: sheep  ostriches  ponies
    

    ضع في اعتبارك أنك بحاجة إلى تنفيذ نفس المهام لكل مدرسة. وستكون الاختلافات هي اسم المدرسة وعدد المجموعات. هذه فرصة مثالية لاستخدام أسلوب مع تلك المعلمات.

  7. إنشاء سطر تعليمة برمجية RandomizeAnimals() فارغة جديد أعلى استدعاء الأسلوب. ثم قم بإنشاء أسلوب جديد عن طريق إدخال التعليمات البرمجية التالية:

    void PlanSchoolVisit(string schoolName, int groups = 6)
    {
        RandomizeAnimals();
        string[,] group = AssignGroup();
        Console.WriteLine("School A");
        PrintGroup(group);
    }
    

    باستخدام هذه التعليمات البرمجية، يمكنك تنفيذ نفس المهام لكل مدرسة. يمكنك أيضا تعيين groups إلى القيمة الافتراضية ل 6. بعد ذلك، ستقوم بتحديث الأسلوب الخاص بك لاستخدام قيم الإدخال.

  8. تحديث الأسلوب الخاص بك مع التعليمات البرمجية التالية:

    void PlanSchoolVisit(string schoolName, int groups = 6)
    {
        RandomizeAnimals();
        string[,] group = AssignGroup(groups);
        Console.WriteLine(schoolName);
        PrintGroup(group);
    }
    

    الآن أنت مستعد لاستدعاء هذه الطريقة لكل مدرسة من المدارس.

  9. إنشاء سطر تعليمة برمجية PlanSchoolVisit فارغة جديد أعلى الأسلوب. ثم أدخل التعليمات البرمجية التالية:

    PlanSchoolVisit("School A");
    PlanSchoolVisit("School B", 3);
    PlanSchoolVisit("School C", 2);
    

تحقق من عملك

في هذه المهمة، ستقوم بتشغيل التطبيق الخاص بك من الوحدة الطرفية المتكاملة والتحقق من أن التعليمات البرمجية تعمل بشكل صحيح. لنبدأ.

  1. قارن التعليمات البرمجية بما يلي للتأكد من صحتها:

    using System;
    
    string[] pettingZoo = 
    {
        "alpacas", "capybaras", "chickens", "ducks", "emus", "geese", 
        "goats", "iguanas", "kangaroos", "lemurs", "llamas", "macaws", 
        "ostriches", "pigs", "ponies", "rabbits", "sheep", "tortoises",
    };
    
    PlanSchoolVisit("School A");
    PlanSchoolVisit("School B", 3);
    PlanSchoolVisit("School C", 2);
    
    void PlanSchoolVisit(string schoolName, int groups = 6) 
    {
        RandomizeAnimals(); 
        string[,] group1 = AssignGroup(groups);
        Console.WriteLine(schoolName);
        PrintGroup(group1);
    }
    
    void RandomizeAnimals() 
    {
        Random random = new Random();
    
        for (int i = 0; i < pettingZoo.Length; i++) 
        {
            int r = random.Next(i, pettingZoo.Length);
    
            string temp = pettingZoo[r];
            pettingZoo[r] = pettingZoo[i];
            pettingZoo[i] = temp;
        }
    }
    
    string[,] AssignGroup(int groups = 6) 
    {
        string[,] result = new string[groups, pettingZoo.Length/groups];
        int start = 0;
    
        for (int i = 0; i < groups; i++) 
        {
            for (int j = 0; j < result.GetLength(1); j++) 
            {
                result[i,j] = pettingZoo[start++];
            }
        }
    
        return result;
    }
    
    void PrintGroup(string[,] groups) 
    {
        for (int i = 0; i < groups.GetLength(0); i++) 
        {
            Console.Write($"Group {i + 1}: ");
            for (int j = 0; j < groups.GetLength(1); j++) 
            {
                Console.Write($"{groups[i,j]}  ");
            }
            Console.WriteLine();
        }
    }
    
  2. احفظ عملك باستخدام Ctrl + S أو باستخدام قائمة Visual Studio Code File.

  3. إذا لزم الأمر، افتح لوحة المحطة الطرفية المتكاملة في Visual Studio Code.

    في لوحة EXPLORER، لفتح Terminal في موقع مجلد TestProject، انقر بزر الماوس الأيمن فوق TestProject، ثم حدد Open in Integrated Terminal.

  4. في موجه الأوامر Terminal، أدخل dotnet run

  5. تحقق من أن إخراج التطبيق الخاص بك يشبه ما يلي، مع مراعاة الترتيب العشوائي للحيوانات:

    School A
    Group 1: kangaroos  lemurs  pigs  
    Group 2: alpacas  sheep  chickens  
    Group 3: ducks  geese  capybaras  
    Group 4: ponies  iguanas  tortoises  
    Group 5: ostriches  llamas  rabbits  
    Group 6: macaws  goats  emus  
    School B
    Group 1: llamas  ducks  ponies  geese  chickens  goats
    Group 2: iguanas  capybaras  macaws  kangaroos  rabbits  sheep
    Group 3: lemurs  tortoises  alpacas  pigs  emus  ostriches
    School C
    Group 1: sheep  ducks  pigs  macaws  kangaroos  ostriches  rabbits  goats  lemurs
    Group 2: iguanas  capybaras  chickens  emus  tortoises  geese  ponies  alpacas  llamas
    

    يجب عليك التحقق من أن School A تحتوي على ست مجموعات، و School B لديها ثلاث مجموعات، و School C لديها مجموعتين. يجب أن يكون ترتيب الحيوانات عشوائيا لكل مدرسة.

    إذا كانت التعليمات البرمجية الخاصة بك تنتج أخطاء غير متوقعة، فستحتاج إلى مراجعة التعليمات البرمجية الخاصة بك للعثور على الخطأ وإجراء التحديثات. قم بتشغيل التعليمات البرمجية مرة أخرى لمعرفة ما إذا كنت قد أصلحت المشكلة. متابعة تحديث التعليمات البرمجية وتشغيلها حتى تنتج التعليمات البرمجية النتائج المتوقعة.