عرض تقديمي لمادة الحاسب للصف الاول الثانوي

Download Report

Transcript عرض تقديمي لمادة الحاسب للصف الاول الثانوي

Slide 1

‫الترم الثاني‬
‫مقدمة في البرمجـة‬
‫صياغة حل المسائل‬
‫البرمجة بلغة فيجول بيسيك‬


Slide 2

‫مفهوم البرمجة‬
‫جهاز الحاسب اآللـي آلــة تنفذ ما يأتيها من أوامـــر بدقـة ‪ ،‬حيث تكـون هذه األوامـر مكتوبــة فيمـا يسمى‬
‫( برنامج ) ‪ ،‬وجميع البرامج تكون مكتوبة على هيئة سلسلة من األوامر اليسيرة التي ينفذها الحاسب‬

‫اآللي لتخرج لنا بالشكل الذي نراه‪.‬‬
‫هذه األوامر تكتب بلغة معينة يفهمها جهاز الحاسب ‪ ،‬وإذا أردنا من جهاز الحاسب أن ينفذ عملا معينا ا‬
‫فعلينا أن نعطيه األوامر اللزمة لتنفيذ هذا العمل وهذه األوامر مكتوبة على شكل برنامج‪.‬‬
‫البرنامج ‪ :‬هو سلسلة من األوامر مكتوبة بلغة برمجة معينة ‪ ،‬تكتب لتنفيذ مهمة محددة في جهاز الحاسب‪.‬‬
‫أنواع البرمجيات ‪:‬‬

‫تذكر‬

‫‪ ) 1‬أنظمة التشغيل‪.‬‬
‫‪ ) 2‬برامج التشغيل المساعدة‪.‬‬

‫‪ ) 3‬البرامج التطبيقية‪.‬‬


Slide 3

‫الفرق بين المبرمج ومستخدم البرنامج‬
‫المبرمج ‪ :‬هو من يكتب البرامج ‪ ،‬حيث تمر العملية بعدة مراحل هي ‪:‬‬
‫‪ ) 1‬فهم وتحليل المشكلة‪.‬‬
‫‪ ) 2‬كتابة سلسلة من األوامر لحل المشكلة‪.‬‬

‫‪ ) 3‬اختبار البرنامج والتأكد من صحة عمله‪.‬‬
‫‪ ) 4‬تحويل البرنامج إلى صيغة تنفيذية ‪ ،‬تمثل الشكل النهائي الذي يحتوي على الواجهة التي يراها‬
‫المستخدم‪.‬‬

‫المستخدم ‪ :‬هو من يستخدم البرنامج ‪ ،‬حيث تظهر له واجهة البرنامج ولن تظهر له األوامر التي كتبها‬
‫المبرمج‪.‬‬


Slide 4

‫كيفية الحصول على البرامج‬
‫هناك طريقتان لحصول الشركات أو األفراد على البرامج ‪:‬‬
‫‪ ) 1‬شراء برنامج جاهز ( مكتوب سابقا ا )‪.‬‬
‫‪ ) 2‬تطوير برنامج جديد خاص بالشركة أو الفرد‪.‬‬

‫أحيانا ا قد ال تكون البرامج الجاهزة مطابقة لما تحتاجه ‪ ،‬وهنا سوف تضطر إلى تطوير البرنامج بنفسك ومع‬
‫أن هذا يحتاج إلى وقت وجهد ‪ ،‬إال أن البرنامج سوف يلبي احتياجاتك تماما ا‪.‬‬


Slide 5

‫أهم األوامر في البرمجة‬
‫نشاط‬

‫لو طلب منك جمع رقمين ‪ ،‬فما الخطوات التي يقوم بها عقلك للحصول على الناتج ؟‬
‫‪ ) 1‬استقبل الرقم األول واحفظه‪.‬‬
‫‪ ) 2‬استقبل الرقم الثاني واحفظه‪.‬‬
‫‪ ) 3‬اجمع الرقم األول مع الثاني واحفظ الناتج‪.‬‬

‫‪ ) 4‬أعط الناتج‪.‬‬


Slide 6

‫نشاط‬

‫لو طلب منك جمع رقمين زوجيين فقط ‪ ،‬فما الخطوات التي يقوم بها عقلك للحصول على‬
‫الناتج ؟‬
‫‪ ) 1‬استقبل الرقم األول واحفظه‪.‬‬
‫‪ ) 2‬استقبل الرقم الثاني واحفظه‪.‬‬
‫‪ ) 3‬التأكد من الشرط إذا تحقق تجمع الرقمين وتعطي النتيجة ‪ ،‬وإذا لم يتحقق الشرط نطلب‬
‫استقبال رقمين آخرين يحققان الشرط‪.‬‬


Slide 7

‫نشاط‬

‫لو طلب منك جمع خمسة أزواج من األرقام ‪ ،‬فما الخطوات التي يقوم بها عقلك للحصول‬
‫على الناتج ؟‬
‫‪ ) 1‬استقبل الرقم واحفظه‪.‬‬
‫‪ ) 2‬استقبل الرقم الثاني واحفظه‪.‬‬
‫‪ ) 3‬اجمع الرقم األول مع الثاني واحفظ الناتج‪.‬‬
‫‪ ) 4‬نقوم بتكرار الخطوات السابقة أربع مرات‪.‬‬
‫‪ ) 5‬نعطي الناتج‬


Slide 8

‫أهم األوامر في البرمجة‬

‫‪ ) 1‬اإلدخال ‪ :‬عملية استقبال البيانات التي سوف يعالجها البرنامج‪.‬‬
‫‪ ) 2‬اإلخراج ‪ :‬عملية عرض المعلومات التي نتجت عن تنفيذ البرنامج‪.‬‬
‫‪ ) 3‬الحساب ‪ :‬هي العمليات الحسابية التي تنفذها البرنامج‪.‬‬
‫‪ ) 4‬التحقق من الشرط ‪ :‬هي عملية التحقق من صحة شرط ما وتنفيذ بعض األوامر بناء على‬
‫مصداقية الشرط‪.‬‬
‫‪ ) 5‬التكرار ‪ :‬هي عملية تكرار مجموعة من األوامر‪.‬‬


Slide 9

‫أهم األوامر في البرمجة‬

‫اإلدخال‬

‫عملية‬

‫استقبال‬

‫عمليات المعالجة‬

‫أوامر‬

‫الحساب‬

‫البيانات التي سوف‬

‫والتحقق من الشرط‬

‫يعالجها البرنامج‬

‫والتكرار‬

‫اإلخراج‬

‫عرض‬

‫عملية‬

‫المعلومات‬
‫نتجت‬
‫البرنامج‬

‫عن‬

‫التي‬
‫تنفيذ‬


Slide 10

‫أهمية البرمجة‬
‫نستطيع القول إن جهاز الحاسب اآللي دون برمجة ال فائدة منه إطلقا ا‪.‬‬

‫ألن البرامج هي التي تخبر الجهاز بما عليه القيام به وكيفية القيام بالعمل‪.‬‬

‫أمثلة على أجهزة ونظم تعمل باستخدام برامج خاصة بها‬
‫في المنزل ‪ :‬جهاز الميكروويف ‪ ،‬الهاتف المحمول ‪ ،‬الساعات اإللكترونية ‪ ،‬أجهزة االستقبال‬
‫الفضائية الرقمية ‪ ،‬التلفزيون ‪ ،‬الفيديو‪.‬‬
‫في الشارع ‪ :‬إشارات المرور ‪ ،‬السيارات الحديثة ‪ ،‬أجهزة الصراف اآللي‪.‬‬
‫في المستشفيات ‪ :‬األجهزة الطبية المختلفة ‪ ،‬نظام المواعيد وملفات المرضى‪.‬‬
‫في المحلت التجارية ‪ :‬نظام البيع ‪ ،‬قارئ األكواد‪.‬‬


Slide 11

‫أجهزة ونظم تعمل ببرامج خاصة بها‬

‫المنزل‬

‫الشارع‬

‫جهاز الميكروويف‬

‫إشارات المرور ‪،‬‬

‫األجهزة‬

‫المحمول‬

‫السيارات الحديثة ‪،‬‬

‫المختلفة‬

‫الساعات إللكترونية‬

‫أجهزة‬

‫الصراف‬

‫المواعيد‬

‫أجهزة االستقبال‬

‫اآللي‬

‫الهاتف‬

‫المستشفيات‬

‫المرضى‪.‬‬

‫المحلت التجارية‬

‫الطبية‬
‫‪،‬‬

‫نظام‬
‫وملفات‬

‫نظام البيع ‪ ،‬قارئ‬

‫األكواد‬


Slide 12

‫تعريف البرنامج‬
‫البرنامج ‪ :‬هو سلسلة من األوامر مكتوبة بلغة برمجة معينة تكتب لتنفيذ مهمة محددة في جهاز‬
‫الحاسب‪ ،‬ويوجد كثير من لغات البرمجة المستخدمة في كتابة البرامج‪.‬‬
‫لغة اآللة ‪ :‬هي لغة ينفذها الحاسب مباشرة وهي مجموعة من التعليمات تنفذ مباشرة من قبل وحدة‬
‫المعالجة المركزية للحاسب ‪ ، CPU‬حيث ُتكتب مجموعة من التعليمات لتنفيذ مهمة محددة للغاية ‪،‬‬
‫وتتعامل مباشرة مع ما هو مخزن في الذاكرة الرئيسية للجهاز‪.‬‬
‫و ُتكتب كافة برامج الحاسب اليوم بلغات متعددة ومختلفة لها قواعدها ومفرداتها ‪ ،‬وتترجم إلى لغة اآللة‬
‫بواسطة برنامج المترجم‪.‬‬


