خوازميات و مباديء برمجــة (3) مفهوم البرمجـة

40
رزميات خوا و مباديء برمجة/ حمود م و تدريس اد إعد راّ يـق الفـ رف بلغة جافا2010-2011 لمحاضرة ا: لخامسـة ا البرمجـة فهوم م السبـوع الث الث

Upload: mahmoud-alfarra

Post on 18-Jul-2015

162 views

Category:

Education


8 download

TRANSCRIPT

و خوارزميات برمجةمباديء

/ محمود تدريس و إعدادرا لفـ ا رفيـق

جافا بلغة

2010-2011

لبرمجـة الخامسـة: المحاضرة ا مفهوم

لثالثالسبـوع ا

المحاضرة هذه في الخوارزميات حول سريعة تدريبات البرامج بعمل وعلقتها الحاسوب أجزاء لبرمجة ا و الحاسوب لبرمجيـات ا أنواع اللة بلغة علقتها و لبرمجة ا لغات ؟ البرمجة لغات أنوع ؟ المبرمج هو من

البرمجة؟ مراحل

البرامج بناء

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

الحاسوب أجزاءلبرامج ا بعمل وعلقتها

: الدخال استقبال وحدة عن المسئولة الوحدة هي . لوحة يها عل المثلة أهم ومن المستخدم من انات ي ب ل ا

. ... الخ, , والمايكروفون الماوس و المفاتيح

: الخراج انات وحدة ي ب ل ا إخراج عن المسئولة وهي , , والطابعة. الشاشة الخراج وحدات ومن للمستخدم

والسماعات.

: لذاكرة ا والتي وحدة لرئيسية ا لذاكرة ا نوعين وهييانات ب ل ا على والعمليات انات ي ب ل ا لتخزين تستخدم

( المعالجة( عمليات إجراء ثناء أ مؤقت بشكل لبرامج اتخزين, في المستخدمة انوية ث ل ا لذاكرة وا يها عل

عدم حال في دائم بشكل انات ي ب ل وا لبرامج ا. الوحدات باقي قبل من استخدامها

الحاسوب أجزاءلبرامج ا بعمل وعلقتها

المركزية المعالجة وحدة : CPU وحدة من ويتكون

إجراء عن المسئولة وهي والمنطق الحساب

, ووحدة انات ي ب ل ا على والمنطقية الحسابية العمليات

باقي بين لتنسيق وا إدارة عن المسئولة وهي التحكم

الوحدات.

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد

لفرا لفرا ا 20112011--20102010ا

لبرمجـة ا و الحاسوب الرسم خلل من لبرمجة ا معنى سويا نتذكر ا دعون

لتالي: ا

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لبرمجـة ا و الحاسوبفي المبرمج منها يستفيد لتي ا الحاسوب ا ي مزا أهم ومن

: المشكلت حل

وقت: السرعة في العمليات إنجاز الحاسوب يستطيع

النسان يحتاجه الذي بالوقت مقارنة جدا قصير

. بنفسه يات العمل هذه لنجاز

لتكرار العمليات: ا تنفيذ على بالقدرة الحاسوب يتميز

من وتستفيد المبرمج يحددها مرات لعدة الوامر أو

. بسرعة لتمامها الولى لميزة ا

الحسابية: الدقة العمليات تنفيذ يستطيع فالحاسوب

. ناهية مت بدقة المعقدة

يانات: التخزين ب ل ا تخزين على الحاسوب قدرة

, يانات ب ل ا بحجم ويتميز لحق وقت في لسترجاعها

في والدقة والسرعة تخزينه على لقادر ا ير لكب ا

استرجاعها.

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لبرمجـة ا و الحاسوبأربعة إلى تنقسم برنامج ل ل المكونة لتعليمات وا والوامر

أنواع:

. الدخال وحدات من انات ي ب ل ا لقراءة تعليمات

على والمنطقية الحسابية العمليات لجراء تعليمات

يانات. ب ل ا

. الخراج وحدات على انات ي ب ل ا لخراج تعليمات

أو الرئيسية الذاكرة في انات ي ب ل ا لتخزين تعليمات

انوية. ث ل ا

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لبرمجـة ا و الحاسوب إلى نمر الهدفللوصول أن يجب لبرنامج ا ابة كت وهو

المراد المشكلة على لتعرف ا أي الولى المراحل في

. برنامج ل ا ابة كت وأخيرا الحل طريقة إيجاد ثم حلها

الخوارزميات ابة لكت ا تعرضن السابقة المحاضرات في

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

الفعلية .... الخطوات أولى مع نبدأ ليوم فا لبرنامج ا

لغات احدى باستخدام ذلك يتم و برنامج ل ا ابة لكت

لبرمجة. ا

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

البرمجيـات أنواع) لبرمجيـات للمستخدم) Softwareا التي هي

