Download - خوازميات و مباديء برمجــة (3) مفهوم البرمجـة
و خوارزميات برمجةمباديء
/ محمود تدريس و إعدادرا لفـ ا رفيـق
جافا بلغة
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ا