Slide 13

‫أقسام لغات البرمجة‬

‫لغات منخفضة المستوى‬

‫لغات عالية المستوى‬

‫‪1‬‬

‫لغــة اآللــة‬

‫‪1‬‬

‫لغة البرمجة اإلجرائية‬

‫‪2‬‬

‫لغة التجميع‬

‫‪2‬‬

‫لغة البرمجة بالكائنات‬


Slide 14

‫اللغات المنخفضة المستوى‬
‫هي اللغات القريبة جداا من جهاز الحاسب تظهر التركيب الداخلي للحاسب في مجموعة أوامر‬
‫وتعليمات هذه اللغات‪ .‬أي أنها ال توفر تجريداا أو فصلا بين مجموعة أوامر أو تعليمات هذه اللغات‬
‫والتركيب الداخلي للحاسب ‪ ،‬وتنقسم إلى ‪:‬‬

‫‪1‬‬

‫لغــة اآللــة‬

‫‪2‬‬

‫لغة التجميع‬


Slide 15

‫اللغات المنخفضة المستوى‬
‫‪1‬‬

‫لغــة اآللــة‬

‫تكتب األوامر في لغة اآللة على شكل سلسلة من األرقام الثنائية ( الصفر والواحد ) حتى يفهمها‬
‫جهاز الحاسب اآللي مباشرة ‪ ،‬وترمز كل مجموعة من األرقام إلى عملية محددة يسيرة يمكن‬
‫للحاسب تنفيذها ‪ ،‬وتتعامل مباشرة مع ما هو مخزن في الذاكرة الرئيسية للجهاز‪.‬‬


Slide 16

‫اللغات المنخفضة المستوى‬
‫‪2‬‬

‫لغة التجميع‬

‫هي اختصارات للغة اآللة ‪ ،‬حيث ُتكتب األوامر على هيئة اختصارات مفهومة باللغة اإلنجليزية‬
‫يسهل تذكرها ‪ ،‬ويوجد مترجم يحول أوامر لغة التجميع إلى الصفر والواحد حتى يفهمها الجهاز‬
‫وينفذها ‪ ،‬وتتعامل أوامر لغة التجميع مع مكونات جهاز الحاسب الداخلية مباشرة‪.‬‬


Slide 17

‫اللغات العالية المستوى‬
‫هي لغات تخفي تفاصيل تركيب الحاسب الداخلية عن المبرمج ‪ ،‬وهي بعكس لغات البرمجة منخفضة‬
‫المستوى‪ .‬وال تتوافق أوامر اللغات عالية المستوى وتعليماتها مع التركيب الداخلي للحاسب‪.‬‬

‫وتعد هذه اللغات أسهل في االستخدام وعملية كتابة البرامج من اللغات منخفضة المستوى ‪ ،‬ويوجد كثير‬
‫من لغات البرمجة عالية المستوى تستخدم لبرمجة تطبيقات في مجاالت مختلفة ‪ ،‬كما تسمى باللغات‬
‫المتقدمة‪.‬‬
‫وتنقسم إلى ‪:‬‬

‫‪1‬‬

‫لغات البرمجة اإلجرائية‬

‫‪2‬‬

‫لغات البرمجة بالكائنات‬


Slide 18

‫اللغات العالية المستوى‬

‫‪1‬‬

‫لغات البرمجة اإلجرائية‬

‫تعتمد على قيام المستخدم بكتابة البرنامج مفصلا‬
‫إجراء بعد إجراء ‪ ،‬ومن ثم تحديد التعليمات التي تؤدي‬
‫ا‬
‫إلى قيام الحاسب بالمهام المطلوبة للبرنامج خطوة بعد أخرى‪.‬‬
‫وفي هذه اللغات ُتج َّمع األوامر التي تنفذ مهمة واحدة تحت إجراء واحد يعطى اسما ا معينا ا ‪ ،‬ثم في كل‬

‫مرة نريد تنفيذ هذه المهمة يستدعى هذا االسم الذي اخترناه بدالا من كتابة جميع هذه األوامر مرة أخرى‬
‫‪ ،‬وتمتاز البرامج المكتوبة باللغات اإلجرائية بأنها قصيرة وسهلة القراءة والفهم‪.‬‬

‫أمثلة‬

‫‪ ) 1‬لغة بيسك ‪ BASIC‬طورت عام ‪1964‬م ‪ ،‬وتم تطويرها حاليا ا للغة فيجول بيسيك‬
‫‪ ) 1‬لغة سي ‪ C‬طورت عام ‪1973‬م ‪ ،‬تستخدم لكتابة برمجيات نظم التشغيل‪.‬‬


Slide 19

‫اللغات العالية المستوى‬
‫‪2‬‬

‫لغات البرمجة بالكائنات‬

‫تسمى أيضا ا البرمجة بالعناصر ‪ ،‬وفي هذه اللغات ُتجمع البيانات مع األوامر الخاصة بها تحت كائن واحد‬

‫‪ ،‬ويعطى اسما ا معينا ا ويمكن استخدام هذا الكائن عدة مرات داخل البرنامج ‪ ،‬ويتم في لغة البرمجة‬
‫بالكائنات تعديل وإعداد البرنامج بالرؤية المباشرة للكائنات التي يتألف منها البرنامج مثل الجداول أو‬
‫الشاشات أو الرموز الصورية ‪ ،‬لذا فإن البرمجة بالكائنات ال تتطلب من المستخدم كتابة برنامجه على‬
‫شكل خطوات إجرائية محددة أو كتابة أوامر وتعليمات متتابعة‪.‬‬
‫البرامج المصممة بهذا النوع تتألف من العديد من الكائنات التي تستجيب ألحداث معينة مثل النقر أو‬
‫النقر المزدوج أو التحميل أو الفتح أو تنشيط أداة معينة بحيث تستجيب هذه البرامج الفرعية إلى وقوع‬
‫ذلك الحدث وتقوم بتنفيذ األوامر الخاصة بالكائن‪.‬‬


Slide 20

‫‪2‬‬

‫لغات البرمجة بالكائنات‬
‫‪ ) 1‬لغة السي بلس بلس ( ‪ ) C++‬وهي امتداد للغة سي اإلجرائية وقد طورت عام ‪1979‬م‬

‫أمثلة‬

‫وتمتاز بأنه يمكن استخدامها للبرمجة اإلجرائية أو البرمجة بالعناصر‪.‬‬
‫‪ ) 2‬لغة جافا ‪Java‬‬

‫وجميع هذه اللغات يجب تحويل‬
‫برامجها إلى لغة اآللة حتى يتم‬
‫تنفيذها ‪ ،‬حيث لكل لغة مترجما ا خاصا ا‬
‫يقوم بتحويل برامجها للغة اآللة‪.‬‬


Slide 21

‫مقارنة بين البرمجة اإلجرائية والبرمجة بالكائنات‬
‫م‬

‫البرمجة اإلجرائية‬

‫البرمجة بالكائنات‬

‫‪1‬‬

‫البرنامج يتحكم في مسار تنفيذه أمراا بعد أمر‬

‫المستخدم ونظام التشغيل والبرنامج جميعها تتحكم‬

‫‪2‬‬

‫صعوبة إنشاء واجهة للمستخدم‬

‫سهولة إنشاء واجهة للمستخدم‬

‫‪3‬‬

‫صعوبة الربط مع قواعد البيانات المختلفة‪.‬‬

‫سهولة الربط مع قواعد البيانات المختلفة‪.‬‬

‫‪4‬‬

‫يتم كتابة األوامر والتعليمات من المستخدم‬

‫يتم استخدام الكائنات لتنفيذ البرنامج‬

‫في مسار تنفيذ البرنامج‬

‫لتنفيذ البرنامج‬
‫يسعى علماء الحاسب مستقبلا إلى إيجاد جيل جديد من لغات البرمجة ستكون لغات طبيعية كالتي يتخاطب بها البشر‬
‫مثل اللغة العربية أو اإلنجليزية‪.‬‬


Slide 22


Slide 23


Slide 24

‫الهدف من تعلم صياغة حل المسائل‬
‫إننا عندما نتعلم ونتدرب على صياغة حل المسائل بواسطة الحاسب فإن هذا ال يعني أن الفائدة تقتصر‬
‫على المسائل الحسابية والمنطقية فحسب بل إننا نهدف إلى ‪:‬‬

‫‪1‬‬

‫القدرة على كتابة برامج للحاسب‬

‫‪2‬‬

‫التخطيط لحياتك اليومية‬

‫‪3‬‬

‫القدرة على التفكير لحل المشكلت‬


Slide 25

‫خطوات حل المسائل‬