الماديـة ( المكونات و) Hardwareاستخدام بكفاءةراحــة.

و رئيسيـة أنواع ثلثـة إلى لبرمجيات ا تقسيم يمكن وهي:

التشغيـل (.1 )Operating Systemبرامجلتطبيقات (.2 ا )Application Programsبرامجلبرمجـة ( .3 ا )Programming Languagesلغات

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لبرمجة ا لغات هناك العديد من لغات البرمجة المستخدمة في كتابة

البرامج, والختلف بين هذه اللغات هو فقط في طريقة التعبير عن كل نوع من أنواع الوامر

والتعليمات السابقة. ومن المثلة على لغات البرمجة المختلفة:

•Visual Basic•Java•C++• C#• Delphi

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد20112011--20102010الفرا الفرا

هي برمجيات تستخدم لتفسير (ترجمة) البرامج منلغة السنسان إلى لغة اللة, و تعرف باسم المترجم

Compiler . المجمعCompiler هو جزء من لغة البرمجة :

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

وتجميعها في ملف واحد يطلق عليه الملف التطبيقي .EXE(الهدف)

الترجمة برمجيات

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد20112011--20102010الفرا الفرا

المصدر لبرسنامج لبرسنامج المترجما االهدف

وحدة المعالجة

؟ البرمجة لغات أسنوع

المستوي حيث من لبرمجة ا لغات

عالية برمجة لغاتالمستوي

High Level Languages

متدسنية برمجة لغاتالمستوي

Low Level Languages

واجبـــــــفي صفحة واحدة اكتب تقرير حول الفارق بين لغات البرمجة عالية المستوى و 2.1

متدنية المستوى

متدسنية لبرمجة ا لغاتالمستوى

) ائية ن ث ل ا الحاسوب لغة باستخدام اوامرها )1,0تكتب ال مع مباشرة Hardwareتتخاطب للمبرمجين بالنسبة حتى لتعلم ا صعبة اللغات من

اسنفسهم اللة لغة Machine Languageتسمى

عالية البرمجة لغات لماذاالمستوى؟

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

المر مثل البسيطة يات العمل عن لتعبير ل يزية السنجلadd المر و الجمع عن تعبير ل عن Subل تعبير ل ل

المر و و endالطرح هكذا و لنهاية ا عن لتعبير لبلغة للغة ا هذه .Assemblyسميت

لغة كاسنت الوقت ذاك اسنها Assemblyفي إل اسنجازالذلك و المطلوب بالقدر مريحة ل و سهلة تكن لم

لحقا سمي ما الى تطويرها على المبرمجون عملالمستوى . عالية لبرمجة ا بلغات

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

عالية البرمجة لغات لماذاالمستوى؟

) مثل السنسان بلغة يهة شب بأوامر open, if..elseتكتب,write(

المتعارف الحسابية العمليات و العلقات تستخدميها ( + , - , * , / , > , < ) عل

لتعلم ا و الفهم سهلة فهي .لذلك

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

المبـرمــــج؟ هـو مـنللحاسوب المبرمج اوامر ابة كت على قادر شخص هو

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

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

لدولة ا امور لدارة برامج حتى او تعليمية او ترفيهية

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

البرمجـــــة مـراحــل مراحل عدة على لبرمجة ا ية عمل ا, تتم ـ ب ي ترت مرتبـة

ثير أ ت و معنـى اسنجازه له يتم المراحل هذه بعض ا،اسنجازه يتم ما منها و الحاسوب خلل ابواسطة من

المبرمج ... لتالي ا الشكل اسنظر للتوضيح

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

مراحل البرمجة

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

البرامج بناء

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

1

2

3

4

لسنصاتكم را شكـ

... فنستفيـد النقاش بدأ ن ل . حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد

لفرا لفرا ا 20112011--20102010ا

ميزانكـ × إيمانك: تعالى ا قال

م ه ب ر ن عو د ي ن ذي ل ا ع م ك س ف ن ر ب ص واعد ت ول ه ه ج و ن دو ري ي ي ش ع ل وا ة دا غ ل ا بول ا ي ن د ل ا ة ا ي ح ل ا ة ن زي د ري ت م ه ن ع ك ا ن ي ع

ع ب ت وا ا ن ر ك ذ ن ع ه ب ل ق ا ن ل ف غ أ ن م ع ط تطا ر ف ه ر م أ ن كا و ه وا ه

و خوارزميات برمجةمباديء

/ محمود تدريس و إعدادرا لفـ ا رفيـق

جافا بلغة

2010-2011

و السادسـة: المحاضرة لبرمجة ا لغات مكوناتلبرمجيـة ا الخطاء

لثالثالسبـوع ا

الطالبات شعبـة

المحاضرة هذه في الخوارزميات حول سريعة تدريبات

البرمجة للغة الساسيـة المفاهيم أهمية

البرمجة لغة مكونات

البرمجـة في الخطاء أنواع

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

المفاهيم أهميةلبرمجة ا للغة الساسيـة

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

. ا ـ بسيــطـ لو و ـا برنامجـ ابة كت طريقة لكن و ـــركة مشت تكون المفاهيــم هذه

. تختلف قد للمترجم تعريفها و بتها ا كت بين يها عل متعارف شيفرة كأنها بر تعت المفاهيم هذه

و اللة للغة المقصود إيصال ليتم المترجم و المبرمج. المادية المكونات بتفعيل تقوم بدورها لتي ا

لمبرمج ا

برن ل برنا ل اامجامج

المترالمترجمجم

لغة لغة اللةاللة

المكوالمكونات نات الماديالماديةة

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

, كأصناف أنها إل أخرى إلى لغة من لها ي تمث طبيعة

: هم و بتـة ا ث

لترقيم • ا )Punctuators(علمات

المحجوزة • )Reserved words(الكلمات

لثوابت • )Constants(ا

)String Constants(النصوص •

لتعريفية • ا )Identifiers(السماء

المنطقيـة • و بيـة الحسا )Operators(المعاملت

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لترقيم ا علمات)Punctuators(

يسمى ما استخدام لغة أي ابة كت عند المعروف من

Punctuators لترقيم ا علمات .أو

هو منها الهدف

•. الجمل بعض نهاية أو بداية تحديد

سطر • في كتبت وإن حتى بعضها عن الجمل فصل

واحد.

هناك في 6و نستعرضهم لترقيم ا علمات من أنواع

: لتالي ا الجدول

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لترقيم ا علمات)Punctuators(

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

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

للمترجم

الفاصلة المنقوطة

;

من مجموعة ونهاية بداية عن تعبرلداء يا منطق لمترابطة ا الجمل

. معينة وظيفة

الجمل أقواسالمترابطة

{ }

الجملة نفس في المفردات لفصلضرورية وهذه

الفراغات

معينة قيم لستقبال تستخدمللدوال

القيم أقواسالممرة

) (

نصوص ارسال و ابة لكت تستخدممعينة .

double quotations " "

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

singe quotations ' '

المحجوزة Reserved(الكلماتwords (

للستخدام محجوزة كلمات هي المحجوزة الكلمات

قبل اللغات لغةكل من عن منفصل قد بشكل

الخرى.

استخدامها يمكن ل الكلمات لي هذه تخصيصها أو

. المترجم داخل لها المخصصة غير وظيفة

تكتب جميعها الكلمات هذه صغيرة و Small(بحروف

letters.(

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

بيه ن يهت ب ن لحالة: ت الحساسـة للغات ا من تعتبر الجافا لغـة ــه ب ت ن لحالة: ا الحساسـة للغات ا من تعتبر الجافا لغـة ــه ب ت ن االكلمة الحرفالحرف المترجم بر ـيعت الكلمة ف المترجم بر ـيعت عن NameNameف عن مختلفة مختلفة..namenameالكلمة الكلمة

المحجوزة Reserved(الكلماتwords (

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد20112011--20102010الفرا الفرا

لثوابت Constantsا في تستخدم ثابتة قيم عن عبارة وهي

عند, تتغير ل أنها ابتة ث ب والمقصود البرامجيجب ولتغييرها مرة كل في لبرنامج ا تشغيل

. Codeتعديل لبرنامج ا بناء إعادة ثم : أنواع ثلثة إلى تنقسم لثوابت ا

مثل • صحيحة 105, 49, -1أعدادعشرية • 2.9, -0.34, 1.5أعدادابته charactersحروف • كت يمكن ل النوع وهذا

هذا ' ' لتحديد لترقيم ا علمة نستخدم ولذلك مباشرةمثل, ' 'a', 'b', '5الحرف

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

أو كأحرف الرقام كتابة يمكن أنه نلحظحالة؟ كل في تختلف فهل أرقام

نعم: ...الجوابيانات • ب ل ا جميع بتحويل يقوم الحاسوب أن نعلم فكما

التعامل يستطيع حتى نائي ث ل ا بالنظام مقابلها إلىل, مث كرقم ابته كت وعند الرقم 5معها إلى بتحويله يقوم

أي 5 نائي ث ل ا إجراء, 101بالنظام يمكن وبالتاليالحسابية العمليات من وغيرها والطرح الجمع عمليات

عليه.مثل '• كحرف ابته كت عند ما' 5أما إلى بتحويله يقوم

بشيفرة تحتوي ASCIIيقابله شيفرة عن عبارة وهيحرف لكل مقابلة نائي ث ل ا بالنظام رقمية قيمة على , يمكن ل وبالتالي الرقام طبعا الحرف هذه ومن

. عليه الحسابية العمليات وإجراء كرقم استخدامه

لثوابت Constantsا

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

) String Constant(النصوص

النصية ثوابت ل ) ا مجموعة النصوص( عن عبارة وهيجملة عن لتعبير ل تستخدم التي ية ل ا ت لمت ا الحرف من

وبين, نها ي ب المترجم يخلط ل حتى وأيضا معينةالتنصيص علمتي بين وضعها يجب لبرمجية ا الوامر

Double Quotations "" – ا ذكرن كما تستخدم والتي. نصي – ثابت ونهاية بداية لتحديد سابقا

النصية ثوابت ل من ا حرف أي على يحتوي أن يمكنالشاشة على ابته كت وعند جديد سطر عدا ما الحروف

هو كما .يظهر

تعريفية )Identifiers(أسماء كأسماء تستخدم تعريفية أسماء عن عبارة وهي

لثوابت, , ...للمتغيرات ا الدوال) النجليزية الحروف من لتعريفي ا السم يتكون -Aو

Z, a-z) , (الرقام الخاصة) _ , $9-0و العلمات و, تعريفي اسم يار اخت مراعاة عند قواعد:ست يجب

1.. بحرف السم يبدأ أن2.. برقم يبدأ ل أن3.. فارغة مسافة على يحتوي ل4.. المحجوزة السماء من يكون ل5.. الكائن به يقوم ما عن معبرا اسما يكون أن يفضلغير .6 أخرى خاصة علمات أو حروف أي على يحتوي ل

. سابقا المذكورة

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

المتغيرات الذاكرة في محجوزة مواضع هي المتغيرات

تخزين فيها يتم مختلفة و معينة بأحجامفي منها الستفادة و معالجتها ليتم يانات ب

, يتم المواضع هذه و معين عمل إنجاز. تعريفي باسم تسميتها

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

. نوع حسب تختلف أنواع لها المتغيرات هذه

صحيحة , أرقام مثل نحتاجها التي انات ي ب ل اغير , , , ... و حروف نصوص عشرية أرقام

. ذلك. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

المتغيرات لعدة بتعريفها نقوم و المتغيرات نستخدم

أسباب:السم • هذا )ربط .المتغير ( الذاكرة في بعنوان• , المتغير هذا في تخزينها سيتم التي يانات ب ل ا نوع تحديد

هذه لتخزين اللزمة الذاكرة حجم تحديد وبالتالييانات. ب ل ا

بالصورة • القيم مع التعامل الحاسوب ليستطيع . لثنائي ا للنظام تحويلها عند الصحيحة

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

المتغيرات عمل طبيعة

0 0 0 1 1 1 0 0 مقطع من الذكرة

بمجرد هذا التعريف يتم تخصيص مساحة في

الذاكرة لتخزين رقم صغير بحجم يناسب

النوع المراد

Type1 x = 28 ; // بايت1 سيتم تخصيص مساحة في الذاكرة سعتها Type2 y; // بايت2 سيتم تخصيص مساحة في الذاكرة سعتها

Type1 x = 28 ; // بايت1 سيتم تخصيص مساحة في الذاكرة سعتها Type2 y; // بايت2 سيتم تخصيص مساحة في الذاكرة سعتها

المنطقيـة و الحسابيـة المعاملت)Operators( المعالجة بعمليات لقيام ا للمبرمج تتيح وهي

( تنقسم( وهي التخزين وعمليات والمنطقية الحسابيةإلى:

Arithmetic Operators (+, -, *, /, %). Increment وDecrement (++, --). Assignment Operators (=, +=, -=, *=, /=, %=). Relational Operators (<, >, <=, >=). Equality Operators (==, !=). Logical Operators (!, &&, ||).

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

البرمجـة في الخطـاء

البرمجة لغات من بأي البرامج كتابة عنديتعرف أخطاء معنا يظهر ة عاد وتنفيذها

, عليه يتعرف ل ثالث و منها ثنين ا على المترجم: الخطاء من أنواع ثلثة فهناك

•Syntax Errors : ) ( عبارةعن وهي برمجي خطأيستطيع للغة ا وقواعد المفردات ابة كت في أخطاء

, أو بناء يمكن ل لتالي ا وب يها عل لتعرف ا المترجم ) . عليه يتعرف لها تعدي بدون لبرنامج ا تشغيل

المترجم)•Runtime Errors : ) ( وهيعبارة لتنفيذ ا خطأ

لبرنامج ا ابة كت ناء ث أ ملحظتها يمكن ل أخطاء عن , ولكتشاف يها عل لتعرف ا المترجم يستطيع ول

حتى وتجربتها لبرنامج ا تشغيل يجب الخطاء هذه ) . المترجم) يه عل يتعرف اكتشافها من نتمكن

•Logical Errors: ) ( خطأل هو و المنطقي الخطأمرحلة في يظهر إنما و المترجم يه عل يتعرف

, إجراء أو المقارنات تائج ن عكس يتم كأن بار الختخاطئة بأولوية بية حسا عملية

. حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعدادلفرا لفرا ا 20112011--20102010ا

لنصاتكم را شكـ

... فنستفيـد النقاش بدأ ن ل . حمدي / رفيق محمود أ . إعداد حمدي / رفيق محمود أ إعداد

لفرا لفرا ا 20112011--20102010ا

ميزانكـ × إيمانك: تعالى ا قال

ة ش عي م ه ل ن إ ف ري ك ذ ن ع ض ر ع أ ن م وقال * مى ع أ ة م ا ي ق ل ا م و ي ه ر ش ح ن و كا ن ضرا * صي ب ت ن ك د ق و مى ع أ ني ت ر ش ح م ل ب ر

ك ل ذ ك و ها ت سي ن ف ا ن ت ا ي آ ك ت ت أ ك ل ذ ك ل قاسى ن ت م و ي ل ا

طـه سورة