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

لوحة المتصدرين

  1. Muhammad Saied

    Muhammad Saied

    الأعضاء


    • نقاط

      2

    • المساهمات

      5


  2. هناء سلطاني

    هناء سلطاني

    الأعضاء


    • نقاط

      2

    • المساهمات

      2


  3. zahershullar

    zahershullar

    الأعضاء


    • نقاط

      1

    • المساهمات

      625


  4. Huda Almashta

    Huda Almashta

    الأعضاء


    • نقاط

      1

    • المساهمات

      411


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 11/09/16 في كل الموقع

  1. تقليديًا، البرنامج الأول الذي يكتبه الناس عندما يتعلمون لغة برمجة جديدة يسمى برنامج hello world (مرحبًا بالعالم). كل ما يفعله هذا البرنامج هو طباعة العبارة "!Hello, World" على الشاشة. في لغة Java، يبدو هذا البرنامج كما يلي: public class Hello { public static void main(String[] args) { // generate some simple output System.out.println("Hello, World!"); } } عند تشغيل هذا البرنامج سيعرض ما يلي: Hello, World! لاحظ أن الخرج لا يحوي علامات الاقتباس. تتكون برامج Java من صنف (class) وتعريفات توابع (methods)، وتتكون التوابع منتعليمات (statements). التعليمة هي سطر من الكود ينفذ عملية بسيطة. في برنامج hello world، هذا السطر هو تعليمة طباعة التي تعرض رسالة على الشاشة: System.out.println("Hello, World!"); يعرض تابع System.out.println النتائج على الشاشة؛ يرمز اسم التّابع println للعبارة "print line" (اطبع سطرًا). من المحيّر أن كلمة اطبع قد تعني "اعرضها على الشاشة" وقد تعني "أرسلها إلى الطابعة". في سلسلتنا هذه، سنحاول عندما نقصد الإخراج على الشاشة أن نقول: "عرض". تنتهي تعليمة الطباعة بفاصلة منقوطة (;) مثل معظم التعليمات. لغة Java "حساسة لحالة الأحرف" (case-sensitive)، وهذا يعني أن الحروف الكبيرة تعتبر مختلفة عن الحروف الصغيرة. في هذا المثال، يجب أن تبدأ كلمة System بحرف كبير؛ وإذا كتبت system أو SYSTEM فلن يعمل. التّابع (method) هو سلسلة تعليمات تحمل اسمًا. هذا البرنامج يعرف تابعًا وحيدًا اسمه main: public static void main(String[] args) اسم التّابع main وشكله خاصين: عند تشغيل البرنامج، يبدأ التنفيذ عند أول تعليمة في main وينتهي عند إنهاء آخر تعليمة فيها. سنرى لاحقًا برامج تعرف فيها أكثر من تابع واحد. الصنف (class) هو مجموعة عمليات. يعرف هذا البرنامج صنفًا اسمه Hello. يمكنك تسمية الصنف بأي اسم تشاء، لكن جرت العادة أن يبدأ اسم الصنف بحرف كبير. يجب أن يطابق اسم الصنف اسم الملف الذي يحويه، ولذلك يجب أن تحفظ هذا الصنف في ملف اسمه Hello.java. تستخدم Java الحاضنات ( { و } ) لتجميع الأشياء مع بعضها. في ملف Hello.java: تضم الحاضنات الخارجية تعريف الصنف، أما الحاضنات الداخلية فتضم تعريف التّابع. السطر الذي يبدأ بشرطتين مائلتين (//) هو تعليق (comment)، وهو عبارة عن نص يوضع لتوضيح الشفرة المصدرية. عندما يرى المترجم علامة // يتجاهل كل شي يليها حتى نهاية السطر. لا تؤثر التعليقات على تنفيذ البرنامج، لكنها تسهل فهم المقصود من التعليمات للمبرمجين الآخرين (ولك أنت في الأوقات اللاحقة). دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن عرض السلاسل المحرفية يمكنك وضع أي عدد من التعليمات داخل main. مثلًا، حتى تعرض أكثر من سطر واحد على الخرج: public class Hello { public static void main(String[] args) { // generate some simple output System.out.println("Hello, World!"); // first line System.out.println("How are you?"); // another line } } كما يبين هذا المثال، يمكنك وضع التعليقات في نهاية السطور كما يمكنك وضعها على سطور كاملة وحدها. تدعى العبارات التي تحيط بها علامات الاقتباس بالسلاسل المحرفية (strings)، لأنها تحوي سلسلة من "المحارف" (characters) المتتابعة. قد يكون المحرف رقمًا، أو حرفًا، أو علامة ترقيم، أو رمزًا، أو فراغًا (space)، أو علامة جدولة (tab)، الخ. تلحق تعليمة System.out.println محرفًا خاصًا بالسلسلة المحرفية، وهو محرف السطر الجديد (newline)، الذي يحرك مؤشر الطباعة إلى بداية السطر التالي. إذا لم ترغب بمحرف السطر الجديد في نهاية العبارة، يمكنك استخدام print بدلًا من println. public class Goodbye { public static void main(String[] args) { System.out.print("Goodbye, "); System.out.println("cruel world"); } } في هذا المثال، لا تضيف التعليمة الأولى محرف السطر الجديد، لذلك يظهر الخرج على سطر واحد كالتالي: Goodbye, cruel world. لاحظ أن هناك فراغًا في نهاية السلسلة المحرفية الأولى، والذي يظهر في خرج البرنامج. سلاسل الهروب يمكنك أن تعرض عدة سطور على الخرج بسطر كود واحد. عليك فقط أن تخبر Java بمواضع فواصل السطور. public class Hello { public static void main(String[] args) { System.out.print("Hello!\nHow are you doing?\n"); } } الخرج هنا سطرين، وكل منهما ينتهي بمحرف السطر الجديد: Hello! How are you doing? المحرفين n\ هما سلسلة هروب (escape sequence)، وهذه السلاسل عبارة عن عدة محارف تعبر عن محرف خاص واحد. تسمح لك الشرطة الخلفية (\) بالهروب من التفسير الحرفي للسلسلة. لاحظ عدم وجود فراغ يفصل بين n\ وبين How. إذا أضفت فراغًا بينهما، سيظهر الفراغ في بداية السطر الثاني. تستخدم سلاسل الهروب أيضًا لطباعة علامات الاقتباس داخل السلاسل المحرفية. بما أن علامات الاقتباس تحدد بدايات السلاسل المحرفية ونهاياتها، فلا يمكنك وضعها في نص السلسلة دون استخدام علامة الشرطة الخلفية. System.out.println("She said \"Hello!\" to me."); سلسلة الهروب المحرف الناتج n\ سطر جديد t\ علامة جدولة؛ تعادل ثمانية فراغات أفقية عادة "\ علامة اقتباس \\ شرطة مائلة خلفية الجدول 1.1: بعض سلاسل الهروب الشائعة الناتج هو: She said "Hello!" to me. تنسيق الكود بعض الفراغات إلزامية في برامج Java. فلا بد، على سبيل المثال، من فصل الكلمات عن بعضها بفراغ واحد على الأقل؛ أي أن البرنامج التالي غير صالح: publicclassGoodbye{ publicstaticvoidmain(String[] args) { System.out.print("Goodbye, "); System.out.println("cruel world"); } } لكن معظم الفراغات الأخرى اختيارية. مثلًا، هذا البرنامج صالح: public class Goodbye { public static void main(String[] args) { System.out.print("Goodbye, "); System.out.println("cruel world"); } } كما أن فصل التعليمات على سطور مختلفة اختياري أيضًا. بالتالي يمكننا كتابة البرنامج السابق هكذا: public class Goodbye{public static void main(String[] args){System.out.print("Goodbye, "); System.out.println("cruel world");}} سيعمل البرنامج، لكن قراءته ازدادت صعوبة في كل مرة. استخدام الفراغات وتوزيع التعليمات على سطور منفصلة مهمان جدًا لتنظيم برنامجك بصريًا، لتسهيل فهمه وتسهيل العثور على الأخطاء فيه عند حدوثها. في العادة، تجد في المنظمات التي تعمل كثيرًا في تطوير البرمجيات شروطًا صارمة تحدد طريقة ترتيب الشفرات المصدرية. مثلًا، تنشر Google معاييرها الخاصة حول كتابة أكواد Java للاستخدام في المشاريع مفتوحة المصدر:http://google.github.io/styleguide/javaguide.html. قد لا تستوعب هذه المعايير الآن، لأنها تذكر بعض مزايا لغة Java التي لما تتعرف عليها. لكنك قد ترغب بزيارتها بين الحين والآخر أثناء قراءة هذه السلسلة. تنقيح الكود كلما أردت اختبار ميزة جديدة، عليك تجربة ارتكاب بعض الأخطاء عن عمد. على سبيل المثال، في برنامج hello world، ماذا يحدث لو أسقطت إحدى علامات الاقتباس؟ ماذا لو أسقطت العلامتين معًا؟ وماذا لو أخطأت بكتابة println؟ هذه التجارب تساعدك على تذكر ما تقرؤه. كما تساعدك في تنقيح الكود، لأنك تتعلم معنى رسائل الأخطاء المختلفة. من الأفضل أن ترتكب الأخطاء الآن عمدًا بدلًا من أن تقع بها لاحقًا دون قصد. تصحيح الأخطاء يشبه العلوم التجريبية أيضًا: بمجرد أن تظن أنك عرفت ما هو الخطأ، تعدل برنامجك وتجرب ثانية. إذا كانت فرضيتك صحيحة، عندئذ ستتمكن من التنبؤ بنتيجة التعديل، وتقترب خطوة من البرنامج الصحيح المطلوب. أما إذا كانت فرضيتك خاطئة، عليك أن تجد حلًا آخر. يجب أن تتلازم البرمجة مع تنقيح الكود من الأخطاء. لا تكتب سطورًا كثيرة وبعدها تنتقل إلى عملية تصحيح معتمدًا على التجربة والخطأ حتى تصل للنتيجة المطلوبة. بل عليك أن تبدأ ببرنامج يعمل قادر على تنفيذ شيء ما، ثم عمل تعديلات صغيرة، وتنقيحها أولًا بأول، حتى تصل إلى برنامج يعطيك النتيجة المطلوبة. بهذا الأسلوب، سيبقى برنامجك يعمل دائمًا، وسيسهل عليك عزل الأخطاء. من الأمثلة الممتازة على هذا المبدأ نظام التشغيل لينكس (Linux)، الذي يحوي ملايين السطور البرمجية. بدأ لينكس كبرنامج بسيط استعمله لينوس تورفالدز (Linus Torvalds) ليستكشف رقاقة إنتل 80386. وعلى حد قول لاري غرينفيلد (Larry Greenfield) في دليل مستخدم لينكس (The Linux Users’ Guide)، ”أحد أولى مشاريع لينوس كان برنامجًا يبدل بين طباعة AAAA و BBBB. ثم تطور هذا إلى لينكس“. أخيرًا، قد تثير البرمجة أحاسيس قوية. إذا كنت تسارع علة صعبة، قد تشعر بالغضب، أو القنوط، أو الحرج. تذكر أنك لست وحدك، وإن جُلّ المبرمجين إن لم يكن كلهم عانوا من حالات مشابهة. لا تتردد في طرح الأسئلة على أحد الأصدقاء! أدوات التطوير تعتمد خطوات ترجمة وتنفيذ وتنقيح أكواد Java على بيئة التطوير لديك ونظام التشغيل الذي تستخدمه. الجزء التّالي هو مقدمة مختصرة لبيئة DrJava وهي بيئة تطوير متكاملة (Integrated Development Environment أو IDE اختصارًا) مناسبة للمبتدئين. تثبيت DrJava أسهل طريقة لبدء البرمجة بلغة Java هي استخدام موقع يترجم لك شفرات Java وينفذها في المتصفح. هناك على سبيل المثال jdoodle.com، و compilejava.net، و tutorialspoint.com، وغيرها. إذا لم تكن قادرًا على تثبيت برامج جديدة على حاسوبك (وهذه هي الحال غالبًا في المدارس العامة ومقاهي الإنترنت)، يمكنك استخدام بيئات التطوير هذه المتاحة عبر الإنترنت لتنفيذ معظم البرامج في هذا الكتاب. لكن إذا أردت ترجمة وتشغيل برامج Java على حاسوبك، سوف تحتاج: عدة تطوير Java‏ (Java Development Kit أو JDK)، التي تتضمن المترجم، وآلة Java الافتراضية (Java Virtual Machine أو JVM) التي تفسر شفرات بايت الناتجة عن الترجمة، وغيرها من الأدوات مثل Javadoc. محرر نصوص بسيط مثل Notepad++‎ أو Sublime Text، أو بيئة تطوير مثل DrJava، أو Eclipse، أو jGrasp، أو NetBeans. بالنسبة لعدة التطوير (JDK) ننصحك باستخدام Java SE (النسخة القياسية Standard Edition)، التي توفرها Oracle مجانًا. ننصحك أيضًا باستخدام DrJava، وهي بيئة تطوير متكاملة (IDE) مفتوحة المصدر ومكتوبة بلغة Java (انظر الشكل أ.1). لتثبيت JDK، ابحث في الوب عن "download JDK" ويجب أن توصلك النتائج إلى موقع Oracle. انزل لأسفل حتى تصل إلى"Java Platform, Standard Edition" وانقر زر تنزيل JDK. ثم اقبل اتفاقية الترخيص واختر المثبت المناسب لنظام تشغيلك. لا تنسَ تشغيل برنامج التثبيت بعد تنزيله! لثبيت DrJava، اذهب إلى http://drjava.org ونزّل ملف JAR. ننصحك بحفظه على سطح المكتب أو مكان مناسب آخر. فقط انقر على ملف JAR نقرة مزدوجة لتشغيل DrJava. ننصحك عند تشغيل DrJava أول مرة بتغيير ثلاثة خيارات يمكنك الوصول إليها من قائمة: Edit > Preferences في قسم Miscellaneous: عدل Indent Level (المسافة البادئة) إلى 4، وفعّل خيار Automatically Close Block Comments، وألغِ تفعيل خيار Keep Emacs-style Backup Files. الوضع التفاعلي في DrJava إحدى أهم ميزات DrJava هي "لوحة التفاعل" أسفل النافذة. يمكنك تجربة الشفرات فيها بسرعة، دون كتابة تعريف صنف ودون المرور بمراحل حفظ وترجمة وتنفيذ البرنامج. يظهر الشكل التالي مثالًا. هناك ملاحظة دقيقة وحيدة عليك الانتباه لها عند استخدام ميزة التفاعل. إذا لم تضع فاصلة منقوطة في نهاية التعبير الحسابي أو التعليمة، سوف يعرض DrJava النتيجة تلقائيًا. لاحظ في الشكل السابق إنهاء سطور التصريح عن المتغيرات بفواصل منقوطة، بينما لا توجد فواصل في نهايات التعابير المنطقية في السطور التي تليها. توفر عليك هذه الميزة طباعة System.out.println كل مرة. الجميل في هذه الميزة هو أنك لا تحتاج لتعريف صنف جديد، ثم تعريف عملية main، ثم كتابة تعابير عشوائية ضمن تعليمات System.out.println، ثم حفظ الملف المصدري، وبعدها ترجمة الشفرات المصدرية كلها بشكل سليم قبل رؤية النتائج. كما يمكنك أيضًا استخدام السهمين العلوي والسفلي من لوحة المفاتيح لتكرار الأوامر السابقة وتجربة اختلافات متعددة. ترجمة -وبتصرف- لجزء من الفصل الأول من كتاب Think Java: How to Think Like a Computer Scientist لكاتبيه Allen B. Downey و Chris Mayfield.
    1 نقطة
  2. كانت البرامج التي اطلعنا عليها لحد الآن تعرض رسائل على الشاشة فقط، الذي لا يشتمل على حسابات حقيقية كثيرة. سيبين لك هذا الفصل طريقة قراءة الدخل من لوحة المفاتيح، واستخدام ذلك الدخل لحساب نتائج معينة، ثم تنسيق تلك النتائج وعرضها على الخرج. صنف System لقد استخدمنا System.out.println كثيرًا، لكن ربما لم تنتبه لمعناها. System هو صنف يوفر توابع متعلقة "بالنظام" (system) أو البيئة التي تعمل فيها البرامج. كما أنه يوفر أيضًا System.out، وهي قيمة خاصة توفر توابع لعرض الخرج، ومنها تابع println. في الواقع، يمكنك استخدام System.out.println لعرض قيمة System.out: System.out.println(System.out); النتيجة هي: java.io.PrintStream@685d72cd يدل هذا الخرج على أن System.out هو PrintStream، معرف ضمن حزمة تدعى java.io. الحزمة (package) هي مجموعة من الأصناف المتعلقة ببعضها؛ تحوي حزمة java.io الأصناف المتعلقة بالدخل والخرج اللذان يرمز لهما بالحرفين I/O والتي تعني Input and Output. أما الأرقام والأحرف بعد علامة @ فهي تمثل عنوان (address) الكائن System.out بشكل رقم ست عشري (في الأساس 16). عنوان القيمة هو موقعها في ذاكرة الحاسوب، وهذا الموقع قد يختلف بين الحواسيب المختلفة (أو عند تشغيل البرنامج في المرات التالية). كان العنوان في هذا المثال 685d72cd، لكن إذا شغلت البرنامج نفسه ثانية فقد تحصل على عنوان مختلف. كما يبين الشكل التالي، الصنف System معرفٌ في ملف اسمه System.java، وهناك ملف آخر يعرف فيه الصنف PrintStream اسمه PrintStream.java. هذه الملفات تابعة لمكتبة (library) لغة Java، وهي عبارة عن مجموعة ضخمة من الأصناف التي تستطيع استخدامها في برامجك. تشير تعليمة System.out.println إلى المتغير out ضمن الصنف System، وهو كائن من النوع PrintStream يوفر تابعًا يدعى println. صنف Scanner يحوي الصنف System أيضًا القيمة الخاصة System.in، وهي InputStream يوفر توابع لقراءة الدخل من لوحة المفاتيح. استخدام هذه التوابع ليس سهلًا؛ لكن لحسن الحظ أن Java توفر أصنافًا أخرى تسهل مهام الإدخال الشائعة. مثلًا، يوفر الصنف Scanner توابع لإدخال الكلمات، والأرقام، وغيرها من البيانات. يتوفر Scanner في الحزمة java.util، التي تحوي أصنافًا مفيدة جدًا تدعى "utility classes" (أصناف المرافق). قبل أن تتمكن من استخدام Scanner، عليك استيراده كالتالي: import java.util.Scanner; توضح تعليمة الاستيراد (import statement) للمترجم أنك عندما تقول Scanner فأنت تقصد أحد الأصناف المعرفة في java.util. هذه التعليمة ضرورية لأنه يحتمل وجود أصناف أخرى اسمها Scanner في حزم أخرى. استخدام تعليمة الاستيراد يجعل الكود واضحًا. لا يمكن استخدام تعليمات الاستيراد داخل تعريف صنف. تقليديًا، توضع تعليمات الاستيراد في بداية الملف. بعد ذلك عليك إنشاء Scanner: Scanner in = new Scanner(System.in); يصرح هذا السطر عن متغير من نوع Scanner ويسميه in وينشئ كائنًا جديدًا من نوع Scanner الذي يستقبل المدخلات من System.in. يوفر Scanner تابعًا يدعى nextLine الذي يقرأ الدخل من لوحة المفاتيح وترجع String. في المثال التالي نقرأ سطرين ونعيد إخراجهما للمستخدم: import java.util.Scanner; public class Echo { public static void main(String[] args) { String line; Scanner in = new Scanner(System.in); System.out.print("Type something: "); line = in.nextLine(); System.out.println("You said: " + line); System.out.print("Type something else: "); line = in.nextLine(); System.out.println("You also said: " + line); } } إذا أغفلت تعليمة الاستيراد ثم استخدمت Scanner سوف يعطي المترجم خطأ يشبه "Cannot find symbol" (لا يمكن العثور على الرمز). هذا يعني أن المترجم لا يعرف ماذا تعني عندما تقول Scanner. لعلك تتساءل لم يمكننا استخدام الصنف System دون استيراده؟ السبب هو أن الصنف System ينتمي لحزمة java.lang، التي تستورد آليًا في جميع البرامج. حسب وثائق اللغة فإن java.lang "توفر أصنافًا جوهرية في تصميم لغة البرمجة Java". صنف String ينتمي أيضًا لحزمة java.lang. بنية البرنامج لقد تعرفنا الآن على كافة العناصر التي تتكون منها برامج Java. يوضح الشكل التالي هذه العناصر التنظيمية. عناصر لغة Java، من الأكبر إلى الأصغر كمراجعة سريعة، الحزمة هي مجموعة أصناف، والأصناف تعرف فيها توابع. التوابع تحوي تعليمات، والتعليمات قد تحوي تعابير. تتكون التعابير من علامات (tokens)، وهي العناصر الأساسية للبرنامج، وتشمل الأرقام، وأسماء المتغيرات، والعوامل الحسابية، والكلمات المفتاحية، والرموز مثل الأقواس والفواصل المنقوطة. تأتي النسخة القياسية من Java مزودة بعدة آلاف من الأصناف التي يمكنك استيرادها، وهذا مثير جدًا ومخيف في نفس الوقت. يمكنك تصفح مكتبة جافا حيث أنها نفسها مكتوبة بلغة Java. لاحظ أن هناك فرق كبير بين لغة Java، التي تُعرّف التراكيب النحوية ومعاني العناصر المبينة في الشكل السابق، وبين مكتبة Java، التي توفر الأصناف المرفقة مع اللغة. التحويل من إنش إلى سنتيمتر دعنا نلق نظرة على مثال مفيد قليلًا. رغم أن معظم دول العالم اعتمدت النظام المتري للأوزان والمقاييس، إلا أن بعض الدول لا تزال عالقة مع الواحدات الإنكليزية. مثلًا، عندما يتحدث الأمريكان مع أصدقائهم من أوربا عن الطقس، قد يحتاجون للتحويل بين الدرجات المئوية والفهرنهايت. أو قد يرغبون بتحويل الأطوال من واحدة الإنش إلى السنتيمتر. يمكننا كتابة برنامج يساعد في ذلك. سنستخدم Scanner لإدخال القياسات بالإنش، ثم نحولها إلى سنتيمتر، ثم نعرض النتائج. تصرح السطور التالية عن المتغيرات وتنشئ Scanner: int inch; double cm; Scanner in = new Scanner(System.in); الخطوة التالية هي طلب المدخلات من المستخدم. سنستخدم تعليمة print بدلًا من println حتى يتمكن من كتابة المدخلات على نفس السطر. وسنستخدم تابع nextInt من الصنف Scanner، التي تقرأ الدخل من لوحة المفاتيح وتحوله إلى عدد صحيح: System.out.print("How many inches? "); inch = in.nextInt(); بعد ذلك، سوف نضرب الرقم المدخل بالقيمة 2.54، بما أننا نعرف أن كل إنش هو 2.54 سنتيمتر، ثم نعرض النتيجة: cm = inch * 2.54; System.out.print(inch + " in = "); System.out.println(cm + " cm"); هذه الأكواد تعمل بشكل صحيح، لكن هناك مشكلة صغيرة. إذا قرأ مبرمج آخر هذا الكود، فقد يتساءل من أين أتت القيمة 2.54. من أجل مصلحة الآخرين (ومصلحتك المستقبلية) يفضل إسناد هذه القيمة إلى متغير له اسم واضح. سنوضح ذلك في القسم التالي. القيم الحرفية والثوابت تدعى القيم التي تكتب في البرنامج، مثل 2.54، بالقيم الحرفية (literals). بشكل عام، ليس هناك مشكلة باستخدام القيم الحرفية. لكن عندما تظهر أرقام مثل 2.54 في التعابير دون أي تفسير، سوف تجعل الكود أصعب على القراءة. وإذا ظهرت القيمة نفسها مرات عديدة، وكانت هناك احتمال أن تتغير هذه القيمة في المستقبل، فهذا يجعل الكود أصعب على الصيانة والتجديد. هذه القيم تدعى أحيانًا الأرقام السحرية (magic numbers) (مع العلم أن الأشياء "السحرية" ليست جيدة هنا). من الممارسات الجيدة إسناد هذه القيم السحرية إلى متغيرات لها أسماء معبرة، كما يلي: double cmPerInch = 2.54; cm = inch * cmPerInch; هذه النسخة أسهل للقراءة وأقل عرضة للخطأ، لكن لا يزال هناك مشكلة. المتغيرات تتغير، لكن عدد السنتيمترات في الإنش الواحد لا يتغير. يجب ألا تتغير قيمة cmPerInch بعد إسناد قيمته أول مرة. توفر Java الكلمة المفتاحية final لفرض هذا الشرط. final double CM_PER_INCH = 2.54; التصريح عن متغير بكلمة final يعني أنه لا يمكن إسناد قيم جديدة له بعد نهيئته أول مرة. إذا حاولت تغيير قيمته، سوف يعطيك المترجم خطأ. تدعى المتغيرات التي يصرح عنها بكلمة final بالثوابت (constants). حسب التقاليد، تكتب أسماء الثوابت بحروف كبيرة، وتستخدم الشرطة المنخفضة (_) للفصل بين الكلمات. ترجمة -وبتصرف- للفصل Input and output من كتاب Think Java: How to Think Like a Computer Scientist لكاتبيه Allen B. Downey و Chris Mayfield.
    1 نقطة
  3. السلام عليكم بصراحة مقالات رائعة اعجبتنى كثيرا انا اقوم بتأليف القصص ، وارسم باستخدام القلم الرصاص على الورق ، واريد ان اكمل مشاريعى فى كتابة القصة واطورها برسم شخصياتها الكرتونية الخاصة والجديدة من ابتكارى ،، وقد اعجبنى هذا البرنامج الذى تشرح طريقة العمل به وهى سهلة وبسيطة ، لكنى حاولت ان اثبته على جهازى " تاب لينوفو S6000 " version 4.2 , لكن البرنامج الذى وجدته يعمل على version 4.3 , فماذا افعل لا اجد اصدار يمكننى تحميله يتناسب مع جهازى ، دلنى على اصدار اخر للبرنامج يتناسب معى ، واكون شاكرة لمساعدتك جدا
    1 نقطة
  4. حاجة هايلة جدا جزاك الله خيرا على المعلومة ، وربنا يوفقك.....
    1 نقطة
  5. لا شيء أفضل من بعض خربشاتك ومخططاتك الإبداعية لتدعم بها مسيرتك الفنية. دعونا نستخدم خربشة قديمة جيدة لتقديم خدمة تصميمية تجمع بين فن الرسم السريع الممتع وبين تصميم بطاقة أعمال جاهزة للطباعة. سنرسم هذه الخربشة مباشرة على برنامج أدوبي إليستريتور وسنستخدم تطبيقات تصميم الطباعة لتجهيز مستند بطاقة الأعمال مع هوامش النزيف الصحيحة لإنشاء ملف PDF جاهز للطباعة. التصميم سيكون عبارة عن بناء أفكار عشوائية ورسمها بأسلوب الخربشة. ما رأيك في معركة رجل العصا أو بقرة يتم اختطافها من قبل المخلوقات الفضائية كنقطة محورية في تصميم البطاقة؟ افتح برنامج أدوبي إليستريتور. سنصمم البطاقة بحجم 88x55 مم ولكن هذا قد يختلف بحسب الطابعة التي تختارها أو بحسب تعليمات مركز الطباعة الذي تتعامل معه. أدخل 3 مم ضمن خيارات هوامش الحدود القصوى (Bleed) حتى يقوم إليستريتور بتجهيز المستند. تذكّر أيضًا بأن تضع نظام الألوان CMYK للطباعة. لقد قام إليستريتور بوضع حدود حمراء اللون توضّح هوامش الحدود القصوى (Bleed) بالإضافة إلى الحدود السوداء التي توضّح حدود البطاقة الفعلية. قد ترغب أيضًا بوضع هوامش أمان حتى لا يكون أيٌّ من العناصر الهامّة في التصميم قريب جدًّا من الحافة. اسحب أربعة أدلّة إلى داخل لوح الرسم وحاذِها مع باقي الحدود. انقر بالزر الأيمن وقم بإلغاء قفل الأدلّة. حدّد الدليل الأيسر والأسفل ثم اضغط على مفتاح Enter. أدخل القيمة 5 مم للخيارات الأفقية والعمودية ثم اضغط OK. هذا سيجعل هذه الأدلّة على مسافة 5 مم داخل حدود المستند. كرّر العملية مع الدليلين العلوي والأيمن ولكن مع وضع القيمة -5 مم ليتم تحريكها بشكل معاكس. انقر بالزر الأيمن واختر قفل الأدلّة لتجنّب تعديلها بالخطأ. عادة ما تكون الخلفية في حالة رسم الخربشات عبارة عن سطور دفتر أو مفكرة. سنقوم بتصميم نقش يعمل على محاكاة تلك الخلفية من أجل تصميم بطاقة الأعمال. ارسم مربعًا مع لون تعبئة أبيض ثم حدّد الضلع العلوي باستخدام أداة التحديد المباشر Direct Selection Tool. اضغط CMD+C للنسخ وCMD+F للصق في المقدمة ثم حرّك للأسفل نحو وسط المربع. أضِف حدودًا زرقاء بقيمة 0.5 pt مع قيم اللون c35, m20, y0, k0. حدّد كلا العنصرين ثم اجمعهما في مجموعة واحدة ثم اسحبهما إلى لوحة الحوامل Swatches لإنشاء حامل نقش جديد. سيتم تكرار هذا النقش عند اختياره كخيار لتعبئة أي عنصر. ارسم مستطيلًا على لوح الرسم بحيث تطابق أضلاعه حدود النزيف. أضِف النقش الأخير الذي صممناه كلون تعبئة. لا يوجد بطاقة أعمال كاملة بدون تفاصيل الاتصال لذلك سنضيفها أولًا. أدخل الاسم أولًا باستخدام الخط المفضل لديك (انا اخترت هنا خط DIN). حاذِ هذا النص مع سطرين من أسطر الخلفية مع الدليل الأيسر الذي أنشأناه للحفاظ على مسافة الأمان. أنهِ كتابة بقية تفاصيل الاتصال بشكل يتناسب مع ارتفاع خطوط سطور الخلفية. قد ترغب في استخدام التباين في الأحجام لتمييز النصوص ولكن تذكّر أن تتجنب وضع أي حجم أقل من 6 للحفاظ على وضوح البطاقة المطبوعة. الآن لنقم بإبداع وتزيين هذه البطاقة. استخدم أداة فرشاة الدهان Paintbrush واختر فرشاة دائرية صغيرة من لوحة الفراشي Brushes palette. اختر لونًا شبيهًا بلون الحبر الافتراضي مثل هذا اللون c45, m35, y0, k0 للون الحدود ثم ابدأ بالخربشة على البطاقة. تأكّد من أن جميع الخطوط التي سترسمها تمتد خارج حدود البطاقة وحتى تمتد عبر الحدود القصوى (Bleed). عندما نبدأ بالخربشة فلا يوجد أية قواعد. فقط ارسم ما يدور في ذهنك، بالنسبة إلي رسمت مشهد معركة رجل العصا. لا تقلق إذا لم تكن رسومات دقيقة فهذا فن خربشة سريع وممتع فقط. فقط تذكّر أن تجعل امتداد الخطوط خلف الحدود القصوى (Bleed). املأ المساحات الفارغة بخربشات عشوائية، أنت على وشك تصميم أجمل بطاقة أعمال في العالم. حدّد الجميع CMD+A لتحديد جميع العناصر ثم اذهب إلى القائمة: Object > Expand Appearance هذا سيحوّل جميع تلك الحدود إلى أشكال جامدة. ارسم مستطيلًا مؤقتًّا يمتد ضمن كامل الحدود القصوى (Bleed). اترك هذا المستطيل بدون ألوان تعبئة أو حدود. حدّد جميع خطوط الخربشة التي تمتد خارج الحدود القصوى (Bleed) مع المستطيل الأخير الذي رسمناه. اختر خيار Crop من لوحة Pathfinder. جميع العناصر يجب أن تكون قد قُصّت ضمن الحدود القصوى (Bleed). حدّد جميع عناصر النصوص ثم اذهب إلى القائمة: Type > Create Outlines تمامًا مثل خاصية Expand Appearance الذي يحوّل الحدود إلى أشكال فإن خاصية Create Outlines تحوّل النص إلى أشكال جامدة، هذا سيمنع ظهور أية مشاكل مع النصوص أثناء عملية الطباعة. اذهب إلى القائمة: File > Print لتظهر خيارات الطباعة. اختر Adobe PDF من خيارات الطباعة ثم اختر Custom بالنسبة لحجم العمل ثم انتقل إلى خيارات العلامات والنزيف Marks and Bleed وأضِف جميع علامات الطباعة. سيقوم إليستريتور بتصدير العمل كملف PDF جاهز للطباعة لتقوم بطباعته على أي طابعة تختارها أو لدى أي مركز طباعة تختاره. قبل إرسال الملف إلى الطباعة قد ترغب في التحقق من تغطية الحبر وعدد لوحات التصميم التي سنستخدمها. في برنامج Adobe Acrobat Pro اذهب إلى القائمة: Advanced > Print Production > Output Preview في الخيارات التالية يمكنك تجربة كل لون من لوحات ألوان CMYK على حدة لتتأكّد من أن جميع الألوان قد تم تصديرها كما هو متوقع. سيظهر النص والخطوط بأفضل شكل مع لوحة ألوان أو اثنتين. اللوحات الإضافية التي تحمل الألوان ستجنّبنا مخاطر فقدان التسجيل والخطوط المموّهة. لاحظ في الصورة أن جميع خطوط الخربشة تستخدم لوحة السماوي Cyan ولكن النص لا يظهر وذلك لأن النص يستخدم لوحة الأسود (Black (K. بعد بضعة أيام ستكون البطاقة بين يديك وستشعر بأنك أروع مصمم في العالم. ترجمة -وبتصرّف- للمقال: Create a Fun Print-Ready Doodled Business Card Design لصاحبه: Chris Spooner.
    1 نقطة
  6. يتيح لك مايكروسوفت اكسل العديد من الأدوات التي تمكنك من تنظيم البيانات على شكل جداول بيانات، تنسيق هذه البيانات وإجراء العديد من العمليات الحسابية عليها باستخدام الصيغ أو المعاملات. كما يمكنك تحليل البيانات وعرضها على شكل مخططات أو جداول محورية. في هذا الدرس سنتعرف كبداية على كيفية إنشاء مصنف جديد workbook وعناصر هذا المصنف. بالإضافة إلى بعض أساسيات الاستخدام. إصدار البرنامج المستخدم في شرح هذا الدرس هو Excel 2013، لكنه لا يختلف عن الإصدارات السابقة (ربما بعض الاختلافات البسيطة مثل شكل الأيقونات أو مواقع الأدوات). واجهة اكسلبما أنّ هذه هي المرة الأولى التي ستستخدم فيها البرنامج، اختر مصنف فارغ blank workbook عند فتحه. سيكون المصنف الجديد بالشكل التالي: يتكون مصنف اكسل من: أشرطة الأدوات بتصميم Ribbon والتي قد تبدو مألوفة بالنسبة لك إذا اعتدت العمل على برنامج مايكروسوفت وورد.ورقة عمل sheet واحدة أو عدة أوراق عمل تقوم بإضافتها أو حذفها حسب حاجتك. تتكون ورقة العمل الواحد من الملايين من الصفوف rows والأعمدة columns، إذ أنّ عددها سيتزايد كلما قمت بالتمرير نزولًا، أو إلى جهة اليمين باستخدام أشرطة التمرير. تُسمى الأعمدة بالأحرف الأبجدية الإنجليزية وتُسمى الصفوف بالأرقام. يمكنك إضافة أوراق العمل عن طريق زر (+) بجانب اسم الورقة في أسفل يمين المصنف.الخلايا cells. تعرّف الخلية من تقاطع صف محدد مع عمود محدد. عند النقر على الخلية سيتم تحديدها بمربع أخضر.صندوق الاسم name box. وهو الذي يحتوي على اسم الخلية المحدد الذي ينتج من حرف العمود ورقم الصف. لاحظ اسم الخلية C7 في صندوق الاسم، أي الخلية الناتجة من تقاطع العمود C مع الصف 7.شريط الصيغة formula bar. وفيه تعرض محتويات الخلية سواء كانت نص اعتيادي أو صيغة.تحتوي أشرطة الأدوات على الكثير من الأوامر والخيارات التي تساعدك في تنسيق الخلايا وإجراء العمليات على البيانات. تنظم هذه الأوامر والخيارات في مجموعة من التبويبات tabs. مثلا يحتوي تبويب الصفحة الرئيسية Home على الكثير من الأوامر المهمة التي تحتاجها في تنسيق الخلايا، تنسيق البيانات وبعض الصيغ الأساسية كصيغة الجمع. ويحتوي تبويب إدراج Insert على أوامر لإدراج عناصر كالصور، المخططات، الجداول، وغيرها. أما تبويب صيغ Formulas فيمكنك من خلاله استعراض الصيغ والدوال الموجودة بمختلف الأنواع، كالدوال الرياضية، الإحصائية، المنطقية، وغيرها الكثير. لتوضيح كيفية استخدام اكسل والأوامر والأدوات المختلفة التي يوفرها سنقوم بعمل جدول بيانات بسيط لمبيعات متجر ما خلال فترة ما (قد تكون البيانات غير منطقية لكنها للتوضيح فحسب). انقر فوق الخلية التي تريد إدخال البيانات فيها سواء كانت بيانات نصية أو رقمية. يمكنك استخدام المفتاح Enter للانتقال إلى الخلية التالية إلى الأسفل، والمفتاح Tab للانتقال إلى الخلية التالية إلى اليمين إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليسار إذا كان اتجاه الورقة من اليسار إلى اليمين) بدلًا من استخدام الفأرة وتحديد كل خلية على حدة لإدخال محتوى. لاحظ في الجدول أن بعض النصوص يتجاوز حجمها عرض الخلية، يمكنك تعديل عرض العمود ليتناسب مع حجم النص بوضع المؤشر على الخط الفاصل بين العمودين، وعندما يتحول المؤشر إلى علامة + مع سهمين قم بسحب العمود إلى اليسار إذا كان اتجاه الورقة من اليمين إلى اليسار (أو إلى اليمين إذا كان اتجاه الورقة من اليسار إلى اليمين). لتنسيق مجموعة من الخلايا قم بالنقر على أول خلية، استمر بالنقر على زر الفأرة الأيسر نزولا إلى آخر خلية تريد تنسيقها. عند النقر بزر الفأرة الأيمن فوق مجموعة الخلايا المحددة ستظهر قائمة منسدلة تحتوي على مجموعة من الخيارات كالنسخ، اللصق، إدراج، تصفية البيانات، وغيرها. بالإضافة إلى شريط أدوات مصغر mini tool bar يمكنك من خلاله إجراء تنسيقات سريعة على النص أو مجموعة البيانات، وكذلك عندما تقوم بتحديد مجموعة من الخلايا سيظهر زر صغير في زاوية التحديد يسمى التحليل السريع Quick Analysis. يمكنك من خلال هذا الزر تنفيذ بعض الأوامر بصورة سريعة كعمل تنسيق شرطي للخلايا، تحويل الخلايا إلى مخطط أو جدول، أو استخدام بعض الدوال السريعة. سأقوم هنا بتحويل مجموعة الخلايا المحددة إلى جدول مثلا: قد تتساءل لما أقوم بتحويل البيانات إلى جدول على الرغم من أنّ الورقة مقسمة إلى صفوف وأعمدة. عندما تقوم بتحويل البيانات إلى جدول ستظهر لك خيارات إضافية يمكنك الوصول إليها عن طريق السهم بجانب عناوين الجدول. من هذه الخيارات فرز البيانات أو تصفيتها. كما تلاحظ ظهور تبويب جديد. هذا التبويب سياقي، أي يظهر عند تحديد الجدول ويختفي عندما تلغي التحديد. يظهر هذا التبويب مع بعض العناصر الأخرى، مثل الصور أو المخططات. حفظ المصنف وطباعتهطريقة حفظ المصنف لا تختلف عن طريقة حفظ مستندات وورد. اذهب إلى منطقة backstage (وهي المنطقة التي تظهر عندما تنقر على زر ملف File في أقصى يسار المصنف في النسخة الإنجليزية وأقصى يمين المصنف في النسخة العربية). من هذه المنطقة يمكنك حفظ الملف، تصديره، طباعته، مشاركته، أو الوصول إلى خيارات البرنامج. لحفظ المصنف لأول مرة انقر فوق حفظ كـ Save As. يمكنك حفظ الملف على جهازك أو على حساب OneDrive الخاص بك. إذا قمت بحفظ الملف على حساب OneDrive يمكنك الوصول إليه والعمل عليه من أي جهاز حاسوب متصل بالإنترنت. يمكنك أيضًا مشاركة المصنف بإرساله عبر البريد الإلكتروني عبر خيار مشاركة Share. لطباعة الملف اذهب إلى خيار طباعة Print. يمكنك مشاهدة معاينة الطباعة واختيار نوع الطابعة، عدد النسخ، وحجم صفحة الطباعة. كما يمكنك طباعة المصنف على شكل ملف PDF. إدراج الأعمدة والصفوف أو حذفهالنفترض أنّك تريد إجراء تغييرات على الجدول كتوسيعه وإضافة أعمدة أو صفوف أخرى أو حذفها. إدراج الأعمدة أو الصفوفيمكنك إدراج عمود أو صف خارج الجدول بعدة طرق: قم بكتابة عنوان العمود ثم اضغط المفتاح Enter. أو اكتب عنوان العمود ثم اضغط المفتاح Tab للانتقال إلى عنوان العمود التالي.لإدراج صف خارج الجدول قم بسحب المقبض الصغير في حافة الجدول إلى الأسفل حسب الصفوف التي تريد إضافتها. أما إذا كنت ترغب في إدراج عمود أو صف في وسط الجدول، اتبع الخطوات التالية: انقر على أحد عناوين الجدول، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج أعمدة جدول إلى اليسار Insert Table Columns to the Left. الخطوات نفسها تنطبق على الصفوف: انقر فوق الخلية التي تريد إدراج صف فوقها، اذهب إلى تبويب الصفحة الرئيسية Home، ثم انقر على السهم تحت زر إدراج Insert.اختر إدراج صفوف جدول في الأعلى Insert Table Rows Above. حذف الأعمدة أو الصفوفيمكنك حذف الأعمدة أو الصفوف التي لا ترغب في وجودها في الجدول بالخطوات التالية: قم بتحديد خلية داخل العمود/الصف الذي تريد حذفه ثم اذهب إلى تبويب الصفحة الرئيسية Home وانقر على السهم تحت زر حذف Delete.من القائمة المنسدلة اختر حذف أعمدة جدول Delete Table Columns أو حذف صفوف جدول Delete Table Rows. نسخ الأعمدة وتغيير مواضعها داخل الجدوللا يختلف النسخ، القص، واللصق عن بقيمة البرامج الأخرى. أي يمكنك تحديد نطاق الخلايا الذي تريد نسخه أو قصه، ثم النقر بزر الفأرة الأيمن واختيار نسخ Copy أو قص Cut من القائمة المنسدلة. وللصق مجموعة الخلايا، انقر فوق الموضع الذي تريد لصق الخلايا فيه، انقر بزر الفأرة الأيمن واختر لصق Paste. أما إذا أردت تغيير موضع عمود أو صف معين داخل الجدول، بتحريكيه إلى اليمين أو اليسار اتبع الخطوات التالية: حدد عنوان العمود ثم ضع المؤشر على حافة الخلية ليتحول شكله إلى + بأربعة اتجاهات. استمر بالنقر ليتحول المؤشر إلى حرف I أخضر وكبير، حرك بالفأرة مع الاستمرار بالنقر باتجاه الموضع الذي تريد نقل العمود إليه.نفس الخطوات تنطبق على تحريك الصفوف: مرر المؤشر فوق الصف ليتحول إلى سهم أسود باتجاه واحد ثم انقر بزر الفأرة الأيسر لتحديد الصف.حرك المؤشر إلى حافة الصف إلى أن يتحول شكله إلى + بأربعة اتجاهات. انقر بزر الفأرة الأيسر وحرك الصف، مع الاستمرار بالنقر، إلى الموضع الذي تريد نقل الصف إليه.سنقوم الآن بعمل بعض التنسيقات للجدول. سأقوم مثلا بإضافة عنوان للجدول وتنسيقه: يمكنك عمل التنسيقات يدويا أو اختيار أحد أنماط الخلايا الجاهزة من تبويب الصفحة الرئيسية Home ثم قائمة أنماط الخلية Cell Styles. سأقوم أيضًا بتعديل البيانات في عمود "السعر" بتحديد نطاق الخلايا وإضافة عملة بجانب الرقم من تبويب الصفحة الرئيسية Home ثم اختار العملة من زر العملات. كما سأقوم باستخدام زر الجمع التلقائي AutoSum لإظهار مجموع كلف السلع المباعة، وذلك بالنقر على الخلية أسفل العمود (أو أي خلية تريد إظهار النتيجة فيها)، ثم النقر على زر الجمع التلقائي. ملاحظة: لتغيير محتوى الخلية بالكامل يمكنك تحديد الخلية ثم الكتابة من لوحة المفاتيح. أما إذا أردت تعديل جزء من محتوى الخلية قم بالنقر بشكل مزدوج على الخلية وإجراء التعديل المرغوب. أو يمكنك أيضًا استخدام شريط الصيغة للتعديل على محتوى الخلية. كانت هذه مقدمة بسيطة عن الإجراءات التي يمكنك تنفيذها على البيانات كبداية في برنامج اكسل. بإمكانك الآن البدء بعمل جداول البيانات الخاصة بك، تنسيقها، والتعديل عليها. سنقوم في درس قادم إن شاء الله بشرح الصيغ والدوال في اكسل بشكل مفصل.
    1 نقطة
×
×
  • أضف...