عمر الحلو

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

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

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

السُّمعة بالموقع

3 Neutral
  1. انصحك بكتاب Head First Java في حال كنت مبتدئة او اذا كانت معرفتك بالجافا محصورة بكورسات الفيديو. الكتاب جد ممتع وسلس. ويمكنكي انهائه بسرعة. فالكتاب يعرف نفسه على انه مشروع تعليمي وليس مرجعاً بعد ذلك يمكنك الانتقال لقراءة Effective Java (او ان كنت متمكنة من الاساسيات مسبقا) الكتاب فيه مادة العلمية قيمة جدا, وستجدين انه يوضح لك الكثير من الملابسات التي قد تكون عندكِ. يمكنك اعتماده كمرجع او اتخاذ Java The Complete Reference من Oracle كمرجع ايضاً. اما كنصائح عامة (ليست فقط عن الجافا), فأنصحك بان تحاولي ان تكوني براغماتية في قراءتك وألا تلزمي نفسك بقراءة الكتب من الغلاف الى الغلاف. و البحث دائما عن اي فكرة لم تكتمل tي ذهنك على https://stackoverflow.com/ أو غيره. أيضاً, في بداية تعلم مجال ما, حاولي الابتعاد عن كورسات الفيديو, العربية خاصةً. فهي لا تهدف غالبا الى توضيح افكار تهم من يريد فهم عميق واحترافي. مع وجود استثناءات طبعاً.
  2. ليس لدي خبرة جيدة بلغة الـ C ولكن يمكنني ان أعطيك فكرة الحل. وقد كتبت برنامج بلغة الجافا لتطلع عليه أيضاً. - اولا عليك تحليل ما ادخله المستخدم لتحصل على اطراف كل مجال وتخزنها كقيمة عددية (int, float,...) فمثلا المجال الأول [a,b] والثاني ]c,d] - تقوم بتعيين بداية مجال التقاطع قيمةً وإشارةً (اي مغلق ام مفتوح [ / ] ) بأن تأخذ قيمة وإشارة القيمة الاكبر من بين بدايتي المجالين (أي a و c ) .اذا كانتا متساويتين ناخذ قيمتهما وإشارة المجال المفتوح ان وجدت في اي منهما والمغلق ان لم توجد. - تقوم بتعيين نهاية مجال التقاطع قيمةً وإشارةً (اي مغلق ام مفتوح [ / ] ) بأن تأخذ قيمة وإشارة القيمة الأصغر من بين نهايتي المجالين (أي b و d ) .اذا كانتا متساويتين ناخذ قيمتهما وإشارة المجال المفتوح ان وجدت في اي منهما والمغلق ان لم توجد. - اذا كانت بداية مجال التقاطع اصغر من نهايته, فتقاطع المجالين هو مجال (الحالة 1) اذا كانت بداية مجال التقاطع تساوي نهايته, وكانت كلتا الإشارتين هما مجال مغلق( [ ] ), فتقاطع المجالين هو نقطة واحدة (الحالة 2) أما في ما عدا ذلك, فتقاطع المجالين هو المجموعة الخالية φ فاي (الحالة 3) import java.util.Scanner; public class Programming_problems { public static void main(String[] args) { //------------------getting input from the user------------------------- // input must be in this format: ]/[ a, b ]/[ (( ex. [-2,15.3[ )) Scanner scan = new Scanner(System.in); String S1 = scan.next(); String S2 = scan.next(); //------------------converting strings to numbers----------------------- String temp[]; char sings[] = new char[2]; //a and b are the start and end of the first range respectively. temp = S1.split("[,\\]\\[]"); float a = Float.parseFloat(temp[1]); float b = Float.parseFloat(temp[2]); //c and d are the start and end of the second range respectively. temp = S2.split("[,\\]\\[]"); float c = Float.parseFloat(temp[1]); float d = Float.parseFloat(temp[2]); //e and f are the start and end of the Intersection respectively. float e, f; //----------------claculating both ends of Intersection range----------- // assign the highest start of both ranges to the start of Intersection if (a < c) { e = c; sings[0] = S2.charAt(0); } else if (a > c) { e = a; sings[0] = S1.charAt(0); } else { e = a; if (S1.charAt(0) == ']' || S2.charAt(0) == ']') { sings[0] = ']'; }else{ sings[0] = '['; } } // assign the lowest end of both ranges to the end of Intersection if (b < d) { f = b; sings[1] = S1.charAt(S1.length() - 1); } else if (b > d){ f = d; sings[1] = S2.charAt(S2.length() - 1); }else { f=d; if (S1.charAt(0) == '[' || S2.charAt(0) == '[') { sings[1] = '['; }else{ sings[1] = ']'; } } //------------------calculating the Intersection------------------------ //check whether f is greater than e, if so, then the Intersection is a range indeed. if (e < f) { System.out.println("" + sings[0] + e + "," + f + sings[1]); } //check whether f is equals to e ,if so, then the Intersection is a single element. else if (e == f && sings[0] == '[' && sings[1] == ']') { System.out.println("{" + e + "}"); } // check whether f is less than e(which can't be a valid range), if so, then the Intersection is Phi. else { System.out.println("ᵠ"); } } }
  3. غالبا الأخ من سوريا. ففي سوريا "البكلوريا" تعني الشهادة الثانوية وليس البكلورياس أما بالنسبة للجواب, فيجب عليك أن تحدد ما الذي تحبه بالضبط في الحاسوب. هل تحب عالم البرمجة والخوارزميات و ..الخ . أما انك تحب عالم التصميم, فحبك للمجالي المعلوماتية والعمارة يوحي (لي على الأقل) بانك تحب التصميم, إن كان هذا هو الحال فعليك بالهندسة المعمارية والتوسع في برامج التصميم وبذلك تستطيع ان تبدع بكلا المجالين ولا يمنع ذلك تعلم البرمجة كهواية. أما ان كنت أميل الى عالم الحواسيب والبرمجة وتحب ان تدرسها بشكل أكاديمي وان تكرس نفسك لهذا المجال فهندسة المعلوماتية هي ما تبحث عنه. أما بالنسبة لمستقبل كل مجال, فأعتقد أن النجاح فيهما يتطلب التمييز بشدة, اي ان تعطي الكثير من وقتك لهذا الأمر. فلذلك كن حريصاً في اختيار مجال تستطيع ان تقضي ساعات في دراسته دون ان تشعر بالملل والضجر منه. - اختر عملا تحبه, ولن تضطر للعمل يوماً واحداً بعد ذلك في حياتك... - (كونفوشيوس) اتمنى ان اكون قد أفدتك بشيء.
  4. قد بدأت حديثاً بالدخول الى عالم الأندرويد وبعد ان ثبتت Android studio صادفت الــ"Gardle" عدة مرات دون ان اعرف عنه شيء سوى انه أداة مساعدة. فما هي وظيفته بالضبط؟ ولماذا هو مدّمج مع Android Studio؟
  5. كثيرا ما أصادف مصطلح scripting language عند الحديث عن لغات البرمجة كـجافاسكريبت و بايثون وغيرها, ولكن ما الشيء المميز في هذه اللغات؟