بحث في البرمجـة

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

صياغة حل المسائل

مقدمة في البرمجـة

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

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

مفهوم البرمجة

البرنامج : هو سلسلة من الأوامر مكتوبة بلغة برمجة معينة ، تكتب لتنفيذ مهمة محددة في جهاز الحاسب.

تذكر

أنواع البرمجيات :

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 ) النهاية

الحل