‫اوالا ‪ :‬صياغة حل المسائل‬
‫ثانيا ا ‪ :‬كتابة البرنامج وتنفيذه‬


Slide 26

‫خطوات حل المسائل‬
‫اوالا ‪ :‬صياغة حل المسائل‬
‫المقصود بحل المسائل هو تحديد الخطوات المتبعة للوصول إلى الحل لضمان صحة الحل‪.‬‬
‫وتتكون هذه الصياغة من ثلث خطوات أساسية هي ‪:‬‬
‫‪1‬‬

‫فهم المسألة وتحديد عناصرها‪.‬‬

‫‪2‬‬

‫كتابة الخوارزم والخطوات المنطقية للحل‪.‬‬

‫‪3‬‬

‫التمثيل البياني للخوارزم عن طريق مخططات االنسياب‪.‬‬


Slide 27

‫خطوات حل المسائل‬

‫ثانيا ا ‪ :‬كتابة البرنامج وتنفيذه‬
‫تتكون هذه المرحلة من ثلث خطوات أساسية هي ‪:‬‬
‫‪1‬‬

‫كتابة البرنامج بواسطة إحدى لغات البرمجة من قبل المبرمج‪.‬‬

‫‪2‬‬

‫ترجمة البرنامج إلى لغة اآللة وتنفيذه وهذا هو دور الحاسب اآللي‪.‬‬

‫‪3‬‬

‫اختبار البرنامج وإصلح األخطاء‪.‬‬


Slide 28

‫اوالا ‪ :‬صياغة حل المسائل‬
‫‪1‬‬

‫فهم المسألة وتحديد عناصرها ( فهم المسألة ثلثا الحل )‬

‫المقصود بفهم المسألة وتحليل عناصرها أن نعرف ماذا نريد بالضبط من البرنامج وأن نحدد العناصر‬

‫األساسية لحل المسألة وهي ‪:‬‬
‫أ‬

‫مخرجات البرنامج ‪:‬‬
‫النتائج والمعلومات المراد التوصل إليها عند حل المسألة‪.‬‬

‫ب‬

‫مدخلت البرنامج ‪:‬‬

‫هي البيانات اللزم الحصول عليها لمعرفة النتائج والمخرجات‪.‬‬
‫ج‬

‫المعالجة ‪:‬‬
‫العمليات الحسابية والمنطقية التي نقوم بإجرائها على المدخلت حتى نحصل على المخرجات‪.‬‬


Slide 29

‫مثال‬
‫نفترض أننا نريد حساب مساحة المستطيل بمعلومية الطول والعرض ‪ ،‬حلل عناصر المسألة إذا‬
‫علمت أن مساحة المستطيل = الطول ‪ x‬العرض‪.‬‬

‫الحل‬
‫لتحليل عناصر المسألة نحدد التالي ‪:‬‬
‫‪ ) 1‬المخرجات ‪ :‬مساحة المستطيل‪.‬‬
‫‪ ) 2‬المدخلت ‪ :‬الطول والعرض‪.‬‬
‫‪ ) 3‬المعالجة ‪ :‬قانون مساحة المستطيل‬


Slide 30

‫اوالا ‪ :‬صياغة حل المسائل‬
‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫الخوارزمية ‪ :‬هي مجموعة من األوامر المكتوبة بصورة واضحة ومسلسلة ومترابطة منطقيا ا لحل‬
‫مسألة‪.‬‬

‫مثال‬

‫اكتب الخطوات الخوارزمية لقراءة عدد وتحديد ما إذا كان سالبا ا أو موجبا ا‪.‬‬

‫‪ ) 1‬أدخل العدد ‪A‬‬
‫‪ ) 2‬إذا كان ‪ A > 0‬اطبع ( العدد موجب ) وانتقل للخطوة رقم ‪5‬‬
‫‪ ) 3‬إذا كان ‪ A < 0‬اطبع ( العدد سالب ) وانتقل للخطوة رقم ‪5‬‬
‫‪ ) 4‬اطبع عبارة ( العدد مساو للصفر )‪.‬‬
‫‪ ) 5‬النهاية‪.‬‬


Slide 31

‫مثال‬

‫اكتب الخطوات الخوارزمية إليجاد مجموع األعداد من ‪10 -1‬‬

‫‪ ) 1‬ضع ‪M=0 ، S = 1‬‬

‫الحل‬

‫‪ ) 2‬أضف ‪ S‬على ‪ M‬أي ‪M=M+S‬‬
‫‪ ) 3‬قم بزيادة ‪ S‬بواحد صحيح أي ‪S=S+1‬‬
‫‪ ) 4‬إذا كانت ‪ S>10‬اطبع ‪ M‬وتوقف‪.‬‬
‫‪ ) 5‬ارجع إلى الخطوة رقم ‪2‬‬

‫‪ ) 1‬ضع ‪M=0 ، S = 1‬‬
‫‪ ) 2‬أضف ‪ S‬على ‪ M‬أي ‪M=M+S‬‬
‫‪ ) 3‬قم بزيادة ‪ S‬بواحد صحيح أي ‪S=S+1‬‬

‫‪ ) 4‬إذا كانت ‪ S>10‬اطبع ‪ M‬وإال ارجع للخطوة ‪.2‬‬
‫‪ ) 5‬النهاية‬


Slide 32

‫خواص الخوارزمية السليمة‬
‫لكي تكون الخطوات الخوارزمية سليمة البد من أن تحتوي خواص أساسية وهي ‪:‬‬
‫‪ ) 1‬أن تكون كل خطوة معرفة جيداا ومحددة بعبارات دقيقة‪.‬‬
‫‪ ) 2‬أن تتوقف العملية بعد عدد محدد من الخطوات‪.‬‬
‫‪ ) 3‬أن تؤدي العمليات في مجملها إلى حل المسألة‪.‬‬

‫مثال‬

‫تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لحساب وزنك المثالي‬
‫‪ ) 1‬أحسب الوزن المثالي ‪Y= X - 100‬‬
‫‪ ) 2‬اطبع ‪Y‬‬

‫الخطوات الخوارزمية بمجملها ال تؤدي إلى حل المسألة‪.‬‬

‫الحل‬

‫من المفترض إضافة الخطوة التالية في البداية‪.‬‬
‫‪ ) 1‬أدخل قيمة الطول ‪ X‬بالسنتيمتر‪.‬‬


Slide 33

‫مثال‬

‫تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لعرض التخصصات‬
‫الجامعية المناسبة لك بناء على تخصصك في المرحلة الثانوية (علمي – أدبي )‬
‫‪ ) 1‬أدخل التخصص ‪X‬‬
‫‪ ) 2‬اطبع عبارة (علوم الحاسب والمعلومات – العمارة والتخطيط – علوم األغذية‬
‫والزراعة – علوم الهندسة – كليات الصحة ) ‪ ،‬ثم توقف‪.‬‬
‫‪ ) 3‬اطبع عبارة ( اآلداب – التربية – اللغة العربية – اللغات والترجمة – الحقوق –‬

‫السياحة واآلثار ) ‪ ،‬ثم توقف‪.‬‬
‫الخطوات الخوارزمية بمجملها ال تؤدي إلى حل المسألة‪.‬‬

‫الحل‬

‫من المفترض إضافة عبارة ( إذا كان التخصص ‪ = X‬علمي ) في بداية الخطوة‬
‫الثانية‪.‬‬

‫وإضافة عبارة ( إذا كان التخصص ‪ = X‬أدبي ) في بداية الخطوة الثالثة‪.‬‬


Slide 34

‫اوالا ‪ :‬صياغة حل المسائل‬
‫‪2‬‬

‫مخططات االنسياب‬

‫مخططات االنسياب ‪ :‬هي تمثيل بياني أو رسمي للخطوات الخوارزمية‪.‬‬
‫فائدة مخططات االنسياب‬
‫‪ ) 1‬توضيح الطريق الذي يمر به البرنامج ابتداء من المدخلت أو البيانات ومن ثم المعالجة ‪ ،‬وأخيراا‬
‫مخرجات البرنامج ونتائجه‪.‬‬

‫‪ ) 2‬توثيق منطق البرنامج للرجوع إليه عند الحاجة ‪ ،‬وذلك بغرض إجراء أي تعديلت على البرنامج‬
‫أو اكتشاف األخطاء التي تقع عادة في البرامج وخاصة األخطاء المنطقية‪.‬‬


Slide 35

‫رموز تمثيل مخططات االنسياب‬
‫الرمز‬

‫االسم‬

‫المعنى‬

‫بداية ‪ /‬نهاية‬

‫يمثل بداية أو نهاية البرنامج‬

‫إدخال ‪ /‬إخراج‬

‫يمثل إدخال البيانات أثناء البرنامج أو إخراجها‬

‫عملية‬

‫يمثل عملية معالجة البيانات‬

‫قرار‬

‫يمثل اتخاذ قرار أو تعبير منطقي يحتاج إلى جواب‬

‫خط االنسياب‬

‫يمثل اتجاه االنسياب المنطقي للبرنامج‬

‫توصيلة‬

‫لتوصيل األجزاء المختلفة في المخطط‬


Slide 36

‫مثال‬

‫قم بإعداد مخطط االنسياب إليجاد مجموع األعداد من ‪10 -1‬‬
‫بداية‬
‫‪S=1,M=0‬‬

‫الحل‬

‫‪M=M+S‬‬
‫‪S=S+1‬‬
‫ال‬
‫‪S>10‬‬

‫نعم‬
‫اطبع ‪M‬‬
‫نهاية‬


Slide 37

‫مثال‬

‫قم بإعداد مخطط االنسياب لحل مسألة قراءة عدد وتحديد ما إذا كان سالبا ا أو موجبا ا‪.‬‬
‫بداية‬
‫أدخل العدد ‪A‬‬

‫الحل‬

‫نعم‬

‫‪A>0‬‬
‫ال‬
‫نعم‬

‫اطبع‬
‫العدد سالب‬

‫‪A<0‬‬
‫ال‬

‫اطبع العدد صفر‬
‫نهاية‬

‫اطبع‬
‫العدد موجب‬


Slide 38

‫أمثلة على صياغة حل المسائل‬

‫مثال‬
‫‪1‬‬
‫‪1‬‬

‫ما صياغة الحل إليجاد متوسط عددين ؟‬
‫فهم المسألة وتحليل عناصرها‬

‫‪ ) 1‬المخرجات ‪ :‬متوسط العددين المدخلين ‪M‬‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬

‫‪ ) 2‬المدخلت ‪ :‬عددان مدخلن ‪X , Y‬‬
‫‪ ) 3‬عمليات المعالجة ‪ :‬قانون متوسط عددين = ‪( X + Y ) / 2‬‬
‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫أدخل ‪X , Y‬‬
‫‪M = (X+Y)/2‬‬

‫‪ ) 1‬أدخل العددين ‪X , Y‬‬
‫‪ ) 2‬اجعل ‪M = (X+Y) / 2‬‬

‫اطبع ‪M‬‬

‫‪ ) 3‬اطبع ‪M‬‬
‫‪ ) 4‬النهاية‪.‬‬

‫النهاية‬


Slide 39

‫أمثلة على صياغة حل المسائل‬

‫مثال‬
‫‪2‬‬
‫‪1‬‬

‫ما صياغة الحل لطباعة األعداد الزوجية من ‪50 - 2‬‬
‫فهم المسألة وتحليل عناصرها‬

‫‪3‬‬

‫رسم مخطط االنسياب‬

‫‪ ) 1‬المخرجات ‪ :‬طباعة األعداد الزوجية من ‪50 - 2‬‬

‫بداية‬

‫‪ ) 2‬المدخلت ‪ :‬ال توجد‬

‫‪A=2‬‬

‫‪ ) 3‬عمليات المعالجة ‪ :‬االنتقال من عدد زوجي إلى عدد زوجي آخر‪.‬‬
‫‪2‬‬

‫اطبع ‪A‬‬

‫كتابة الخطوات الخوارزمية‬

‫‪ ) 1‬اجعل ‪A=2‬‬
‫‪ ) 2‬اطبع ‪A‬‬
‫‪ ) 3‬اجعل ‪A=A+2‬‬
‫‪ ) 4‬اذا كانت ‪ A>50‬توقف وإال اذهب إلى الخطوة ‪2‬‬

‫‪A=A+2‬‬
‫‪A > 50‬‬
‫نعم‬

‫النهاية‬

‫ال‬


Slide 40

‫مثال‬
‫‪3‬‬

‫ما صياغة الحل إليجاد متوسط درجات طلب فصل في مادة الحاسب ‪ ،‬إذا علمت أن عددهم ‪ 10‬طلب‪.‬‬

‫‪1‬‬

‫فهم المسألة وتحليل عناصرها‬

‫‪ ) 1‬المخرجات ‪ :‬متوسط درجات الطلب ( ‪) S‬‬
‫‪ ) 2‬المدخلت ‪ :‬درجات ‪ 10‬طلب ولنضعها في المتغير ‪D‬‬
‫‪ ) 3‬عمليات المعالجة ‪ :‬المتوسط = مجموع الدرجات ‪10 ÷ M‬‬

‫‪2‬‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬
‫‪M=0,I=0‬‬

‫كتابة الخطوات الخوارزمية‬

‫‪I=I+1‬‬

‫‪ ) 1‬ضع المجموع ‪M = 0‬‬
‫‪ ) 2‬اجعل العداد ‪I = 0‬‬
‫‪ ) 3‬اجعل ‪I = I + 1‬‬
‫‪ ) 4‬أدخل درجة الطالب رقم ‪ I‬وخزنها في ‪D‬‬
‫‪ ) 5‬اجعل ‪M = M + D‬‬
‫‪ ) 6‬اذا كانت ‪ I = 10‬استمر وإال اذهب إلى الخطوة ‪3‬‬
‫‪ ) 7‬احسب المتوسط ‪S = M / 10‬‬
‫‪ ) 8‬اطبع ‪S‬‬
‫‪ ) 9‬النهاية‬

‫أدخل الدرجة ‪D‬‬
‫‪M=M+D‬‬
‫نعم‬

‫‪I = 10‬‬
‫‪S = M / 10‬‬
‫اطبع ‪S‬‬
‫النهاية‬

‫ال‬


Slide 41

‫تدريبات على صياغة حل المسائل‬

‫(‪)1‬‬

‫حدد مخرجات المخطط االنسيابي التالي ‪:‬‬

‫‪S‬‬

‫‪M‬‬

‫المخرجات‬

‫‪3‬‬

‫‪1‬‬

‫‪X‬‬

‫‪3‬‬

‫‪2‬‬

‫‪X‬‬

‫‪3‬‬

‫‪3‬‬

‫‪X‬‬

‫‪2‬‬

‫‪1‬‬

‫‪X‬‬

‫‪2‬‬

‫‪2‬‬

‫‪X‬‬

‫‪1‬‬

‫‪1‬‬

‫‪X‬‬

‫تتكرر طباعة علمة ‪ 6 X‬مرات‬


Slide 42

‫(‪)2‬‬

‫ما صياغة الحل لطباعة عدد األعداد الفردية ما بين ‪ 100 – 1‬؟‬

‫‪1‬‬

‫فهم المسألة وتحليل عناصرها‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬

‫‪ ) 1‬المخرجات ‪ :‬عدد األعداد الفردية ما بين ‪100 -1‬‬
‫‪ ) 2‬المدخلت ‪ :‬بدون‬

‫ف=‪،1‬ع=‪1‬‬

‫‪ ) 3‬عمليات المعالجة ‪ :‬االنتقال من عدد فردي إلى آخر ( ف )‬

‫وعداد لحساب عدد األعداد الفردية ( ع )‬

‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫ف=ف‪2+‬‬
‫ع=ع‪1+‬‬

‫‪ ) 1‬اجعل ف = ‪ ، 1‬ع = ‪1‬‬
‫‪ ) 2‬اجعل ف = ف ‪2 +‬‬
‫‪ ) 3‬اجعل ع = ع ‪1 +‬‬
‫‪ ) 4‬إذا كان ف > ‪ 100‬اذهب إلى الخطوة ‪2‬‬
‫‪ ) 5‬اطبع ع‬
‫‪ )6‬النهاية‬

‫ف <‪100‬‬
‫نعم‬
‫اطبع ع‬
‫النهاية‬

‫ال‬


Slide 43

‫ما صياغة الحل إليجاد وطباعة المبلغ اإلجمالي لخمس سلع بقيم مختلفة وكميات مختلفة ‪ ،‬يتم قراءة كل سلعة‬
‫وكميتها على حدة؟‬

‫(‪)3‬‬
‫‪1‬‬

‫فهم المسألة وتحليل عناصرها‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬

‫‪ ) 1‬المخرجات ‪ :‬مجموع مبلغ السلع ( م )‬
‫‪ ) 2‬المدخلت ‪ :‬سعر السلعة ( س ) ‪ ،‬كمية السلعة ( ك )‬
‫‪ ) 3‬عمليات المعالجة ‪ :‬عداد يحسب عدد السلع المدخلة ( ع )‬

‫مجموع مبلغ السلع م = م ‪ ( +‬س ‪ X‬ك )‬

‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫‪ ) 1‬اجعل ع = ‪ ، 0‬م = ‪0‬‬
‫‪)2‬ع=ع‪1+‬‬
‫‪ ) 3‬أدخل س ‪ ،‬ك‬
‫‪)4‬م=م‪(+‬س ‪X‬ك)‬
‫‪ ) 5‬إذا كانت ع = ‪ 5‬اطبع م وإال اذهب إلى الخطوة ‪2‬‬
‫‪ )6‬النهاية‬

‫ع=‪،0‬م=‪0‬‬
‫ع=ع‪1+‬‬
‫أدخل س ‪ ،‬ك‬
‫م=م‪(+‬س ‪X‬ك)‬
‫ال‬
‫ع =‪5‬‬
‫نعم‬
‫اطبع م‬
‫النهاية‬


Slide 44

‫ما صياغة الحل لتحديد نجاح أو رسوب طالب في مادة ‪ ،‬علما ا بأن الطالب ُيعد ناجحا ا إذا كان مجموع درجات أعمال‬
‫السنة واالمتحان النهائي أكبر من ‪ 50‬؟‬

