إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    الخوارزميات التعامل مع المصفوفة ذات البعد الواحد - التمرين الخامس

    المطلوب

    هذا التمرين مقسّم إلى خمسة أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.

    1. أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها vector و يخزنه في متغير إسمه N.
      تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر.
    2. ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة vector.
    3. ثم يعرض للمستخدم قيم المصفوفة التي قام هو بإدخالها.
    4. بعدها يقوم بالمرور على جميع عناصر المصفوفة و يفعل التالي:
      - كل قيمة يجدها أكبر من صفر يحولها إلى 1.
      - كل قيمة يجدها أصغر من صفر يحولها إلى -1.
    5. في الأخير يعرض للمستخدم قيم المصفوفة من جديد.

    النتيجة المطلوبة

    لنفترض أن المستخدم أدخل 6 قيم كما في الصورة التالية.

    تحليل النتيجة

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

    الخوارزمية

    كود الجافا

    import java.util.Scanner;
     
    public class Vector {
     
        public static void main (String[] args) {
     
            Scanner input = new Scanner(System.in);
     
            int N;
            int[] vector;
     
            do
            {
                System.out.print("Enter the length of the vector: ");
                N = input.nextInt();
            }
            while ( N<= 0 );
     
            vector = new int[N];
     
            System.out.print("\n");
     
            for (int i=0; i<=N-1; i++)
            {
                System.out.print("Enter vector[" +i+ "]: " );
                vector[i] = input.nextInt();
            }
     
            System.out.print("\nBefore changing: \n");
     
            for (int i=0; i<=N-1; i++)
            {
                System.out.print("vector[" +i+ "]: " + vector[i] +"\n");
            }
     
            for (int i=0; i<=N-1; i++)
            {
                if ( vector[i] > 0 )
                {
                    vector[i] = 1;
                }
                else if ( vector[i] < 0 )
                {
                    vector[i] = -1;
                }
            }
     
            System.out.print("\nAfter changing: \n");
     
            for (int i=0; i<=N-1; i++)
            {
                System.out.print("vector[" +i+ "]: " + vector[i] +"\n");
            }
     
            System.out.print("\n");
     
        }
     
    }
    		

    شرح الكود


    		int N;
    		int[] vector;
    			
    • هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله.
    • و المصفوفة vector و التي لم يتم تحديد عدد عناصرها.


    		do
    		{
    			System.out.print("Enter the length of the vector: ");
    			N = input.nextInt();
    		}
    		while ( N<= 0 );
    			
    • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفة, بعدها سيتم تخزينه في المتغير N.
    • بعدها سيتم فحص قيمة المتغير N, إذا كانت أصغر أو تساوي 0 سيطلب من المستخدم إدخال العدد من جديد.
    • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.


    		vector = new int[N];
    			
    • هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد N التي أدخلها المستخدم.
    • بعدها سيتم طباعة عدد عناصر المصفوفة باستخدام الخاصية length.
    • لو وضعنا N بدل vector.length لكان الجواب نفسه لأن عدد العناصر أيضاً يساوي قيمة المتغير N.


    		for (int i=0; i<=N-1; i++)
    		{
    			System.out.print("Enter vector[" +i+ "]: " );
    			vector[i] = input.nextInt();
    		}
    			
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لعرض جميع قيم المصفوفة قبل قيمة أي عنصر فيها.


    		System.out.print("\nBefore changing: \n");
    		
    		for (int i=0; i<=N-1; i++)
    		{
    			System.out.print("vector[" +i+ "]: " + vector[i] +"\n");
    		}
    			
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر فيها.
    • في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.


    		for (int i=0; i <=N-1; i++)
    		{
    			if ( vector[i] > 0 )
    			{
    				vector[i] = 1;
    			}
    			else if ( vector[i] < 0 )
    			{
    				vector[i] = -1;
    			}
    		}
    			
    • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لفحص قيمة كل عنصر فيها.
    • في كل دورة من دورات الحلقة i سيقوم البرنامج بفحص قيمة عنصر ثم تحويلها كالتالي:
      • إذا وجد أن قيمة العنصر أكبر من 0 سيقوم بوضع 1 مكانها.
      • إذا وجد أن قيمة العنصر أصغر من 0 سيقوم بوضع -1 مكانها.


    		System.out.print("\nAfter arrangement: \n");
    		
    		for (int i=0; i<vector.length; i++)
    		{
    			System.out.print("vector[" +i+ "]: " + vector[i] +"\n");
    		}
    			
    • في الأخير سيتم إنشاء حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لعرض قيم المصفوفة بعد أن تم تحويلهم.
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب