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

Download Report

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

‫خوارزميات و مباديء برمجة‬
‫بلغة جافا‬
‫األسبـوع الثالث‬
‫المحاضرة الخامسـة‪ :‬مفهوم البرمجـة‬
‫إعداد و تدريس‪ /‬محمود رفيـق الف َّـرا‬
‫‪2011-2010‬‬
‫في هذه المحاضرة‬
‫‪ ‬تدريبات سريعة حول الخوارزميات‬
‫‪ ‬أجزاء الحاسوب وعالقتها بعمل البرامج‬
‫‪ ‬الحاسوب و البرمجة‬
‫‪ ‬أنواع البرمجيـات‬
‫‪ ‬لغات البرمجة و عالقتها بلغة اآللة‬
‫‪ ‬أنوع لغات البرمجة ؟‬
‫‪ ‬من هو المبرمج ؟‬
‫‪ ‬مراحل البرمجة؟‬
‫‪ ‬بناء البرامج‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫أجزاء الحاسوب وعالقتها بعمل البرامج‬
‫‪ ‬وحدة اإلدخال‪ :‬هي الوحـدة المسـلولة عـن اسـت بال البيانـات مـن المسـتخدم‪ .‬ومـن أهـ‬
‫األمثلة عليها لوحة المفاتيح‪ ,‬و الماوس ‪ ,‬والمايكروفون‪ ...‬الخ‪.‬‬
‫‪ ‬وحدة اإلخراج‪ :‬وهي المسلولة عـن إخـراج البيانـات للمسـتخدم‪ .‬ومـن وحـدات اإلخـراج‬
‫الشاشة‪ ,‬والطابعة‪ ,‬والسماعات‪.‬‬
‫‪ ‬وحدة الذاكرة‪ :‬وهي نوعين الذاكرة الرئيسية والتي تستخدم لتخزين البيانـات والعمليـات‬
‫علــا البيانــات (البـرامج) بشــكل متقــن أ نــاء إجـراء عمليــات المعالجــة عليهـا‪ ,‬والــذاكرة‬
‫الثانوية المستخدمة في تخزين البرامج والبيانات بشكل دائ في حـال عـدم اسـتخدامها‬
‫من قبل باقي الوحدات‪.‬‬
‫أجزاء الحاسوب وعالقتها بعمل البرامج‬
‫‪ ‬وحدة المعالجة المركزية ‪: CPU‬ويتكون من وحدة الحساب والمنطق وهي‬
‫المسلولة عن إجراء العمليات الحسابية والمنط ية علا البيانات‪ ,‬ووحدة التحك وهي‬
‫المسلولة عن إدارة والتنسيق بين باقي الوحدات‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الحاسوب و البرمجـة‬
‫‪ ‬دعونا نتذكر سويا معنا البرمجة من خالل الرس التالي‪:‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الحاسوب و البرمجـة‬
‫ومن أه مزايا الحاسوب التي يستفيد منها المبرمج في حل المشكالت‪:‬‬
‫‪ ‬السرعة‪ :‬يستطيع الحاسوب إنجاز العمليات في وقن قصـير جـدام م ارنـة بالوقـن الـذي‬
‫يحتاجه اإلنسان إلنجاز هذه العمليات بنفسه‪.‬‬
‫‪ ‬التكرار‪ :‬يتميز الحاسـوب بال ـدرة علـا تنفيـذ العمليـات أو األوامـر لعـدة مـرات يحـددها‬
‫المبرمج وتستفيد من الميزة األولا إلتمامها بسرعة‪.‬‬
‫‪ ‬الدقة‪ :‬فالحاسوب يستطيع تنفيذ العمليات الحسابية المع دة بدقة متناهية‪.‬‬
‫‪ ‬التخ ـزين‪ :‬قــدرة الحاســوب علــا تخ ـزين البيانــات فســترجاعها فــي وقــن فح ـق‪ ,‬ويتميــز‬
‫بحج البيانات الكبير ال ادر علا تخزينه والسرعة والدقة في استرجاعها‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الحاسوب و البرمجـة‬
‫واألوامر والتعليمات المكونة للبرنامج تن س إلا أربعة أنواع‪:‬‬
‫‪ ‬تعليمات ل راءة البيانات من وحدات اإلدخال‪.‬‬
‫‪ ‬تعليمات إلجراء العمليات الحسابية والمنط ية علا البيانات‪.‬‬
‫‪ ‬تعليمات إلخراج البيانات علا وحدات اإلخراج‪.‬‬
‫‪ ‬تعليمات لتخزين البيانات في الذاكرة الرئيسية أو الثانوية‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الحاسوب و البرمجـة‬
‫‪ ‬للوصول إلا الهدف وهو كتابة البرنـامج يجـأ أن نمـر فـي المراحـل األولـا أي التعـرف‬
‫علا المشكلة المراد حلها‬
‫إيجاد طري ة الحل وأخيرام كتابة البرنامج‪.‬‬
‫‪ ‬فــي المحاض ـرات الســاب ة تعرضــنا لكتابــة الخوارزميــات و هــي تعتبــر الم ـرحلتين اللت ـين‬
‫تســب ان كتابــة البرنــامج ‪ ....‬فــاليوم نبــدأ مــع أولــا الخطــوات الفعليــة لكتابــة البرنــامج و‬
‫يت ذلك باستخدام احدى لغات البرمجة‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫أنواع البرمجيـات‬
‫‪ ‬البرمجيـات (‪ )Software‬هي التي للمستخدم استخدام المكونات الماديـة‬
‫(‪ )Hardware‬بكفاءة و راحــة‪.‬‬
‫‪ ‬و يمكن ت سي البرمجيات إلا ال ـة أنواع رئيسيـة و هي‪:‬‬
‫‪ .1‬برامج التشغيـل (‪)Operating System‬‬
‫‪ .2‬برامج التطبي ات (‪)Application Programs‬‬
‫‪ .3‬لغات البرمجـة ( ‪)Programming Languages‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫لغات البرمجة‬
‫‪ ‬هناك العديد من لغات الربجمة املستخدمة يف كتابة الربامج‪ ,‬واالختالف بني‬
‫هذه اللغات هو فقط يف طريقة التعبري عن كل نوع من أنواع األوامر والتعليمات‬
‫السابقة‪ .‬ومن األمثلة على لغات الربجمة املختلفة‪:‬‬
‫• ‪Visual Basic‬‬
‫• ‪Java‬‬
‫• ‪C++‬‬
‫• ‪C#‬‬
‫• ‪Delphi‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫برمجيات الترجمة‬
‫‪ ‬هي برجميات تستخدم لتفسري (ترمجة) الربامج من لغة اإلنسان إىل لغة اآللة‪ ,‬و‬
‫تعرف باسم املرتجم ‪.Compiler‬‬
‫‪ ‬اجملمع ‪ :Compiler‬هو جزء من لغة الربجمة املختص يف حتويل األوامر من‬
‫طريقة تعبري اللغة عن التعليمات واألوامر إىل لغة نظام التشغيل وجتميعها يف‬
‫ملف واحد يطلق عليه امللف التطبيقي (اهلدف) ‪. EXE‬‬
‫البرنامج المصدر‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫المترج‬
‫البرنامج‬
‫الهدف‬
‫وحدة المعالجة‬
‫أنوع لغات البرمجة ؟‬
‫لغات البرمجة من حيث المستوي‬
‫لغات برمجة متدنية‬
‫المستوي‬
‫‪Low Level Languages‬‬
‫‪2.1‬‬
‫واجبـــــــ‬
‫لغات برمجة عالية‬
‫المستوي‬
‫‪High Level Languages‬‬
‫في صفحة واحدة اكتب تقرير حول الفارق بين لغات البرمجة عالية المستوى و‬
‫متدنية المستوى‬
‫لغات البرمجة متدنية المستوى‬
‫‪ ‬تكتأ اوامرها باستخدام لغة الحاسوب الثنائية ( ‪)1,0‬‬
‫‪ ‬تتخاطأ مع ال ‪Hardware‬مباشرة‬
‫‪ ‬من اللغات صعبة التعل حتا بالنسبة للمبرمجين انفسه‬
‫‪ ‬تسما لغة اآللة ‪Machine Language‬‬
‫لماذا لغات البرمجة عالية المستوى؟‬
‫‪ ‬نظ ـرا لصــعوبة التعامــل مــع لغــة اآللــة ف ــد طــور المبرمجــون لغــة اآللــة الــا لغ ـة تســتخدم‬
‫الكلمات افنجليزية للتعبير عن العمليات البسيطة مثل افمر ‪add‬للتعبير عـن الجمـع‬
‫و افمر ‪Sub‬للتعبير عن الطرح و افمر ‪end‬للتعبير عـن النهايـة و هكـذا و سـمين‬
‫هذه اللغة بلغة ‪. Assembly‬‬
‫‪ ‬في ذاك الوقن كانن لغة ‪Assembly‬انجازا إف انها ل تكن سهلة و ف مريحة‬
‫بال در المطلوب و لذلك عمل المبرمجون علا تطويرها الا ما سمي فح ا بلغات‬
‫البرمجة عالية المستوى ‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫لماذا لغات البرمجة عالية المستوى؟‬
‫‪ ‬تكتأ بأوامر شبيهة بلغة افنسان مثل ()‪open, if..else ,write‬‬
‫‪ ‬تستخدم العالقات و العمليات الحسابية المتعارف عليها ( ‪/ , * , - , +‬‬
‫‪)< , > ,‬‬
‫‪ ‬لذلك فهي سهلة الفه و التعل ‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫مـن هـو المبـرمـ ــج؟‬
‫‪ ‬المبرمج هو شخص قادر علا كتابة اوامر للحاسوب لجعله قادرا علا تنفيذ مهمة‬
‫معينة‪.‬‬
‫‪ ‬وعليه يجأ التفريق بين مستخدم الحاسوب و المبرمج حيث ان المستخدم يعتمد و‬
‫يستفيد مما ينتجه له المبرمج من برامج تطبي ية او برامج ترفيهية او تعليمية او حتا‬
‫برامج إلدارة امور الدولة‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫مـراحــل البرمج ـ ــة‬
‫‪ ‬تت عملية البرمجة علا عدة مراحل ‪ ,‬مرتبـة ترتيبـما له معنـا و تأ ير‪ ،‬بعض هذه المراحل‬
‫يت انجازها بواسطة الحاسوب و منها ما يت انجازها من خالل المبرمج‬
‫‪ ‬للتوضيح انظر الشكل التالي ‪...‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫مراحل‬
‫البرمجة‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫بناء البرامج‬
‫الكتابة‬
‫‪1‬‬
‫‪Writing‬‬
‫الترجمة‬
‫‪2‬‬
‫املخرجات‬
‫‪Output‬‬
‫‪Compiling‬‬
‫التنفيذ‬
‫‪Executing‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫‪3‬‬
‫‪4‬‬
‫شك مـرا إلنصاتك‬
‫لنبدأ الن اش فنستفيـد‪...‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫إيمانك × ميزانكـ‬
‫قال اهلل تعالا‪:‬‬
‫ك مع الَّ ِ‬
‫ِ‬
‫ين يَ ْدعُو َن َربَّـ ُه ْ بِالْغَ َد ِاة َوال َْع ِشي يُ ِري ُدو َن َو ْج َه ُه‬
‫ذ‬
‫س‬
‫ف‬
‫ـ‬
‫ن‬
‫ر‬
‫ْ‬
‫َ‬
‫َ‬
‫َو ْ‬
‫اصب ْ َ َ َ َ‬
‫ْحيَ ِاة ُّ‬
‫الدنْـيَا َوَف تُ ِط ْع َم ْن أَ ْغ َفلْنَا‬
‫َوَف تَـ ْع ُد َع ْيـنَ َ‬
‫اك َع ْنـ ُه ْ تُ ِري ُد ِزينَةَ ال َ‬
‫قَـلْبَهُ َع ْن ِذ ْك ِرنَا َواتَّـبَ َع َه َواهُ َوَكا َن أ َْم ُرهُ فُـ ُرطما‬
‫خوارزميات و مباديء برمجة‬
‫بلغة جافا‬
‫األسبـوع الثالث‬
‫المحاضرة السادسـة‪ :‬مكونات لغات البرمجة و األخطاء البرمجيـة‬
‫شعبـة الطالبات‬
‫إعداد و تدريس‪ /‬محمود رفيـق الف َّـرا‬
‫‪2011-2010‬‬
‫في هذه المحاضرة‬
‫‪ ‬تدريبات سريعة حول الخوارزميات‬
‫‪ ‬أهمية المفاهي األساسيـة للغة البرمجة‬
‫‪ ‬مكونات لغة البرمجة‬
‫‪ ‬أنواع األخطاء في البرمجـة‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫أهمية المفاهي األساسيـة للغة البرمجة‬
‫‪ ‬في كافة لغات البرمجة يوجد مفـاهي أساسـية تتعلـق بأبسـم المكونـات التـي مـن خاللهـا‬
‫قادرا علا كتابة برنامج ـما و لو بسي ـط ـما‪.‬‬
‫تكون م‬
‫‪ ‬هذه المفاهي ـ تكون مشت ــركة و لكن طري ة كتابتها و تعريفها للمترج قد تختلف‪.‬‬
‫‪ ‬هــذه المفــاهي تعتبــر كأنهــا شــيفرة متعــارف عليهــا بــين المبــرمج و المت ـرج ليــت إيصــال‬
‫الم صود للغة اآللة و التي بدورها ت وم بتفعيل المكونات المادية‪.‬‬
‫المكونات‬
‫المادية‬
‫لغة اآللة‬
‫المترج‬
‫البرنامج‬
‫المبرمج‬
‫مكونات لغة البرمجة‬
‫‪ ‬و أي لغة البرمجـة له مجموعة مكونات قد تختلف طبيعة تمثيلها من لغة إلا أخرى‪,‬‬
‫إف أنها كأصناف ابتـة و ه ‪:‬‬
‫• عالمات الترقي )‪(Punctuators‬‬
‫• الكلمات المحجوزة )‪(Reserved words‬‬
‫• الثوابن )‪(Constants‬‬
‫• النصوص )‪(String Constants‬‬
‫• األسماء التعريفية )‪(Identifiers‬‬
‫• المعامالت الحسابيـة و المنط يـة )‪(Operators‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫عالمات الترقي )‪(Punctuators‬‬
‫‪ ‬من المعروف عند كتابة أي لغة استخدام ما يسما ‪Punctuators‬أو عالمات‬
‫الترقي ‪.‬‬
‫‪ ‬الهدف منها هو‬
‫•‬
‫تحديد بداية أو نهاية بعض الجمل‪.‬‬
‫• فصل الجمل عن بعضها حتا وإن كتبن في سطر واحد‪.‬‬
‫‪ ‬و هناك ‪ 6‬أنواع من عالمات الترقي نستعرضه في الجدول التالي‪:‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫عالمات الترقي )‪(Punctuators‬‬
‫العالمة‬
‫;‬
‫}{‬
‫اسمها‬
‫الفاصلة المن وطة‬
‫استخدامها‬
‫تستخدم لتحديد نهاية الجمل التي هي عبارة عن أوامر‬
‫أو تعليمات للمترج‬
‫أقواس الجمل المترابطة تعبر عن بداية ونهاية مجموعة من الجمل المترابطة‬
‫منط يما ألداء وظيفة معينة‪.‬‬
‫لفصل المفردات في نفس الجملة وهذه ضرورية‬
‫الفراغات‬
‫()‬
‫أقواس ال ي الممرة‬
‫""‬
‫‪double quotations‬‬
‫''‬
‫‪singe quotations‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫تستخدم فست بال قي معينة للدوال‬
‫تستخدم لكتابة و ارسال نصوص معينة ‪.‬‬
‫تستخدم لكتابة نوع معين من البيانات و هو الحروف‬
‫الثابتة‬
‫الكلمات المحجوزة ‪(Reserved‬‬
‫)‪words‬‬
‫‪ ‬الكلمــات المحجــوزة هــي كلمــات محجــوزة لالســتخدام مــن قبــل كــل لغــة بشــكل ق ـد‬
‫منفصل عن اللغات األخرى‪.‬‬
‫‪ ‬هــذه الكلمــات ف يمكــن اســتخدامها أو تخصيصــها ألي وظيفــة غيــر المخصصــة لهــا‬
‫داخل المترج ‪.‬‬
‫‪ ‬و هذه الكلمات جميعها تكتأ بحروف صغيرة (‪.)Small letters‬‬
‫تنبيه‬
‫انتبــه‪ :‬لغـة الجافا تعتبر من اللغات الحساسـة لحالة األحرف فـَيعتبر المترج الكلمة‬
‫‪ Name‬مختلفة عن الكلمة ‪.name‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الكلمات المحجوزة ‪(Reserved‬‬
‫)‪words‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الثوابن ‪Constants‬‬
‫‪ ‬وهي عبارة عن قي ابتة تستخدم في البرامج‪ ,‬والم صود بثابتة أنها ف‬
‫تتغير عند تشغيل البرنامج في كل مرة ولتغييرها يجأ تعديل ‪Code‬‬
‫إعادة بناء البرنامج‪.‬‬
‫‪ ‬الثوابن تن س إلا ال ة أنواع‪:‬‬
‫• أعداد صحيحة مثل ‪105 ,49- ,1‬‬
‫• أعداد عشرية ‪2.9- ,0.34 ,1.5‬‬
‫• حروف ‪characters‬وهذا النوع ف يمكن كتابته مباشرة ولذلك نستخدم عالمة‬
‫الترقي ' ' لتحديد هذا الحرف‪ ,‬مثل ''‪a', 'b', '5‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫الثوابن ‪Constants‬‬
‫‪ ‬نالحظ أنه يمكن كتابة األرقام كأحرف أو أرقام فهل تختلف في كل حالة؟‬
‫‪ ‬الجواب‪ :‬نع ‪...‬‬
‫• فكمــا نعل ـ أن الحاســوب ي ــوم بتحويــل جميــع البيانــات إلــا م ابلهــا بالنظــام الثنــائي حتــا‬
‫يستطيع التعامل معها‪ ,‬وعند كتابته كرق مثالم ‪ 5‬ي وم بتحويله إلـا الـرق ‪ 5‬بالنظـام الثنـائي‬
‫أي ‪ ,101‬وبالتالي يمكن إجراء عمليات الجمـع والطـرح وغيرهـا مـن العمليـات الحسـابية‬
‫عليه‪.‬‬
‫• أما عند كتابته كحرف مثل '‪ '5‬ي وم بتحويله إلـا مـا ي ابلـه بشـيفرة ‪ASCII‬وهـي عبـارة‬
‫عن شيفرة تحتـوي علـا قيمـة رقميـة بالنظـام الثنـائي م ابلـة لكـل حـرف ومـن هـذه األحـرف‬
‫طبعام األرقام‪ ,‬وبالتالي ف يمكن استخدامه كرق وإجراء العمليات الحسابية عليه‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫النصوص )‪(String Constant‬‬
‫‪ ‬الثوابن النصية (النصوص) وهي عبارة عن مجموعة من األحرف المتتالية التي تستخدم‬
‫للتعبير عن جملة معينة‪ ,‬وأيضام حتا ف يخلم المترج بينها وبين األوامر البرمجية‬
‫يجأ وضعها بين عالمتي التنصيص "" ‪Double Quotations‬والتي تستخدم‬
‫– كما ذكرنا ساب ام – لتحديد بداية ونهاية ابن نصي‪.‬‬
‫‪ ‬الثوابن النصية يمكن أن يحتوي علا أي حرف من الحروف ما عدا سطر جديد وعند‬
‫كتابته علا الشاشة يظهر كما هو‪.‬‬
‫أسماء تعريفية )‪(Identifiers‬‬
‫‪ ‬وهي عبارة عن أسماء تعريفية تستخدم كأسماء للمتغيرات ‪ ,‬الدوال ‪ ,‬الثوابن ‪...‬‬
‫‪ ‬و يتكون افس التعريفي من الحروف اإلنجليزية (‪ , )a-z ,A-Z‬و األرقـام (‪)0-9‬‬
‫و العالمات الخاصة _ ‪$ ,‬‬
‫‪ ‬عند اختيار اس تعريفي‪ ,‬يجأ مراعاة سن قواعد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫أن يبدأ افس بحرف‪.‬‬
‫أن ف يبدأ برق ‪.‬‬
‫ف يحتوي علا مسافة فارغة‪.‬‬
‫ف يكون من األسماء المحجوزة‪.‬‬
‫يفضل أن يكون اسما معبرا عن ما ي وم به الكائن‪.‬‬
‫ف يحتوي علا أي حروف أو عالمات خاصة أخرى غير المذكورة ساب ا‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫المتغيرات‬
‫‪ ‬المتغيـرات هــي مواضــع محجــوزة فــي الــذاكرة بأحجــام معينــة و مختلفــة يــت‬
‫فيها تخزين بيانات ليت معالجتهـا و افسـتفادة منهـا فـي إنجـاز عمـل معـين‪,‬‬
‫و هذه المواضع يت تسميتها باس تعريفي‪.‬‬
‫‪ ‬و بتســميته يســهل عليهــا التعامــل معــه و معالجــة البيانــات المخزنــة داخلــه‬
‫خالل البرنامج ‪.‬‬
‫‪ ‬هـذه المتغيـرات لهـا أنـواع تختلـف حســأ نـوع البيانـات التـي نحتاجهـا مثــل‬
‫أرقام صحيحة ‪ ,‬أرقام عشرية ‪ ,‬نصوص ‪ ,‬حروف ‪ ... ,‬و غير ذلك‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫المتغيرات‬
‫‪ ‬نستخدم المتغيرات و ن وم بتعريفها لعدة أسباب‪:‬‬
‫• ربم هذا افس (المتغير) بعنوان في الذاكرة‪.‬‬
‫• تحديـد نــوع البيانــات التــي سـيت تخزينهــا فــي هــذا المتغيـر‪ ,‬وبالتــالي تحديــد حجـ الــذاكرة‬
‫الالزمة لتخزين هذه البيانات‪.‬‬
‫• ليستطيع الحاسوب التعامل مع ال ي بالصورة الصحيحة عند تحويلها للنظام الثنائي‪.‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫طبيعة عمل المتغيرات‬
‫سيتم تخصيص مساحة في الذاكرة سعتها ‪ 1‬بايت ‪Type1 x = 28 ; //‬‬
‫;‪Type2 y‬‬
‫سيتم تخصيص مساحة في الذاكرة سعتها ‪ 2‬بايت ‪//‬‬
‫بمجرد هذا التعريف يتم‬
‫تخصيص مساحة في الذاكرة‬
‫لتخزين رقم صغير بحجم‬
‫يناسب النوع املراد‬
‫مقطع من الذكرة‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫المعامالت الحسابيـة و المنط يـة )‪(Operators‬‬
‫‪ ‬وهي تتيح للمبرمج ال يام بعمليات المعالجة (الحسابية والمنط ية) وعمليات التخزين‬
‫وهي تن س إلا‪:‬‬
‫‪ Arithmetic Operators (+, -, *, /, %).‬‬
‫‪Decrement (++, --).‬و ‪ Increment‬‬
‫‪ Assignment Operators (=, +=, -=, *=, /=, %=).‬‬
‫‪ Relational Operators (<, >, <=, >=).‬‬
‫‪ Equality Operators (==, !=).‬‬
‫‪ Logical Operators (!, &&, ||).‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫األخطـاء في البرمجـة‬
‫‪ ‬عند كتابة البرامج بأي من لغات البرمجة وتنفيذها عاد مة يظهر معنا أخطاء يتعرف‬
‫المترج علا ا نين منها و الث ف يتعرف عليه‪ ,‬فهناك ال ة أنواع من األخطاء‪:‬‬
‫• ‪( :Syntax Errors‬خطأ برمجي) وهي عبارة عن أخطاء في كتابة المفردات‬
‫وقواعد اللغة يستطيع المترج التعرف عليها‪ ,‬وبالتالي ف يمكن بناء أو تشغيل‬
‫البرنامج بدون تعديلها‪( .‬يتعرف عليه المترج )‬
‫• ‪( :Runtime Errors‬خطأ التنفيذ) وهي عبارة عن أخطاء ف يمكن‬
‫مالحظتها أ ناء كتابة البرنامج وف يستطيع المترج التعرف عليها‪ ,‬وفكتشاف هذه‬
‫األخطاء يجأ تشغيل البرنامج وتجربتها حتا نتمكن من اكتشافها‪( .‬يتعرف عليه‬
‫المترج )‬
‫• ‪( :Logical Errors‬الخطأ المنط ي) و هو خطأ ف يتعرف عليه المترج و‬
‫إنما يظهر في مرحلة افختبار‪ ,‬كأن يت عكس نتائج الم ارنات أو إجراء عملية‬
‫حسابية بأولوية خاطلة‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫شك مـرا إلنصاتك‬
‫لنبدأ الن اش فنستفيـد‪...‬‬
‫إعداد ‪ /‬أ‪ .‬محمود رفيق حمدي الفرا ‪2011-2010‬‬
‫إيمانك × ميزانكـ‬
‫قال اهلل تعالا‪:‬‬
‫ش ُرهُ يَـ ْوَم الْ ِ يَ َام ِة‬
‫ض ْن مكا َونَ ْح ُ‬
‫ض َع ْن ِذ ْك ِري فَِإ َّن لَهُ َم ِعي َ‬
‫شةم َ‬
‫َوَم ْن أَ ْع َر َ‬
‫ِ‬
‫نب ِ‬
‫ِ‬
‫َ‬
‫ص ميرا * قَا َل‬
‫ن‬
‫ك‬
‫د‬
‫ق‬
‫و‬
‫ا‬
‫م‬
‫ع‬
‫أ‬
‫ي‬
‫ن‬
‫ت‬
‫ر‬
‫ش‬
‫ح‬
‫أَ ْع َما * قَ َ‬
‫َ‬
‫ُ‬
‫ال َرب ل َ َ َ ْ َ ْ َ َ ْ ْ ُ َ‬
‫ِ‬
‫ِ‬
‫ِ‬
‫َ‬
‫سا‬
‫ن‬
‫ـ‬
‫ت‬
‫م‬
‫و‬
‫ـ‬
‫ي‬
‫ْ‬
‫ل‬
‫ا‬
‫ك‬
‫ل‬
‫ذ‬
‫ك‬
‫و‬
‫ا‬
‫ه‬
‫ـ‬
‫ت‬
‫ي‬
‫س‬
‫ن‬
‫ـ‬
‫ف‬
‫ا‬
‫ن‬
‫ـ‬
‫ت‬
‫ا‬
‫آي‬
‫ك‬
‫ت‬
‫ـ‬
‫ت‬
‫أ‬
‫ك‬
‫َ‬
‫َ‬
‫َ‬
‫ُ‬
‫ُ‬
‫َ‬
‫َك َذل َ ْ َ َ َ َ َ َ َ َ َ ْ َ ْ َ‬
‫سورة طـه‬