‫(‪)4‬‬
‫‪1‬‬

‫فهم المسألة وتحليل عناصرها‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬

‫‪ ) 1‬المخرجات ‪ :‬نتيجة الطالب ( نجاح أو رسوب )‬
‫‪ ) 2‬المدخلت ‪ :‬درجة أعمال السنة ( س ) ‪ ،‬درجة االمتحان النهائي ( ن )‬

‫أدخل س ‪ ،‬ن‬

‫‪ ) 3‬عمليات المعالجة ‪ :‬مجموع الدرجات ( م ) = س ‪ +‬ن‬
‫م=س‪+‬ن‬

‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫‪ ) 1‬أدخل س ‪ ،‬ن‬
‫‪ ) 2‬اجعل م = س ‪ +‬ن‬

‫نعم‬

‫م <= ‪50‬‬

‫ال‬
‫اطبع راسب‬

‫اطبع ناجح‬

‫‪ ) 3‬إذا كان م <= ‪ 50‬اطبع ناجح وإال اطبع راسب‬
‫‪ )4‬النهاية‬
‫النهاية‬


Slide 45

‫(‪)5‬‬

‫قم بصياغة حل إليجاد العدد األصغر من بين ‪ 10‬أعداد يتم إدخالها‪.‬‬

‫‪1‬‬

‫‪3‬‬

‫رسم مخطط االنسياب‬
‫بداية‬

‫فهم المسألة وتحليل عناصرها‬

‫أدخل د‬

‫‪ ) 1‬المخرجات ‪ :‬العدد األصغر من ‪ 10‬أعداد ( ص )‬
‫‪ ) 2‬المدخلت ‪ :‬األعداد التي يتم إدخالها ولنضعها في متغير ( د )‬
‫‪ ) 3‬عمليات المعالجة ‪ :‬المقارنة بين كل عدد مدخل مع العدد الذي قبله‪.‬‬
‫عداد للتأكد من عدد األعداد هل وصل إلى ‪ 10‬أعداد‪.‬‬

‫‪2‬‬

‫اجعل ع = ‪1‬‬
‫اجعل ص = د‬
‫أدخل د‬

‫كتابة الخطوات الخوارزمية‬

‫‪ ) 1‬أدخل العدد األول في د‬
‫‪ ) 2‬اجعل ع = ‪1‬‬
‫‪ ) 3‬اجعل ص = د‬
‫‪ ) 4‬أدخل العدد التالي في د‬
‫‪ ) 5‬اجعل ع = ع ‪1 +‬‬
‫‪ ) 6‬إذا كان د > ص اجعل ص = د‬
‫‪ ) 7‬اذا كان ع > ‪ 10‬اذهب إلى الخطوة رقم ‪4‬‬
‫‪ ) 8‬اطبع ص‬
‫‪ ) 9‬النهاية‪.‬‬

‫اجعل ع = ع ‪1 +‬‬
‫د>ص‬
‫نعم‬
‫اجعل ص = د‬
‫نعم‬

‫ع > ‪10‬‬
‫ال‬
‫اطبع ص‬
‫النهاية‬

‫ال‬


Slide 46

‫قم بصياغة حل لطباعة األعداد الفردية من ‪50 - 1‬‬

‫(‪)6‬‬
‫‪1‬‬

‫فهم المسألة وتحليل عناصرها‬

‫‪3‬‬

‫رسم مخطط االنسياب‬

‫‪ ) 1‬المخرجات ‪ :‬طباعة األعداد الفردية من ‪50 - 1‬‬

‫بداية‬

‫‪ ) 2‬المدخلت ‪ :‬بدون‬
‫‪ ) 3‬عمليات المعالجة ‪ :‬االنتقال من عدد فردي إلى عدد فردي آخر‪.‬‬

‫اجعل ع = ‪1‬‬
‫اطبع ع‬

‫‪2‬‬

‫كتابة الخطوات الخوارزمية‬

‫‪ ) 1‬اجعل ع = ‪1‬‬

‫اجعل ع = ع ‪2 +‬‬

‫ال‬

‫‪ ) 2‬اطبع ع‬
‫‪ ) 3‬اجعل ع = ع ‪2 +‬‬
‫‪ ) 4‬اذا كان ع < ‪ 50‬استمر وإال اذهب إلى الخطوة ‪2‬‬
‫‪ ) 5‬النهاية‪.‬‬

‫ع < ‪50‬‬
‫نعم‬
‫النهاية‬


Slide 47


Slide 48


Slide 49

‫مراحل كتابة البرنامج بلغة فيجول بيسك ستديو‬
‫تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثلث خطوات ‪ ،‬هي ‪:‬‬

‫‪1‬‬

‫تصميم الواجهات‬

‫‪2‬‬

‫ضبط خصائص األدوات‬

‫‪3‬‬

‫كتابة أوامر البرمجة‬


Slide 50

‫مراحل كتابة البرنامج بلغة فيجول بيسك ستديو‬
‫‪1‬‬

‫تصميم الواجهات‬

‫تشمل تحديد عدد النوافذ‬
‫التي‬

‫يحتاجها‬

‫البرنامج‬

‫التي‬

‫نحتاجها‬

‫واألدوات‬

‫على كل نافذة كاألزرار‬
‫ومربعات‬
‫والقوائم ‪.‬‬

‫النصوص‬


Slide 51

‫مراحل كتابة البرنامج بلغة فيجول بيسك ستديو‬
‫‪2‬‬

‫ضبط خصائص األدوات‬

‫بعد أن نضع األدوات على‬
‫النافذة تأتي مرحلة تحديد‬
‫خصائص‬

‫هذه‬

‫األدوات‬

‫‪ Properties‬كشكل األداة‬
‫‪،‬‬

‫ولونها‬

‫المستخدم‬
‫وغير ذلك‪.‬‬

‫‪،‬‬
‫‪،‬‬

‫والخط‬
‫وعنوانها‬


Slide 52

‫مراحل كتابة البرنامج بلغة فيجول بيسك ستديو‬
‫‪3‬‬
‫بعد‬

‫كتابة أوامر البرمجة‬
‫ننتهي‬

‫أن‬

‫من‬

‫المرحلتين السابقتين ‪ ،‬تأتي‬
‫مرحلة كتابة األوامر التي‬
‫نريد أن تنفذ عند وقوع‬

‫حدث معين‪.‬‬
‫فمثلا‬

‫عندما‬

‫يضغط‬

‫المستخدم على زر األمر‬
‫فيكون الحدث‪.‬‬


Slide 53

‫طريقة تعامل البرنامج مع البيانات‬
‫الهدف الرئيس من أي برنامج هو معالجة البيانات ‪ ،‬وتختلف أنواع البيانات فقد تكون حروفا ا أو‬
‫أرقاما ا أو تواريخ أو غيرها ‪ ،‬وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال‬
‫المتصلة بالحاسب كلوحة المفاتيح والفأرة‪.‬‬
‫يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ‪ ،‬لذلك البد من إعطاء هذه‬
‫البيانات أسماء معينة ليتمكن من الرجوع إليها ‪.‬‬
‫تصنف البيانات إلى نوعين هما ‪:‬‬

‫‪1‬‬

‫الثوابت‬

‫‪2‬‬

‫المتغيرات‬


Slide 54

‫طريقة تعامل البرنامج مع البيانات‬

‫‪1‬‬

‫الثوابت‬

‫الثابت ‪ :‬هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ‬
‫البرنامج‪.‬‬

‫أنواع الثوابت‬
‫‪1‬‬

‫ثابت عددي‬

‫‪2‬‬

‫ثابت حرفي‬


Slide 55

‫طريقة تعريف الثوابت‬

‫‪Const Const1 = Value‬‬
‫‪ Const ) 1‬األمر الذي نستخدمه لتعريف الثابت‪.‬‬
‫‪ Const1 ) 2‬اسم الثابت ‪ ،‬ويتم اختياره من قبل المبرمج‪.‬‬

‫‪ Value ) 3‬القيمة التي سوف تخزن في هذا الثابت‪.‬‬
‫مثال‬

‫إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي ‪:‬‬
‫‪Const Pi = 3.14‬‬


Slide 56

‫المتغيرات وأنواعها‬
‫المتغير ‪ :‬هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها‬
‫والتعامل معها داخل البرنامج ‪ ،‬ويمكن تغيير ما يتم تخزينه به ‪ ،‬لذلك سميت بالمتغيرات‪.‬‬
‫وتختلف المتغيرات باختلف البيانات التي تخزن بها ‪ ،‬وكل متغير له اسم ونوع وقيمة‪.‬‬

‫أنواع المتغيرات‬
‫تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ‪ ،‬فمثلا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو‬
‫حرفا ا أو مجموعة حروف ‪ ،‬ويمكن تقسيم أنواع المتغيرات إلى ‪:‬‬

‫‪1‬‬

‫متغير عددي‬

‫‪2‬‬

‫متغير حرفي‬

‫‪3‬‬

‫متغير منطقي‬


Slide 57

