المقدمة
قبل التحدث عن مبادئ البرمجة بلغة بيسك أود أن أُشير إلى أن منهج وزارة المعارف يحتوي على مقدمة عن أنواع البرامج و البرمجيات و لغات البرمجة، لن تجدها مذكورة هنا في صفحات هذا الموقع. و يمكنك الرجوع لكتاب المقرر.
إن جميع البرامج تقوم بعمليات أساسية هي:
1. الحصول على البيانات المدخلات و ذلك بقرأتها من لوحة المفاتيح مثلاً أو تضمين البيانات داخل البرنامج، كما ستتعلم ذلك لاحقاً.
2. المعالجة و هي التعامل مع البيانات التي تم الحصول عليها في مرحلة المدخلات و ذلك بتنفيذ العلميات الحسابية مثلاً على هذه البيانات.
3. المخرجات و هي إخراج المعلومات أو النتائج مطبوعة على الطابعة أو على شاشة الحاسب و هذه المرحلة الأخيرة هي الهدف من كتابة البرنامج.
و قبل البدء بكتابة البرنامج لابد من النظر على أنه مسألة يجب تحليلها و التفكير فيها لمعرفة طريقة حلها، ثم ترجمة فكرة الحل إلى برنامج بلغة بيسك. و يمكن القول بأن هناك خطوات لحل البرنامج هي:
• تعريف المسألة.
• تحديد خطوات الحل (الخوارزمية).
• ترجمة الخوارزمية إلى برنامج بلغة بيسك.
• تنفيذ البرنامج و تصحيح الأخطاء إن وجدت.
و سيأتي شرح هذه الخطوات بالتفصيل في الدروس القادمة.
الخوارزميات
هي وسيلة لحل المسائل الحسابية ابتكرت من قبل العالم المسلم الخوارزمي. و تقوم فكرة الخوارزمية على تحليل المسألة التي بين يديك لتصل إلى حلها، و من ثم كتابة و حصر هذه الأفكار حتى يتسنى لأي شخص يقرأ هذه الخوارزمية بفهم الحل مباشرة. و الخوارزمية تكتب باللغة العربية البسيطة بغرض أن تشرح فيها حل المسالة و لكن باختصار.
إن مايجب أن تذكره في الخوارزمية هي المدخلات التي سيقرأها البرنامج و كذلك العمليات التي سيقوم بها البرنامج سواء كانت عمليات حسابية أو غيرها. ثم تحدد المخرجات التي سيخرجها برنامجك. إذا ماحددت هذه الأساسيات سيتمكن أي مبرمج من كتابة البرنامج اعتماداً على الخوازمية التي كتبتها و بأي لغة يريدها.
مثال: أكتب خوارزمية برنامج يقوم بطباعة مجموع طالب في مادة الحاسب. فما هي الخوارزمية اللازمة لحل هذا البرنامج.
الحل:
• قراءة درجة أعمال السنة (س).
• قراءة درجة الاختبار الفصلي (ص).
• احسب مجموع درجات الطالب م = س + ص.
• اطبع الدرجة النهائية (م).
المخطط الانسيابي
هي وسيلة مفيدة للتعبير عن فكرة حل المسألة برسم مخطط انسيابي لطريقة الحل. و تُستخدم أشكال خاصة في الرسم للتعبير عن عملية معينة من عمليات البرمجة. و المخطط يبدأ من أعلى الصفحة ثم ينساب و ينزل للأسفل، و الجدول التالي يبين هذه الأشكال المستخدمة للتعبير عن عمليات البرمجة:
و للرسوم الانسيابية أنواع هي:
1. المخطط الانسيابي تتابعي.
2. المخطط الانسيابي المتفرع.
3. المخطط الانسيابي ذو الدورانات المتكررة.
إن اختيار أي نوع يعتمد على نوع المسألة التي تقوم بحلها. و لن تتضح طريقة استخدام هذه الأشكال في بناء المخطط الانسيابي إلا بعد عرض عدد من الأمثلة.
المخطط الانسيابي تتابعي
إن أبسط أنواع البرامج هو البرنامج التي تأتي أفكارة و خطوات حله متسلسلة وراء بعضها البعض، خطوة بعد خطوة حيث انك عندمت تقرأها تُحس أنها فطرة واحدة متصلة. و لتمثيل هذا النوع من البرامج فإننا نرسم مخطط انسيابي متتالي لا يوجد به أي تفرعات. و لكي تتضح الفكرة أكثر و أكثر فسوف نقوم برسم المخطط الانسيابي لبرنامج يقرا عدد ين ثم يقوم بطباعة ناتج الجمع، قبل رسم المخطط الانسيابي أقترح أن نقوم بكتابة الخوارزمية كنوع من التمرين.
الخوارزمية:
• إبداء.
• اقرأ العدد الأول (س).
• اقرأ العدد الثاني (ص).
• اجمع العدد (س) و (ص).
• اطبع المجموع.
المخطط الانسيابي:
الشرح: كما تلاحظ في الرسم السابق أن المخطط بدأ برمز البداية ثم بعد ذلك وضح المخطط أن هناك بعد البداية عملية قراءة للرقم (س) و هو الرقم الأول ثم تلاها قراءة للرقم الثاني (ص) ثم قام المخطط بتنفيذ عملية حسابية و هذا ما يدل علية رمز المستطيل الذي يعني عملية حسابية. و في النهاية بعد ذلك سيتوقف تنفيذ البرنامج كما دلت علامة "توقف".
و حتى تتضح الفكرة أكثر إليك مزيد من الأمثلة.
مثال: اكتب خوارزمية برنامج يقوم بقراءة مجموع درجات الطالب ثم يوجد نسبته المئوية إذا علمت أن الدرجة النهائية هي 1300درجة، و ارسم المخطط الانسيابي لهذا البرنامج.
الخوارزمية
• ابدأ.
• إقراء مجموع درجات الطالب (ج).
• احسب النسبة المئوية (م) حيث م= (ج / 1300) * 100
• اطبع (م)
• توقف.
المخطط الانسيابي (تتابعي):
المخطط الانسيابي المتفرع
هناك عدد من البرامج فيها درجة بسيطة من التعقيد، و ذلك لاحتواء البرنامج على عدد من الشروط التي تستوجب عليك تنفيذ أمر معين إذا كان الشرط صحيحاً. أما إذا كان الشرط خاطئاً فإن البرنامج سيتفرع لينفذ أمر آخر. و من هذه البرامج ما تقوم بتحدد إذا كان الطالب ناجح أم لا، أو بتحديد إذا كان الرقم سالب أم موجب. و سيتضح كيفية المخطط الانسيابي المتفرع من المثال التالي حيث يقوم البرنامج بقراءة عدد ثم يطبع رسالة تُبين هل العدد أكبر من خمسة أم أصغر من خمسة.
الخوارزمية:
• إبداء
• إقراء العدد (س).
• هل العدد (س) أكبر من خمسة.
• إذا كان العدد أكبر من خمسة اطبع "العدد أكبر من خمسة".
• إذا كان العدد أصغر من خمسة اطبع "العدد أصغر من خمسة".
• توقف.
المخطط الانسيابي
فيتم طباعة جملة "اطبع العدد أصغر من خمسة".
شرح المخطط:
لا حظ من المخطط الانسيابي السابق أن المخطط بداء بقراءة العدد (س) ثم بعد ذلك قام بمقارنة العدد المقروء بالعدد خمسة لنرى إذا ما كان العدد المقروء أكبر من العدد خمسة أو أصغر من العدد خمسة. و بناءً على نتيجة هذه المقارنة سيتفرع المخطط الانسيابي إلى اليمين إذا كان الشرط صحيح (نعم) أو إلى اليسار إذا كان الشرط خاطئ (لا). فلو كان العدد المقروء مثلاً هو 25 فإن البرنامج سيطبع جملة "العدد أكبر من خمسة" أما إذا كان العدد 3 أي أصغر من خمسة
المخطط الانسيابي ذو الدورانات المتكررة.
قد تخيفك هذه التسمية في البداية و لكنها تدل على شئ بسيط و واضح. حيث أن هناك عدد من البرامج التي تكون في أحد مراحل تنفيذ تستلزم أن يقوم البرنامج بتكرار جزء معين من عمليات البرنامج أكثر من مرة. و بالطبع سيتضح المغزى من هذا النوع من المخططات مع المثال التالي الذي يقوم بطباعة عبارة "أحسنت" عشر مرات.