البرمجة بلغة فيجول بيسيك

البرمجة بلغة فيجول بيسيك 
صياغة حل المسائل
مقدمة في البرمجـة
جهاز الحاسب الآلـي آلــة تنفذ ما يأتيها من أوامـــر بدقـة ، حيث تكـون هذه الأوامـر مكتوبــة فيمـا يسمى  ( برنامج ) ، وجميع البرامج  تكون مكتوبة على هيئة سلسلة من الأوامر اليسيرة التي ينفذها الحاسب الآلي لتخرج لنا بالشكل الذي نراه.
هذه الأوامر تكتب بلغة معينة يفهمها جهاز الحاسب ، وإذا أردنا من جهاز الحاسب أن ينفذ عملاً معيناً فعلينا أن نعطيه الأوامر اللازمة لتنفيذ هذا العمل وهذه الأوامر مكتوبة على شكل برنامج.
مفهوم البرمجة
البرنامج : هو سلسلة من الأوامر مكتوبة بلغة برمجة معينة ، تكتب لتنفيذ مهمة محددة في جهاز الحاسب.
تذكر
أنواع البرمجيات :
1 ) أنظمة التشغيل.
2 ) برامج التشغيل  المساعدة.
3 ) البرامج التطبيقية.
الفرق بين المبرمج ومستخدم البرنامج
المبرمج : هو من يكتب البرامج ، حيث تمر العملية بعدة مراحل هي :
1 ) فهم وتحليل المشكلة.
2 ) كتابة سلسلة من  الأوامر لحل المشكلة.
3 ) اختبار البرنامج والتأكد من صحة عمله.
4 ) تحويل البرنامج  إلى صيغة تنفيذية  ، تمثل الشكل  النهائي الذي يحتوي على الواجهة التي يراها المستخدم.
المستخدم : هو من يستخدم البرنامج ، حيث تظهر له واجهة البرنامج ولن تظهر له الأوامر التي كتبها المبرمج.
كيفية الحصول على البرامج
هناك طريقتان لحصول الشركات أو الأفراد على البرامج :
1 ) شراء برنامج جاهز ( مكتوب سابقاً ).
2 ) تطوير برنامج جديد  خاص بالشركة أو  الفرد.

أحياناً قد لا تكون البرامج الجاهزة مطابقة لما تحتاجه ، وهنا سوف تضطر إلى تطوير البرنامج بنفسك ومع أن هذا يحتاج إلى وقت وجهد ، إلا أن البرنامج سوف يلبي احتياجاتك تماماً.
أهم الأوامر في البرمجة
لو طلب منك جمع رقمين ، فما الخطوات التي يقوم بها عقلك للحصول على الناتج ؟
1 ) استقبل الرقم الأول  واحفظه.
2 ) استقبل الرقم الثاني  واحفظه.
3 ) اجمع الرقم الأول مع الثاني واحفظ الناتج.
4 ) أعط الناتج.
نشاط
لو طلب منك جمع رقمين زوجيين فقط  ، فما الخطوات التي يقوم بها عقلك للحصول على الناتج ؟
نشاط
1 ) استقبل الرقم الأول  واحفظه.
2 ) استقبل الرقم الثاني  واحفظه.
3 ) التأكد من الشرط  إذا تحقق تجمع  الرقمين وتعطي  النتيجة ، وإذا  لم يتحقق الشرط  نطلب استقبال رقمين  آخرين يحققان الشرط.
لو طلب منك جمع خمسة أزواج من الأرقام ، فما الخطوات التي يقوم بها عقلك للحصول على الناتج ؟
نشاط
1 ) استقبل الرقم واحفظه.
2 ) استقبل الرقم الثاني  واحفظه.
3 ) اجمع الرقم الأول مع الثاني واحفظ الناتج.
4 ) نقوم بتكرار الخطوات  السابقة أربع مرات.
5 ) نعطي الناتج
1 ) الإدخال : عملية استقبال البيانات التي سوف يعالجها البرنامج.
2 ) الإخراج : عملية عرض المعلومات التي نتجت عن تنفيذ البرنامج.
3 ) الحساب : هي العمليات الحسابية التي تنفذها البرنامج.
4 ) التحقق من الشرط : هي عملية التحقق من صحة شرط ما وتنفيذ بعض الأوامر بناء على مصداقية الشرط.
5 ) التكرار : هي عملية تكرار مجموعة من الأوامر.
أهم الأوامر في البرمجة
أهم الأوامر في البرمجة
الإدخال
عملية استقبال البيانات التي سوف يعالجها البرنامج
عمليات المعالجة
أوامر الحساب والتحقق من الشرط والتكرار
الإخراج
عملية عرض المعلومات التي نتجت عن تنفيذ البرنامج
أهمية البرمجة
نستطيع القول إن جهاز الحاسب الآلي دون برمجة لا فائدة منه إطلاقاً.
لأن البرامج هي التي تخبر الجهاز بما عليه القيام به وكيفية القيام بالعمل.
أمثلة على أجهزة ونظم تعمل باستخدام برامج خاصة بها
في المنزل : جهاز الميكروويف ، الهاتف المحمول ، الساعات الإلكترونية ، أجهزة الاستقبال الفضائية الرقمية ، التلفزيون ، الفيديو.
في الشارع : إشارات المرور ، السيارات الحديثة ، أجهزة الصراف الآلي.
في المستشفيات : الأجهزة الطبية المختلفة ، نظام المواعيد وملفات المرضى.
في المحلات التجارية : نظام البيع ، قارئ الأكواد.
أجهزة ونظم تعمل ببرامج خاصة بها
المحلات التجارية 
المستشفيات 
الشارع 
المنزل 
جهاز الميكروويف الهاتف المحمول الساعات لإلكترونية أجهزة الاستقبال
إشارات المرور ، السيارات الحديثة ، أجهزة الصراف الآلي
الأجهزة الطبية المختلفة ، نظام المواعيد وملفات المرضى.
نظام البيع ، قارئ الأكواد
تعريف البرنامج
البرنامج : هو سلسلة من الأوامر مكتوبة بلغة برمجة معينة تكتب لتنفيذ مهمة محددة في جهاز الحاسب، ويوجد كثير من لغات البرمجة المستخدمة في كتابة البرامج.
لغة الآلة : هي لغة ينفذها الحاسب مباشرة وهي مجموعة من التعليمات تنفذ مباشرة من قبل وحدة المعالجة المركزية للحاسب CPU ، حيث تُكتب مجموعة من التعليمات لتنفيذ مهمة محددة للغاية ، وتتعامل مباشرة مع ما هو مخزن في الذاكرة الرئيسية للجهاز.
وتُكتب كافة برامج الحاسب اليوم بلغات متعددة ومختلفة لها قواعدها ومفرداتها ، وتترجم إلى لغة الآلة بواسطة برنامج المترجم.
أقسام لغات البرمجة
لغات عالية المستوى
لغات منخفضة المستوى
لغــة الآلــة
لغة البرمجة الإجرائية
1
لغة التجميع
2
1
لغة البرمجة بالكائنات
2
اللغات المنخفضة المستوى
هي اللغات القريبة جداً من جهاز الحاسب تظهر التركيب الداخلي للحاسب في مجموعة أوامر وتعليمات هذه اللغات. أي أنها لا توفر تجريداً أو فصلاً بين مجموعة أوامر أو تعليمات هذه اللغات والتركيب الداخلي للحاسب ، وتنقسم إلى :
1
لغــة الآلــة
2
لغة التجميع
1
لغــة الآلــة
تكتب الأوامر في لغة الآلة على شكل سلسلة من الأرقام الثنائية ( الصفر والواحد ) حتى يفهمها جهاز الحاسب الآلي مباشرة ، وترمز كل مجموعة من الأرقام إلى عملية محددة يسيرة يمكن للحاسب تنفيذها ، وتتعامل مباشرة مع ما هو مخزن في الذاكرة الرئيسية للجهاز.
اللغات المنخفضة المستوى
2
لغة التجميع
هي اختصارات للغة الآلة ، حيث تُكتب الأوامر على هيئة  اختصارات مفهومة باللغة الإنجليزية يسهل تذكرها ، ويوجد مترجم يحول أوامر لغة التجميع إلى الصفر والواحد حتى يفهمها الجهاز وينفذها ، وتتعامل أوامر لغة التجميع مع مكونات جهاز الحاسب الداخلية مباشرة.
اللغات المنخفضة المستوى
اللغات العالية المستوى
هي لغات تخفي تفاصيل تركيب الحاسب الداخلية عن المبرمج ، وهي بعكس لغات البرمجة منخفضة المستوى. ولا تتوافق أوامر اللغات عالية المستوى وتعليماتها مع التركيب الداخلي للحاسب.
وتعد هذه اللغات أسهل في الاستخدام وعملية كتابة البرامج من اللغات منخفضة المستوى ، ويوجد كثير من لغات البرمجة عالية المستوى تستخدم لبرمجة تطبيقات في مجالات مختلفة ، كما تسمى باللغات المتقدمة.
وتنقسم إلى :
1
لغات البرمجة الإجرائية
2
لغات البرمجة بالكائنات
تعتمد على قيام المستخدم بكتابة البرنامج مفصلاً إجراءً بعد إجراء ، ومن ثم تحديد التعليمات التي تؤدي إلى قيام الحاسب بالمهام المطلوبة للبرنامج خطوة بعد أخرى.
وفي هذه اللغات تُجمَّع الأوامر التي تنفذ مهمة واحدة تحت إجراء واحد يعطى اسماً معيناً ، ثم في كل مرة نريد تنفيذ هذه المهمة يستدعى هذا الاسم الذي اخترناه بدلاً من كتابة جميع هذه الأوامر مرة أخرى ، وتمتاز البرامج المكتوبة باللغات الإجرائية بأنها قصيرة وسهلة القراءة والفهم.
1
لغات البرمجة الإجرائية
أمثلة
1 ) لغة بيسك BASIC طورت عام 1964م ، وتم تطويرها حالياً للغة فيجول بيسيك  
1 ) لغة سي C طورت عام 1973م ، تستخدم لكتابة برمجيات نظم التشغيل.
اللغات العالية المستوى
تسمى أيضاً البرمجة بالعناصر ، وفي هذه اللغات تُجمع البيانات مع الأوامر الخاصة بها تحت كائن واحد ، ويعطى اسماً معيناً ويمكن استخدام هذا الكائن عدة مرات داخل البرنامج ، ويتم في لغة البرمجة بالكائنات تعديل وإعداد البرنامج بالرؤية المباشرة للكائنات التي يتألف منها البرنامج مثل الجداول أو الشاشات أو الرموز الصورية ، لذا فإن البرمجة بالكائنات لا تتطلب من المستخدم كتابة برنامجه على شكل خطوات إجرائية محددة أو كتابة أوامر وتعليمات متتابعة.
البرامج المصممة بهذا النوع تتألف من العديد من الكائنات التي تستجيب لأحداث معينة مثل النقر أو النقر المزدوج أو التحميل أو الفتح أو تنشيط أداة معينة بحيث تستجيب هذه البرامج الفرعية إلى وقوع ذلك الحدث وتقوم بتنفيذ الأوامر الخاصة بالكائن.
2
لغات البرمجة بالكائنات
اللغات العالية المستوى
أمثلة
وجميع هذه اللغات يجب تحويل برامجها إلى لغة الآلة حتى يتم تنفيذها ، حيث لكل لغة مترجماً خاصاً يقوم بتحويل برامجها للغة الآلة.
2
لغات البرمجة بالكائنات
1 ) لغة السي بلس بلس ( C++ ) وهي امتداد للغة سي الإجرائية وقد طورت عام 1979م وتمتاز بأنه يمكن استخدامها للبرمجة الإجرائية أو البرمجة بالعناصر.
2 ) لغة جافا Java
مقارنة بين البرمجة الإجرائية والبرمجة بالكائنات
م              البرمجة الإجرائية   البرمجة بالكائنات
1             البرنامج يتحكم في مسار تنفيذه أمراً بعد أمر          المستخدم ونظام التشغيل والبرنامج جميعها تتحكم في مسار تنفيذ البرنامج
2             صعوبة إنشاء واجهة للمستخدم               سهولة إنشاء واجهة للمستخدم
3             صعوبة الربط مع قواعد البيانات المختلفة.            سهولة الربط مع قواعد البيانات المختلفة.
4             يتم كتابة الأوامر والتعليمات من المستخدم لتنفيذ البرنامج     يتم استخدام الكائنات لتنفيذ البرنامج