‫شروط تسمية المتغيرات‬
‫‪ ) 1‬أن يتكون من حروف انجليزية ( ‪ ) A .. Z‬وأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي‬
‫رمز آخر‪.‬‬
‫‪ ) 2‬أن ال يبدأ برقم‪.‬‬
‫‪ ) 3‬أن ال يتجاوز ‪ 255‬حرف‪.‬‬
‫‪ ) 4‬أن ال يكون كلمة محجوزة للغة البرمجة‪.‬‬
‫أمثلة‬

‫أمثلة صحيحة ألسماء المتغيرات ‪:‬‬

‫‪A23 C_D‬‬

‫‪Y‬‬

‫‪X‬‬

‫أمثلة غير صحيحة ألسماء المتغيرات ‪:‬‬
‫@‪IF‬‬

‫‪2DF‬‬

‫‪DIM‬‬


Slide 58

‫طريقة تعريف المتغيرات‬
‫ُتعرف المتغيرات باستخدام األمر ‪ DIM‬وصيغته كالتالي ‪:‬‬

‫‪DIM Var1 As Type‬‬
‫حيث إن ‪:‬‬
‫‪ : Var1 ) 1‬اسم المتغير‪.‬‬

‫‪ : As ) 2‬رابط بين اسم المتغير ونوعه‪.‬‬
‫‪ : Type ) 3‬نوع المتغير‪.‬‬
‫إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن ‪ name‬من نوع حرفي يكون كالتالي ‪:‬‬
‫أمثلة‬

‫‪DIM name As String‬‬
‫ولتعريف أكثر من متغير ‪:‬‬
‫‪DIM name As String , age As Integer‬‬


Slide 59

‫أنواع البيانات‬

‫تصحيح ‪:‬‬
‫ال يحتوي فيجول ستوديو على متغير من النوع ‪ Currency‬وال النوع ‪ Variant‬حيث تم استبداله بالنوع ‪Object‬‬


Slide 60

‫العمليات الحسابية والمنطقية‬
‫العمليات الحسابية في البرمجة‬

‫ترتيب العمليات الحسابية‬
‫‪ ) 1‬العمليات التي داخل األقواس‪.‬‬
‫‪ ) 2‬عمليات األس‪.‬‬
‫‪ ) 3‬عمليات الضرب والقسمة ‪ ،‬وإذا تعددت نبدأ التنفيذ من اليسار لليمين‪.‬‬
‫‪ ) 4‬عمليات الجمع والطرح ‪ ،‬وإذا تعددت نبدأ التنفيذ من اليسار لليمين‪.‬‬


Slide 61

‫مثال‪1‬‬

‫ترتيب العمليات الحسابية‬

‫ما نتيجة تنفيذ العملية التالية على جهاز الحاسب ‪:‬‬
‫‪M = 2 * 6 + 3^2‬‬
‫الحل‬
‫حيث إن العمليات هنا هي الضرب والجمع واألس ‪ ،‬ولها أولويات مختلفة فسوف نبدأ التنفيذ‬
‫بالترتيب‬
‫‪ ) 1‬ننفذ عملية األوس أوالا ‪:‬‬
‫‪M=2*6+9‬‬
‫‪ ) 2‬ثم عملية الضرب ثانيا ا ‪:‬‬
‫‪M = 12 + 9‬‬
‫أخيراا عملية الجمع ‪:‬‬
‫‪M = 21‬‬


Slide 62

‫مثال‪2‬‬

‫ترتيب العمليات الحسابية‬

‫ما نتيجة تنفيذ العملية التالية على جهاز الحاسب ‪:‬‬
‫الحل‬

‫‪M = 2 * ( 6 + 3 (^2‬‬

‫‪ ) 1‬ننفذ عملية الجمع أوالا ‪:‬‬
‫‪M = 2 * 9^2‬‬

‫‪ ) 2‬ثم عملية األس ثانيا ا ‪:‬‬
‫‪M = 2 * 81‬‬
‫أخيراا عملية الضرب‪:‬‬
‫‪M = 162‬‬


Slide 63

‫العمليات المنطقية‬
‫يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين‬
‫سواء أكانتا عدديتين أو حرفيتين ‪ ،‬متساويتين أو‬
‫غير متساويتين ‪ ،‬ويكون الناتج في عمليات المقارنة‬
‫إما القيمة ‪ True‬أي صحيح أو ‪ False‬أي خطأ‪.‬‬
‫ولوكان لدينا عمليات حسابية ومعها عملية مقارنة‬
‫فإن األولوية تكون للعمليات الحسابية‪.‬‬
‫مثال‬

‫ما نتيجة تنفيذ العملية التالية على جهاز الحاسب ‪:‬‬
‫‪4+3*5<4*6‬‬

‫ننفذ العمليات الحسابية أوالا‬
‫‪True‬‬

‫‪4 + 15 < 24‬‬
‫‪19 < 24‬‬


Slide 64

‫تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة‬
‫مثال‪1‬‬
‫حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية‬
‫𝟐𝑿‬
‫= 𝑴‪𝑵U‬‬
‫𝑩‪𝑨+‬‬

‫الحل‬

‫) ‪𝑵U𝑴 = X^2 / ( A + B‬‬
‫مثال‪2‬‬
‫حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية‬
‫𝟏 ÷ 𝟒 ‪𝑿 = 𝟓𝒀 −‬‬
‫الحل‬
‫𝟏‪𝑿 = 𝟓 ∗ 𝒀 − 𝟒/‬‬


Slide 65

‫أدوات البرمجة بلغة فيجول بيسك ستوديو‬
‫األدوات ‪ :‬هي أجزاء برامج جاهزة للستخدام ‪ ،‬أي أنها أعدت مسبقا ا لتوفير‬
‫على المبرمج الوقت والجهد‪.‬‬

‫فكل ما يجب عليك عمله الستخدام األدوات هو ‪:‬‬
‫‪ ) 1‬وضعها على النموذج في المكان المناسب‪.‬‬
‫‪ ) 2‬ضبط الخصائص الخاصة باألداة‪.‬‬
‫‪ ) 3‬كتابة أوامر البرمجة التي تتعامل مع هذه األداة‪.‬‬


Slide 66

‫خصائص األدوات‬
‫تختلف خصائص األدوات باختلف األدوات ‪ ،‬ولكن هناك خصائص مشتركة تشترك فيها كل األدوات‬
‫وهي التي سنتعرف عليها هنا‪.‬‬


Slide 67

‫ضبط خصائص األدوات‬
‫هناك طريقتان للتحكم في خصائص األدوات ‪ ،‬هما ‪:‬‬

‫‪1‬‬

‫ضبط خصائص األدوات أثناء تصميم البرنامج‬

‫‪2‬‬

‫ضبط خصائص األدوات أثناء تشغيل البرنامج‬


Slide 68

‫‪1‬‬

‫ضبط خصائص األدوات أثناء تصميم البرنامج‬

‫نستخدم إحدى الطرق التالية ‪:‬‬

‫‪1‬‬

‫كتابة القيمة‬

‫نكتب القيمة بواسطة لوحة المفاتيح في الخانة‬
‫المخصصة داخل إطار الخصائص كما في خاصية‬

‫‪Name‬‬


Slide 69

‫‪1‬‬
‫‪2‬‬

‫ضبط خصائص األدوات أثناء تصميم البرنامج‬

‫اختيار القيمة‬

‫نجد في خانة إدخال قيمة الخاصية مجموعة من‬
‫االختيارات ‪ ،‬نقوم باختيار إحداها ‪،‬كما في‬
‫خاصية ‪Visible‬‬


Slide 70

‫‪1‬‬
‫‪3‬‬

‫ظهور نافذة خيارات‬

‫عند النقر على خاصية‬
‫‪Font‬‬

‫ضبط خصائص األدوات أثناء تصميم البرنامج‬

‫تظهر‬

‫خصائص الخط‬

‫نافذة‬


Slide 71

‫‪2‬‬

‫ضبط خصائص األدوات أثناء تشغيل البرنامج‬

‫لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية ‪:‬‬

‫القيمة الجديدة = الخاصية ‪ .‬اسم األداة‬
‫مثلا لتغيير خاصية ‪ Text‬في أداة مربع النص ‪ TextBox‬نكتب التالي ‪:‬‬
‫” المدينة المنورة “ = ‪Textbox1.Text‬‬


Slide 72

‫أدوات إدخال البيانات‬
‫‪ ) 1‬أداة مربع النص ‪ : TextBox‬تتيح للمستخدم كتابة نص وتخزين النص في‬
‫الخاصية ‪Text‬‬
‫‪ ) 2‬أداة زر الخيار ‪ : RadioButton‬تتيح للمستخدم إنتقاء خيار واحد فقط من‬
‫عدة خيارات وتخزن في الخاصية ‪Checked‬‬
‫‪ ) 3‬أداة مربع االختيار ‪ : CheckBox‬تتيح للمستخدم انتقاء عدة خيارات وتخزين‬
‫قيمها في الخاصية ‪ Checkstate‬والخاصية ‪Checked‬‬
‫‪ ) 4‬أداة مربع القائمة ‪ : ListBox‬تعرض قائمة مكونة من عناصر يختار‬
‫المستخدم أحدها وتخزن خيار المستخدم في الخاصية ‪ Text‬أو ‪SelectedIndex‬‬
‫‪ ) 5‬أداة الخانة المركبة ‪ : ComboBox‬تعطي المستخدم حرية االختيار من قائمة‬
‫أو إدخال اختياره كتابة وتخزينها في الخاصية ‪Text‬‬


