الأربعاء، 31 أغسطس 2016

قم بأول مشروع في الجافا (شرح)



بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته.

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


تحميل المثال 

مقدمة في البرمجة بلغة JAVA


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

المقدمة
أهلاً بكم في جافا-لغة برمجة الحاسوب الأوسع استخداماً في العالم. سوف تتمكن من كتابة أوامر الحاسوب التي تنجز مهام ضخمة. البرمجيات (بمعنى الايعازات التي تكتبها) تسيطر على المكونات المادية (بمعنى أخر الحواسيب). سوف نتعلم البرمجة كائنيه التوجيه (Object Oriented Programming OOP-منهجية البرمجة الأساسية هذا اليوم. سننشأ ونعمل مع العديد من الكائنات البرمجية.
جافا هي اللغة المفضلة التي تطابق احتياجات العديد من برامج المنظمات وأصبحت الخيار في تطبيقات الانترنيت والأجهزة التي تتصل عبر شبكة. تأتي جافا بنسخ مختلفة
(SE) Java Standard Editionالتي تستخدم لإنشاء طيف واسع من التطبيقات
Java Enterprise Edition(EE)تستخدم لإنشاء تطبيقات الشبكات الموزعة والتطبيقات المعتمدة على الويب
Java Micro Edition (ME)تستخدم في تطوير التطبيقات الصغير، الأجهزة ذات الذاكرة المقيدة، مثل أجهزة الهاتف الذكية بلاك بيري

لغة الالة ، لغة التجميع و اللغة عالية المستوى (Machine language, assembly language and HLL)
المبرمجون يكتبون الايعازات بلغات برمجة مختلفة، بعضها مفهومة بشكل مباشر بواسطة الحواسيب وبعضها يتطلب خطوات ترجمة وسيطة. مئات من هكذا لغات تستخدم اليوم. والتي تنقسم الى ثلاث انواع بشكل عام:
1-لغات الالة
2-لغات التجميع
3-لغات عالية المستوى
أي حاسوب يمكن فقط ان يفهم بشكل مباشر لغة الالة التي يملكها، المحددة بتصميم مكوناته المادية. لغات الالة بصورة عامة تحتوي خيط من الاعداد (في النهاية تخفض الى الصفر والواحد) التي تأمر الحواسيب لإنجاز اغلب العمليات الاساسية مرة في الوقت. لغات الالة معتمدة على الالة (بصورة خاصة يمكن ان تستخدم فقط على نوع حاسوب واحد) هكذا لغات بطيئة بالنسبة للبشر.
البرمجة في لغة الالة بطيء جداً وممل لأغلب المبرمجين. بدلا عن استخدام الاعداد التي تفهمها الحواسيب بشكل مباشر، المبرمجين بدأوا باستخدام مختصرات مشابهة للغة الانكليزية لتمثيل العمليات الاساسية. هذه المختصرات تشكل لغة التجميع. برامج ترجمة تدعى المجمعات (assemblersكانت قد طورت لتحويل برامج لغة التجميع الاولية للغة الالة.
استخدام الحاسوب ازداد بشكل سريع مع حلول لغة التجميع (assembly language)، لكن المبرمجين لا زالوا يستخدمون العديد من الايعازات لإنجاز حتى ابسط المهام. لتسريع عملية البرمجة، لغات عالية المستوى (High Level Languages HLL) كانت قد تطورت التي فيها جملة واحدة يجب ان تكتب لإنجاز مهمة جوهرية. برامج الترجمة تدعى مترجمات (compilers)تحول برامج اللغة عالية المستوى الى لغة الالة. لغات البرمجة عالية المستوى تسمح بكتابة ايعازات التي تشابه اللغة الانكليزية المستخدمة كل يوم وتحتوي على اغلب العمليات الرياضيات المستخدمة.
ترجمة لغات البرمجة عالية المستوى الى لغة الالة يمكن ان يأخذ كمية من الوقت معتد بها. تفسير البرامج تطور مع مرور الوقت ليتمكن من تنفيذ البرامج عالية المستوى مباشرتاً (بدون التأخير في التجميع)، مع انه ابطأ من تنفيذ البرامج المترجمة. اما جافا فأنها تستخدم خليط ذكي من الاداء المتداخل للترجمة والتفسير لتنفيذ البرامج.

مقدمة الى تقنية الكائنات
بناء البرمجيات بسرعة، بشكل صحيح واقتصادي لايزال هدف محير في الوقت الذي يتطلب انطلاق برمجيات أكثر قوة وحداثة. الكائنات Objects، او بشكل دقيق كما سيأتي ذكرها في الفصل الثالث اصناف الكائنات تأتي من اعادة استخدام مكونات برمجية. هنالك كائنات بيانات، كائنات وقت، كائنات صوت، كائنات فديو، كائنات ذاتية الحركة، كائنات اناس وهكذا. غالباً كل اسم يمكن تمثيله ككائن برمجي بمصطلح الصفات attributes (مثلاً الاسم، اللون والحجم) وسلوكيات (مثلاً الحساب، التنقل، والاتصال). مطورو الحاسبات يستخدمون تصميم كائني المنحى وينفذون طريقة يمكن ان تجعل مجاميع تطوير البرمجيات أكثر انتاجاً من اللغات الهيكلية (structured Languages). البرامج كائنية التوجه غالباً تكون أسهل للفهم والتصحيح والتعديل.
الطرق والاصناف
دعونا نتناول السيارة كمثال لتوضيح مفاهيم البرمجة كائنية التوجيه. انجاز مهمة في برنامج يتطلب طريقة. الطرق تضم الجمل البرمجية التي تنجز مهامها. الطرق تخفي تلك الجمل عن المستخدم كما في دواسة السرعة التي تخفي عن السائق الميكانيكية التي تجعل السيارة أسرع. في جافا، نحن ننشئ وحدة برنامج تدعى صنف لتضم مجموعة الطرق التي تنجز مهام الصنف. مثلاً صنف يمثل حساب مصرف ربما يحتوي على طريقة واحدة لتوديع النقود في الحساب، واخرى لسحب النقود من الحساب وثالثة للاستعلام عن الميزانية الحالية للحساب.
Instantiation
هو بمثابة شخص يبني سيارة هندسياً كرسم تصميمي قبل ان تتمكن من قيادتها فعلياً، يجب ان تبنيكائن لصنف قبل ان يتمكن البرنامج من انجاز المهام التي تعرفها طرق الصنف. عملية فعل هذا تدعى Instantiation. الكائن بعدها يشار له على انه نموذج من الصنف.
اعادة الاستخدام
نستطيع اعادة استخدام الصنف عدة مرات لإعادة بناء عدة كائنات. سنوفر الوقت والجهد عندما نبني اصناف جديدة وبرامج من اعادة استخدام اصناف موجودة سابقاً. كما تساعدنا في بناء انظمة أكثر موثوقية وكفاءة والسبب في كون الاصناف والمكونات الموجودة سابقاً قد تم فحصها وتنقيحها بشكل مكثف.
الرسائل وطرق الاتصال
عندما تقود سيارة وتضغط على دواسة الوقود فأنك ترسل رسالة الى السيارة لإنجاز مهمة زيادة السرعة. بشكل مشابه عندما ترسل رسالة لكائن. كل رسالة تمثل على شكل استدعاء طريقةmethod call التي تخبر طريقة الكائن لإنجاز مهمة. مثلاً برنامج ربما يتصل بطريقة كائن توديع النقود لحساب مصرفي لزيادة ميزانية الحساب.
الصفات
كما ان للسيارة صفاتها كاللون وعدد الابواب وكمية الوقود في الخزان كذلك الكائن يمتلك صفاته التي يحملها على طول البرنامج وتلك الصفات تكون كجزء من صنف الكائن وعلى سبيل المثال فأن كائن حساب مصرفي يمتلك صفة الميزانية التي تمثل كمية النقود في الحساب. كل كائن حساب مصرفي يعرف ميزانية الحساب الذي يمثله، لكن ليس الحسابات الاخرى في المصرف.
التغليف
الاصناف تغلف الصفات والطرق في الكائنات. صفات وطرق كائن ما تكون مرتبطة به بشكل اساسي. الكائنات ربما تتصل مع بعضها البعض لكنها بشكل طبيعي غير مسموح لها بان تعرف كم هو تطبيق (تنفيذ) الكائنات الأخرى؟ تفاصيل التطبيق (التنفيذ) تكون مخفية مع الكائن نفسه.
الوراثة
صنف جديد من الكائنات يمكن انشائه بسرعة وبشكل مريح بواسطة الوراثة. الصنف الجديد يأخذ الميزات من صنف موجود، ربما يتصرف به حسب الرغبة ويضيف له ميزات فريدة خاصة به.
لماذا لغة البرمجة جافا
تعتبر ثورة المعالجات الدقيقة الاكثر اهمية في المساهمة في تطوير الحواسيب الشخصية. الهدف الاساسي من جافا هو القدرة على كتابة برامج التي ستنفذ على مختلف انظمة الحواسيب واجهزة المسيطر عليها بالحواسيب. وهذا يدعى في بعض الاحيان (يكتب لمرة واحدة ليعمل على أي مكانwrote once and work everywhere).
مكتبات اصناف جافا
 تمكن من انشاء الاصناف والطريق المطلوبة لتشكيل برامج الجافا. ان اغلب مبرمجي الجافا يأخذون ميزة الوصول لمجاميع الاصناف والطرق الموجودة في مكتبات اصناف جافا والتي تعرف بواجهة برمجة تطبيقات الجافا Java APIs (Application Programming Interfaces)
الاداء
عند استخدام مكتبات اصناف جافا وطرقها بدلا من كتابة شفرتك الخاصة يمكن ان يحسن اداء البرنامج، لأنها كتبت بعناية لتعمل بكفاءة. بالإضافة الى قصر وقت تطوير البرنامج.
قابلية (الحمل) التنقل
بالإضافة لما تقدم فانه من السهل حمل البرامج (بمعنى اخر البرامج يمكنها ان تعمل على العديد من مختلف انواع الحواسيب) بمرونة كبيرة. سننفذ البرامج هنا بالاعتماد على Java SE Development Kit (JDK) التي يمكن تحميلها من الرابط التالي مع مستنداتها
قم بتثبيت JDK ثم NetBeans
بهذا نكون قد أعددنا البرامج اللازمة التي ستخول لنا الإستمتاع بروعة الربمجة جافا في الدروس القادمة إن شاء الله
لملاحظاتكم ومقترحاتكم   : programmermoroccan@gmail.com

كتاب اساسيات البرمجة بلغة جافا



الجافا من اللغات البرمجية الحديثة التي أصبحت اليوم منتشرة بشكل كبير وتستخدم لتطوير العديد من التطبيقات ، يكفي أن تعرف أن برمجة تطبيقات نظام الأندرويد هو معتمد أساساً على لغة الجافا ، لغة الجافا كانت أساساً من إنشاء شركة صن مايكروسيستمز قبل ان تستحوذ عليها شركة أوراكل ، وانطلقت في 1995 ، وقد أصبحت اليوم من اللغات البرمجية التي تستخدم بشكل واسع لبناء التطبيقات في عدة منصات وأنظمة ، وبناءً على إحصائية TIOBE ، فجافا اليوم تتنازع على المرتبة الأولى مع لغة الـ (C) من ناحية الشهرة.
إذا كنت تنوي الدخول إلى مجال تطوير تطبيقات الأندرويد فمن الضروري أن تستوعب لغة الجافا أولاً من أجل ان تصبح مطور تطبيقات محترف ولديك أساس قوي ومتين. لا تتساهل وتحاول اختصار الطريق فغيرك قد حاول وتعب ، الطريق الأقصر هي التأسيس القوي ، كلما كان أساسك قوي كل ما كانت نتائجك قوية ، أما مقولة (ما قل ودل) فليست مفيدة في مجال تحصيل العلوم.

الثلاثاء، 30 أغسطس 2016

تطبيق صغير وسهل الاستخدام المصمم خصيصا لإزالة البرامج غير المرغوب فيها بسهولة








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

تحميل البرنامج  




برنامج الا صلاتي


يعتبر برنامج الا صلاتي لاجهزة الكمبيوتر من البرامج المهمة لتذكيرك بأوقات الصلاة في مواعيدها. البرنامج يغنيك عن استخدام برنامج الاذان للكمبيوتر فهو يقوم بنفس الدور تقريباً. النافذة الاساسية لبرنامج الا صلاتي ela-salaty تعرض لك مواقيت الصلاة في مدينتك, كما تعرض لك الوقت المتبقي علي الصلاة القادمة بالساعات والدقائق والثواني. يوجد بالبرنامج ايضاً بوصلة لتوضيح اتجاة القبلة في المكان الذي توجد به كما هو موضح بالصورة. البرنامج يعرض لك في أعلي الشاشة التاريخ الميلادي والتاريخ الهجري. برنامج الا صلاتي Ala Salaty هو نتاج عمل عربي رائع كما انه مجاني ومتاح للجميع.

تحميل كتاب البرمجة بلغة c






وصف الكتاب :


مجموعة من الامثلة المحلولة بلغة سي 
نوع الكتاب : pdf
حجم الكتاب عند التحميل : 1,95 Mo .
هذا الكتاب يحوي على الكثير من الامثلة المحلولة وتوضيح  لقواعد هذه اللغة

هل تريد الإتصال بالمجان ؟





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

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

تحميل تطبيق :  Google Duo
 رابط تحميل التطبيق على غوغل بلاي فور توفره :Google Duo  

طريقة رهيبة لتحميل جميع الكتب المدفوعة الموجودة في متجر أمازون مجاناً




تعتبر الكتب من أبرز مصادر العلم والمعرفة التي تغدي العقل وتجعل كل إنسان يرتقي بنفسه إلى الأفضل ، وكما يعلم الجميع توجد ملايين إن لم نقل ملايير الكتب عبر الأنترنت للتحميل ، لكنللحصول عليها هناك نوعين ، كتب مجانية وأخرى مدفوعة ، وسبق لي شخصياً أن طرحت درس سابق لكيفية الحصول على عدد كبير من الكتب وفي مختلف المجالات ومنها ما هو مدفوع أيضاً، وفي هذه التدوينة يتجدد موعدنا مع طريقة أخرى رهيبة للحصول على الكتب المدفوعة الموجودة في متجر أمازون وبدون دفع أي دولار.
فعلى سبيل المثال قم بالبحث على كتاب في موقع أمازون  في مجال محدد كالطبخ أو البرمجة، أنا شخصياً اخترت كتاب في البرمجة
قم بنسخ عنوان هذا الكتاب ثم توجه إلى هذا الموقع:
Library Genesis 
ثم بعد ذلك قم بلصق عنوان الكتاب المراد الحصول عليه وقم بتفعيل الخيار "Title" المشار إليه في الصورة










بعد ذلك قم بالبحث على هذا الكتاب ثم ستجد مجموعة من النتائج، ما عليك سوى اختيار الكتاب حسب اسم الكاتب










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

دالة الإدخال العامة () scanf (الدرس الخامس)




  () scanf هي دالة الإدخال الرئيسية التي تسمح بإدخال جميع أنواع البيانات وهي تأخذ نفس المعاملات التي تأخذها الدالة()printf للتعامل مع البيانات والموجودة بالجدول السابق. 

مثال التالي يوضح استخدام الدالة ()scanf حيث يقوم باستقبال مجموعة قيم مختلفة النوع وطباعتها على الشاشة.


#include<stdio.h>
void main(){
  int a;
  float b;
  char ch='Y';
  char name[10];
  printf("\n Enter your name:");
  scanf("%s",name);
  printf("a =");
  scanf("%d",&a);
  printf("b =");
  scanf("%f",&b);
  printf("\nWlecome    %s",name);
  printf("\n\t a = %d",a+1);
  printf("\n\t b= %.2f",b);
  printf("\n\t c = %c",ch);
}
فيكون الناتج
 Enter your name:Ahmed
a=12
b=4.5
Welcome   Ahmed
              a = 12
              b = 4.50
               c = Y
ونلاحظ أن الدالة ()scanf تستقبل قيمة صحيحة وتخزنها في المتغير وقيمة حقيقية وتخزنها في المتغير ولكن ماذا يعني المؤثر & ؟
a& تعني تخزين القيمة الصحيحة في المكان المخزن عنوانه في المتغير بمعنى أن يشير إلى عنوان المكان الذي تخزن فيه القيمة . وبالتالي العلامة & تجعل المتغير يشير إلى عنوان المكان.ويوضع المؤثر & فقط مع البيانات الصحيحة و الحقيقية و الحرف ولا يوضع مع متغير العبارة الحرفية  string .

دوال إدخال حرف واحد getchar(), getch():

بالرغم من أن الدالة ()
scanf تستقبل جميع أنواع البيانات إلا أن لغة C تشتمل على دوال أخرى تتعامل مع أنواع خاصة من البيانات كالحروف والعبارات الحرفية ونوضح فيما يلي أهم هذه الدوال.

الدالةgetchar () :
ملف التوجيه stdio.hتستخدم لإدخال حرف واحد ويظهر الحرف على الشاشة بعد الكتابة ولا تسمح بالانتقال إلى الأمر التالي إلا إذا ضغط المستخدم مفتاح الإدخال Enter.مثال:
#include <stdio.h>
void main(){
   char a;
   printf("Enter Char:");
   a=getchar();
   printf("%c",a);
}
فيكون الناتج
Enter Char:A
A

دالة طباعة حرف واحد ()putchar :
ملف التوجيه stdio.تستخدم لطباعة حرف واحد على الشاشة.مثال:
#include <stdio.h>
#include <conio.h>
void main(){
   char ch1,ch2,ch3;
   printf("ch1= ");
   ch1=getchar();
   printf("\nch2= ");
   ch2=getche();
   printf("\nch3= ");
   ch3=getch();
   printf("\n");
   putchar(ch1);
   putchar(ch2);
   putchar(ch3);
}
فيكون الناتج
ch1= C
ch2= A
ch3=
CA1
بالإضافة إلى الدالة ()putch التابعة لملف التوجيه conio.h وتستخدم أيضاً لطباعة حرف واحد على الشاشة.

•دالة طباعة عبارة حرفية  ()puts :

ملف التوجيه  stdio.hتستخدم لطباعة عبارة حرفية string حيث تطبع بدون توصيف شكل المخرجات.
مثال:
#include<stdio.h>
void main(){
   char name[10]="Ahmed";
   puts(name);
   puts("Mohamed");
}

فيكون الناتج
Ahmed
Mohamed
دالة إدخال عبارة حرفية ()gets:

ملف التوجيه stdio.h
وتستخدم الدالة ()gets في إدخال عبارة حرفية string.مثال:
#include <stdio.h>
void main(){
      char name[10];
      printf("\nEnter Your Name:");
      gets(name);
      puts("welcome");
      puts(name);
}
فيكون الناتج
Enter Your Name:Samer
welcome
Samer
دوال تحسين المدخلات و المخرجات:•دالة مسح الشاشة ()clrscrملف التوجيه conio.hوتستخدم لمسح الشاشة ووضع المؤشر في أول عمود من الصف الأول على الشاشة و تستخدم بالشكل التالي.
•دالة تغيير موضع المؤشر ()gotoxyملف التوجيه conio.hتستخدم لوضع المؤشر في العمود من الصف وتأخذ الصورة التالية:
gotoxy(10,30);
وتعني انتقال المؤشر إلى العمود رقم 10  من الصف 30
•دالة تغير لون الكتابة ()textcolorملف التوجيه conio.hتستخدم لتغير لون الكتابة التي ستطبع بعد الدالة وتأخذ الصيغة:
textcolor(color no); or textcolor(color name);
حيث يتم تحديد اللون إما برقم اللون أو باسمه ولابد من كتابة اسم اللون بالحروف الكبيرة فقط

والجدول التالي يوضح أكواد الألوان و أسمائها.


الاثنين، 29 أغسطس 2016

دالة الطباعة على الشاشة ()printf (الدرس الرابع)



أن كل دالة مرتبطة بملف توجيه معين حيث يستدعى هذا الملف في أول البرنامج بالعبارة include# فمثلاً الدالة ()printf
        معرفة بالملف stdio.h وتكتب العبارة   في أول البرنامج حتى يتعرف المترجم على الدالة و هكذا مع باقي الدوال.

دالة الطباعة على الشاشة ()printf

ملف التوجيه stdio.h
تستخدم الدالة () printf لطباعة البيانات بجميع أنواعها (int, char, string, float…) على الشاشة فقط.
وتأخذ الدالة عدة صور وكذلك معاملات وأكواد تحدد شكل المخرجات.
وسنوضح فيما يلي مثال لكل صورة مع الشرح 
مثال:

;("printf ("welcome with moroccan programme

وفي هذا المثال يتم طباعة ما بين علامتي التنصيص"   "كما هو على الشاشة وبالتالي نحصل على النتيجة التالية:      








        
printf("\n welcome\n with \n moroccan programme");

وفي هذا المثال: الكود \n معناه new line أي سطر جديد وعندما يجد المترجم \n يترجمها إلى سطر جديد 
وبالتالي نحصل على النتيجة التالية:   
                              









  وهناك أكواد أخرى تؤدي نتائج مختلفة فمثل الكود \t معناه tab أي مسافة جدولة خالية ويشمل الجدول التالي على الأكواد المستخدمة مع الدالة()printf والتي تؤدي أشكال خرج مختلفة.


















طباعة قيم المتغيرات على الشاشة:لطباعة القيم الموجودة بالمتغيرات نستخدم أكواد معينة لتحدد نوع البيانات المراد طباعتها بالدالة () printf، انظر للمثال التالي:




#include <stdio.h>

void main(){

  int a=8;
  float b=3.5;
  printf("a = %d",a);
  printf("\nb = %f",b);
}

نحصل على النتيجة التالية:                                                                                                                             

























في هذا المثال عندما يقابل مترجم اللغة العلامة% ينظر إلى الحرف التالي لهذه العلامة ويعتبر هذا الحرف توصيف لقيمة موجودة بعد العلامة، وكل حرف يحدد نوع معين من البيانات ففي هذا المثال نلاحظ:d% تعني  int أي رقم صحيح بينما f% تعني float أي رقم حقيقي .












ملاحظات:


يمكن أن تستخدم الأكواد %d   أو%f لتحديد عدد الأرقام التي تظهر على الشاشة فمثلاً الصورة %.3f يعني طباعة ثلاث أرقام بعد العلامة العشرية فمثلاً الرقم 365.97308 يظهر بالصورة 365.973.


انظر للمثال التالي:

#include <stdio.h>

void main(){

  float b=
365.97308;
  printf("a = %f",b);
  printf("\na = %.3f",b);
}
نحصل على النتيجة التالية:                                                                                                                            









جميع الحقوق محفوظة لمدونة المبرمج 2016