يسعى علماء الحاسب مستقبلاً إلى إيجاد جيل جديد من لغات البرمجة ستكون لغات طبيعية كالتي يتخاطب بها البشر مثل اللغة العربية أو الإنجليزية.
الهدف من تعلم صياغة حل المسائل
1
القدرة على كتابة برامج للحاسب
2
التخطيط  لحياتك اليومية
3
القدرة على التفكير لحل المشكلات
إننا عندما نتعلم ونتدرب على صياغة حل المسائل بواسطة الحاسب فإن هذا لا يعني أن الفائدة تقتصر على المسائل الحسابية والمنطقية فحسب بل إننا نهدف إلى :
خطوات حل المسائل
اولاً : صياغة حل المسائل
ثانياً : كتابة البرنامج وتنفيذه
المقصود بحل المسائل هو تحديد الخطوات المتبعة للوصول إلى الحل لضمان صحة الحل.
وتتكون هذه الصياغة من ثلاث خطوات أساسية هي :
1
فهم المسألة وتحديد عناصرها.
2
كتابة الخوارزم والخطوات المنطقية للحل.
3
التمثيل البياني للخوارزم عن طريق مخططات الانسياب.
اولاً : صياغة حل المسائل
خطوات حل المسائل
تتكون هذه المرحلة من ثلاث خطوات أساسية هي :
1
كتابة البرنامج بواسطة إحدى لغات البرمجة من قبل المبرمج.
2
ترجمة البرنامج إلى لغة الآلة وتنفيذه وهذا هو دور الحاسب الآلي.
3
اختبار البرنامج وإصلاح الأخطاء.
ثانياً : كتابة البرنامج وتنفيذه
خطوات حل المسائل
1
فهم المسألة وتحديد عناصرها ( فهم المسألة ثلثا الحل )
المقصود بفهم المسألة وتحليل عناصرها أن نعرف ماذا نريد بالضبط من البرنامج وأن نحدد العناصر الأساسية لحل المسألة وهي :
أ
مخرجات البرنامج :
ب
مدخلات البرنامج :
ج
المعالجة :
النتائج والمعلومات المراد التوصل إليها عند حل المسألة. 
هي البيانات اللازم الحصول عليها لمعرفة النتائج والمخرجات. 
العمليات الحسابية والمنطقية التي نقوم بإجرائها على المدخلات حتى نحصل على المخرجات.
اولاً : صياغة حل المسائل
مثال
نفترض أننا نريد حساب مساحة المستطيل بمعلومية الطول والعرض ، حلل عناصر المسألة إذا علمت أن مساحة المستطيل = الطول x العرض.
الحل
لتحليل عناصر المسألة نحدد التالي :
1 ) المخرجات : مساحة المستطيل.
2 ) المدخلات : الطول والعرض.
3 ) المعالجة : قانون مساحة المستطيل
2
كتابة الخطوات الخوارزمية
الخوارزمية : هي مجموعة من الأوامر المكتوبة بصورة واضحة ومسلسلة ومترابطة منطقياً لحل مسألة.
مثال 
اكتب الخطوات الخوارزمية لقراءة عدد وتحديد ما إذا كان سالباً أو موجباً.
1 ) أدخل العدد A
2 ) إذا كان A > 0 اطبع ( العدد موجب ) وانتقل للخطوة رقم 5
3 ) إذا كان A < 0 اطبع ( العدد سالب ) وانتقل للخطوة رقم 5
4 ) اطبع عبارة ( العدد  مساوٍ للصفر ).
5 ) النهاية. 
اولاً : صياغة حل المسائل
مثال
اكتب الخطوات الخوارزمية لإيجاد مجموع الأعداد من  1- 10 
1 ) ضع S = 1 ، M=0
2 ) أضف S على M  أي M=M+S
3 ) قم بزيادة S بواحد صحيح أي S=S+1
4 ) إذا كانت S>10 اطبع M وتوقف.
5 ) ارجع إلى الخطوة رقم 2
1 ) ضع S = 1 ، M=0
2 ) أضف S على M  أي M=M+S
3 ) قم بزيادة S بواحد صحيح أي S=S+1
4 ) إذا كانت S>10 اطبع M وإلا ارجع للخطوة 2.
5 ) النهاية
الحل
خواص الخوارزمية السليمة
لكي تكون الخطوات الخوارزمية سليمة لابد من أن تحتوي خواص أساسية وهي :
1 ) أن تكون كل خطوة معرفة جيداً ومحددة بعبارات دقيقة.
2 ) أن تتوقف العملية بعد عدد محدد من الخطوات.
3 ) أن تؤدي العمليات في مجملها إلى حل المسألة.
مثال
تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لحساب وزنك المثالي
1 ) أحسب الوزن المثالي  Y= X - 100
2 ) اطبع Y 
الخطوات الخوارزمية بمجملها لا تؤدي إلى حل المسألة.
من المفترض إضافة الخطوة التالية في البداية.
1 ) أدخل قيمة الطول  X بالسنتيمتر.
الحل
مثال
تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لعرض التخصصات الجامعية المناسبة لك بناء على تخصصك في المرحلة الثانوية (علمي – أدبي )
1 ) أدخل التخصص X
2 ) اطبع عبارة (علوم الحاسب والمعلومات – العمارة والتخطيط – علوم الأغذية والزراعة – علوم الهندسة – كليات الصحة ) ، ثم توقف.
3 ) اطبع عبارة ( الآداب – التربية – اللغة العربية – اللغات والترجمة – الحقوق – السياحة والآثار ) ، ثم توقف.
الخطوات الخوارزمية بمجملها لا تؤدي إلى حل المسألة.
من المفترض إضافة عبارة  ( إذا كان التخصص X = علمي ) في بداية الخطوة الثانية.
وإضافة عبارة ( إذا كان التخصص X = أدبي ) في بداية الخطوة الثالثة.
الحل
2
مخططات الانسياب
مخططات الانسياب : هي تمثيل بياني أو رسمي للخطوات الخوارزمية.
فائدة مخططات الانسياب
1 ) توضيح الطريق الذي يمر به البرنامج ابتداء من المدخلات أو البيانات ومن ثم المعالجة ، وأخيراً مخرجات البرنامج ونتائجه.
2 ) توثيق منطق البرنامج للرجوع إليه عند الحاجة ، وذلك بغرض إجراء أي تعديلات على البرنامج أو اكتشاف الأخطاء التي تقع عادة في البرامج وخاصة الأخطاء المنطقية.
اولاً : صياغة حل المسائل
الرمز       الاسم        المعنى
                بداية / نهاية            يمثل بداية أو نهاية البرنامج
                إدخال / إخراج         يمثل إدخال البيانات أثناء البرنامج أو إخراجها
                عملية       يمثل عملية معالجة البيانات
                قرار         يمثل اتخاذ قرار أو تعبير منطقي يحتاج إلى جواب
                خط الانسياب           يمثل اتجاه الانسياب المنطقي للبرنامج
                توصيلة   لتوصيل الأجزاء المختلفة في المخطط

