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طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطلب ،ثم يقوم بإيجاد أعلى درجة من درجات الطلب.
الترم الثاني
مقدمة في البرمجـة
صياغة حل المسائل
البرمجة بلغة فيجول بيسيك
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طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطلب ،ثم يقوم بإيجاد أعلى درجة من درجات الطلب.