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

Omar Haddad2

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

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

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

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

    4

أجوبة بواسطة Omar Haddad2

  1. تتو فر العديد من المكتبات في بايثون للعمليات المختلفة التي من الممكن القيام بها ضمن مجال معالجة اللغات الطبيعية ومعالجة النصوص.

    يوجد مكتبتين مهمتين: 

    • مجموعة أدوات اللغات الطبيعية (Natural Language Toolkit (NLTK:
      • وهي مكتبة مجانية مفتوحة المصدر، تتضمن المهام الأساسية في معالجة اللغات الطبيعية والنصوص من الحصول على الوحدات اللغوية (Tokenization) إلى التجذيع (stemming) وصولاً التنبؤ بأقسام الكلام (Part of Speech tagging) و الاستنتاج الدلالي (semantic reasoning) وغيرها العديد من المهام اللغوية.

    ويمكن التثبيت بهذا الأمر:

    pip install --user -U nltk
    
    

    * ولكن تطلب المكتبة توفر المكتبة العددية لبايثون numpy، لذا في حال عدم توفرها مسبقا على الجهاز يجب تثبيتها:

    pip install --user -U numpy
    

    يمكن الاطلاع على الموقع الرسمي للمكتبة حيث يتوافر توثيق جيد لها.

     

    • مكتبة جينسم Gensim:
      • وهي مكتبة مجانية مفتوحة المصدر كذلك، تتضمن توابع تساعد على تحديد التشابه الدلالي فيما بين النصوص، 

       ويمكن التثبيت بهذا الأمر :

    pip install -U gensim
    
    

    * هذه المكتبة كذلك تتطلب توافر المكتبة العددية لبايثون numpyويمكن الاطلاع على الموقع الرسمي للمكتبة و حيث يتوافر توثيق جيد لها.

  2. الأرقام الزوجية هي تلك الأرقام التي تقبل القسمة على 2 بدون باقي .

    فهنا ، (number % 2 == 0) يتحقق مما إذا كان الرقم زوجيًا. إذا كان الباقي 0 ، يكون الرقم زوجيًا.

    // برنامج للتحقق مما إذا كان الرقم زوجيًا أم فرديًا
    // أخذ المدخلات من المستخدم
    const number = prompt("Enter a number: ");
    
    
    // تحقق مما إذا كان الرقم زوجيًا
    if(number % 2 == 0) {
        console.log("The number is even.");
    }
    // إذا كان الرقم فرديًا
    else {
        console.log("The number is odd.");
    }

    فهنا لو قمنا بتشغيل الكود سيظهر لنا ثم إدخال القيمة 27  وهي قيمة لاتقبل القسمة على 2 لأن لها باقي 

    Enter a number: 27
    The number is odd.

    الحل بإستخدام المشغل الثلاثي 

    // أخذ المدخلات من المستخدم
    const number = prompt("Enter a number: ");
    
    // عامل تشغيل ثلاثي
    const result = (number % 2  == 0) ? "even" : "odd";
    
    // الناتج
    console.log(`The number is ${result}.`);

     

    • أعجبني 1
  3. يعود هذا حسب التامبلت الذي تعمل فيه ولنوع قاعد البيانات إذا كان التامبلت مجهز فأتوقع أن يكون له حقل  داخله لتغير إسم الموقع والتفاصيل الأخرى , بينما إن لم يكون التامبلت كامل فيمكن أن تقوم من خلال  الدخول لمصدر الكود والبحث  عن سطر الكود أو الوسم الخاص بإسم الموقع وتغيره , ما أقصده أنه لوكان التامبلت static  أي غير مرتبط بسيرفر أو قاعدة بيانات يمكنك تغير إسم الموقع من خلال الوصول للكود , لكن إن كان له قاعدة بيانات لا بد أن يوجد   حقل داخل التامبلت لتغير إسم الموقع .

    • أعجبني 1
  4. سأقوم بتوضيح الأسئلة لديك : 

    شاهد لديك ثلاث جدوال بالتأكيد سيكون بينهم علاقة فالعلاقة بين جدول البحارة  Sailors والقوارب (Boats )  هي علاقة many to many  فالبحار يمكن ان يحجز اكثر من قارب في نفس اليوم والقارب يمكن أن يحجزه أكثر  من بحار وهذا يعني أنك بحاجة لجدول وسيط إسمه كما لديك الحجوزات (reserves )  في :

    السؤال الأول يريد منك أن تقوم بإنشاء الجدول الخاص بالبحارة 

    والسؤال الثاني يريد منك ان تقوم  بإنشاء جدول القارب 

    بينما في السؤال الثالث يريد منك إنشاء جدول الحجوزات وهذا الجدول يربط بين جدول القوارب والبحارة ولذلك تحتاج لإنشاء مفاتيح فرعية تؤشر على المفاتيح الرئيسة في كلا الجدولين وحسب ماهو مطلوب  هما (sid ,bid)

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

    • أعجبني 2
  5. في البايثون إذا كنت ترغب في ربط رقم ، مثل عدد صحيح int أو  float ، مع سلسلة ، قم بتحويل الرقم إلى  string مع str () ثم استخدم عامل التشغيل + أو + = عامل التشغيل.

    s1 = 'aaa'
    s2 = 'bbb'
    i = 100
    f = 0.25
    s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
    print(s)
    
    #output: aaa_100_bbb_0.25

     

    • أعجبني 1
  6. item هو كيان  أي  كلاس يحتوى  على  خواص  وهي ال weight من النوع float و decryption من النوع string ويحتوى على دالة getPriceForQuantity  لإرجاع سعر الكمية ودالة getweight  لإرجاع الوزن

    
    public class Item {
       private float weight;
       private string decryption ;
    
      public void getPriceForQuantity() {}
      public void getWeight(){}
    }

     

  7. بتاريخ منذ ساعة مضت قال Emad Atef:

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

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

    (function mainFunc(){
     var i,
        myMain = document.getElementById("main");
    	var sinr="";
        function changeColor(color) {
             color= ["red","blue","black","yellow","white"];
            for(i = 0 ; i<color.length ; i=i+1){
              sinr=+","+color[i]
            }
                      myMain.innerHTML=sinr ;
    
        
        return changeColor();
    }());

     

    • أعجبني 1
  8. يمكن تعلم البرمجة من الصفر  وبسهولة فالمصادر متوفرة على الإنترنت, أنصحك بالبدء بتعلم أساسيات البرمجة  من خلال تعلم لغة معينة مثل الجافا أو السي شارب  أو أي لغة تدعم البرمجة الكائنية و البرمجة الشيئية  والهدف من ذلك هو إتقان الأساس البرمجي الذي يعتمد عليه معظم اللغات ,وبعدها حدد مسارك في تعلم اللغات التي وظائفها أكثر إنتشاراً  مثل :

    برمجة تطبيقات الهاتف :  وينقسم إلى قسمين  

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

    القسم الأول: هو  برمجة واجهات  مواقع من خلال تعلم  لغة html وcss وjavascript  والمسمى الوظيفى هنا للمبرمج هو (front end developer) 

    القسم الثاني: هو برمجة الخلفية  إي البرمجة التي تعمل من خلال السيرفر  وومن أمثلتها لغة الphp والمسمى الوظيفى هنا للمبرمج  back end developer 

    •  برمجة تطبيقات سطح المكتب  :هو برمجة التطبيقات التي تعمل على جهاز الحاسوب ويمكن ذلك  بإستخدام لغة الجافا او السي شارب أو السي أو البايثون أو غيرها 
    • برمجة الألعاب  : القيام ببرمجة الألعاب التي تعمل على الموبايل أو على جهاز الحاسوب
  9. نعم يعتبر المفتاح الأساسي  index  وذلك لأن المفتاح الأساسي هو كائن منطقي. وأقصد  بذلك أن هذا ببساطة يحدد مجموعة من الخصائص في عمود واحد أو مجموعة من الأعمدة للمطالبة بأن تكون الأعمدة التي يتكون منها المفتاح الأساسي فريدة (unique) من نوعها وألا يكون أي منها فارغًا ( null). و نظرًا لأنها  المفاتيح الأساسية تكون فريدة  ولا تكون فارغة  ، ويمكن استخدام هذه القيم التي بداخلها لتحديد صف واحد في الجدول في كل مرة. في معظم أنظمة وبهذا سيكون للمفتاح الأساسي فهرس تم إنشاؤه عليه.

    • أعجبني 1
  10. يجب أن تميز الفرق بين إستخدام كل منهما فمجال برمجة الويب ينقسم إلى  قسمين:  

    1. ال Front-end  و هو ما تراه وتتفاعل معه في المتصفح، فهي تمثل واجهة المستخدم من نصوص أو ألوان أو أزرار أو صور. لو أردت مثلا أن تطور موقعا خاصا بمطعم فستضع المعلومات الخاصة بالمطعم سواء كان عنوان المطعم أو صورا للأطباق التي يقدمونها حتى يجذب الموقع العملاء. كل هذا يتم باستخدام تقنيات الـ Front-end.

    ولغات Front-end الأساسية هي  /

    • HTML : هي لغة بناء هيكل الموقع الذي سيتم عرضه في المتصفح.
    • CSS : تأتي مع لغة HTML ومنها تقوم بتحديد تنسيق الموقع من ألوان و تصميم وخطوط.
    • java script: هي لغة برمجة تستخدم أكثر في العناصر التفاعلية في الصفحة كالقوائم المنسدلة واستمارت الاتصال.

     

    2. الـ Back-end هو الجزء الذي لا تراه في الموقع، فهو مسئول عن تخزين وتنظيم البيانات والتأكد من أن كل شئ في واجهة الموقع يعمل بشكل جيد. يقوم الـ Back-end بالتواصل مع واجهة الموقع فيقوم بإرسال واستقبال المعلومات ثم يعرضها في الموقع. كلما ملأت استمارة إتصال،كتبت عنوان موقع أو قمت بالشراء، يقوم المتصفح بإرسال طلب إلى الخادم Server، الذي يقوم بإرجاع المعلومات المكتوبة في الاستمارة ليتمكن من التعامل معها.

    • ولغات ال  Ruby, PHP, Python,  : Back-end , وغيرها العديد 

    حديثا أصبحت  لغة الجافا سكربت تستخدم في مجال الفرونت إند والباك إند أي أنك بلغة واحدة تعمل في كلا الإتجاهين ,  حيث في الباك إند  يوجد إطار عمل إسمه   Node.js لا بد أن تعرف أنها من إطارات عمل الجافا سكريبت. وتمتاز  إطار ال Node.js بسرعتها حيث يمكن أن تؤدي أكثر من مهمة في نفس الوقت مما يكسب الخادم سرعة استهلاك أقل. وطبقاً لاحصائات موقع ستاك أوفرفلو السنوية لعام 2019 , فان لغة جافاسكريبت تحتل المرتبة الأولى في اهتمامات المبرمجين بنسبة 67% وهذا الشىء لا يقلل من شأن اللغات الأخرى ف php تعتبر أيضا لغة قوية ولها  إطار العمل  laravel  , ولكن نستطيع القول أن الجافا سكربت مجالاتها أوسع من لغة الphp  ويميزها أيضا أنها  Non-Blocking  أي أن الأوامر يتم تنفيذها  بالتوازي  بخلاف  لغة   php التي هي لغة block until completion اي ان الاوامر لايتم تنفيذها الا بتنفيذ ما سبق من اوامر وهذا هو الفرق الاكبر مابين PHP & Node.js .

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

    ولكن هذا  الحل في  برنامج C ++ لإنشاء جميع المجموعات الفرعية لمجموعة معينة في ترتيب رسومات Lexico. تطبع هذه الخوارزمية كل التركيبات الممكنة لكل طول من مجموعة الصفيف المحددة بترتيب تصاعدي. التعقيد الزمني لهذه الخوارزمية هو O (n * (2 ^ n)).

    #include<iostream>
    using namespace std;
    void Sorting(int a[], int n) //array sorting {
       int i, j, t;
       for(i = 0; i < n; i++) {
          for(j = i+1; j < n; j++) {
             if(a[i] > a[j]) {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
             }
          }
       }
    }
    void GenAllSubset(int a[], int reqLen, int s, int currLen, bool check[], int len) {
       if(currLen > reqLen)
          return;
       else if (currLen == reqLen) {
          cout<<"\t";
          cout<<"{ ";
          for (int i = 0; i < len; i++) {
             if (check[i] == true) {
                cout<<a[i]<<" ";
             }
          }
          cout<<"}\n";
          return;
       }
       if (s == len) {
          return;
       }
       check[s] = true;
       GenAllSubset(a, reqLen, s + 1, currLen + 1, check, len);
       check[s] = false;
       GenAllSubset(a, reqLen, s + 1, currLen, check, len);
    }
    int main() {
       int i, n;
       bool ch[n];
       cout<<"Enter the number of element array have: ";
       cin>>n;
       int arr[n];
       cout<<"\n";
       for (i = 0; i < n; i++) {
          cout<<"Enter "<<i+1<<" element: ";
          cin>>arr[i];
          ch[i] = false;
       }
       Sorting(arr, n);
       cout<<"\nThe all subset of the given set in the lexicographic order: \n";
       cout<<"\t{ }\n";
       for(i = 1; i <= n; i++) {
          GenAllSubset(arr, i, 0, 0, ch, n);
       }
       return 0;
    }

     

    الناتج : 

    Enter the number of element array have: 6
    Enter 1 element:3
    Enter 2 element: 2
    Enter 3 element: 1
    Enter 4 element:7
    Enter 5 element:6
    Enter 6 element: 5
    The all subset of the given set in the lexicographic order:
    { },{ 1 }{ 2 }{ 3 }{ 5 }{ 6 }{ 7 }{ 1 2 }{ 1 3 }{ 1 5 }{ 1 6 }{ 1 7 }{ 2 3 }
    { 2 5 }{ 2 6 }{ 2 7 }{ 3 5 }{ 3 6 }{ 3 7 }{ 5 6 }{ 5 7 }{ 6 7 }{ 1 2 3 }{ 1 2 5 }
    { 1 2 6 }{ 1 2 7 }{ 1 3 5 }{ 1 3 6 }{ 1 3 7 }{ 1 5 6 }{ 1 5 7 }{ 1 6 7 }{ 2 3 5 }
    { 2 3 6 }{ 2 3 7 }{ 2 5 6 }{ 2 5 7 }{ 2 6 7 }{ 3 5 6 }{ 3 5 7 }{ 3 6 7 }{ 5 6 7 }
    { 1 2 3 5 }{ 1 2 3 6 }{ 1 2 3 7 }{ 1 2 5 6 }{ 1 2 5 7 }{ 1 2 6 7 }{ 1 3 5 6 }{ 1 3 5 7 }
    { 1 3 6 7 }{ 1 5 6 7 }{ 2 3 5 6 }{ 2 3 5 7 }{ 2 3 6 7 }{ 2 5 6 7 }{ 3 5 6 7 }{ 1 2 3 5 6 }
    { 1 2 3 5 7 }{ 1 2 3 6 7 }{ 1 2 5 6 7 }{ 1 3 5 6 7 }{ 2 3 5 6 7 }{ 1 2 3 5 6 7 }

     

  12. سأقوم بتوضيح الفرق من خلال الإجابة على سؤالين ,

    ماهي لغة الترميز HTML؟

    الحروف هي إختصار HyperText Markup Language، وهي ليست لغة برمجية بالمعنى المتعارف عليه للغات البرمجة، ولكنها لغة أو طريقة لوصف محتويات صفحة الويب لبرامج التصفح، حيث أن أي برنامج متصفح انترنت يحتاج لمعرفة محتويات الصفحة من عناوين ونصوص وصور وروابط و غير ذلك من مكونات صفحة الويب، حتى تتمكن من عرضها بالشكل الصحيح، ولغة الترميز HTML، هي اللغة الرئيسية التي يتكون منها أي موقع أو صفحة على شبكة الإنترنت.وتتكون صفحة الويب من مجموعة من العناصر (Tags) أو تعرف كــ الوسوم، يكتب كل وسم بين (angle brackets) أو كما تسمى علامة أصغر من > وعلامة أكبر من <. ولا يقوم المتصفح بعرض هذه الوسوم، ولكن يقوم بعرض محتوياتها،

    ماهي لغة php ؟

    إختصار الحروف  Hypertext Pre Processor وهي من اللغات  Server Side مما يعنى أن الكود الخاص بموقعك لايراه المستخدم وإنما يرى فقط المخرج النهائي في شكل اكواد HTLM و قواعد البيانات هي ركيزة أساسية في بناء مواقع الويب التفاعلية فهي الوسيط بين ما يراه المستخدم وبين ما يريد صاحب الموقع عرضه فأنت كصاحب موقع عندما تريد كتابة تدوينة جديدة فإنك تكتبها وترسلها إلى قاعدة البيانات وعندما يريد مستخدم الموقع أن يرى موضوعك فإن صفحة الويب ولتكن post.php عندما يفتحها المستخدم فانها ترسل طلب لقاعدة البيانات MySQL وتعرض منها موضوعك .

    تخيل معي أنك تريد بناء موقع أو مدونة والمحتوى متغير بإستمرار بمعنى أن صاحب المدونة يكتب تدوينة كل يوم مثلًا فبالتالي سيكون من الصعب أنه كلما أراد كتابة موضوع أن يكتبها بلغة HTML ويغير المحتوي بشكل يدوي فبالتالي ستقوم لغة مثل PHP بجعل الموقع Dynamic لإدراة المحتوي الخاص بصاحب الموقع دون معرفة مسبقة بالتكويد مثل أن يقوم بإدراج موضوع جديد بالموقع او تعديل المحتوي او حتى الحذف من خلال لوحة تحكم مبرمجة بلغة مثل PHP وبناء نظام ادارة لمحتوي الموقع .

    • أعجبني 1
  13. الفكرة أن لغة الجافا سكربت تستخدم في مجال الفرونت إند والباك إند أي أنك بلغة واحدة تعمل في كلا الإتجاهين ,  حيث في الباك إند  يوجد إطار عمل إسمه   Node.js لا بد أن تعرف أنها من إطارات عمل الجافا سكريبت. وتمتاز  إطار ال Node.js بسرعتها حيث يمكن أن تؤدي أكثر من مهمة في نفس الوقت مما يكسب الخادم سرعة استهلاك أقل. وطبقاً لاحصائات موقع ستاك أوفرفلو السنوية لعام 2019 , فان لغة جافاسكريبت تحتل المرتبة الأولى في اهتمامات المبرمجين بنسبة 67% وهذا الشىء لا يقلل من شأن اللغات الأخرى ف php تعتبر أيضا لغة قوية ولها  إطار العمل  laravel  , ولكن نستطيع القول أن الجافا سكربت مجالاتها أوسع من لغة الphp  ويميزها أيضا أنها  Non-Blocking  أي أن الأوامر يتم تنفيذها  بالتوازي  بخلاف  لغة   php التي هي لغة block until completion اي ان الاوامر لايتم تنفيذها الا بتنفيذ ما سبق من اوامر وهذا هو الفرق الاكبر مابين PHP & Node.js 

    • أعجبني 3
  14. بتاريخ 4 ساعات قال Rawad Altaib:

    من اين ارفع واجباتي على جيت هب الرجاء المساعدة!!

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

    إتبع الخطوات التالية : 

    •  عليك  الدخول لموقع جيت هب وثم الضغط على  إنشاء repository  المستودع الخاص بك من خلال الضغط على new repository 

    5fa6d4c193048_1111.thumb.PNG.24661549f8f3745333586ba48758632f.PNG

    • إضافة الإسم المناسب لك التي تريد ظهوره في المستودع ثم  الضغط  على create 

    5fa6d55141201_222222.PNG.65e69b5bdf2726bbab54bf71027971af.PNG

    • سيتم تحويلك إلى المستودع الخاص بك إضغط على upload file 

    5fa6d6188b291_33333.thumb.PNG.20ed9d8d6c0bc91fb55b5c5209acbaa6.PNG

    • قم بإرفاق ملفات مشروعك التي تريد رفعها 

    3333.thumb.PNG.759adeee899a07e9ba9f87465d92f112.PNG

    • ثم إضافة وصف للتعديلات ثم الضغط على commit  حتى يتم إضاف الملفات للمستودع 

    55555PNG.thumb.PNG.c286ae24b6b1d4e3356eb43f0d74876b.PNG

    • أعجبني 1
  15.  سأقوم بشرح السؤال لك

    شرح عام عن المخطط : 

    الأن هذا المخطط يسمى  ERD وهي إختصار  Entity Relationship Diagram وهي طريقة لتمثيل البيانات المخزنة على قواعد البيانات والعلاقات بين الجداول  وهذه العملية تسهل على المستخدمين فهم البيانات المخزنه على قواعد البيانات و سهولة تعديل البيانات على قواعد البيانات والتقليل من نسبة الخطأ والتكرار, أي  يجب أن تقم من خلال هذا المخطط بتنفيذ قاعدة البيانات .

    شرح السؤال : 

    • الأن لاحظي في المخطط لديك 4 كيانات : 
    1.  جدول  manufacture : يحتوي على 3 أعمدة ال  name ,city ,street
    2. جدول part :يحتوي على 3 أعمدة رقم الطلبية description و part_num وكما تلاحظ تحت الpart num خط أي يعني هو primary key  أي بمثابة الid . 
    3. جدولorder :يحتوي على order_num  .
    4. جدول  customer ويحتوي على name
    • يوجد بين الكيانات علاقات : 
    • بين جدول manufacture  وpart: علاقة1:n أي علاقة one to many 
      • شكل العلاقة في الداتا بيز :
    part(part_num,manufacturer_id,description)
    
    manufacturer(id,name, city, street)
    
    • بين الجدول order و part: علاقة 1:m أي علاقة one to many وذلك يعني أن part يشمل وتحتوي على العديد من الorders وأيضا order يحتوي على عدة parts . وبالتالي في هذه العلاقة نحن نحتاج لجدول وسيط وكما تلاحظ في المخطط عن العلاقة contains  ولها quantity. 
      • شكل العلاقة في الداتا بيز  : 

    الجدول الوسيط عادة يكون اسمه order_parts 

    order_parts(id,order_num, part_num, quantity)
    •  بين الجدول order و co: علاقة m:m أي علاقة one to many وذلك يعني أن الزبون لدي العديد من الطلبات
      • شكل العلاقات في الداتا بيز :

    حيث  أن customer_id هو المفتاح المؤشر أي الذي يؤشر على جدول الزبائن 

    customer(id, name)
    
    order(id,order_num, customer_id)

     

  16. المعالج جيد و مناسب لبرمجة الويب , أنا أستخدم معالج من نوع u  لا يوجد أي مشاكل  و Ram أيضا مناسبة ما لم تحتاج لدخول لتطوير الأندرويد أو لإستخدام محاكي أو لإستخدام برامج التصميم لو كنت تريد ذلك يمكنك إضافة Ram على الحاسوب لتصبح 16على جهازك .

    • أعجبني 2
  17. بتاريخ 57 دقائق مضت قال عبد الواحد الحدادي:

    @omar haddadمرحبا بك أستاذي، أي Géneration أفضل من فضلك ؟ وأي شركة أحسن ؟ 

    شكراً لك .

    حاسوبي  (hp   (intel corei7  ويعمل معي بشكل  جيد  ولكن حسب  إطلاعاتي  على  تجارب الأخرين  من أفضل  أجهزة الحاسوب هي msi  ولكنها من الفئة المرتفعة لذلك جهاز من شركة  hp  أو Lenovo أعتقد أنه مناسب للإستخدام  البرمجي  وذلك حسب تجربتي في استخدام جهاز hp .

    • أعجبني 2
  18. مرحباً عبد الواحد 

      أنصحك بإختيار الجهاز الذي يناسب المواصفات التالية فهي مناسبة جدا  : 

    • معالج intel core i5 أو intel core i7 أو Amd Ryzen 5 أو Amd Ryzen 7 من الجيل السابع أو الثامن.
    • رام 8 جيجا رام أو 16 جيجا.
    • شاشة بحجم 15 بوصة فيما فوق وبدقة FHD.
    • هارد HDD يفى بالغرض لكن هارد SSD أفضل وأسرع.
    • كارت الشاشة لا يهم ما دمُت لا تهوى الألعاب.

    بالتوفيق  لك 

    • أعجبني 1
    • Java Development Kit  JDK  :
      • هي بيئة تطوير برمجيات تُستخدم لتطوير تطبيقات وتطبيقات Java وتحتوي على أدوات التطوير وتحتوي على JRE.
    • Java Rune Etimnvironment  JRE  :
      • هي طبقة برمجية تعمل فوق برنامج نظام تشغيل الحاسوب وتوفر  مكتبات  والموارد الأخرى التي يحتاجها برنامج Java محدد. ويتضمن على jvm  .
    •    Java Virtual Machine  jvm   :  
      • ألة جافا الإفتراضية حيث  أن برامج جافا لاتعمل بشكل مباشر على نظام التشغيل بينما تعمل عبر  وسيط  وهذا الوسيط هو الjvm  وهو ما يجعل تطبيقات جافا تعمل على جميع الأنظمة .
    • أعجبني 2
  19. بتاريخ 1 ساعة قال دانا دلول:

    تمام شكرا

    طب ليش حطيت id الزبون في جدول الطلبيات ليش ما عملت جدول ثالث يكون وسيط بينهم؟؟

    لأن العلاقة one to many لا تحتاج جدول وسيط .

    اقتباس

    بس في بعض الاسئلة ما عرفت احلها زي

    6-استعلام يعرض المنتجات الغير موجودة في اي طلبيات.

    8-بروسيجر يستقبل رقم الزبون ويسترجع كل الطلبيات الخاصة برقم الزبون المرسل.

    11-دالة تستقبل رقم الزبون وتعيد 1 اذا كان له طلبيات سابقة أو تعيد صفر اذا لم يكن له طلبيات سابقة.

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

    • أعجبني 1
    1.  عليك إنشاء repository  المستودع الخاص بك من خلال الضغط على new repository  5fa6d4c193048_1111.thumb.PNG.24661549f8f3745333586ba48758632f.PNG
    2. إضافة الإسم المناسب لك التي تريد ظهوره في المستودع ثم  الضغط  على create 5fa6d55141201_222222.PNG.65e69b5bdf2726bbab54bf71027971af.PNG
    3. سيتم تحويلك إلى المستودع الخاص بك إضغط على upload file 5fa6d6188b291_33333.thumb.PNG.20ed9d8d6c0bc91fb55b5c5209acbaa6.PNG
    4. قم بإرفاق ملفات مشروعك التي تريد رفعها 3333.thumb.PNG.759adeee899a07e9ba9f87465d92f112.PNG
    5. ثم إضافة وصف للتعديلات ثم الضغط على commit  حتى يتم إضاف الملفات للمستودع 55555PNG.thumb.PNG.c286ae24b6b1d4e3356eb43f0d74876b.PNG
  20. سأقوم بشرح السؤال لك

    • شرح عام عن المخطط : 

    الأن هذا المخطط يسمى  ERD وهي إختصار  Entity Relationship Diagram وهي طريقة لتمثيل البيانات المخزنة على قواعد البيانات والعلاقات بين الجداول  وهذه العملية تسهل على المستخدمين فهم البيانات المخزنه على قواعد البيانات و سهولة تعديل البيانات على قواعد البيانات والتقليل من نسبة الخطأ والتكرار, أي  يجب أن تقم من خلال هذا المخطط بتنفيذ قاعدة البيانات .

    • شرح السؤال : 

    الأن لاحظي في المخطط لديك 3 كيانات  أي 3 جداول: 

    1.  جدول الطلبيات: يحتوي على 4 أعمدة رقم الزبون واسم الزبون والجوال والمحافظة.   
    2. جدول الزبون :يحتوي على 2 أعمدة رقم الطلبية و تاريخ الطلبية .
    3. جدول المنتجات:يحتوي على 3 أعمدة رقم المنتج و اسم المنتج و سعر المنتج .

    يوجد بين الكيانات علاقات : 

    1. بين جدول الطلبيات والزبون :  علاقة1:n  أي  علاقة one to many    
      • وذلك يعني أن الزبون الواحد يطلب العديد من الطلبيات وبالتالي سيكون لديك جدولين الأول الزبائن والثاني  الطلبيات ويحتوي جدول الطلبيات على  مفتاح أجنبي يوشر على ال id الخاص ب الزبون .
        • شكل الداتا بيز :
    • الزبون (id ,رقم الزبون ,اسم الزبون ,الجوال ,المحافظة ) 
    • الطلبيات (client_id ,id , رقم الطلبية , تاريخ الطلبية )  يعتبر client_id  هو المفتاح الأجنبي الذي يؤشر على ال id الخاص بالزبون   
    1. بين الجدول الطلبيات والمنتجات : علاقة n:m أي علاقة many to many
      • وذلك يعني أن الطلبية الواحدة تشمل وتحتوي على العديد من المنتجات وأيضا  المنتج الواحد يمكن أن يشتمل في أكثر من طلبية . وبالتالي في هذه العلاقة نحن نحتاج لجدول وسيط وكما تلاحظ في المخطط عن العلاقة يشمل يوجد عمودين هما العدد  وسعر الوحدة 
        • شكل الداتا بيز : 
          • الطلبيات (client_id ,id , رقم الطلبية , تاريخ الطلبية ) 
          • منتجات (id , رقم المنتج , اسم المنتج ,سعر المنتج )
          • الجدول الوسيط عادة يكون اسمه order_product ووتكون تقسيمة الأعمده فيه هكذا (order_id , product_id ,id , العدد , سعر الوحدة )  حيث أن order_id و product_id   هما مفتاحان أجنبيان يؤشر كل منهم على الجدول الخاص بهم 
    • أعجبني 2
  21. يمكنك القيام بذلك من خلال عامل التشغيل BETWEEN الذي يحدد القيم ضمن نطاق معين. ويمكن أن تكون القيم أرقامًا أو نصوصًا أو تواريخ.

    ويتم وضع له بداية ونهاية ويتم البحث بين قيمة البداية والنهاية  وهنا: 

    • البداية هي بداية  العام  1982 أي أول يوم 
    • النهاية هي نهاية العام 1982 أي أخر يوم 

    يمكنك وضع إسم الجدول لديك في خانة table_name 

    SELECT name ,hire_date FROM table_name  WHERE hire_date BETWEEN '1982-1-1' and '1982-12-31' 
×
×
  • أضف...