رموز تمثيل مخططات الانسياب
مثال
قم بإعداد مخطط الانسياب لإيجاد مجموع الأعداد من  1- 10 
بداية
S = 1 , M = 0
M = M + S
S = S + 1
S>10
اطبع M
نهاية
نعم
لا
الحل
مثال
قم بإعداد مخطط الانسياب لحل مسألة قراءة عدد وتحديد ما إذا كان سالباً أو موجباً. 
بداية
A < 0
اطبع العدد صفر
نهاية
نعم
لا
أدخل العدد A
A > 0
اطبع
العدد موجب
لا
اطبع
العدد سالب
نعم
الحل
مثال 1
ما صياغة الحل لإيجاد متوسط عددين ؟
أمثلة على صياغة حل المسائل
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : متوسط  العددين المدخلين  M
2 ) المدخلات : عددان مدخلان X , Y
3 ) عمليات المعالجة : قانون متوسط عددين = ( X + Y ) / 2
2
كتابة الخطوات الخوارزمية
1 ) أدخل العددين X , Y
2 ) اجعل   M = (X+Y) / 2
3 ) اطبع M
4 ) النهاية.
3
رسم مخطط الانسياب
بداية
أدخل X , Y 
M = (X+Y)/2
اطبع M
النهاية
مثال 2
ما صياغة الحل لطباعة الأعداد الزوجية من 2 - 50
أمثلة على صياغة حل المسائل
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : طباعة الأعداد الزوجية من 2 - 50
2 ) المدخلات : لا توجد
3 ) عمليات المعالجة : الانتقال من عدد زوجي إلى عدد زوجي آخر.
2
كتابة الخطوات الخوارزمية
1 ) اجعل A=2
2 ) اطبع A
3 ) اجعل A=A+2
4 ) اذا كانت A>50 توقف وإلا اذهب إلى الخطوة 2 
3
رسم مخطط الانسياب
بداية
A = 2
اطبع A
النهاية
A=A+2
A > 50
نعم
لا
مثال 3
ما صياغة الحل لإيجاد متوسط درجات طلاب فصل في مادة الحاسب ، إذا علمت أن عددهم 10 طلاب.
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : متوسط درجات الطلاب ( S )
2 ) المدخلات : درجات 10 طلاب ولنضعها في المتغير D
3 ) عمليات المعالجة : المتوسط = مجموع الدرجات M ÷ 10 
2
كتابة الخطوات الخوارزمية
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 ) النهاية
3
رسم مخطط الانسياب
I = 10
بداية
M = 0 , I = 0
النهاية
M = M + D
نعم
لا
I = I + 1
اطبع S
أدخل الدرجة D
S = M / 10
تدريبات على صياغة حل المسائل
( 1 )
حدد مخرجات المخطط الانسيابي التالي :
S             M           المخرجات
3             1             X
3             2             X
3             3             X
2             1             X
2             2             X
1             1             X

تتكرر طباعة علامة X 6 مرات
(2)
ما صياغة الحل لطباعة عدد الأعداد الفردية ما بين 1 – 100 ؟ 
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : عدد الأعداد الفردية ما بين  1- 100
2 ) المدخلات : بدون
3 ) عمليات المعالجة : الانتقال من عدد فردي إلى آخر ( ف )
                           وعداد لحساب عدد  الأعداد الفردية ( ع )
2
كتابة الخطوات الخوارزمية
1 ) اجعل ف = 1 ، ع = 1
2 ) اجعل ف = ف + 2
3 ) اجعل  ع = ع + 1
4 ) إذا كان ف > 100 اذهب إلى الخطوة 2
5 ) اطبع ع
6) النهاية
3
رسم مخطط الانسياب
بداية
ف = 1 ، ع = 1
النهاية
ع = ع + 1
ف <100
نعم
لا
ف = ف + 2
اطبع ع
(3)
ما صياغة الحل لإيجاد وطباعة المبلغ الإجمالي لخمس سلع بقيم مختلفة وكميات مختلفة ، يتم قراءة كل سلعة وكميتها على حدة؟
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : مجموع مبلغ السلع ( م )
2 ) المدخلات : سعر السلعة ( س )  ، كمية السلعة ( ك )
3 ) عمليات المعالجة : عداد يحسب عدد السلع المدخلة ( ع )
                           مجموع مبلغ السلع م = م + ( س X ك )
2
كتابة الخطوات الخوارزمية
1 ) اجعل  ع = 0 ، م = 0
2 ) ع = ع + 1
3 ) أدخل س ، ك
4 ) م = م + ( س X ك )
5 ) إذا كانت ع = 5 اطبع م وإلا اذهب إلى الخطوة 2
6) النهاية
3
رسم مخطط الانسياب
بداية
ع = 0 ، م = 0
النهاية
ع = 5
نعم
لا
ع = ع + 1
اطبع م
أدخل س ، ك
م = م + ( س X ك )
(4)
ما صياغة الحل لتحديد نجاح أو رسوب طالب في مادة ، علماً بأن الطالب يُعد ناجحاً إذا كان مجموع درجات أعمال السنة والامتحان النهائي أكبر من 50 ؟ 
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : نتيجة الطالب ( نجاح أو رسوب )
2 ) المدخلات : درجة أعمال السنة ( س ) ، درجة الامتحان النهائي ( ن )
3 ) عمليات المعالجة : مجموع الدرجات ( م ) = س + ن
2
كتابة الخطوات الخوارزمية
1 ) أدخل س ، ن
2 ) اجعل م =  س + ن
3 ) إذا كان م< = 50 اطبع ناجح وإلا اطبع راسب
4) النهاية
3
رسم مخطط الانسياب
بداية
النهاية
م <= 50
نعم
لا
اطبع ناجح
أدخل س ، ن
م = س + ن
اطبع راسب
(5)
قم بصياغة حل لإيجاد العدد الأصغر من بين 10 أعداد يتم إدخالها. 
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : العدد الأصغر من 10 أعداد ( ص )
2 ) المدخلات : الأعداد التي يتم إدخالها ولنضعها في متغير ( د )
3 ) عمليات المعالجة : المقارنة بين كل عدد مدخل مع العدد الذي قبله.
                         عداد للتأكد من  عدد الأعداد هل  وصل إلى 10 أعداد. 
2
كتابة الخطوات الخوارزمية
3
رسم مخطط الانسياب
1 ) أدخل العدد الأول في د
2 ) اجعل ع = 1
3 ) اجعل ص = د
4 ) أدخل العدد التالي في د
5 ) اجعل ع = ع + 1
6 ) إذا كان د> ص اجعل ص = د
7 ) اذا كان ع > 10 اذهب إلى الخطوة رقم 4
8 ) اطبع ص
9 ) النهاية.
بداية
النهاية
د > ص
نعم
لا
أدخل د 
اجعل ع = 1
اطبع  ص
اجعل ص = د
أدخل د 
اجعل ع = ع + 1
اجعل ص = د
ع> 10
لا
نعم
(6)
قم بصياغة حل لطباعة الأعداد الفردية من 1 - 50
1
فهم المسألة وتحليل عناصرها 
1 ) المخرجات : طباعة الأعداد الفردية من 1 - 50
2 ) المدخلات : بدون
3 ) عمليات المعالجة : الانتقال من عدد فردي إلى عدد فردي آخر.
2
كتابة الخطوات الخوارزمية
1 ) اجعل ع = 1
2 ) اطبع ع
3 ) اجعل ع = ع + 2
4 ) اذا كان ع < 50 استمر وإلا اذهب إلى الخطوة 2
5 ) النهاية.
3
رسم مخطط الانسياب
بداية
النهاية
ع  < 50
نعم
لا
اطبع ع
اجعل ع = 1
اجعل ع = ع + 2
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
2
ضبط خصائص الأدوات
3
كتابة أوامر البرمجة
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثلاث خطوات ، هي :
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ التي يحتاجها البرنامج والأدوات التي نحتاجها على كل نافذة كالأزرار ومربعات النصوص والقوائم .
2
ضبط خصائص الأدوات
بعد أن نضع الأدوات على النافذة تأتي مرحلة تحديد خصائص هذه الأدوات Properties كشكل الأداة ، ولونها ، والخط المستخدم ، وعنوانها وغير ذلك. 
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
كتابة أوامر البرمجة
بعد أن ننتهي من المرحلتين السابقتين ، تأتي مرحلة كتابة الأوامر التي نريد أن تنفذ عند وقوع حدث معين.
فمثلاً عندما يضغط المستخدم على زر الأمر فيكون الحدث.
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ، وتختلف أنواع البيانات فقد تكون حروفاً أو أرقاماً أو تواريخ أو غيرها ، وتأتي البيانات غالباً من مستخدم البرنامج عن طريق أجهزة الإدخال المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ، لذلك لابد من إعطاء هذه البيانات أسماء معينة ليتمكن من الرجوع إليها .
  تصنف البيانات  إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
