• 0

كيف تكتب الخوارزمية؟

كيف اكتب خوارزمية لبرنامج ، حيث يستطيع البرنامج بعدها ترتيب عدد من الاسماء المطروحة حسب الترتيب الابجدي و كل اسم على سطر وحده

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

الأمر يعتمد اولا على لغة البرمجة التي ستسخدميها.

لكن كخوارزمية بشكل عام، الخطوات كالتالي:

1. قراءة مجموعة الأسماء وحفظها في بنية بيانات (Data Structure) معينة، مثل المصفوفة على سبيل المثال.

2. نستخدم احدى خوارزميات الترتيب Sorting Algorithm (اغلب لغات البرمجة، تحوي العديد من الخوارزميات الجاهزة في ترتيب هكذا عناصر)

3. بعد ان ننتهي من ترتيب الاسماء، نقوم بتعريف متغير نصي string مثلا، ثم نقوم بعمل حلقة تكرارية على مصفوفة الاسماء، وفي كل مرة نضيف عنصر المصفوفة الحالي متبوعا برمز السطر الجديد، بحسب لغة البرمجة ونظام التشغيل، في ويندوز سنضيف n\

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

لناخذ المثال التالي بلغة سي شارب.

using System;
using System.Collections.Generic;
namespace SortingNames
{
    class Program
    {
        static void Main(string[] args)
        {
            List<string> names = new List<string> { "Ahmad", "Khaled", "Bilal", "Mohammad", "Samer", "Ali", "Ibrahim" };
            names.Sort();
            string output = string.Join("\n", names);
            Console.WriteLine(output);
        }
    }
}

في هذا المثال استخدمنا بنية البيانات من نوع List، ثم قمنا بترتيبها باستخدام الدالة Sort بكل بساطة، واخيراً استفدنا من ميزات اللغة، في اضافة سطر جديد بعد كل اسم، وذلك باستخدام الدالة string.Join

 

ويمكن ايضا كتابته بشكل مختصر اخر:

using System;
using System.Linq;

namespace SortingNames
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] names = {"Ahmad", "Khaled", "Bilal", "Mohammad", "Samer", "Ali", "Ibrahim" };

            names = names.OrderBy(x => x).ToArray();
            string output = "";
            for (int i = 0; i < names.Length; i++)
            {
                output += names[i] + "\n";
            }
            Console.WriteLine(output);
        }
    }
}

في هذا المثال استفدنا من تقنية LINQ في ترتيب عناصر المصفوفة 

 

بالتوفيق،،،

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن