مفهوم البرمجه و مقدمة لكل من يريد تعلم البرمجه
banner
2011-08-01 , 03:44 مساءً
المفضل’s Avatar
المفضل

GNU/Linux

المشاركات:6429
التسجيل:Jan 2007
المفضل
السلام عليكم

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


بسم الله نبداء

B ماذا نقصد بالبرمجه[/B]

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


اولا :جهاز الكمبيوتر:

لكي تعرف البرمجه كلي اول ان تعرف مع ماذا تتعامل Image

جهاز الكمبيوتر عبارة عن اله للحاسب تقوم بالعمليات الحسابيه و المنطقيه

هذا العمليات تتم على ما يسمى بالبيانات
تمر البيانات في خط معروف


1-الادخال
2-المعالجه
3-الاخراج


لنفرض انك تريد ان تكتب حرف ( [SIZE=5]ا[/SIZE] ) مثلا اول تتقر على لوحة المفاتيح على الحرف ا
هنا يتم الادخال ثم تدخل للجهاز لليتم معالجتها مثلا تكبير الخط او تصغيير او تغيير اللون
ثم بعد ذالك تظهر على شاشة الحاسوب الاخراج

جميع البيانات في الحاسب تتم بهذي الطريقه

ادخال و معالجه اخراج Image


قطع الحاسب الى اربع اجزاء

1-وحدات الادخال
2-وحدات المعالجه
3-وحدات التخزين
4-وحدات الاخراج


1- وحدات الادخال بالحاسب كثيرة لكن اهمها هي

لوحة المفاتيح حيث من خلال لوحة المفاتيح يمكن ادخال النصوص الى الحاسب
الفارة حيث من خلال الفارة ممكن ادخال الاوامر الى الحاسب بطريقه متقدمه من خلال الواجهه الرسوميه او ما يعرف (GUI)
واي وسيله تقوم بأدخال البيانات للحاسب مثل المايكرفون او الماسح الضوئي

2-وحدات المعالجه :
هي الوحدات التي تقوم بمعالجات البيانات مثل المعالج cpu او لوحة الام

3- وحدات التخزين :
وحدات التخزين هي الوحدات التي يخزن فيها البيانات مثل الهاردسك و الفلاش usb و الاقراص الضوئيه

وغيرها من وحدات التخزين الكثير
4-وحدات الاخراج:

اهم واحدت الاخراج هي الشاشه و الطابعه و السماعات واي وسيلة اخراج البيانات من الحاسب


انا وضعت هذا بالقدمه حتى اقرب صورة عمل للغات البرمجه لانها لا تختلف كثير
من حيث الادخال و الاخراج و المعالجه و حتى التخزين .



البرمجه بأختصار: البرمجه هي التعامل مع الحاسب

يعني انت تتحكم بالفارة تسمى بالمنظور العام مبرمج لكن بالحقيقه ليست كذالك Image

حيث البرمجه هو التعامل مع الحاسوب باحد لغات البرمجه


وللتعريف البرمجه عليك اولا تعريف ماذا يعني البرنامج



البرنامج هو [U]:مجموعه من التعليمات و اﻷوامر التي تعطي للحاسب للقيام بمهام مرتبه و محدد

[/U]البرمجه :[U]مجموعه من التعليمات التي يكتبها المبرمج بإحدى لغات البرمجه ﻷداء عمل معين او حل مشكله معينه ويقوم الحاسب بتنفيذها .
[/U]


تنقسم لفات البرمجه بنظري انا الى 4 اقسام واذكر بالتفصيل


1-لغة الاله :
وهي اول لغه تم وضعها للحاسب و اللغه الوحيده التي يفهمها الحاسب,و السبب في ذالك انها مكونه من رمزين اثنين هما الصفر و الواحد , فمثلا لكاتبة الحرف L نقوم بطباعة الرموز (1010110) كشقرة للدلاله على حرف L وهكذا .

حيث هذي لغة الاشارة الكهربائيه حيث 1 يعني يوجد اشارة كهربائيه و 0 لا يوجد اشارة كهربائيه

2-لغة التجميع الاسمبلي :
هي لغة قريبه من لغة الاله نوعا ما إذا انها تستخدم بعض الرموز الخاصه ,و التي يمثل كل رمز منها تعليمه مكتوبه بحروف اللغه الانجليزيه مما يجعل المبرمج أكثر فهما واسهل قراءة لها من لغة الاله , فمثلا تستعمل رموز ADD و SUB

3-اللغات التقليديه لغات عالية المستوى :

وهي اللغات التي تستخدم بشكل عام وهي محور حديثنا بهذي الدروة
حيث اللغات تحت هذا القسم تكون قريبه من لغة الانسان ويسهل فهما مقارنه بالاسمبلي ولغة الاله
وهذي اللغان بعد الكتابه بها لابد تحويلها الى الى لغة الاله BINARY من خلال مترجمات لتلك اللغات
وتسمى هذي العمليه بالترجمه Compiler وتنقسم هي اللغات الى قسمين

ا-لغات البرمجيه الاجرائيه
ب-لغات كائنيه التوجهه او ما تسمى oop .

Enlarged Image
2011-08-01 , 03:44 مساءً
2011-08-01 , 03:44 مساءً
المفضل’s Avatar
المفضل

GNU/Linux

المشاركات:6429
التسجيل:Jan 2007
المفضل
[CENTER]عدنا لكم لاكمال الدرس الاول Image
ImageImageImage


4- لغة الواجهه الرسوميه :

يقصد باللغه الواجهه الروسميه هو استخدام الفارة في استخدان الحاسبو Image

5-لغة الاوامر الصوتيه:

هذي اللغه الاكثر تطور الى الان ولم تصل بعد الى مرحلة الانتشار

حيث تعطي الجهاز اوامر صوتيه وهو يقوم بتنفيذها


طبعا راح يكون الموضوع فقط مخصص للغة عالية السمتوى

الجيل الثالث من اللغات البرمجيه Image

وهي لغات متعدد وكثير جداً
لدرجه لا يمكن حصرها ومعرفتها Image

الدرس القادم المتغيرات و الثوابت

[/CENTER]
2011-08-01 , 03:44 مساءً
2011-08-01 , 03:45 مساءً
المفضل’s Avatar
المفضل

GNU/Linux

المشاركات:6429
التسجيل:Jan 2007
المفضل
CENTER] [B الثوابت و المتغييرات

[/B]السلام عليكم


اي شخص يريد تعلم البرمجه لازم يكون عنده مقدار جيد بالرياضيات

لان البرمجه تعتمد على الرياضيات حيث تعمد عليها بشكل كبير Image


لناخذ هذي المعادله البسيطه

4+ س = 5


ماذا يقصد هنا عن ( س )


هنا يكون س ثابت حيث لا يمكن ان يكون غير 1

هنا يسمى الثابت لكن ماذا لو غيرنا قليلا بالمعادله وقلنا

4 + ( س + ص ) = 5


هنا لابد ان يكون ناتج س + ص = 1


لكن ما قيمة كل من س و ص

قد تكون 0.5 او (3) + (-2) او (4) + (-3)

او اي رقمين يكون ناتج جمعهم هو رقم 1

هنا يكون كل من س و ص متغير من نوع رقمي

يعني ارقام حيث لا يمكن وضع داخل المعادله السابقه حروق مثلا
للتعبر عن قيمة س او ص

حيث كل من س وص يعتبر متغير حيث ممكن يكون اي رقم مجموعهم يكون 1

حيث لا يمكن ان يكون قيمة س او ص قية نصيه اي حروف بما يخل بالمعادله



فيما سبق توضيح للثوابت و المتغيرات من منظور رياضي


لاكن ما هو المتغير و الثابت حسب لغات البرمجه المختلفه؟

تتعامل لغات البرمجه مع مجموعه مختلفه من البيانات (ارقام , حروف , ,رموز ,وتاريخ ,........)

للتخزين هذي البيانات فإن لعغات البرمجه تحتاج الى اماكن تخزين هذه البيانات ليتم عليها إجراء العمليات المختلفه.



ا-[U]الثوابت :هي البيانات التي يتعامل معها البرنامج , وهي قيم ثابته لا تتغير أثناء عمل البرنامج .
[/U]

وتنقسم الثوابت الى ده اقسام اهمها

1-ثابت عددي
2-ثابت حرفي

ب-[U]المتغيرات :هي اماكن بتم تخزين قيم يمكن ان تتغير أثناء عمل البرنامج ,
[/U]

وهذي المتغيرات تنقسم الى عدة اقسام منها


1-متغير حرفي
2-متغير رقمي
3-متغير منطقي (صح ام خطاء )


وتتفق جميعا لغات البرمجه في تسميه المتغيرات تحت شروط هي

1-ان تبداء بحرف من حروف الابجديه الانجليزيه
2-ان لا تتجاوز 255 حرفا
3-ان لا تحنوي على فراغات او رموز خاصه
4-ان لا تكون التسميه احدى الكلمات المحجوزة مثل if for .

[/CENTER]
2011-08-01 , 03:45 مساءً
2011-08-01 , 03:48 مساءً
المفضل’s Avatar
المفضل

GNU/Linux

المشاركات:6429
التسجيل:Jan 2007
المفضل
CENTER] [B انواع المتغيرات :


Integer = عدد صحيح
Long = عدد صحيح طويل
single = عدد عشري
Double =عدد عشري مضاعف
String = سلسله نصيه
Boolean = منطقي
date = تاريح

هذي اهم انواع للمتغيرات وهناك غيرها

حيث اذا وصفنا متغير ما مثل من نوع integer يجب ان يكون هذا المتغير
عدد صحيح ومثلا اذا عرفنا متغير ما على انه string جيب ان يكون قيمة هذا المتغير هو سلسة نصيه


ملاحظات :

1-لتخزين البيانات داخل متغير سلسه نصيه لابد أن تكون هذه البيانات محصورة بين علامتي تنصيص ("قيمة المتغير Sring ") مثال

[QUOTE]name = "احمد"
[/QUOTE]راح اعتمد على لغة java في الشروح للانتشارها ودعمها الكبير
و قد اضع امثله بالفيجوال بيسك :D
المهم ان الفكرة توصل بطريقه مناسبه

2-لابد من تحديد نوع البيانات بشكل دقيق , فمثلا لا يمكن ان نضع عدداً عشريا ً (3.5) في متغير من نوع عدد صحيح طويل Long , انما لا بد ان يكون قيمة المتغير مناسبة للنوع ذالك المتغير

3- لكل متغير سعه تخزينيه ( حجم ) ("استهلاك بالرام" ) , وهذي السعه قد تؤثر عندما لديك عدد كبير من البيانات المخزنه , مما قد يؤثر على اداء الحاسوب .



[/B][/CENTER]
2011-08-01 , 03:48 مساءً
2011-08-01 , 03:49 مساءً
المفضل’s Avatar
المفضل

GNU/Linux

المشاركات:6429
التسجيل:Jan 2007
المفضل
تعريف متغير بالجافا من نوع int
[php]
int x= 5;]في كلمة الاول نخبر مترجمة لغة الجافا
اننا نعرف متغير من نوع [FONT=Arial]integer
ووضعنا int ثم وضعنا اسم المتغير هنا وهو x
ثم اسندنا 5 ووضعنها قيمة للمتغير x
وختمنا السطر بالفاصله المنقوطه ;

[/FONT]تعريف متغير بالفيجوال من نوع int
[php]
DIM x as integer
x = 5
[/php][FONT=Arial]

بالفيجوال الطريقه تختلف
حيث اخبرنا مترجم اللغه اننا تريد تعريف متغير
dim ثم وضعنا اسم المتغير x
واخبرنا ان نوع المتغير x هو من نوع [/FONT][FONT=Arial]integer
ثم بعد ذالك في سطر جديد اسندنا للمتغير x
قيمه 5

مثلا نريد اسناد قيسمة نصيه String

في الجافا يكون كتالي
[/FONT][PHP]
String x = "Hello word";
[/PHP]في الفيجوال بيسك
[PHP]
DIM x AS string
x = "Hello Word"
[/PHP]لاحظ علامتي التنصيص ""
حيث هذي توضه للقيمة المتغيرات من نوع STRing


[FONT=Arial]
اتمنى شرح انواع المتغيرات واضح [/FONT]
2011-08-01 , 03:49 مساءً
2011-08-02 , 01:28 صباحاً
Yàçér’s Avatar
Yàçér

عضو فعال

المشاركات:690
التسجيل:Jun 2010
Yàçér
السلام عليكم

أسلوبك مميز

ممكن تعطينا أمثلة على انواع المتغيرات عشان توضح اكثر

يعني ايش يعني عدد صحيح طويل وعدد عشري مضاعف ؟

وشكرا لك
2011-08-02 , 01:28 صباحاً
2011-08-02 , 03:31 صباحاً
TryAgain’s Avatar
TryAgain

مبدع

المشاركات:3400
التسجيل:May 2011
TryAgain
واصل لكن نريد برامج لكي نطبق وانا من المتابعين لهذا القسم ويا ليت يتثبت نكون لكم من الشاكرين..

:)
2011-08-02 , 03:31 صباحاً
2011-08-02 , 04:55 صباحاً
Dr_DarknesSx’s Avatar
Dr_DarknesSx

فعال

المشاركات:1250
التسجيل:Jan 2011
Dr_DarknesSx
طيب ممكن أسماء بعض كتب تعليم الجافا للمبتدئين؟
وهل أستطيع إتقان الجافا كأوّل لغة برمجة أتعلّمها..؟ (تعلّمت Visual Basic و لكن ضاااعت!! هههه)


وجزاك الله خير على المجهود المبذول. :)
2011-08-02 , 04:55 صباحاً
2011-08-02 , 02:51 مساءً
عزالشوق’s Avatar
عزالشوق

عضو متميز

المشاركات:2908
التسجيل:May 2010
عزالشوق
شكرا لك على الشرح
للاضافة هناك رابط بتوقيعي يحتوي على جميع دروس تعليم الجافا وغيرها بالفيديو
2011-08-02 , 02:51 مساءً
2011-08-02 , 03:00 مساءً
مرحوم ياقلبي’s Avatar
مرحوم ياقلبي

مشارك

المشاركات:413
التسجيل:Apr 2011
مرحوم ياقلبي
انا اخذت لغه الماتلاب جدا ممتعه بس ما استفد منها شي خخخخخ
2011-08-02 , 03:00 مساءً
2011-08-02 , 04:29 مساءً
OTOT’s Avatar
OTOT

نشيط

المشاركات:691
التسجيل:Apr 2011
OTOT
شكراً على الشرح ...


[QUOTE]شكرا لك على الشرح
للاضافة هناك رابط بتوقيعي يحتوي على جميع دروس تعليم الجافا وغيرها بالفيديو[/QUOTE]
موقع أكثر من رائع شكراً
2011-08-02 , 04:29 مساءً
2011-08-15 , 07:10 صباحاً
العـمده’s Avatar
العـمده

استغفر الله وأتوب إليه

المشاركات:9791
التسجيل:Mar 2009
العـمده
الله يعطيك العافية

ويجزاك كل خير

وياليت تكمل اذا قدرت ^_^
2011-08-15 , 07:10 صباحاً
2011-08-16 , 08:43 مساءً
النجم اللامع22’s Avatar
النجم اللامع22

فعال

المشاركات:1266
التسجيل:Jan 2010
النجم اللامع22
بالتوفيق اخي
ولكن اتمنى ان تجعل الدروس في مواضيع منفصلة وتجمعها في موضوع واحد لتسهل على القارئ او ان تجعلها كدورة
2011-08-16 , 08:43 مساءً
2011-08-17 , 01:21 صباحاً
بورون’s Avatar
بورون

عضو

المشاركات:96
التسجيل:Aug 2011
بورون
رائع ، واصل أخي !

ولكن في بعض اللغات المسماة Weak Type ، مثل php و js و ruby.
ففي هذه اللغات لاتحتاج إلى تعريف نوع المتغير قبل كتابته ، ويمكنك تغيير قيمته من رقم إلى نص ، إلى منطقي ، عشري ، وأي نوع آخر.

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

والسلام عليكم ورحمة الله وبركاته.
2011-08-17 , 01:21 صباحاً
2011-08-17 , 01:23 صباحاً
بورون’s Avatar
بورون

عضو

المشاركات:96
التسجيل:Aug 2011
بورون
[QUOTE]ولكن اتمنى ان تجعل الدروس في مواضيع منفصلة وتجمعها في موضوع واحد لتسهل على القارئ او ان تجعلها كدورة
[/QUOTE]

:17: أتمنى لو تفعل ذلك أخي.
2011-08-17 , 01:23 صباحاً
2011-08-17 , 05:50 صباحاً
Raied Alotaiby’s Avatar
Raied Alotaiby

نشيط

المشاركات:952
التسجيل:Sep 2010
Raied Alotaiby
وعليكم السلام

هلابك يالغالي

اشكرك يالغالي على الموضوع الرائع والجميل

موضوع بداية كل من اراد ان يصبح مبرمج

شكرا على الموضوع الرائع



وشكرااا
2011-08-17 , 05:50 صباحاً
2012-05-24 , 12:41 صباحاً
محترف البلاي ستيشن’s Avatar
محترف البلاي ستيشن

بارز

المشاركات:1636
التسجيل:Oct 2010
محترف البلاي ستيشن
شباب انا احب واعشق الصعب بدية بالC

وانا كل يوم اتعلم شي جديد

بس انا اشوف ان الطريقه الي في الجافا

تشبه الطريقة المتغيرات C

هل الجافا لغه مصغره من السي ولا ايش بالضبط

ترا انا لستني مبتدى

Sent from my GT-I9100 using البوابة الرقمية
2012-05-24 , 12:41 صباحاً
2012-06-09 , 12:48 مساءً
computer station’s Avatar
computer station

عضو جديد

المشاركات:14
التسجيل:Sep 2009
computer station
اخي العزيز الله يعطيك العافية ويوفقك دنيا وآخره
ماقصرت وانا اضم صوتي لمن قال لو تجعل الدروس في مواضيع منفصلة او على شكل دورة
2012-06-09 , 12:48 مساءً
2012-06-14 , 03:22 صباحاً
King of Nothing’s Avatar
King of Nothing

مشارك

المشاركات:492
التسجيل:Jun 2012
King of Nothing
يعطيك العافية..
أستفدت من دروسك... أتمنى تكمل إذا أمكن..
2012-06-14 , 03:22 صباحاً
2014-12-25 , 06:33 صباحاً
hashash999’s Avatar
hashash999

مشارك

المشاركات:285
التسجيل:Dec 2010
hashash999
رائع
جزاك الله خير
2014-12-25 , 06:33 صباحاً