Slide 73

‫أداة مربع النص ‪TextBox‬‬

‫‪1‬‬

‫إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو‬
‫حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية‪:‬‬

‫‪Var1 = TextBox .Text‬‬
‫حيث أن ‪:‬‬
‫‪ : Var1‬متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية‪.‬‬

‫‪ : TextBox‬اسم أداة مربع النص على النموذج‪.‬‬
‫‪ : Text‬خاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم‪.‬‬
‫مثال‬
‫‪Username= Textbox1.Text‬‬


Slide 74

‫‪2‬‬

‫أداة زر الخيار ‪RadioButton‬‬

‫إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية ‪ Checked‬وهي‬

‫إحدى قيمتين‪ True ،‬أو ‪False‬‬
‫‪ : True ) 1‬أن الزر قد تم اختياره‬
‫‪ : False ) 2‬أن الزر لم يتم اختياره‬

‫‪Var1 = RadioButton . Checked‬‬
‫حيث أن ‪:‬‬
‫‪ : Var1‬متغير لتخزين البيانات من نوع منطقي ‪.‬‬
‫‪ :RadioButton‬اسم أداة زر الخيار على النموذج‪.‬‬
‫‪ : Checked‬خاصية تستقبل البيانات إما ‪ True‬أو ‪False‬‬
‫مثال‬

‫‪A = RadioButton1 . Checked‬‬


Slide 75

‫‪3‬‬

‫أداة مربع االختيار ‪CheckBox‬‬

‫إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية‬

‫وتخزن في الخاصية ‪ Checkstate‬وهي إحدى ثلث قيم‬
‫‪ ) 1‬إن المستخدم لم يختر المربع فقيمته عندئذ (‪(0‬‬
‫‪ ) 2‬إن المستخدم اختار المربع فقيمته عندئذ (‪(1‬‬
‫‪ ) 3‬أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ (‪)2‬‬

‫‪Var1 = CheckBox . Checkstate‬‬
‫حيث أن ‪:‬‬
‫‪ : Var1‬متغير لتخزين البيانات من نوع عددي ‪.‬‬
‫‪ :CheckBox‬اسم أداة مربع االختيار على النموذج‪.‬‬
‫‪ : Checkstate‬خاصية تستقبل البيانات من المستخدم‪.‬‬

‫مثال‬
‫‪A = CheckBox 1. Checkstate‬‬


Slide 76

‫‪4‬‬

‫أداة مربع القائمة ‪ListBox‬‬

‫البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر‪ ،‬وللحصول على البيانات من القائمة‬
‫عندما يختار المستخدم أحد العناصر يعني أحد شيئين‪:‬‬
‫‪ ) 1‬رقم العنصر في القائمة بواسطة الخاصية ‪SelectedIndex‬‬

‫‪Var1 = ListBox . SelectedIndex‬‬
‫‪ ) 2‬قيمة العنصر بواسطة الخاصية ‪Text‬‬

‫‪Var1 = ListBox . Text‬‬
‫حيث أن ‪:‬‬
‫‪ : Var1‬متغير لتخزين البيانات من نوع عددي أو حرفي ‪.‬‬
‫‪ :ListBox‬اسم أداة مربع القائمة على النموذج‪.‬‬


Slide 77

‫مثال‬

‫لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ‪ ListBox1‬نستخدم هذا األمر‬
‫‪A = ListBox1 . SelectedIndex‬‬
‫حيث ‪ A‬متغير عددي‪.‬‬

‫لمعرفة قيمة العنصر الذي اختاره المستخدم من‬
‫القائمة ‪ ListBox1‬نستخدم هذا األمر‬
‫‪B = ListBox1 . Text‬‬
‫حيث ‪ B‬متغير حرفي‪.‬‬


Slide 78

‫‪5‬‬

‫أداة الخانة المركبة ‪ComboBox‬‬

‫تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ‪ ،‬حيث يستطيع المستخدم أن يختار من القائمة‬
‫أو يكتب قيمة جديدة‪ .‬والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر‪ ،‬وللحصول‬
‫على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين‪:‬‬
‫‪ ) 1‬رقم العنصر في الخانة المركبة بواسطة الخاصية ‪SelectedIndex‬‬

‫‪Var1 = ComboBox . SelectedIndex‬‬
‫‪ ) 2‬قيمة العنصر بواسطة الخاصية ‪Text‬‬

‫‪Var1 = ComboBox . Text‬‬
‫حيث أن ‪:‬‬
‫‪ : Var1‬متغير لتخزين البيانات من نوع عددي أو حرفي ‪.‬‬
‫‪ :ComboBox‬اسم أداة مربع القائمة على النموذج‪.‬‬


Slide 79

‫مثال‬

‫لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ‪ ComboBox1‬نستخدم هذا األمر‬
‫‪A = ComboBox1 . SelectedIndex‬‬
‫حيث ‪ A‬متغير عددي‪.‬‬

‫لمعرفة قيمة العنصر الذي اختاره المستخدم من‬
‫القائمة ‪ ComboBox1‬نستخدم هذا األمر‬
‫‪B = ComboBox1 . Text‬‬
‫حيث ‪ B‬متغير حرفي‪.‬‬


Slide 80

‫أدوات إخراج المعلومات‬
‫نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج‬
‫البيانات التي أدخلها المستخدم ‪ ،‬ومن هذه األدوات ‪:‬‬

‫‪1‬‬

‫أداة مربع النص ‪TextBox‬‬

‫‪2‬‬

‫أداة التسمية ‪Label‬‬


Slide 81

‫طريقة إخراج المعلومات إلى مربع النص ‪TextBox‬‬

‫‪1‬‬

‫إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية ‪:‬‬

‫‪TextBox . Text = Var1‬‬
‫حيث إن ‪:‬‬
‫‪ : TextBox‬اسم أداة مربع النص على النافذة‪.‬‬
‫‪ : Text‬خاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير ‪Var1‬‬
‫‪ : Var1‬اسم المتغير‪.‬‬
‫مثال‬
‫إلظهار حاصل جمع عددين ‪ X‬و ‪ Y‬في األداة ‪ TextBox4‬نكتب السطر التالي ‪:‬‬
‫‪TextBox4.Text = X + Y‬‬


Slide 82

‫طريقة إخراج المعلومات إلى أداة التسمية ‪Label‬‬

‫‪1‬‬

‫إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية ‪:‬‬

‫‪Label. Text = Var1‬‬
‫حيث إن ‪:‬‬
‫‪ : Label‬اسم أداة مربع النص على النافذة‪.‬‬
‫‪ : Text‬خاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير ‪Var1‬‬
‫‪ : Var1‬اسم المتغير‪.‬‬
‫مثال‬
‫إلظهار حاصل جمع عددين ‪ X‬و ‪ Y‬في األداة ‪ Label 1‬نكتب السطر التالي ‪:‬‬
‫‪Label1 . Text = X + Y‬‬


Slide 83

‫بعض األوامر األساسية للغة فيجول بيسك ستوديو‬
‫‪1‬‬

‫أوامر إدخال البيانات وإخراج المعلومات‬

‫أ‬

‫إدخال البيانات بواسطة األمر ‪InputBox‬‬

‫يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر‬
‫ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر‪ .‬إلنشاء هذه النافذة‬
‫يجب أن نكتب األمر الخاص بها‪ ،‬وصيغته كالتالي‪:‬‬

