اذهب إلى المحتوى

سمير عبود

الأعضاء
  • المساهمات

    3491
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    34

أجوبة بواسطة سمير عبود

  1. مرحبا @Lisa
    يمكن عمل البرنامج بلغة جافا بهذا الشكل بإستعمال حلقة while
     

    public class Main {
    
        public static void main(String[] args) {
            int number = 3;
            int i = 0;
            int end = (int) 100 / number;
            System.out.println("Multiples of number " + number + ": ");
    
            while (i <= end) {
                System.out.print(number * i + " ");
                i++;
            }
        }
    
    }

    بإمكانك تجربة البرنامج من هنا
    ملاحظة: يمكنك تغيير العدد 3 الى عدد اخر و سيجلب لك البرنامج مضاعفات هذا العدد المحصورة بين 0 و 100
    بالتوفيق

  2. مرحبا @Lisa
    يمكن عمل البرنامج بلغة جافا بهذا الشكل 
     

    public class Main {
    
        public static void main(String[] args) {
            int number = 3;
            int start = 0;
            int end = (int) 100 / number;
    
            System.out.println("Multiples of number " + number + ": ");
    
            for (int i = start; i <= end; i++)
                System.out.print(number * i +  " ");
        }
    
    }

    بإمكانك تجربة البرنامج من هنا

    • أعجبني 1
  3. مرحبا @Lisa
    يمكن عمل البرنامج بلغة جافا بهذا الشكل 
     

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
    
            // الكائن المسؤول عن المدخلات
            Scanner sc = new Scanner(System.in);
            System.out.println("أدخل عدد صحيح: ");
            
            // إستعمال البلوك try and catch حيث عند حدوث خطأ لا نعرضه للمستخدم
            try {
                int number = sc.nextInt();
                System.out.println("القيمة المطلقة للعدد: " + number + " هي: " + absolute(number));
            } catch (Exception e) {
                System.out.println("لقد أخطأت يرجي المحاولة لاحقا");
            }
    
        }
        
        // هنا قمنا بتعريف الاقتران الذي سيقوم بحساب القيمة المطلقة لعدد صحيح
        private static int absolute(int number) {
            return number >= 0 ? number : -number;
        }
    }

    بإمكانك تجربة البرنامج من هنا
    بالتوفيق

  4. بتاريخ 10 دقائق مضت قال ملك..:

    تم شكرا..

    اريد السؤال كيف أشاىك موقعي مع احد لكي يراه ويتصفحه 

    ليس بمعنى أن يرى الاكواد اريده أن يرى المحتوى 

    ؟؟

    تم وشكرا 

    اريد السؤال كيف أشارك موقعي مع احد لكي يراه ويتصفحه 

    ليس بمعنى أن يرى الاكواد اريده أن يرى المحتوى 

    ؟؟

     

    مرحبا 

    حتى تشارك موقعك مع الآخرين تحتاج الى رفع ملفات الموقع على إستضافة و ربطه بدومين و من ثم يستطيع الآخرين تصفح موقعك من خلال الدومين ( مثلا yourwebsite.com ) 

    هناك بعض المواقع توفر بعض الإستضافات المجانية تستطيع الإستفادة منها 

    لكن بما أن الموقع الخاص بك عبارة عن static website فيستطيع أي شخص أن يرى الأكواد من خلال المتصفح 

    أدعوك لقراءة هذا المقال عن الإستضافات المجانية من خلال هذا الرابط

     

    • أعجبني 2
  5. مرحبا 

    رأيي إذا أردت تعلم البرمجة إختر لغة برمجية و لتكن لغة سي و تعلم الخوارزميات و طور مهارتك فيها 

    قم بتطبيق الخوارزميات بلغة سي 

    تعلم أولا مفهوم الخوارزميات و أسسها 

    تعلم التحليل ( إذا قابلتك مشكلة ما كيف ستقوم بحلها ما هي الخطوات التي ستتبعها )

    تعلم ال data structure بما فيها 

    1. Array
    2. List
    3. Stack
    4. Queue
    5. Heap
    6. Tree 
    7. ...

    تعلم خوارزميات الترتيب في هياكل البيانات و قم بتطبيقها بإستعمال لغة سي 

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

    بعد تعلم الأساس إختر لك مجالا و أبدأ رحلتك لا تكثر المجالات و لا تكثر لغات البرمجة أهم شيء هو التخصص و الإحتراف في مجالك و كسب أكبر كم من الخبرة 

    إذا كنت تريد فعلا أن تصبح مبرمج محترف فعليك أولا بالتعلم ثانيا إردة قوية للتعلم ثالثاً الصبر 

    لا تقول كم من الوقت أحتاج لأنه مهما تعلمت ستظهر لك أمور جديدة لم تكن تعلمها من قبل لأن هذا المجال واسع 

    لا تيأس ولا تستصعب الأمور إبحث و أسأل حتى تفهم جيدا و ستجد الكثير من الأشخاص سيساعدوك لتصل إلى مبتغاك 

    إجعل محرك البحث صديقك الدائم 

    أنصحك بالإطلاع على هذا المقال من خلال هذا الرابط تعلم البرمجة

    بالتوفيق 

    • أعجبني 2
  6. مرحبا 
    أنا أستخدم إطار العمل laravel الخاص بلغة php و عند عملية التحقق من صورة أستعمل الكود التالي
     

    <?php
    
    // ....
    
    public function store(Request $request)
    {
    
      $request->validate([
          'image' =>  'required|image|mimes:jpeg,png,jpg,gif|max:2048'
      ]);
      
      // ....
    	
    }

    هذا بإستعمال validation image الموجودة في الإطار 
    لكن لارافيل يتيح لنا إنشاء custom validation خاص بنا بهذا الشكل مثلا 
     

    <?php
    
    Validator::extend('is_png',function($attribute, $value, $params, $validator) {
        $image = base64_decode($value);
        $f = finfo_open();
        $result = finfo_buffer($f, $image, FILEINFO_MIME_TYPE);
        return $result == 'image/png';
    });

    و بعدها يمكننا استعماله بهذا الشكل
     

    <?php
    
    // ....
    
    public function store(Request $request)
    {
    
      $request->validate([
          'image' =>  'required|is_png'
      ]);
    	
      // ....
    }

    ستجد أشياء مماثلة لما تبحث عنه باللغة التي تريدها لأن مطورين اللغة يطورون بإستمرار على اللغة و يضيفون أشياء جديدة 
    بالتوفيق

    • أعجبني 2
  7. مرحبا @ملك..
    من مشاهدتي للكود وجدت أن تنسيق css يعتمد على الشكل التالي 

    1. ال container في اليمين 
    2. ال aside في اليسار 

    و انت في كود ال html قمت بوضع ال aside داخل ال container لذلك ال aside يأتي تحت المحتوى الموجود في ال container 
    رفعت الأكواد الجديدة على codepen بإمكانك القاء نظرة على النتيجة و الكود الجديد من خلال هذا الرابط
    قمت بتغيير السورس الخاص بالصورة بإمكانك نسخ الأكواد عندك و ستجد النتيجة في الجزء السفلي و الأكواد في الجزء العلوي 
    بالتوفيق

  8. و عليكم السلام 

    يمكن أيضا التحقق من الصورة و هي على هيئة base64 

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

    • أعجبني 1
  9. مرحبا 
    أولا: حتى نستطيع مساعدتك بشكل جيد عليك رفع الكود كامل إما عن طريق ملف مضغوط أو كتابته في محرر الأكواد هنا حتى نطلع عليه بشكل كامل
    ثانيا: من خلال مشاهدتي للكود الخاص بك من خلال الصور لاحظت انك كاتب الوسم link داخل الوسم aside والمفروض الوسم link المكان المخصص له داخل وسم head 
    بهذا الشكل :

    <head>
      // ....
      <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    </head>

    ثالثا: من خلال مشاهدتي للأكواد في الصورة لاحظت وجود كلاس css خاص ب aside ولم تستعمله في أكواد ال html 
    أتحدث عن هذا الجزء من css 
     

    .aside{
     /*
     	....... 
     */
    }

    المفروض إستعمال هذا الكلاس داخل وسم aside بهذا الشكل حتى يتم تطبيق التنسيق الخاص به 
     

    // .....
    // .....
    
    <aside class="aside">
    
      // content here
    
    </aside>

    بهذا الشكل يتم تطبيق الكلاس على وسم ال aside و يكون على جنب 
    أو يمكنك إبقاء أكواد ال html كما هي و تغيير ال css بهذا الشكل :
     

    /* لاحظ أننا استعملنا الوسم وليس الكلاس */
    aside {
     	/* stylesheet properties here */
      	/* 
      		..........
      		..........
      
      	*/
    }

    ملاحظة: حتى نستطيع مساعدتك بشكل جيد يجب أن نكون على اطلاع كامل بالكود فمن الصور لا نلاحظ الأخطاء 
    بالتوفيق

    • أعجبني 2
  10. و عليكم السلام 

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

    بخصوص سؤالك و هو كيفية منع المستخدم من رفع برمجيات خبيثة بدل صورة ببساطة هذا يندرج تحت التحقق من البيانات أو data validation و الأكيد و الجدير بالذكر أن أي لغة برمجية تتيح و توفر لك أدوات من خلالها تستطيع التأكد أن ما رفعه المستخدم عبارة عن صورة بالفعل ليس التحقق من اللاحقة فقط ( jpg , png , .... ) بل التحقق من الملف كامل هل هو صورة أم لا فإن كان صورة تقوم بحفظه و إستخدامه في موقعك إن كان لا تخبر المستخدم أن ما قام برفعه ليس صورة 

    أنا لا أستعمل اللغات التي ذكرتها لكن بإمكانك الإستعانة ب Google بكتابة : 

     Image validation in python 

    و سيقترح عليك كيفية التحقق 

    بالتوفيق

     

     

    • أعجبني 1
  11. مرحبا 
    يمكنك تغيير الخلفية الى صورة بإستخدام هذه الأكواد
    أولا تقوم بكتابة كود html الذي سيحتوي على canvas بهذا الشكل

    <canvas id="c"></canvas>

    و بعدها تستخدم جافاسكربت بهذا الشكل

    var c = document.getElementById("c");
    var ctx = c.getContext("2d");
    
    //making the canvas full screen
    c.height = window.innerHeight;
    c.width = window.innerWidth;
    
    var background = new Image();
    background.src = "https://img.freepik.com/free-photo/3d-grunge-room-interior-with-spotlight-smoky-atmosphere-background_1048-11333.jpg";
    background.onload = function(){
       ctx.drawImage(background,0,0, window.innerWidth,window.innerHeight);   
    }

    يمكنك مشاهدة النتيجة من خلال هذا الرابط

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

    var background = new Image();
    // هنا ستقوم بوضع مسار الصورة التي تريدها
    background.src = "https://img.freepik.com/free-photo/3d-grunge-room-interior-with-spotlight-smoky-atmosphere-background_1048-11333.jpg";
    background.onload = function(){
       ctx.drawImage(background,0,0, window.innerWidth,window.innerHeight);   
    }
    • أعجبني 1
  13. مرحبا 
    يمكنك استعمال bootstrap modal لعمل نافذة منبثقة عند تحميل الصفحة
    تحتاج إلى تضمين bootstrap و jQuery
    بهذا الشكل 
     

    <div id="myModal" class="modal" tabindex="-1" role="dialog">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title">Modal title</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <img class="img-fluid" src="https://via.placeholder.com/460x300
    
    C/O https://placeholder.com/" alt="placehold image"/>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Save changes</button>
          </div>
        </div>
      </div>
    </div>

    و بعدها يمكنك استخدام javascript بهذا الشكل
     

     $(window).on('load',function(){
            $('#myModal').modal('show');
        });

    يمكنك مشاهدة النتيجة من خلال هذا الرابط

    • أعجبني 1
  14. مرحبا 

    إذا كان سؤالك هل أحتاج فقط لغة جافا لبرمجة تطبيقات أندرويد نتيف أو native 

    أجيبك نعم جافا تغنيك عن تعلم لغة أخرى لبرمجة تطبيقات نتيف للأندرويد يشترط فقط معرفة بسيطة بلغة XML التي ليست لغة برمجة 

    لكن هل فقط جافا من يمكنها بناء تطبيقات نتيف للأندرويد ؟ الجواب لا فلغة كوتلن تفعل المثل 

    طيب سؤال آخر ماذا لو أردت بناء تطبيق لل iOS أيضا ؟ أجيبك في هذه الحالة يجب تعلم لغة جديدة مثل swift أو objective-c 

    تسألني مرة أخرى لكن في هذه الحالة سأضطر لتعلم لغتين ؟ أجيبك نعم و من هنا جاءت فكرة المنصات الكروس بلاتفورم أي منصة أو تقنية تتيح لك بناء او تحرير تطبيقين للأندرويد و ال iOS بكود مصدري واحد 

    و من بينها إطار react native و flutter و غيرهما 

    و هذه التقنيات لها نقاط قوة كما لها نقاط ضعف و تعتبر التطبيقات التي سيتم بناؤها على هذه المنصات هجينة أو hybrid 

    طيب سؤال آخر ماذا عن مطورين الويب الذين لديهم معرفة بلغات الويب ك html و CSS و JS هل سيضطرون لتعلم لغات جديدة ؟ 

    أجيبك لا بإمكانهم الإعتماد على منصات و تقنيات مثل Cordova و ionic سابقا لبناء تطبيقات جوال 

    Ionic تم تطويرها الآن و أصبحت تعتمد على angular و typescript 

    كما بإمكانهم تعلم لغات جديدة إن أرادو ذلك .

  15. مرحبا معاذ 

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

    بخصوص الشهادات تستطيع الحصول على الشهادة عند إكمالك لمحتوى الدورة و إجتيازك للإمتحان النهائي

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

    public class Main {
    
        public static void main(String[] args) {
    
            // هنا قمنا بتعريف مصفوفة ثنائية أو ذات بعدين و أسندنا لها القيم
            int [][] array2d = {
                    {1, 0, 0, 0, 0},
                    {2, 1, 0, 0, 0},
                    {3, 1, 1, 0, 0},
                    {4, 2, 1, 1, 0},
                    {5, 2, 1, 1, 1}
            };
    
            // وهنا قمنا بعملة حلقتين من نوع فور لعرض عناصر المصفوفة بالشكل المربع
            for (int i = 0; i < array2d.length; i++) {
                for (int j = 0; j < array2d[i].length; j++)
                    System.out.print(array2d[i][j] + "  ");
    
                System.out.println("\n");
    
            }
        }
    }

    يمكن تصفح نتيجة البرنامج من خلال هذا الرابط
    كما يمكن عمل البرنامج بهذا الشكل أيضا

    public class Main {
    
        public static void main(String[] args) {
    
            int x = 5 , i, j;
    
            for (i = 1; i <= x; i++) {
                for(j = 1; j <= i; j++) {
                    if (j == 1)
                        System.out.print(i + "  ");
    
                    else if (i >= 4 && j == 2)
                        System.out.print("2  ");
                    else
                        System.out.print("1  ");
                }
    
                for(j = i + 1; j <= x; j++) {
                    System.out.print(0 + "  ");
                }
    
                System.out.println('\n');
            }
    
        }
    }

    و يمكنك تجربة الأكواد من خلال هذا الرابط
    بالتوفيق

    • أعجبني 1
  17. نعم هناك مواقع تبنت هذه الأفكار تتيح لك بناء تطبيقات عن طريق الموقع الخاص بهم لكن عن طريق آليات تم عملها من طرفهم لكن لن تكون الخدمة بالمجان وأظن لن تملك السورس كود الخاص بتطبيقك 

    مثلها مثل المواقع التي تتيح لك بناء موقعك أونلاين ك Wix وغيرها 

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

     

  18. مرحبا 

    التطبيقات أنواع 

    1. هناك تطبيقات موبايل ستعمل على الهاتف 
    2. تطبيقات ويب ستعمل على الويب كالمواقع 
    3. تطبيقات ديسكتوب أو سطح مكتب تعمل على الكمبيوتر

    تطبيقات للموبايل تنقسم إلى قسمين

    1. تطبيقات نتيف أو native هذه التطبيقات يتم بناؤها بإستعمال اللغات الأصلية الخام على سبيل المثال أندرويد ( جافا أو كوتلن ) و iOS ( سويفت أو Objective-C ) و هذه اللغات تستطيع التواصل مباشرة مع الهاردوير و محسسات الهاتف .
    2. تطبيقات هجينة أو Hybrid يتم بناؤها إعتمادا على منصات مثل كوردوفا بإستعمال لغات الويب أو ionic وغيرها و يتم فيها إستعمال جسر للوصول إلى محسسات الهاتف كالميكرفون و GPS و غيرها ...فيكون أداؤها ضعيف مقارنة بالتطبيقات النتيف لكن ما يميزها هو أنك ستقوم بكتابة الأكواد مرة واحدة للمنصتين بعكس التطبيقات ال native 

    بالنسبة لتطبيقات الويب ستعمل من خلال سيرفر و يتم عملها من خلال المتصفح 

    لا أدري إن كان هذا سؤالك إن كان لا الرجاء توضيح ماذا تقصد

     

    • أعجبني 1
  19. مرحبا 
    هذا كود البرنامج بدون إستعمال virtual pure 

    // Example program
    #include <iostream>
    using namespace std;
    
    class Base {
        private:
          const string name;
        private:
          const int age;
       public:
          Base(string name_val, int age_val) : name(name_val), age(age_val) {}
       
       
        string get_name() 
        { 
            return this->name; 
        } 
        
        int get_age() 
        { 
            return this->age; 
        } 
        
        // نستعمل الكلمة virtual لجعل الدالة virtual pure
        string get_info() 
        {
            return "The name is " + this->name + " and the age is " + std::to_string(this->age) + ".";
        }
       
    };
    
    class Derived : public Base 
    {
        private:
             string type;
             
        public:
          Derived(string name, int age, string type) : Base(name, age)
            {
                this->type = type;
            }
          
        string get_type() 
        { 
            return this->type; 
        }
        
        string get_info() 
        {
            return "The name is: " + this->get_name() + ", the age is: " + std::to_string(this->get_age()) + " and the Type is: " + this->type;
        }
        
    };
    
    int main()
    {
        // هنا قمنا بإنشاء instance من الكلاس Base
        Base b1("Samir Abboud", 24);
        // هنا قمنا بإنشاء instance من الكلاس Derived
        Derived d1("Manar", 29, "manager");
        // هنا سنقوم باستعمال دوال الكلاس Base
        cout << "_____ Base Methods _____";
        cout << "\nName: " << b1.get_name();
        cout << "\nAge: " << b1.get_age();
        cout << "\nBase Info: " << b1.get_info(); 
        // هنا سنقوم باستعمال دوال الكلاس Derived
        cout << "\n_____ Derived Methods _____";
        cout << "\nName: " << d1.get_name();
        cout << "\nAge: " << d1.get_age();
        cout << "\nType: " << d1.get_type();
        cout << "\nDerived Info: " << d1.get_info(); 
        
        // هنا قمنا بإنشاء pointer من الكلاس Base وقمنا بإسناد object من الكلاس Derived
        Base* b2 = new Derived("Mohamed", 33, "HR");
        cout << "\n_____ Second Question _____";
        cout << "\nInfo: " << b2->get_info();
      
        return 0;
    }

    ويمكنك تجربة الأكواد من هنا
    و هذا كود البرنامج بإستعمال virtual pure 
     

    // Example program
    #include <iostream>
    using namespace std;
    
    class Base {
        private:
          const string name;
        private:
          const int age;
       public:
          Base(string name_val, int age_val) : name(name_val), age(age_val) {}
       
       
        string get_name() 
        { 
            return this->name; 
        } 
        
        int get_age() 
        { 
            return this->age; 
        } 
        
        // نستعمل الكلمة virtual لجعل الدالة virtual pure
        virtual string get_info() 
        {
            return "The name is " + this->name + " and the age is " + std::to_string(this->age) + ".";
        }
       
    };
    
    class Derived : public Base 
    {
        private:
             string type;
             
        public:
          Derived(string name, int age, string type) : Base(name, age)
            {
                this->type = type;
            }
          
        string get_type() 
        { 
            return this->type; 
        }
        
        string get_info() 
        {
            return "The name is: " + this->get_name() + ", the age is: " + std::to_string(this->get_age()) + " and the Type is: " + this->type;
        }
        
    };
    
    int main()
    {
        // هنا قمنا بإنشاء instance من الكلاس Base
        Base b1("Samir Abboud", 24);
        // هنا قمنا بإنشاء instance من الكلاس Derived
        Derived d1("Manar", 29, "manager");
        // هنا سنقوم باستعمال دوال الكلاس Base
        cout << "_____ Base Methods _____";
        cout << "\nName: " << b1.get_name();
        cout << "\nAge: " << b1.get_age();
        cout << "\nBase Info: " << b1.get_info(); 
        // هنا سنقوم باستعمال دوال الكلاس Derived
        cout << "\n_____ Derived Methods _____";
        cout << "\nName: " << d1.get_name();
        cout << "\nAge: " << d1.get_age();
        cout << "\nType: " << d1.get_type();
        cout << "\nDerived Info: " << d1.get_info(); 
        
        // هنا قمنا بإنشاء pointer من الكلاس Base وقمنا بإسناد object من الكلاس Derived
        Base* b2 = new Derived("Mohamed", 33, "HR");
        cout << "\n_____ Second Question _____";
        cout << "\nInfo: " << b2->get_info();
      
        return 0;
    }

    و يمكنك تجربة الأكواد من هنا 
    نفس الكود فقط في تعريف الدالة get_info هناك فرق
    بالتوفيق

    • أعجبني 1
  20. مرحبا 
    يمكن عمل البرنامج بهذا الشكل 
     

    // هنا قمنا بتضمين حزمة الجافا المسؤولة على المدخلات
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
    
            // هنا قمنا بإنشاء كائن من الكلاس scanner
            Scanner scanner = new Scanner(System.in);
    
            // هنا قمنا بإنشاء متغير من نوع int و سنستقبل فيه العدد المدخل
            int input;
    
            // هنا قمنا بعرض رسالة توحي بإدخال رقم من الكيبورد
            System.out.println("أدخل سعر المنتج !");
    
            // هنا قمنا بعمل حلقة while لتكرار العملية مادام الرقم المدخل موجب
            while ((input = scanner.nextInt()) > 0) {
    
                // هنا قمنا بعرض السعر بعد الخصم و قمنا بعمل فورمات حتى يأخذ فقط رقمين بعد الفاصلة
                System.out.format("السعر بعد الخصم =  %.2f\n", input * 0.8);
    
                System.out.println("أدخل منتج آخر !");
            }
    
            // هنا قمنا بعرض رسالة توحي بإدخال رقم سالب
            System.out.println("لقد قمت بإخال رقم سالب");
    
        }
    }

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

  21. مرحبا 

    البرنامج يشمل كيفية جعل الدالة virtual pure و ذلك بإضافة الكلمة virtual في تعريف الدالة في الكلاس الأب 

    فإن كنت تريد جعل الدالة عادية فقط ستحذف الكلمة virtual من تعريف الدالة و في هذه الحالة سيتم إستعمال الدالة الموجودة في الكلاس الأب أما في حالة عندما تكون الدالة virtual يتم إستعمال الدالة الموجودة في الكلاس الإبن أي Derived 

    • أعجبني 2
  22. مرحبا 
    يمكن عمل البرنامج بلغة جافا بهذا الشكل 
    حيث قمنا أولا بتعريف المصفوفة من نوع int و قمنا بملئها مبدئيا بالعلامات 
    قمنا بإنشاء ثلاث دوال 
    الاولى لحساب المعدل او avg 
    الثانية لمعرفة ال max أعلى علامة
    و الثالثة لمعرفة ال min أقل علامة
     

    import java.util.Arrays;
    
    public class Main {
    
        public static void main(String[] args) {
            // هنا قمنا بتعريف مصفوفة وقمنا بملئها مبدئيا بالقيم
            int[] mark = {98, 77, 57, 45, 75, 67, 81, 48, 62, 88};
    
    
            System.out.format("AVG = %.2f", avg(mark));
    
            System.out.println("\nMAX = " + max(mark));
    
            System.out.println("MIN = " + min(mark));
        }
    
        private static double avg(int array[]) {
    
            int sum = Arrays.stream(array).sum();
            double avg = sum / array.length;
    
            return  avg;
        }
    
        private static int max(int array[]) {
            Arrays.sort(array);
            return array[array.length - 1];
        }
    
        private static int min(int array[]) {
            Arrays.sort(array);
            return array[0];
        }
    }

    بإمكانك تصفح نتيجة البرنامج من هنا

    • أعجبني 1
  23. مرحبا 

    أظن أن كتب التقنية العربية قليلة في العالم العربي راجع لعدة أسباب أهمها : 

    أغلبية المهتمين بالتقنية غير مهتمين بالكتب و يفضلون مقاطع الفيديو بحكم أن مقاطع الفيديو تسهل على المتعلم التركيز و التطبيق و رؤية النتائج 

    أغلبية المهتمين بالتقنية مبتدئين أو متوسطين الخبرة فليس لديهم وقت لكتابة كتاب مع وجود إحتمال أن هذا الكتاب لن يلقى رواج و إحتمال آخر لعدم إكمال الكتاب بحكم أن المجال في تطور و كل يوم تقنية جديدة 

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

    قراءة كتاب في التقنية باللغة العربية أو الإنجليزية صعب نوعاً ما و حتى تأخذ المعلومة ستبذل جهد كبير 

     

×
×
  • أضف...