الثابت : هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج ولا يمكن تغيير هذه القيمة عند تنفيذ البرنامج.
1
الثوابت
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1  = Value
1 ) Const الأمر الذي نستخدمه لتعريف الثابت.
2 ) Const1 اسم الثابت ، ويتم اختياره من قبل المبرمج.
3 ) Value  القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون الأمر كالتالي :
Const  Pi = 3.14
المتغيرات وأنواعها
المتغير : هو مكان في الذاكرة الرئيسة تخزن فيه بيانات وتُعطى اسماً معيناً حتى يتم استرجاعها والتعامل معها داخل البرنامج ، ويمكن تغيير ما يتم تخزينه به ، لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختلاف البيانات التي تخزن بها ، وكل متغير له  اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ، فمثلاً قد تكون رقماً صحيحاً أو رقماً عشرياً أو حرفاً أو مجموعة حروف ، ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
1 ) أن يتكون من  حروف انجليزية ( A .. Z ) وأرقام والرمز ( _ ) ولا يحتوي على فراغ أو أي رمز آخر.
2 ) أن لا يبدأ برقم.
3 ) أن لا يتجاوز 255 حرف.
4 ) أن لا يكون كلمة  محجوزة للغة البرمجة. 
أمثلة
أمثلة صحيحة لأسماء المتغيرات :
X     Y     A23    C_D
أمثلة غير صحيحة لأسماء المتغيرات :
DIM     2DF     IF@
طريقة تعريف المتغيرات
تُعرف المتغيرات باستخدام الأمر DIM وصيغته كالتالي :
DIM  Var1  As  Type
حيث إن :
1 ) Var1 : اسم المتغير.
2 ) As  : رابط بين اسم المتغير ونوعه.
3 ) Type : نوع المتغير.
أمثلة
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن name من نوع حرفي يكون كالتالي :
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
أنواع البيانات
تصحيح :
لا يحتوي فيجول ستوديو على متغير من النوع Currency ولا النوع Variant حيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
1 ) العمليات التي داخل الأقواس.
2 ) عمليات الأس.
3 ) عمليات الضرب والقسمة ، وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
4 ) عمليات الجمع والطرح ، وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6  +  3^2
مثال1
الحل
حيث إن العمليات هنا هي الضرب والجمع والأس ، ولها أولويات مختلفة فسوف نبدأ التنفيذ بالترتيب
1 ) ننفذ عملية الأوس أولاً : 
M = 2 * 6 + 9
2 ) ثم عملية الضرب ثانياً :
M = 12 + 9
  أخيراً عملية الجمع :
  M = 21                                                                       
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * ( 6  +  3( ^2
مثال2
الحل
1 ) ننفذ عملية الجمع أولاً : 
M = 2 * 9^2
2 ) ثم عملية الأس ثانياً :
M = 2 *  81
  أخيراً عملية الضرب:
  M = 162                                                                   
