مقدمة في البرمجة PDF
Document Details
Uploaded by PropitiousTonalism8725
جامعة المنوفية
2023
Tags
Summary
هذه الوثيقة تُقدم مقدمة في البرمجة، وتشمل مفاهيم البرمجة الأساسية، وأنواع لغات البرمجة، ومراحل تطوير النظام البرمجي. يتناول النص لغة البرمجة، وأهميتها، وكيفية بناء تطبيقات برمجية.
Full Transcript
مقدمة ف ا رمجة ا ج نب ا ظري ة ل مقدمة 1 ا ص ا ول أنو ع لبيانا 2 ا ص ا ن لو ج ة لرسومية GUI 3 ث ا ص ا لت ر...
مقدمة ف ا رمجة ا ج نب ا ظري ة ل مقدمة 1 ا ص ا ول أنو ع لبيانا 2 ا ص ا ن لو ج ة لرسومية GUI 3 ث ا ص ا لت ر لقر هياك 4 ا ص ا را ع جر ء لد 5 ا ص ا خ مس Content Page 2023 ا ص ا ول مقدمة ي ا برمجة أهداف ا ص ا ول ح سة ل ص م ب د إن اء لطال رت طة ب يكو قا ً ع ى أ : نشطة ة. ل م اه ي ر ة. ل ي د لغا ة. ل لغا يص ج . ر ب ي ا كام ة IDE ي ر ع ى مكونا ب ئة ل طوير ى. د مر ح تطوير ل ظا ل ل دف . يرس خر Content Page ً شـيئا والتـى أطلقـوا عليهـا اسـم الحاسـب ) (Computerوالتـى هذه اﻵلة التى ﻻ تفهـم وﻻ تعـى تتكــون مــن مجموعــة مــن اﻷجــزاء المرئيــة والملموســة مثــل الــشاشة ولوحــة المفــاتيح والفــأرة و هـــذه ُ العلبـــة التـــى تحـــوى بـــداخلها الكثيـــر مـــن التفاصـــيل وبهـــا الـــذاكرة والمعـــالج ومحركـــات اﻷقــراص واللوحــة اﻷم والتــى تظهــر عليهــا العديــد مــن الــدوائر اﻹلكترونيــة والمــسارات البــارزة واﻷسﻼك والكابﻼت ،كـل هـذا يخفـى بداخلـه أشـياء بالغـة التعقيـد ،فلـو حركـت مؤشـر الفـأرة على سطح المكتـب وأشـرت إلـى أحـد الرمـوز فيظهـر تلمـيح باسـم هـذا الرمـز أو وظيفتـه ،ولـو فتحــت لعبــة معينــة كلعبــة الــسيارات واســتخدمت اﻷســهم الموجــودة بلوحــة المفــاتيح لتقــود ً وممتعا بالفعل ،فهل لـك أن تخبرنـى بتفاصـيل ً مسليا ً أمرا ً ويسارا لكان ً يمينا السيارة وتحركها ما حدث فى الخلفية من أوامر وتعليمات جعلت اﻵلـة تفهـم وتنفـذ تلـك اﻷوامـر ،هـذا هـو مـا ﻻ يمكن أن تراه وتلمسه بيدك إنها البرمجة ).(Programming مفاهیم البرمجۀ البرمجۀ Programming ً مهاما جديدة ﻻ يمكن له أن ينفذها مـن تلقـاء البرمجة هى القدرة على مخاطبة الحاسب لينفذ ذاتـــه ،فهـــى تمنحـــك القـــدرة علـــى الـــتحكم بجميـــع اﻷجهـــزة المرتبطـــة بـــه والـــسيطرة عليهـــا ، وبمفه ــوم أ بـــسط فالبرمجـــة هـــى شـــرح تفـــصيلى لم ــا يجـــب أن يقـــوم بـــه الحاســـب مـــن مهـــام ، واﻹنسان هو من يقـوم بهـذه المهمـة وهـذا هـو مـا يطلـق عليـه المبـرمج ) ، (Programmerوهـل يستطيع الحاسب فهم لغة البشر؟! بالتأكيد ﻻ ،فالحاسب ﻻ يفهم سـوى لغـة واحـدة وهـى لغـة الكهرباء والمتمثلة فى إشـارتين ) أقـصى وأدنـى جهـد محتمـل ( يفهـم الحاسـب هـذه اﻹشـارات ً رياضيا بما يـسمى النظـام الثنـائى بالمنطق أى إما Trueأو Falseوتمثل باﻷرقام ) ١و (٠وتمثل وهذا مـا يطلـق عليـه لغـة اﻵلـة ) ، (Machine Languageنـستنتج مـن ذلـك أن جميـع البيانـات المدخلة إلى الحاسب وجميـع اﻷوامـر الموجهـه إليـه يجـب أن تحـول مـن صـورتها اﻷصـلية إلـى سلسلة من اﻷرقام بالنظام الثنائى حتى يفهمها الحاسب وينفذها. الحاسب الذى نتحدث عنه ليس فقط جهاز الكمبيوتر ،وإنما هو أى جهاز إلكترونى سـواء كـان كمبيوتر أو موبايل أو تلفزيون أو اﻵلة الحاسبة التقليدية أو حتى ساعة اليد الرقمية. Content Page ٥ لغات البرمجۀ Programming Language لغــات البرمجــة كلغــات البــشر فهــى وســيلة للتخاطــب والتعــارف ،عنــدما بــدأ البــشر فــى التعبيــر تحــدثوا بــبعض اﻷصــوات تعــارفوا عليهــا فيمــا بيــنهم ومــع تطــور اﻹنــسانية قــاموا بتمثيــل هــذه اﻷصوات برموز مكتوبة إلى أن وصلنا إلى المئات من لغـات البـشر التـى لكـل منهـا رمـوز خاصـة وقواعــد كتابــة ونطــق ،وإذا أراد شــخص يتحــدث اللغــة العربيــة أن يخاطــب شخــصًا يتحــدث اﻹنجليزية فيجب علي أحدهما أن يتعلم لغة اﻵخر أو يستعين بـشخص ثالـث يتحـدث اللغتـين حتــى يعمــل كوســيط بينهمــا ،اﻵن يمكنــك أن تــستوعب مفهــوم لغــة البرمجــة بكــل ســهولة فهــى كـو ن عبـارات وجمـل لت ِعبارة عن مجموعة من الكلمات والرموز التى تكتب وفق قواعد محددة ُ لها معنى محدد يتم تمريرها إلى مـا يـسمى بـالمترجم ) (Compilerليقـوم بـدوره بتحويلهـا إلـى لغة اﻵلة ومن َثم يفهمها الحاسب ويقوم بتنفيذها. تصنیف لغات البرمجۀ : ً سابقا فى مفهوم البرمجة أن الحاسب ﻻيفهـم إﻻ لغـة اﻵلـة والتـى ُتمثـل بسلـسلة مـن كما ذكرنا اﻷرقــام ٠و ١ويقــوم بتنفيــذها مباشــرة بــﻼ وســيط ،فبرمجــة الحاســب بلغــة اﻵلــة شــىء بــالغ التعقيد حيث كان التعامل مع الحاسـب فـى بداياتـه فـى أربعينيـات القـرن الماضـى يحتـاج إلـى كتابــة التعليمــات بلغــة اﻵلــة وهــو مــا كــان يتطلــب وقــت وجهــد كبيــر وكعــادة أى شــىء يــصنعه ومجهـ ً ً ً ـدا فــى التعامــل معــه ثــم يتطــور إلــى أن يــصبح اﻹنــسان يبــدأ بــسيطا فــى مهمتــه معقــدا ُ ِ ً بسيطا فى التعامل معه ،فكان من الضرورى أن يتم اختصار الوقـت والجهـد ً معقدا فى مهمته المبذول فى إنجاز المهام التى تحتاج إلى كتابتها بلغة اﻵلة إلـى مـا هـو أهـم فـتم تطـوير لغـات البرمجة والتى استبدلت النظام الثنائى بكلمات قريبـة الفهـم مـن لغـة اﻹنـسان ،وكلمـا تطـورت ً وضوحا فى مفرداتها وسهولة ومتعة فى كتابتها وقوة فـى أدائهـا لغات البرمجة أصبحت أكثر ً ً قربا مـن اﻹنـسان ُ وبعـدا مـن اﻵلـة ،بمعنـى أبـسط فكلمـا تطـورت لغـات البرمجـة فأصبحت أكثر كلمــا ارتقـــت مفرداتهـــا لـــذا يفهمهـــا اﻹ نـــسان ويـــستخدمها بـــسهولة وعلـــى العكـــس تـــصبح أكثـــر ص ــعوبة لفهـــم اﻵلـــة لـــذا تحتـــاج إلـــى مترجمـــات بالغـــة التعقيـــد لتـــستطيع أن تحـــول المفـــردات القريبة من اللغة الطبيعية إلى لغة اﻵلة. Content Page ٦ وتنقسم لغات البرمجۀ بشکل عام إلى : لغات منخفضۀ المستوى Low level language هى اللغات القريبة مـن فهـم اﻵلـة والتـى يمكـن أن تتعامـل مـع اﻵلـة بـشكل مباشـر بـدون وســـيط ،والمقـــصود بالوســـيط هنـــا هـــو نظـــام التـــشغيل فلغـــات البرمجـــة الحديثـــة ﻻ تخاطب اﻵلـة بـشكل مباشـر بـل تخاطـب نظـام التـشغيل الـذى يقـوم بـدور الوسـيط بـين اﻵلة وبين البرنامج المكتوب بهذه اللغة. ولغــات البرمجــة القــادرة علــى مخاطبـة اﻵلــة بــشكل مباشــر هــى لغــة اﻵلــة Machine Languageولغــة التجميــع Assemblyوهــى لغــة تتكــون مــن مجموعــة مــن الكلمــات ُ بالمجمع. والرموز يتم تحويلها إلى لغة اﻵلة عن طريق ما يسمى لغات عالیۀ المستوى High level language هـى لغــات تتكـون مــن مجموعــة مـن الكلمــات والرمـوز القريبــة مــن اللغـة الطبيعيــة وهــذه Compilerوالــذى يقــوم بتحويــل اللغــات تحتــاج إلــى برنــامج ُيطلــق عليــه ُ المتــرجم تعليمات هذه اللغة عن طريق مجموعة من المراحل إلى لغة اﻵلة حتى يفهمهـا الحاسـب ويقوم بتنفيذها. هذا هو التصنيف العام للغات البرمجة ،مع العلم أن لغات البرمجة فى كل تـصنيف مـرت بعـدة أطــوار ،ففــى تــصنيف اللغــات منخفــضة المــستوى بــدات بلغــة اﻵلــة التــى ُتكتــب بأرقــام النظــام الثنائى وانتهت بلغة التجميع التـى ُتكتـب بحـروف وكلمـات انجليزيـة قريبـة مـن فهـم اﻹنـسان ، والتــى كانــت ُتعــد طفــرة كبيــرة فــى تطــور لغــات البرمجــة ،وفــى تـصنيف لغــات البرمجــة عاليــة المــستوى بــدأت بلغــات مثــل )فــورتران – ســى – باســكال( وغيره ـا ،إلــى أن وصــلت إلــى لغــات وتقنيات ﻹنتاج البرامج واﻷلعاب بدون كتابة اكواد بالشكل التقليدى فما هى إﻻ مجموعـة مـن النقرات والسحب واﻹفﻼت والخطوات المرتبة دون الدخول فى تفاصيل ُتنتج لك فـى النهايـة برنامج أو لعبة تحتاج لعدة اﻵف من اﻷسطر البرمجيـة وأيـام أو شـهور لكتابتهـا ،تـستطيع أن تنهيها فى ساعات وربما دقائق معدودة ،ومن أمثلة هذة التقنيات: برنامج Scratch برنامج Kodu تقنية PWCT تقنية Touch Develop وجميع هذة التقنيات مجانية. Content Page ٧ المفسر والمترجم : البرنــامج المكتــوب بــأى لغــة برمجــة هــو عبــارة عــن نــص ،مهمــا كــان نــوع اللغــة المــستخدمة والمهام المطلوب تنفيـذها ،هـذا الـنص ُيطلـق عليـه اسـم الـشيفرة المـصدرية ، Source Code يحتاج هذا الكود المصدرى إلى برنامج يقوم بتحويله إلى لغة اﻵلة وهى أيضا عبارة عن نـص مكون من سلسلة مـن الـصفر والواحـد فقـط ،هـذا البرنـامج بمثابـة القـاموس اللغـوى والنحـوى الـــذى يختبـــر صـــحة القواعـــد المكتـــوب به ــا الكـــود وصـــحة العب ــارات ثـــم يق ــوم بترجمـــة هـــذه التعليمــات فــى عــدة مراحــل إلــى ملفــات بلغــة اﻵلــة ثــم ُينــتج ملــف قابــل للتــشغيل ،هــذه المهــام تختلف من حيث الكيفية من لغة برمجة إلى أخرى. المفسر Interpreter هو أداة تقوم بترجمـة البرنـامج إلـى لغـة اﻵلـة سـطر سـطر ،وهـذا يعنـى أن البرنـامج المكتـوب بلغــات برمجــة تفــسيرية يــتم ترجمتــه إلــى نــص برمجــى وســيط بلغــة منخفــضة المــستوى ) لغــة وســيطة ( وينــتج ملــف البرنــامج وبداخلــه هــذا الكــود لــذا ﻻ يمكــن تنفيــذه علــى هــذه الــصورة مباشــرة حيــث يحتــاج إلــى برنــامج آخــر يقــوم بترجمــة اﻷكــواد المكتوبــة بداخلــه إلــى لغــة اﻵلــة وقت التشغيل ،هذا البرنامج يسمى المفسر ،ففى لغة الجافا مثﻼ ُيترجم النص البرمجـى إلـى كــود وســيط يــسمى Byte codeوُتنــتج ملــف بامتــداد ، Jarهــذا البرنــامج النــاتج ﻻ يمكــن تشغيله وتنفيذه على أى جهاز مباشرة حيث يحتاج إلى ما يسمى آلة جافا اﻻفتراضية Java VMوالتى تعمـل كمفـسر للبرنـامج النـاتج حتـى يـتم تنفيـذه ،وفـى تطبيقـات الـدوت نـت أيـضا تعتمد على نفس اﻷسلوب بحيـث يـتم تحويـل الكـود البرمجـى المكتـوب بلغـة مـن لغـات الـدوت Visualإلـــى لغـــة وســـيطة منخفـــضة المـــستوى تـــسمى لغـــة مايكروس ــوفت نـــت مثـــل Basic الوسيطة ILوُتنتج ملف تنفيذى بامتـداد ، exeهـذا البرنـامج النـاتج ﻻ يمكـن تـشغيله علـى أى جهاز مباشرة إﻻ إذا تم تثبيت ما يسمى إطار عمل دوت نت .NET Frameworkوالـذى يعمـل كمفسر للبرامج المكتوبة بلغات الدوت نت ويقوم بترجمتها إلى لغة اﻵلة حسب الطلب. المترجم Compiler هو أداة تقوم بترجمة البرنامج دفعة واحـدة إلـى لغـة اﻵلـة ُ وتنـتج ملـف تنفيـذى بامتـداد exe يعمــل مباشــرة بــدون وســيط ،وهــذا يعنــى أن لغــات البرمجــة المترجمــة تقــوم بتحويــل الــنص البرمجى المكتوب بهـا إلـى لغـة اﻵلـة مباشـرة ُ وتنـتج ملـف تنفيـذى يعمـل مباشـرة دون الحاجـة إلى ملفات وقت التشغيل ،ومثال على ذلك لغة C/C++تقوم مترجماتها بإنتاج ملـف تنفيـذى Content Page ٨ بامتــداد ، exeهــذا البرنــامج يحتــوى بداخلــه علــى كــود بلغــة اﻵلــة يــتم تنفيــذه مباشــرة دون الحاجة إلى مفسر ،لغة Pascalأيضا تعمل بنفس اﻷسلوب. بیئۀ التطویر IDE ً سابقا فجميع البرامج هى فى اﻷصل عبارة عن ملـف نـصى بـسيط ،فـى الـسابق كـان كما ذكرنا ً مرهقا ويحتـاج إلـى ً أمرا على المبرمج أن يكتب البرنامج بنفسه فى محرر نصوص ،وكان هذا وقت طويـل عـﻼوة علـى كثـرة اﻷخطـاء التـى يقـع فيهـا المبـرمج أثنـاء كتابـة أكـواد البرنـامج ، وﻻختــصار الوقــت والجهــد وﻹضــافة المزيــد مــن اﻹمكانيــات للغــات البرمجــة تــم تطــوير أدوات تساعد المبرمج على بنـاء البرنـامج بـسهولة وبـسرعة أكبـر ،حيـث تـوفر تلـك اﻷدوات محـررات ً تلقائيـــا وقوالـــب جـــاهزة لـــبعض البـــرامج أكـــواد ذكيـــة تكتـــشف اﻷخطـــاء ُ وتكمـــل التعليمـــات ً مسبقا ومصممات للنماذج تسهل علـى المبـرمج تـصميم الواجهـات ،كـل هـذه ومكونات مكتوبة اﻷدوات موجودة فيما يسمى بأدوات التطوير ، IDEفعلى سبيل المثال مجموعة لغات الـدوت نت تأتى معها بيئة تطوير تسمى Visual Studio.Net صورة لبيئة تطوير Visual Studioإصدار ٢٠١٠ Content Page ٩ مراحل تطویر النظام : والمقصود بالنظام هنا هو أى نظام برمجى ،فأى برنامج يتم تطويره فى عدة مراحـل ،تطلـق عليها أيضا دورة حياة النظام ويمكن أن نطلق عليها بشكل أبسط مراحـل حـل المـشكلة ،هـذه المراحــل يمكــن اﻹســتغناء عنهــا فــى البــرامج الــصغيرة جــدا كــأن تقــوم بكتابــة برنــامج يقــوم بحــساب مجمـــوع عـــددين أو حـــساب النـــسبة المئويـــة أو مــا شـــابه ولكـــن فـــى البـــرامج الكبيـــرة والمعقدة ﻻ يمكن البدء فى البرنامج مباشرة دون المرور على هذه المراحل. التحلیل Analysis ُ والمخرجـــات والعمليـــات فـــى هـــذه المرحلـــة يـــتم فهـــم البرنـــامج مـــن حيـــث ُ المـــدخﻼت الحسابية والمنطقية التى سيقوم بها والمهام التى سينفذها. تخيــل أنــك تعمــل مبرمجـ ًـا فــى شــركة برمجيــات وطلــب عميــل مــن الــشركة عمــل برنــامج ﻹجراء حسابات هندسية وإخراج تقارير بالنتائج ،فى مرحلة التحليل يحدث اﻵتى: يأتى العميل إليـك ويـشرح لـك بالتفـصيل مـاذا يريـد ،وبنـاء علـى مـا ذكـره العميـل تقـوم أنت أو المجموعة التى ستعمل فى البرنـامج بتحليـل هـذه التفاصـيل وتحديـد المطلـوب بدقة من مـدخﻼت ومخرجـات وعمليـات وإجـراءات بـشكل مفـصل ومرتـب تـسجل هـذه التفاصيل فى ملف ،هذا ما يحدث فى مرحلـة التحليـل بـشكل عـام وبـدون الـدخول فـى تفاصيل دقيقة. التصمیم Design فى هذه المرحلة يتم كتابة خطوات البرنامج بشكل متسلسل ومنطقى ،وتستخدم فى ً أيـضا لغـة الخوارزميـات هذه المرحلـة لغـة تـسمى سـودو كـود Pseudo codeوتـسمى وهى عبارة عن كود مزيف أو وهمى غير حقيقى الهدف منه ترتيب خطوات البرنـامج ، ً أيضا لنفس الغرض مـا يـسمى بالمخططـات أو خـرائط التـدفق Flow Chart ُ وتستخدم ً جـدا وﻻ تـصلح إﻻ للبـرامج متناهيـة الـصغر ،أمـا ولكن كـل هـذه اﻷسـاليب تعتبـر بدائيـة فــى البــرامج الكبيــرة فيــتم اســتخدام طريقــة أخــرى وهــى لغــة UMLوتــستخدم لعمــل نماذج من المخططات لتمثيل البرامج. Content Page ١٠ کتابۀ الکود Coding بعــد اﻹنتهــاء مــن مرحلــة التحليــل والتــصميم أصــبح اﻷمــر فــى غايــة الــسهولة حيــت يــتم ترجمة خطوات البرنامج التى تم تحديدها فى خطوة التصميم إلى لغة برمجة معينة. التنفیذ واﻻختبار Implementation & Testing فى هذه المرحلة يتم تنفيـذ البرنـامج وتـشغيله وتجربتـه ،فلـو عـدنا إلـى المثـال الخـاص ببرنــامج الحــسابات الهندســية يــتم تجربــة البرنــامج بإدخــال العديــد مــن القــيم ﻹجــراء عمليات حسابية مختلفة لتحديد مدى صحة النتائج وإن كان هناك أخطاء أم ﻻ. التوثیق والصیانۀ Maintenance & Documentation فــى هــذه المرحلــة يـتم إعــداد ملفــات التوثيــق والتــى توضــح بالتفــصيل كــل المهــام التــى ً وأيـضا يـتم تـسجيل المـشاكل واﻷخطـاء التـى يقوم بها البرنامج لمساعدة المـستخدم ، تظهر عند استخدام البرنامج وإصﻼحها وتسجيل اﻻقتراحات لتطوير النظام فيما بعد. فلو نظرنا إلى نظام كبير ومعقد مثل نظام التشغيل Windowsوكيف تتم فيه مراحـل اﻻختبار والصيانة ،سـنجد أن شـركة مايكروسـوفت ﻻ تطـرح إصـدارات نظـام التـشغيل على العمﻼء مباشرة بل ُيطرح النظام على عدة مراحل حيث يتم طرح عدد مـن النـسخ التجريبية للجمهور ويتم تجربة كـل نـسخة لمـدة معينـة ،فـى هـذه المـدة تتلقـى الـشركة شــكاوى واقتراحــات العمــﻼء وبنــاء عليــه تقــوم بإصــﻼح اﻷخطــاء التــى تظهــر ثــم تطــرح إصدار تجريبى آخر إلى أن تستقر على طرح اﻹصدار النهائى. فعلى سبيل المثال نظام تشغيل Windows Vistaالذى صـدر أواخـر عـام ٢٠٠٦تـم طـرح عـدة نسخ تجريبية منه منذ عام ٢٠٠٤تحت اسـم Longhornإلـى أن اسـتقرت الـشركة علـى الـشكل النهــائى تحــت اســم Vistaولكــن لــم يلقــى النظــام قبــول واســع ﻷســباب عد يــدة فقامــت الــشركة بإصــﻼح مــا بــه مــن عيــوب وأضــافت لــه بعــض التحــسينات وأصــدرته فــى عــام ٢٠٠٩تحــت اســم . Windows 7 Content Page ١١ خرائط التدفق : Flow Chart لقد ذكرنا خرائط التدفق فى مرحلة التصميم وتعرفنا على الفائدة منهـا وهـى تمثيـل لخطـوات البرنامج ويمكن أن نقوم بتعريفها على أنهـا طريقـة لتمثيـل خطـوات سـير البرنـامج باسـتخدام مجموعة من اﻷشكال الهندسية. تــــستخدم فــــى خــــرائط الت ـــدفق مجموعــــة مــــن اﻷشــــكال الهندســــية مثــــل الــــشكل البي ـــضاوى والمستطيل والمعين ومتوازى اﻷضﻼع واﻷسهم كما فى الشكل التالى: اﻷشكال اﻷساسية المستخدمة فى خرائط التدفق Content Page ١٢ أمثلۀ على خرائط التدفق: -١ارسم خريطة تدفق لبرنامج يقوم بإيجاد متوسط ثﻼثة أعداد ويطبع الناتج؟ الحل: قبل البدء فى رسم خريطة التدفق يجب عليك تحليل البرنامج أوﻻً تحديد معطيات المسألة )المدخﻼت( وهى ستكون عبارة عن ثﻼثة أعداد سنرمز لها بالرموز A,B,C كتابة خوارزمية الحل أى المعادلة الرياضية التى ستخرج النتيجة المطلوبة وهى قسمة مجموع الثﻼثة أعداد على عددهم وتخزين الناتج V=(A+B+C)/3 طباعة الناتج الذى تم تخزينه فى الرمز V ُ وترسم الخريطة بهذا الشكل: Content Page ١٣ شرح الخريطة: تبدأ خريطة التدفق بالشكل البيضاوى الذى يرمز لبداية البرنامج يتم إدخال قيم المدخﻼت التى ُيرمز لها بالرموز A,B,Cوهذه الرموز تسمى فى لغات البرمجة متغيرات وهى أماكن ُتحجز فى الذاكرة لتخزين أنواع معينة من البيانات وسيتم شرحها بالتفصيل فيما بعد ويمكن أن نستخدم كلمة Inputأو Enterفى عملية اﻹدخال داخل شكل متوازى اﻷضﻼع نقوم بكتابة المعادلة الرياضية لحساب متوسط الثﻼثة أعداد الذى تم إدخال قيمهم فى الخطوة السابقة وتخزين الناتج فى الذاكرة V=(A+B+C)/3داخل شكل المستطيل يتم طباعة قيمة المتغير الذى تم تخزين الناتج به وهو المتغير Vعن طريق اﻷمر Printأو Outputداخل شكل متوازى اﻷضﻼع يتم إنهاء البرنامج بالشكل البيضاوى بكلمة End اﻵن يمكنك بكل سهولة ترجمة هذه الخطوات إلى أى لغة برمجة ً مكتوبا بلغة فيجوال بيزك دوت نت وهذا هو البرنامج النهائى شرح أكواد البرنامج: ١نقطة البداية :كمـا بـدأ البرنـامج فـى خريطـة التـدفق بالـشكل البيـضاوى الـذى يعبـر عـن بداية البرنامج يتم ترجمة هذة الخطوة إلى جملة ) ( Sub Mainوالتى تعبر عن بداية تنفيذ اﻹجراء الرئيسى أى بداية البرنامج. ٢تحديــد وإدخــال قــيم المــدخﻼت :تــأتى الخطــوة الثانيــة فــى خريطــة التــدفق بتحديــد الرموز A,B,Cللتعبير عن ثﻼثة مـدخﻼت وهـى اﻷعـداد المطلـوب حـساب المتوسـط لهـا ثـــم يـــتم إدخـــال القـــيم الخاصـــة بهـــا عـــن طريـــق كلمـــة Inputأو ، Enterتتـــرجم هـــذه Content Page ١٤ الخطــوة فــى الكــود إلــى اﻷســطر مــن الثــانى إلــى الــسادس حيــث يــتم اﻹعــﻼن عــن حجــز أماكن فى الذاكرة لثﻼثة أعداد صحيحة عن طريق الجملة: VB.NET Code Dim A, B, C As Integer ثم يتم حجز مكان فى الذاكرة لتخزين الناتج فى المتغير Vفى السطر التالى: VB.NET Code Dim V As Single بعد ذلك يتم إدخال قيم المتغيرات A,B,Cفى الثﻼثة أسطر التالية: VB.NET Code )(A = Console.ReadLine )(B = Console.ReadLine )(C = Console.ReadLine ٣حساب المتوسط :تأتى بعد ذلك عمليـة حـساب المتوسـط كمـا فـى خريطـة التـدفق فـى شكل المستطيل ويتم ترجمة هذه الخطوة إلى الكود التالى : VB.NET Code V = (A + B + C) / 3 ٤إخراج الناتج :تأتى بعد ذلك خطوة إخراج الناتج الذى تم تخزينه فى المتغير Vعن طريق الجملة التالية: VB.NET Code )Console.WriteLine(V ٥إنهــاء البرنــامج :تــأتى بعــد ذلــك خطــوة إنهــاء البرنــامج كمــا فــى خريطــة التــدفق فــى الشكل البيضاوى ً وتترجم هذه الخطوة إلى الكود التالى : VB.NET Code End Sub وبهـــذا اتـــضحت فائـــدة خـــرائط التـــدفق فهـــى مجـــرد تمثيـــل لخطـــوات البرنـــامج مرتبـــة ترتيبـ ً ــا ً منطقيا ،وعرضنا ترجمة هذا المثال إلى لغة الفيجوال بيزك لمزيد من التوضيح ولكن ﻻ تـدقق ً كثيرا اﻵن ،سيتم شرحها بالتفصيل فيما بعد. فى اﻷكواد Content Page ١٥ المثال الثانى: ارسم خريطة التدفق التى توضح سير خطوات برنامج يقوم بحساب ناتج فسمة عددين؟ فى هذا المثال سنحتاج إلى إتخاذ قرار مشروط والذى يتم تمثيله فى خرائط التدفق بشكل ُ المعين ،حيث أنه يجب علينا اختبار قيمة العدد الثانى الذى سيأتى فى المقام والذى يجب أن يكون أكبر من الصفر ﻵن القسمة على صفر ليس لها معنى. نقوم برسم خريطة التدفق بالشكل التالى: بعد إدخال قيم المدخﻼت A,Bيتم اختبار قيمة العدد الثانى إن كان أكبر من الصفر يتم إجراء عملية القسمة وإظهار الناتج ثم إنهاء البرنامج وإن لم يتحقق هذا الشرط فﻼ يجب أن تتم عملية القسمة لذا يتم تحويل مسار البرنامج إلى خطوة أخرى وهى طباعة رسالة خطأ ثم إنهاء البرنامج. Content Page ١٦ Visual Studio.Net فيجوال ستوديو هو بيئة تطوير متكاملة أنتجتها شركة مايكروسوفت وتستخدم فى برمجة تطبيقات سطح المكتب وتطبيقات الويب والموبايل ،تدعم فيجوال ستوديو مجموعة من لغات البرمجة منها فيجوال بيزك وسى شارب وسى ++وتعمل هذه اللغات تحت منصة عمل تسمى .NET Frameworkوالتى تحتوى على جميع اﻷدوات التى تستخدم فى بناء وترجمة وتشغيل البرامج. Visual Basic.Net هى نسخة جديدة من لغة البرمجة الشهيرة Visual Basicظهرت مع أول إصدار من إصدارات Visual Studio.Netفى نهاية عام ٢٠٠١وهى تشبه إلى حد كبير لغة Visual Basic 6وما قبلها من إصدارات حيث أن إصدار الدوت نت تم بناؤه من الصفر ولكن تم مراعاة أن تكون لها نفس القواعد وحتى نفس الكلمات المحجوزة والتعابير القديمة ظلت كما هى وأضيف إليها ،تعتبر لغة فيجوال بيسيك من اللغات السهلة فى التعلم والقوية فى اﻷداء ولها إنتشار كبير على مستوى العالم. .NET Framework هــو إطــار برمجــى أنتجتــه مايكروســوفت لبنــاء وتــشغيل البــرامج ،والفكــرة التــى دفعــت شــركة مايكروسوفت لبناء هذا اﻹطار هو أن يكون وسيط بـين البرنـامج وبـين نظـام التـشغيل وبهـذا تصبح البرامج تعمل بشكل مستقل عن اﻵلة بحيـث تعمـل علـى أى جهـاز بغـض النظـر عـن نـوع ً مثبتـا الجهاز ونظام التشغيل ،فقط يحتاج البرنامج إلى وجود إطار عمل دوت نت فريم ورك على الجهاز ،والفريم ورك متاح على موقع الشركة بشكل مجانى. يتكون إطار العمل دوت نت فريم ورك من مجموعة كبيرة مـن المكتبـات والملفـات ومترجمـات ً سابقا فالبرنامج المكتـوب بلغـة مـن لغـات الـدوت نـت لغات البرمجة المدمجة معه ،وكما ذكرنا يحول إلى كـود بلغـة وسـيطة ILويتطلـب تنفيـذ هـذا البرنـامج تثبيـت نفـس إصـدار إطـار عمـل دوت نــت فــريم ورك الــذى تــم بنــاء البرنــامج بــه علــى الجهــاز المطلــوب تــشغيل البرنــامج عليــه ، وعنــد تــشغيل البرنــامج يقــوم متــرجم وقــت التــشغيل CLRبترجمــة أكــواد لغــة مايكروســوفت الوســيطة ILإلــى لغــة اﻵلــة ثــم يرســلها إلــى نظــام التــشغيل الــذى يقــوم يــدوره بإرســالها إلــى المعالج لتنفيذها. Content Page ١٧ Content Page ١٨