Professional Documents
Culture Documents
Java Introduction First Session
Java Introduction First Session
لغات البرمجة
أنواع البرمجيـات
البرمجيـات ( )Softwareهي التي للمستخدم استخدام المكونات الماديـة ( )Hardwareبكفاءة و راحــة.
و يمكن تقسيم البرمجيات إلى ثالثـة أنواع رئيسيـة و هي:
.1برامج التشغيـل ()Operating System
.2برامج التطبيقات ()Application Programs
.3لغات البرمجـة ( )Programming Languages
مـن هـو المبـرمـ ــج؟
المبرمج هو شخص قادر على كتابة اوامر للحاسوب لجعله قادرا على تنفيذ مهمة معينة.
وعليه يجب التفريق بين مستخدم الحاسوب و المبرمج حيث ان المستخدم يعتمد و يستفيد مما ينتجه له المبرمج من
برامج تطبيقية او برامج ترفيهية او تعليمية او حتى برامج إلدارة امور الدولة
صياغة البرامج ولغات البرمجة
وكيف كتبت؟
وبأي لغة؟
4
صياغة البرامج ولغات البرمجة
ال"برنامج Programهو مجموعة التعليمات المرتبة منطقيا ً التي توجه الحاسوب ألداء عمل
معين على البيانات بهدف الحصول على معلومات مفيدة.
5
Programmer عمل صائغ البرامج
يقوم صائغ البرامج (المبرمج) بعدة خطوات لحل مشكلة ما ،فيقوم
ثم ينفذ التعليمات على الحاسوب ويختبر البرنامج لمعرفة مدى صحة النتائج،
6
خطوات صياغة وتطوير البرامج Program Development
Steps
في هذه الخطوة يقوم المبرمج بتحديد وتعريف المشكلة وتتضمن هذه الخطوة تحديد التالي بالترتيب:
الهدف من البرنامج (حساب ارباح ،فواتير استهالك الماء والكهرباء ،أو حساب معدل الطالب التراكمي) .1
نوع وحجم المخرجات ووسائل اإلخراج (تقارير – فواتير – شيكات – نقود )... .2
8
خطوات صياغة وتطوير البرامج Program Development
Steps
يتم هنا تحديد المواصفات والخطوات الدقيقة والمرتبة منطقيا والتي تم فهمها ودراستها في الخطوة األولى.
ويتم ذلك بإستخدام عدة طرق منها خرائط التدفق Flowchartويطلق عليها أيضا ً خرائط سير العمليات
وهي مجموعة من الرموز المتعارف عليها تستخدم لتوضيح الخطوات المنطقية الالزمة لحل مشكلة ما.
9
خطوات صياغة وتطوير البرامج Program Development
Steps
.2تصميم البرنامج Design the Program
أهم الرموز" المستخدمة في خرائط التدفق
10
خطوات صياغة وتطوير البرامج Program Development
Steps
بعد االنتهاء من تصميم البرنامج يتم اختيار إحدى لغات البرمجة المناسبة لصياغة أوامر
البرنامج Codingوذلك باالستعانة بخريطة التدفق Flow Chartأو غيرها.
يجب عند صياغة البرنامج اتباع قواعد صيانة لغة البرمجة المستخدمة حيث ان لكل لغة
برمجة قواعد خاصة بها وال يعمل البرنامج اذا كان هنالك اخطاء امالئية او اخطاء في
قواعد اللغة .Syntax Errors
11
خطوات صياغة وتطوير البرامج Program Development
Steps
12
خطوات صياغة وتطوير البرامج Program Development
Steps
.2اخطاء منطقي"ة :Logical Errorsال يكتشفه ا الحاس وب وتظه ر عن د تنفي ذ ال برنامج عل ى عين ه م ن ال بيانات
فنحص ل عل ى نتائ ج خاطئ ه او غي ر متوقع ة ،ويقوم الم برمج بتتب ع خطوات ال برنامج لمعرف ة مص در الخط أ
وتصحيحه وتسمى هذه العملية .Tracing
.3اخطاء اثناء التشغي"ل :Run-Time Errorsتظهرعند تنفيذ البرنامج مثل عدم حجز مساحة كافية للمدخالت
13او الدخول في دوران بال نهاية ،وتظهر رسالة بنوع الخطاء.
خطوات صياغة وتطوير البرامج Program Development
Steps
في هذه المرحلة تتم كتابة وصف تفصيلي لصياغة البرنامج ،ويشمل هذا التوثيق أصل
المشكلة وخطوات الحل وخرائط الحل وتعليمات التشغيل ومتطلبات التشغيل والمدخالت
والمخرجات وكيفية التحكم في البرنامج في المواقف المختلفة.
14
تصنيف لغات البرمجة
15
تصنيف لغات البرمجة
تعتبر لغات البرمجة ذات المستوى المنخفض من أوائل لغات البرمجة ومنها:
لغة اآللة Machine Language
لغة التجميع Assembly language
س ميت باللغات المنخفض ة المس توى نظراً أل ن الم برمجين يكتبون أوام ر ال برنامج
بمس توى قري ب م ن مس توى فه م اآلل ة (الحاس وب) ،حي ث تس تخدم هذه اللغ ة ()1 , 0
في كتابة البرامج.
16
تصنيف لغات البرمجة
س ميت بهذا االس م ألن ه اص بح بامكان الم برمج كتاب ة ال برامج دون معرف ة تفاص يل كيفي ة قيام الحاس ب
بهذه العمليات ،كمواقع التخزين و تفاصيل الجهاز الدقيقه.
تع بيرات اللغات ذات المس توى العال ي ش بيهه ال ى درج ة ك بيرة باللغ ة الت ي يس تخدمها االنس ان ف ي
التخاطب و التواصل مع االخرين.
تتميز بسهولة اكتشاف االخطاء و تصحيحها و يمكن تشغيلها على اكثر من جهاز .كما يمكن استخدام
أكثر من لغة برمجه على جهاز واحد.
17
تصنيف لغات البرمجة
تس مى هذه اللغات أيضا ً باللغات عالي""""ة المس""""توى بص""""ورة كبيرة جداًVery High Level
Languagesحيث إنها لغات سهلة االستخدام والفهم وقريبة جداً من لغة اإلنسان.
يس تطيع الم برمج القيام بكثي ر م ن العمليات بس هولة تغني ه ع ن ص ياغة Codingص فحات عديدة م ن
أوامر البرنامج .ويهتم المبرمج بماذا يريده من الكومبيوتر دون ان يوجهه بكيفية القيام بذلك.
18
أنواع لغات البرمجة
19
أنواع لغات البرمجة
وه ي لغات بس يطة عام ة األغراض وس هلة التعلـم ويس تخدمها الـمبتدئون فـي جمي ع األعمال ،وخاص ة
فـي التطبـيقات العلـمية ،وهي اختصار للمعنىBeginners All-Purpose Symbolic Instruction
.Code
لبساطة هذه اللغة واستخدامها في التعليم ظهرت لها عدة إصدارات منها:
.BASICA - GWBASIC - TURBO BASIC - QUICK BASIC
كما ظهرت أيضا ً لغ"ة فيجوال بيس"ك (البيس"ك المرئ"ي) Visual Basicوهي لغة برمجة مرئية وتعتبر
لغة مطورة من لغة البيسك وهي خاصة إلنتاج برمجيات ذات قدرة عالية وتتناسب مع بيئة برنامج نظام
ويندوز .Windows
20
أنواع لغات البرمجة
تتميز هذه اللغة بالقوة والمرونة والقدرة على إنتاج برمجيات متعددة وذات كفاءة عالية.
وقد ظهرت نسخة حديثة من لغة Cذات بيئة مرئية وهي لغة C++تتميز بكونها لغة برمجة
مرئية .Visual
21
أنواع لغات البرمجة
تعتبر لغة الجافا من اللغات عالية المستوى وتعرف بأنها من اللغات المرئية Visualوالشيئية
، Objectsوهي من اللغات العامة األغراض والتي تستخدم إلنتاج برمجيات متنوعة.
22
• Java features
أنواع لغات البرمجة
تستخدم هذه اللغة بصفة رئيسية فـي األعمال التجارية مثل البنوك والشركات.
24
أنواع لغات البرمجة
سميـت نسبة إلـى العالـم الفرنسي فـي علـم الـحاسوب Blaise Pascalو
يرجع تاريخها إلى 1973وتستخدم لألغراض العامة وكلغة تعلـيمية.
علـى الرغم من وضوح بنائها إال أنها أصعب فـي التعلـم من لغة البـيسك.
تعتمد هذه اللغة على استخدام روبوت صغير يسمى بالسلحفاة Turtleمن
أجل ابراز استعماالتها كتعلم األفكار الحسابية مثل الزوايا والقياسات.
26
أنواع لغات البرمجة
.Logic
.Language
27
الحاسوب و البرمجـة
ومن أهم مزايا الحـاسوب التي يستفيد منها المبرمج في حل المشكالت:
السرعة :يستطيع الحاسـوب إنجـاز العمليات في وقت قصير جداً مقارنة بالوقت الذي يحتاجـه اإلنسان إلنجاز هذه العمليات بنفسه.
التكرار :يتميز الحاسـوب بالقدرة على تنفيذ العمليات أو األوامر لعدة مرات يحددها المبرمج وتستفيد من الميزة األولى إلتمامها بسرعة.
التخـزين :قدرة الحاسوب على تخزين البيانات السـترجاعها في وقت الحق ,ويتميز بحجم البيانات الكـبير القادر على تخزينه والسرعة والدقة
فيـ استرجاعها.
مكونات لغة البرمجة
و أي لغة البرمجـة له مجموعة مكونات قد تختلف طبيعة تمثيلها من لغة إلى أخرى ,إال أنها كأصناف ثابتـة و هم:
عالمات الترقيم ()Punctuators •
هذه الكلمات ال يمكـن اسـتخدامها أـو تخصـيصها ألـي وظيفـة غيـر المخصـصة لهـا داخـل
المترجم.
انتبــه :لغـة الجافا تعتبر من اللغات الحساسـة لحالة األحرف فـَيعتبر المترجم الكلمة
name.مختلفة عن الكلمة Name تنبيه
الكلمات المحجوزة ()Reserved words
الثوابت Constants
وهي عبارة عن قيم ثابتة تستخدم في البرامج ,والمقصود بثابتة أنها ال
تتغير عند تشغيل البرنامج في كل مرة ولتغييرها يجب تعديل Codeثم
إعادة بناء البرنامج.
الثوابت تنقسم إلى ثالثة أنواع:
• أعداد صحيحة مثل 105 ,49- ,1
• أعداد عشرية 2.9- ,0.34 ,1.5
• حروف charactersوهذا النوع ال يمكن كتابته مباشرة ولذلك نستخدم
عالمة الترقيم ' ' لتحديد هذا الحرف ,مثل ''a', 'b', '5
الثوابت Constants
نالحظ أنه يمكن كتابة األرقام كأحرف أو أرقام فهل تختلف في كل حالة؟
الجواب :نعم ...
• فكمــا نعلــم أــن الحاســوب يقوم بتحويــل جميــع الــبيانات إلــى مقابلهــا بالنظام الثنائــي
حتــى يســتطيع التعامــل معهــا ,وعنــد كتابتــه كرقــم مثالً 5يقوم بتحويلــه إلــى الرقــم 5
بالنظام الثنائـي أـي ,101وبالتالـي يمكـن إجراء عمليات الجمع والطرح وغيرهـا مـن
العمليات الحسابية عليه.
• أمـا عنـد كتابتـه كحرف مثـل ' '5يقوم بتحويلـه إلـى مـا يقابلـه بشيفرة ASCIIوهـي
عبارة ع ــن شيفرة تحتوي عل ــى قيم ــة رقمي ــة بالنظام الثنائ ــي مقابل ــة لك ــل حرف وم ــن
هذه األحرف طبعاً األرقام ,وبالتال ـ ــي ال يمك ـ ــن اس ـ ــتخدامه كرق ـ ــم وإجراء العمليات
الحسابية عليه.
النصوص ()String Constant
الثوابت النصية (النصوص) وهي عبارة عن مجموعة من األحرف المتتالية التي تستخدم للتعبير عن جملة معينة ,وأيضاً حتى
ال يخلط المترجم بينها وبين األوامر البرمجية يجب وضعها بين عالمتي التنصيص "" Double Quotationsوالتي
تستخدم – كما ذكرنا سابقاً – لتحديد بداية ونهاية ثابت نصي.
الثوابت النصية يمكن أن يحتوي على أي حرف من الحروف ما عدا سطر جديد وعند كتابته على الشاشة يظهر كما هو.
أسماء تعريفية ()Identifiers
وهي عبارة عن أسماء تعريفية تستخدم كأسماء للمتغيرات ,الدوال ,الثوابت ...
و يتكون االسم التعريفي من الحروف اإلنجليزية ( , )A-Z, a-zو األرقام ( )9-0و العالمات الخاصة _ $ ,
عند اختيار اسم تعريفي ,يجب مراعاة ست قواعد:
أن يبدأ االسم بحرف. .1
أن ال يبدأ برقم. .2
ال يحتوي على مسافة فارغة. .3
ال يكون من األسماء المحجوزة. .4
يفضل أن يكون اسما معبرا عن ما يقوم به الكائن. .5
ال يحتوي على أي حروف أو عالمات خاصة أخرى غير المذكورة سابقا. .6
المتغيرات
المتغيرات هـي مواضـع محجوزة فـي الذاكرة بأحجام معينـة و مختلفـة يتـم فيهـا تخزيـن بيانات ليتـم معالجتهـا
و االستفادة منها في إنجاز عمل معين ,و هذه المواضع يتم تسميتها باسم تعريفي.
و بتسميته يسهل عليها التعامل معه و معالجة البيانات المخزنة داخله خالل البرنامج .
هذه المتغيرات لهــا أنواع تختلــف حســب نوع الــبيانات التــي نحتاجهــا مثــل أرقام صــحيحة ,أرقام عشريــة ,
نصوص ,حروف ... ,و غير ذلك.
المتغيرات
نستخدم المتغيرات و نقوم بتعريفها لعدة أسباب:
• ربط هذا االسم (المتغير) بعنوان في الذاكرة.
• تحديد نوع البيانات التي سيتم تخزينها في هذا المتغير ,وبالتالي تحديد حجم الذاكرة الالزمة لتخزين هذه البيانات.
• ليستطيع الحاسوب التعامل مع القيم بالصورة الصحيحة عند تحويلها للنظام الثنائي.
طبيعة عمل المتغيرات
0 0 0 1 1 1 0 0 مقطع من الذكرة
)Operators( المعامالت الحسابيـة و المنطقيـة
: وهي تتيح للمبرمج القيام بعمليات المعالجة (الحسابية والمنطقية) وعمليات التخزين وهي تنقسم إلى
Arithmetic Operators (+, -, *, /, %).
Increment وDecrement (++, --).
Assignment Operators (=, +=, -=, *=, /=, %=).
Relational Operators (<, >, <=, >=).
Equality Operators (==, !=).
Logical Operators (!, &&, ||).
األخطـاء في البرمجـة
عند كتابة البرامج بأي من لغات البرمجة وتنفيذها عاد ًة يظهر معنا أخطاء يتـعرف المترجم على اثنين منـها و ثالث
ال يتعرف عليه ,فهناك ثالثة أنواع من األخطاء:
• ( : Syntax Errorsخـطأ بـ ـ ـ ــرمــج )ي وـهيعـبارـة عـنأـخـطاء ف ـ ـ ــيكـ ــتابة ا ـ ــلمفرداـتوـقواـعد اـ ـ ـلغــة ي ـ ــستطيع ا ـ ــلمترـجـم
اـ ـ ـلتعــرفعـليهـا ,وـباـ ـ ـلتا ـ ــليالـ ـ ي ـ ــمكنبـ ـ ـ ــناء أو تـ ـ ـ ــشغيلاـ ـ ـلبرنامــج بـ ـ ـ ــدونت ـ ـ ـ ـعــديـلهـا( .ي ـ ــتعــرفعـليهـ ا ـ ــلمترـجـم)
• ( : Runtime Errorsخـطأ اـ ـ ـلتنفيذ) وـهيعـبارـة عـنأـخـطاء الـ ـ ي ـ ــمكنمــالحـظتهـا أـثـناء كـ ــتابة اـ ـ ـلبرنامــج وــال
ـجبـ ـ ــشغيلاـ ـ ـلبرنامــج وـتـجربـتهـا حـتىنـ ــتمكنمــناـكـتشافـهـا. ي ـ ــستطيع ا ـ ــلمترـجـم اـ ـ ـلتعــرفعـليهـا ,وــالكـتشافهذهـ ا ـ ــألخـطاء ي ـ ـ تـ
(ي ـ ــتعــرفعـليهـ ا ـ ــلمترـجـم)
• ( :Logical Errorsا ـ ــلخطأ ا ـ ــلمنطق )ي و هو خـطأ الـ ـ ي ـ ــتعــرفعـليهـ ا ـ ــلمترـجـم و إـنـما ي ـ ــظهـر ف ـ ـ ــيمـرـحـلة ا ـ ــالخـتبار ,كـأن
ي ـ ــتم عـكسنـ ــتائـج ا ـ ــلمقارـناتأو إـجراء عـملية حـسابـية بـ ـ ـ ــأولوية خــاطـئة