ترتيب العمليات الحسابية
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين سواء أكانتا عدديتين أو حرفيتين ، متساويتين أو غير متساويتين ، ويكون الناتج في عمليات المقارنة إما القيمة True أي صحيح أو False أي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة فإن الأولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4 + 3 * 5 < 4 * 6
ننفذ العمليات الحسابية أولاً
4 + 15 < 24
19 < 24
True
تحويل المعادلات الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية الآتية إلى معادلة بصيغة برمجية
الحل
مثال2
حول المعادلة الجبرية الآتية إلى معادلة بصيغة برمجية
الحل
أدوات البرمجة بلغة فيجول بيسك ستوديو
الأدوات  :  هي أجزاء برامج جاهزة للاستخدام ، أي أنها أعدت مسبقاً لتوفير على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله لاستخدام الأدوات هو :
1 ) وضعها على النموذج  في المكان المناسب.
2 ) ضبط الخصائص الخاصة  بالأداة.
3 ) كتابة أوامر البرمجة  التي تتعامل مع  هذه الأداة.
خصائص الأدوات
تختلف خصائص الأدوات باختلاف الأدوات ، ولكن هناك خصائص مشتركة تشترك فيها كل الأدوات وهي التي سنتعرف عليها هنا.
ضبط خصائص الأدوات
هناك طريقتان للتحكم في خصائص الأدوات ، هما :
1
ضبط خصائص الأدوات أثناء تصميم البرنامج
2
ضبط خصائص الأدوات أثناء تشغيل البرنامج
1
ضبط خصائص الأدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة المخصصة داخل إطار الخصائص كما في خاصية Name
1
ضبط خصائص الأدوات أثناء تصميم البرنامج
2
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من الاختيارات ، نقوم باختيار إحداها ،كما في خاصية Visible
1
ضبط خصائص الأدوات أثناء تصميم البرنامج
3
ظهور نافذة خيارات
عند النقر على خاصية Font تظهر نافذة خصائص الخط
2
ضبط خصائص الأدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية لأداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة  =  الخاصية  .  اسم الأداة
مثلاً لتغيير خاصية Text في أداة مربع النص TextBox نكتب التالي :
Textbox1.Text  =  المدينة المنورة
أدوات إدخال البيانات
1 ) أداة مربع النص TextBox : تتيح للمستخدم كتابة نص وتخزين النص في الخاصية Text
2 ) أداة زر الخيار  RadioButton : تتيح للمستخدم إنتقاء خيار واحد فقط من عدة خيارات وتخزن في الخاصية Checked
3 ) أداة مربع الاختيار  CheckBox : تتيح للمستخدم انتقاء عدة خيارات وتخزين قيمها في الخاصية Checkstate والخاصية Checked
4 ) أداة مربع القائمة  ListBox : تعرض قائمة مكونة من عناصر يختار المستخدم أحدها وتخزن خيار المستخدم في الخاصية Text أو SelectedIndex
5 ) أداة الخانة المركبة  ComboBox : تعطي المستخدم حرية الاختيار من قائمة أو إدخال اختياره كتابة وتخزينها في الخاصية Text  
1
أداة مربع النص TextBox
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو حروفًا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
Var1 : متغير لتخزين البيانات فيه أياً كان نوعها عددية أم حرفية.
TextBox : اسم أداة مربع النص على النموذج.
Text : خاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم. 
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton 
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي إحدى قيمتين، True أو False
1 ) True : أن الزر قد تم اختياره
2 ) False : أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
Var1 : متغير لتخزين البيانات من نوع منطقي .
RadioButton : اسم أداة زر الخيار على النموذج.
Checked : خاصية تستقبل البيانات إما True أو False 
مثال
A = RadioButton1 . Checked
3
أداة مربع الاختيار CheckBox 
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstate وهي إحدى ثلاث قيم
1 ) إن المستخدم لم  يختر المربع فقيمته  عندئذ (0 (
2 ) إن المستخدم اختار المربع فقيمته عندئذ (1 (
3 ) أن المستخدم لا  يستطيع اختيار  المربع فقيمته  عندئذ (2)
Var1 = CheckBox . Checkstate
حيث أن :
Var1 : متغير لتخزين البيانات من نوع عددي .
CheckBox : اسم أداة مربع الاختيار على النموذج.
Checkstate : خاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة   ListBox 
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر، وللحصول على البيانات من القائمة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
1 ) رقم العنصر في  القائمة بواسطة  الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
2 ) قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
Var1 : متغير لتخزين البيانات من نوع عددي أو حرفي .
ListBox : اسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1  نستخدم هذا الأمر
A = ListBox1 . SelectedIndex
حيث A متغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من القائمة ListBox1  نستخدم هذا الأمر
B = ListBox1 . Text
حيث B متغير حرفي.

5
أداة الخانة المركبة ComboBox 
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ، حيث يستطيع المستخدم أن يختار من القائمة أو يكتب قيمة جديدة. والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر، وللحصول على البيانات من الأداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
1 ) رقم العنصر في  الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
2 ) قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
Var1 : متغير لتخزين البيانات من نوع عددي أو حرفي .
ComboBox : اسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1 نستخدم هذا الأمر
A = ComboBox1 . SelectedIndex
حيث A متغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من القائمة ComboBox1 نستخدم هذا الأمر
B = ComboBox1 . Text
حيث B متغير حرفي.

أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات لإظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج البيانات التي أدخلها المستخدم ، ومن هذه الأدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
1
طريقة إخراج المعلومات إلى مربع النص TextBox
لإخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
TextBox : اسم أداة مربع النص على النافذة.
Text : خاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
Var1 : اسم المتغير.
مثال
لإظهار حاصل جمع عددين X و Y في الأداة TextBox4   نكتب السطر التالي :
TextBox4.Text = X + Y
1
طريقة إخراج المعلومات إلى أداة التسمية Label 
لإخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
Label : اسم أداة مربع النص على النافذة.
Text : خاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
Var1 : اسم المتغير.
مثال
لإظهار حاصل جمع عددين X و Y في الأداة Label 1 نكتب السطر التالي :
Label1 . Text = X + Y
بعض الأوامر الأساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة الأمر InputBox 
يقوم هذا الأمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر الأمر. لإنشاء هذه النافذة يجب أن نكتب الأمر الخاص بها، وصيغته كالتالي:
Var1= InputBox (message)
Var1 : اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
InputBox : أمر إنشاء هذه النافذة.
Message : النص الثابت الذي يظهر في النافذة.
أ
إدخال البيانات بواسطة الأمر InputBox 
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
Username = InputBox (“أدخل اسم المستخدم)
مثال
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة الأمر MsgBox 
يقوم هذا الأمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد للمستخدم قراءتها ، وصيغته كالتالي:
MsgBox(message)
MsgBox : أمر إنشاء هذه النافذة.
message : اسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
بعض الأوامر الأساسية للغة فيجول بيسك ستوديو
ب
إخراج المعلومات بواسطة الأمر MsgBox 
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
MsgBox  (“كلمة السر التي أدخلتها خاطئة ، فضلاً أدخل كلمة السر مرة أخرى )
مثال
أمر الإسناد
يقصد به تخزين قيمة معينة داخل متغير. قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
Var1 : اسم المتغير.
Value : القيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN 
ب
صيغة  IF – THEN - ENDIF 
ج
صيغة  IF – THEN - ELSE
د
صيغة  IF – THEN - ELSEIF
أ
صيغة IF – THEN 
IF condition THEN statement
فإذا تحقق الشرط condition أي كان صحيحاً فسيتم تنفيذ الأمر statement وإذا لم يكن صحيحاً فلن يتم تنفيذ الأمر.
مثال
ب
صيغة IF – THEN - End If
IF condition THEN
Statements
...
End If
هذه الصيغة هي الصيغة الأولى نفسها ، إلا أنه سيتم تنفيذ أكثر من أمر إذا كان الشرط صحيحاً ، لذلك احتجنا إلى وضع كلمة End If لتوضيح نهاية مجموعة الأوامر التي سيتم تنفيذها.
مثال
ج
صيغة  IF – THEN - ELSE
IF condition THEN
statements1
ELSE
statements2
END IF
يتم تنفيذ مجموعة الأوامر statements1 في حالة كون الشرط صحيحاً  ويتم تنفيذ مجموعة الأوامر statements2 في حالة كون الشرط غير صحيح. 
مثال
د
صيغة  IF – THEN - ELSEIF
IF condition1 THEN
statements1
ELSEIF condition2 THEN
statements2
ELSE
Statements3
END IF
إذا كان الشرط الأول condition1 صحيحاً فإنه ينفذ الأوامر statements1 فقط
أما إذا كان الشرط الأول غير صحيح فإنه يختبر شرطاً جديداً وهو condition2 وإذا كان صحيح فإنه ينفذ مجموعة الأوامر statements2 فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ مجموعة الأوامر Statements3 وقد يكون لدينا شرط ثالث ورابع وهكذا
مثال
2
الجملة الشرطية  Select Case
تستخدم هذه الجملة إذا كان هناك عدة احتمالات للشرط فبدلاً من استخدام جملة IF طويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ، حيث تختبر هذه الجملة تعبيراً أو شرطاً معيناً قد يكون لقيمته أكثر من احتمال.
SELECT CASE expression
CASE prob1
statements1
CASE prob2
statements2
[ CASE ELSE
statements3
]
END SELECT
SELECT CASE : بداية الجملة
Expression : الشرط أو التعبير المراد اختبار قيمته ، وقد يكون متغيراً أو عملية حسابية أو منطقية.
CASE : توضع قبل كل احتمال.
Prob1 , prob2 …. القيم المحتملة للتعبير.
Statements1 : الأوامر التي تنفذ في حالة تحقق القيمة.
CASE ELSE : إذا لم يتحقق أي احتمال من الاحتمالات السابقة، وهي اختيارية.
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من الأوامر الأخرى عدة مرات ، ويوجد في لغة فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
الأمر  For .. Next
2
الأمر  DO WHILE
1
الأمر  For .. Next
يكرر هذا الأمر مجموعة من الأوامر بعدد من المرات محدد ومعروف مسبقاً. وصيغته هي  :
FOR counter = start  TO end [STEP step]
……..
statements
…….
NEXT
Counter : متغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة النهائية المحددة له ، ويسمى بالعداد .
Start : القيمة الأولية للعداد.
End : القيمة النهائية للعداد.
Step : القيمة التي يتم بها زيادة العداد وهي اختيارية ، فإن لم نذكرها فإن الزيادة تكون بـ 1
Statements : مجموعة الأوامر التي سيتم تكرراها.
Next : نهاية جملة التكرار.
مثال
أكتب برنامج لجمع الأعداد من 1 - 10
مثال
أكتب برنامج لجمع الأعداد  الفردية من 1 - 11
2
الأمر  DO WHILE 
نستخدم هذا الأمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي التكرار أي أنه متى ما كان الشرط صحيحاً نفذنا الأوامر واستمر التكرار ومتى ما صار الشرط غير صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
Condition : الشرط الذي يتم التحقق منه ، ثم تنفيذ التكرار إذا كان صحيحاً والتوقف إذا كان خاطئاً.
Statements : مجموعة الأوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع الأعداد  من 1 - 10
مثال
أكتب برنامج لجمع الأعداد  الزوجية من 0 - 10
المصفوفات
لو كان لديك درجات 100 طالب تريد عمل بعض الاحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل درجة. فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100 متغير لتخزينها؟ يبدو هذا غير منطقي أليس كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل نفس نوع البيانات وهي المصفوفات.
المصفوفة Array : هي مجموعة من المتغيرات لها نفس الاسم ونفس نوع البيانات ويتم تعريفها في جملة واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
Var1 : اسم المصفوفة.
N : عدد عناصر المصفوفة – 1
Type : نوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100 طالب.
DIM Grades(99) as single

فوائد المصفوفات
1 ) توفير الوقت والجهد.
2 ) تؤدي إلى صغر  حجم البرنامج.
أليس هذا أفضل من تعريف 100 متغير ؟
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10 أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من الأرقام ، سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100 طالب في مصفوفة ، ثم يقوم بحساب متوسط درجات الطلاب ، ثم يقوم بإيجاد أعلى درجة من درجات الطلاب.
javascript:;
sfs