‫)‪Var1= InputBox (message‬‬
‫‪ : Var1‬اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية‪.‬‬
‫‪ : InputBox‬أمر إنشاء هذه النافذة‪.‬‬
‫‪ : Message‬النص الثابت الذي يظهر في النافذة‪.‬‬


Slide 84

‫إدخال البيانات بواسطة األمر ‪InputBox‬‬

‫أ‬
‫مثال‬

‫لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب‪:‬‬
‫)”أدخل اسم المستخدم“( ‪Username = InputBox‬‬


Slide 85

‫بعض األوامر األساسية للغة فيجول بيسك ستوديو‬
‫‪1‬‬

‫أوامر إدخال البيانات وإخراج المعلومات‬

‫ب‬

‫إخراج المعلومات بواسطة األمر ‪MsgBox‬‬

‫يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد‬
‫للمستخدم قراءتها ‪ ،‬وصيغته كالتالي‪:‬‬

‫)‪MsgBox(message‬‬
‫‪ : MsgBox‬أمر إنشاء هذه النافذة‪.‬‬
‫‪ : message‬اسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة‪.‬‬


Slide 86

‫إخراج المعلومات بواسطة األمر ‪MsgBox‬‬

‫ب‬
‫مثال‬

‫لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب‪:‬‬
‫) ”كلمة السر التي أدخلتها خاطئة ‪ ،‬فضلا أدخل كلمة السر مرة أخرى“( ‪MsgBox‬‬


Slide 87

‫أمر اإلسناد‬
‫يقصد به تخزين قيمة معينة داخل متغير‪ .‬قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية‪.‬‬
‫وصيغته كالتالي‪:‬‬

‫‪Var1= Value‬‬
‫‪ : Var1‬اسم المتغير‪.‬‬
‫‪ : Value‬القيمة التي نريد تخزينها في المتغير‪.‬‬


Slide 88

‫الجمل الشرطية‬
‫‪1‬‬

‫الجملة الشرطية ‪IF‬‬

‫تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها ‪:‬‬

‫أ‬

‫صيغة ‪IF – THEN‬‬

‫ب‬

‫صيغة ‪IF – THEN - ENDIF‬‬

‫ج‬

‫صيغة ‪IF – THEN - ELSE‬‬

‫د‬

‫صيغة ‪IF – THEN - ELSEIF‬‬


Slide 89

‫أ‬

‫صيغة ‪IF – THEN‬‬

‫‪IF condition THEN statement‬‬
‫فإذا تحقق الشرط ‪ condition‬أي كان صحيحا ا فسيتم تنفيذ األمر ‪ statement‬وإذا لم يكن صحيحا ا‬
‫فلن يتم تنفيذ األمر‪.‬‬
‫مثال‬


Slide 90

‫ب‬

‫صيغة ‪IF – THEN - End If‬‬

‫هذه الصيغة هي الصيغة األولى نفسها ‪ ،‬إال أنه سيتم‬
‫تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ‪ ،‬لذلك‬
‫احتجنا إلى وضع كلمة ‪ End If‬لتوضيح نهاية‬
‫مجموعة األوامر التي سيتم تنفيذها‪.‬‬
‫مثال‬

‫‪IF condition THEN‬‬
‫…‬
‫‪Statements‬‬
‫‪...‬‬
‫‪End If‬‬


Slide 91

‫صيغة ‪IF – THEN - ELSE‬‬

‫ج‬

‫يتم تنفيذ مجموعة األوامر ‪ statements1‬في حالة‬
‫كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر‬
‫‪ statements2‬في حالة كون الشرط غير صحيح‪.‬‬

‫مثال‬

‫‪IF condition THEN‬‬
‫…‬
‫‪statements1‬‬
‫…‬
‫‪ELSE‬‬
‫…‬
‫‪statements2‬‬
‫‪END IF‬‬


Slide 92

‫د‬

‫صيغة ‪IF – THEN - ELSEIF‬‬

‫إذا كان الشرط األول ‪ condition1‬صحيحا ا فإنه‬
‫ينفذ األوامر ‪ statements1‬فقط‬
‫أما إذا كان الشرط األول غير صحيح فإنه يختبر‬
‫شرطا ا جديداا وهو ‪ condition2‬وإذا كان صحيح‬
‫فإنه ينفذ مجموعة األوامر ‪ statements2‬فقط‬

‫أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ‬
‫مجموعة األوامر ‪ Statements3‬وقد يكون لدينا‬
‫شرط ثالث ورابع وهكذا‬

‫‪IF condition1 THEN‬‬
‫…‬
‫‪statements1‬‬
‫…‬
‫‪ELSEIF condition2 THEN‬‬
‫…‬
‫‪statements2‬‬
‫…‬
‫‪ELSE‬‬
‫…‬
‫‪Statements3‬‬
‫…‬
‫‪END IF‬‬


Slide 93

‫مثال‬


Slide 94

‫‪SELECT CASE expression‬‬
‫الجملة الشرطية ‪Select Case‬‬
‫‪2‬‬
‫‪CASE prob1‬‬
‫تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام‬
‫…‬
‫‪statements1‬‬
‫جملة ‪ IF‬طويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ‪،‬‬
‫…‬
‫حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال‪.‬‬
‫‪CASE prob2‬‬
‫…‬
‫‪ : SELECT CASE‬بداية الجملة‬
‫‪statements2‬‬
‫‪ : Expression‬الشرط أو التعبير المراد اختبار قيمته ‪ ،‬وقد يكون متغيراا أو عملية‬
‫…‬
‫‪[ CASE ELSE‬‬
‫حسابية أو منطقية‪.‬‬
‫…‬
‫‪ : CASE‬توضع قبل كل احتمال‪.‬‬
‫‪statements3‬‬
‫‪ Prob1 , prob2 ….‬القيم المحتملة للتعبير‪.‬‬
‫]…‬
‫‪END SELECT‬‬
‫‪ : Statements1‬األوامر التي تنفذ في حالة تحقق القيمة‪.‬‬
‫‪ : CASE ELSE‬إذا لم يتحقق أي احتمال من االحتماالت السابقة‪ ،‬وهي اختيارية‪.‬‬


Slide 95

‫مثال‬


Slide 96

‫حلقات التكرار‬
‫من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ‪ ،‬ويوجد في لغة‬
‫فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها ‪:‬‬

‫‪1‬‬

‫األمر ‪For .. Next‬‬

‫‪2‬‬

‫األمر ‪DO WHILE‬‬


Slide 97

‫‪1‬‬

‫األمر ‪For .. Next‬‬

‫يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا‪ .‬وصيغته هي ‪:‬‬

‫]‪FOR counter = start TO end [STEP step‬‬
‫……‪..‬‬
‫‪statements‬‬
‫……‪.‬‬
‫‪NEXT‬‬
‫‪ : Counter‬متغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة‬

‫النهائية المحددة له ‪ ،‬ويسمى بالعداد ‪.‬‬
‫‪ : Start‬القيمة األولية للعداد‪.‬‬
‫‪ : End‬القيمة النهائية للعداد‪.‬‬
‫‪ : Step‬القيمة التي يتم بها زيادة العداد وهي اختيارية ‪ ،‬فإن لم نذكرها فإن الزيادة تكون بـ ‪1‬‬
‫‪ : Statements‬مجموعة األوامر التي سيتم تكرراها‪.‬‬
‫‪ : Next‬نهاية جملة التكرار‪.‬‬


Slide 98

‫مثال‬
‫أكتب برنامج لجمع األعداد من ‪10 - 1‬‬


Slide 99

‫مثال‬
‫أكتب برنامج لجمع األعداد الفردية من ‪11 - 1‬‬


Slide 100

‫‪2‬‬

‫األمر ‪DO WHILE‬‬

‫نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي‬
‫التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير‬

‫صحيح توقف التكرار‪.‬‬

‫‪Do While condition‬‬
‫………‪..‬‬
‫‪statements‬‬
‫………‪..‬‬
‫‪Loop‬‬
‫حيث إن ‪:‬‬
‫‪ : Condition‬الشرط الذي يتم التحقق منه ‪ ،‬ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا‪.‬‬
‫‪ : Statements‬مجموعة األوامر التي تنفذ داخل التكرار‪.‬‬


Slide 101

‫مثال‬
‫أكتب برنامج لجمع األعداد من ‪10 - 1‬‬


Slide 102

‫مثال‬
‫أكتب برنامج لجمع األعداد الزوجية من ‪10 - 0‬‬


Slide 103

‫المصفوفات‬
‫لو كان لديك درجات ‪ 100‬طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل‬
‫درجة‪ .‬فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف ‪ 100‬متغير لتخزينها؟ يبدو هذا غير منطقي أليس‬

‫كذلك؟‬
‫يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل‬
‫نفس نوع البيانات وهي المصفوفات‪.‬‬
‫المصفوفة ‪ : Array‬هي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة‬
‫واحدة وصيغتها‪:‬‬

‫‪DIM Var1(n) As Type‬‬
‫حيث إن ‪:‬‬
‫‪ : Var1‬اسم المصفوفة‪.‬‬

‫‪ : N‬عدد عناصر المصفوفة – ‪1‬‬
‫‪ : Type‬نوع البيانات المخزنة في المصفوفة‪.‬‬


Slide 104

‫مثال‬
‫عرف مصفوفة لتخزين درجات ‪ 100‬طالب‪.‬‬

‫‪DIM Grades(99) as single‬‬

‫أليس هذا أفضل من تعريف ‪ 100‬متغير ؟‬

‫فوائد المصفوفات‬
‫‪ ) 1‬توفير الوقت والجهد‪.‬‬
‫‪ ) 2‬تؤدي إلى صغر حجم البرنامج‪.‬‬


Slide 105

‫التعامل مع المصفوفات‬
‫لو عرفنا مصفوفة فيها ‪ 10‬أعداد كالتالي ‪:‬‬

‫‪DIM A(9) AS Integer‬‬
‫وخزنا فيها مجموعة من األرقام ‪ ،‬سيكون شكل المصفوفة كالتالي ‪:‬‬

‫لو أردنا تغيير قيمة العنصر الخامس لكتبنا ‪:‬‬
‫‪A(4) = 10‬‬


Slide 106

‫مثال‬

‫أكتب برنامج يقوم بإدخال درجات ‪ 100‬طالب في مصفوفة ‪ ،‬ثم يقوم بحساب متوسط‬
‫درجات الطلب ‪ ،‬ثم يقوم بإيجاد أعلى درجة من درجات الطلب‪.‬‬