مفهوم البرمجة (عبدالله سيد محمد 1/1)

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

مفهوم البرمجة (عبدالله سيد محمد 1/1)

مُساهمة من طرف عبدالله سيد محمد في الأربعاء مارس 11, 2015 12:01 am

تستخدم كلمة برمجة في كثير من الأحيان مرادفة لكلمة ترميز coding  إي كتابة التعبير بلغة حاسوبية معروفة , و لكن في كثير من الأوساط التعليمية تفهم برمجة الحاسوب بأنها سلسلة من التعليمات و التركيبات للغة محددة ... و في الحقيقية أن هذا المفهم خاطئ حيث أنه يوجد الكثير من الأعمال التمهيدية و التحضيرات التي يجب أن تسبق الترميز لإيجاد حل ممكن لمسألة ما و التي تضمن خطوات حل المسألة و الطريقة الصحيحة .

         مما تقدم فأن برمجة الحاسوب هي عملية صعبة جدا بمعظم مراحلها و التي تكون جميعها مهمة و تؤدي إلي حل المسألة , كما أنه يجب عدم الخلط بين مفهوم البرمجة و أي مرحلة منفردة من مراحلها , لأن ذلك يؤدي إلي استبعاد المراحل الأخرى , و أن البرمجة بتعريفها الشامل .... هي أن يقوم شخص ما (مبرمج) بتوصيف مهمة معينة للآلة (الحاسوب) لتقوم بها آليا و الحصول على النتيجة بتغذية الآلة إي الحاسوب بقيم خاصة تسمى المعطيات أو المدخلات و يوضح المخطط التالي مفهوم برمجة الحاسوب .

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

البرمجيات :-

تعرف البرمجيات بأنها الكيان المعنوي للحاسوب و تطلق علي مجموعة البرامج اللازمة للتخاطب و التفاهم و الاتصال بين الجهاز و الشخصالمشغل له و هذه البرامج تقوم بدور كبير في تسهيل التعامل مع هذه الأجهزةحيث يقوم الإنسان بكتابتها و تأخذ حيزا في ذاكرة الحاسوب  لا يستطيع العمل بدونها .
أنواع البرمجيات :-
تنقسم البرمجيات إلي عدد من البرامج و منها ....
البرنامج المصدري Source Program
و يعرف بأنه عبارة عن مجموعة من الأوامر و التعليمات المكتوبة بشكل منطقي و متسلسل بإحدى لغات البرمجة الحاسوب و هي تقوم بتوجيه الحاسوب لأداء عملية معينة من المسألة المعطاة .
البرنامج الهدفي  Object Program
هذا النوع من البرامج خالي من الأخطاء و مكتوب بلغة الآلة قابل للتنفيذ على الحاسوب و قابل لاستقبال البيانات للقيام بالعملية المطلوبة أو طباعة المعلومات و هذا النوع من البرامج لا يمكن التعديل بسهولة فيه لأنه مكتوب بشفرات معقدة.
برنامج المترجم Compiler Program
مهمته القيام بقراءة البرنامج المصدري المكتوب بإحدى لغات البرمجة الراقية و راجعته و اكتشاف الأخطاء فيه  حسب قواعد لغة البرمجة و تصحيحها تم يقوم بترجمة هذا البرنامج إلي لغة الآلة التي يفهمها الحاسوب .
برامج النظام System Programs
هي عبارة عن مجموعة من البرامج يقوم بكتابتها شخص أو مجموعة من الأشخاص بقصد مساعدة مستخدم جهاز الحاسب الآلي مثل أنظمة التشغيل OS  و التي مهمتها التنظيم و التحكم في تشغيل و إدارة جهاز الحاسب الآلي و تكون مخزنة داخل الحاسوب .
برامج تطبيقية  Application Programs
مثل هذه البرامج تعتبر أكثر انتشارا و مهمتها حل بعض المسائل التي تتعلق بمؤسسة ما مثل المستشفيات و الشركات و غيرها من القطاعات و النشاطات .  
مميزات البرنامج الناجح :-
بما أن العديد من البرامج معقدة نوعا ما فأن عملية تطوير البرامج تخضع لقواعد ضبط و تنظيم حتى تكون النتائج صحيحة و مفيدة و من خنا فأن مميزات البرنامج الناجح هو ذلك البرنامج الذي تتحقق فيه الشروط التالية :
الصحة Validity  إي يجب أن يقوم البرنامج بما يفترض أن يقوم به . الاستخدام Usability   و هي أن يكون البرنامج سهل الاستخدام  . الموثوقية Reliabilityهي جعل البرنامج يعمل بكفاءة و لا يسبب ضياع بعض أو كل الحقوق إي يجب أن يعمل دون فشل . الوضوح Understandabilityيجب أن يقرأ البرنامج بسهولة . قابلية التعديل Updatabilityسهولة تطوير و توسيع مهام البرنامج . سهولة الصيانة Maintainabilityكلما كانت شفرة البرنامج سهلة كلما كانت عملية الصيانة و التطوير ممكنة . الكفاءة Efficiency  يجب أن يتصف البرنامج بالكفاءة العالية . أخفاء البيانات Information Hidingالتصميم الجيد للبرنامج هو ذلك التصميم الذي تقلل من ارتباط المستخدم بالتفاصيل الدقيقة للبرنامج .

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

فهم و تعريف المسألة أو المشكلة  : -
        في هذه المرحلة يجب علينا أن نعرف بالضبط ما نريد أن نعمل حيث يتم تعريف المشكلة و توضيح مواصفات المسألة بكل دقة , و لا يجب على المبرمج إهمال هذه المرحلة و الانتقال إلي مراحل أخرى دون مراعاته لهذه المرحلة لأن ذلك يمكن أن يؤدي إلي عدم الثقة و التي بدورها تؤدي إي حل خاطئ في أغلب الأحيان .           من هنا فأن فهم المسألة و التعرف على المشكلة يؤدي بالمبرمج إلي تحديد معطيات الحل , و كذلك التعرف على القوانين و الشروط اللازم استخدامها لحل المسألة بالإضافة إلي المعرفة المسبقة بشكل المخرجات و التي في مجملها تمثل مستلزمات حل إي مسألة .  
مخطط الحل : -
أن إي برنامج لن يكون مكونا من عمل واحد و لكن من مجموعة من الأعمال مرتبطة ببعضها فمثلا نظام محاسبة الرواتب الذي يحتوي على عدة مقاطع برمجية تعطي بيانات الدخل و الخرج و برامج حساب و طباعة التقارير و سجلات الأخطاء و حفظ المعلومات في المشاريع الكبيرة تتطلب        عددا من البرامج و عددا من المبرمجين و أنه من المهم جدا تحديد كل برنامج و كيفية ترابطه مع البرامج الأخرى و يكون ذلك برسم مخطط واضح للحل و تحديد كل هذه المتطلبات .  
اختبار و عرض الخوارزميات :-
تعرف الخوارزمية بأنها مجموعة من الخطوات و التعليمات اللازم تنفيذها بشكل متسلسل للوصول إلي الحل المطلوب و منها فأن الخوارزميات الجيدة يجب أن تكون ذات قدرة و مهارة خاصة خصوصا إذا كان هنالك أكثر من خوارزمية لتنفيذ المهمة المطلوبة .
مرحلة الترميز Coding
بعد التعريف الواضح للمسألة و تنظيم الحل و أعطاء تفاصيل الخوارزمية خطوة بخطوة تأتي مرحلة كتابة البرنامج و هي عبارة عن عملية التعبير عن الخوارزمية كاملة بإحدى لغات البرمجة المعروفة . و بما أن هنالك العديد من لغات البرمجة فأن أول مهمة في كتابة البرنامج هي أخيار أحدى هذه اللغات فهنالك كثير من اللغات التي طورت لتلبية الاحتياجات المختلة في التطبيقات المتعددة و أن اختيار لغة البرمجة ممكنو يخضع للاعتبارات التالية :
طبيعة المسألة . لغة البرمجة المتوفرة لديك . الحدود و الإمكانيات التي يوفرها الحاسوب إليك .
حيث أن بعض لغات البرمجة تكون لأغراض عامة و الأخرى تخصصية تهتم بحل مسألة معينة .
اكتشاف الأخطاء و تصحيحها :-
يقصد بذلك عملية اكتشاف الخطأ المنطقي و تحديد موقعه و من ثم تصحيحه و ذلك بتنفيذ البرنامج المترجم لفحص نتائج البرنامج المكتوب بلغة برمجة عالية المستوى و ذلك من خلال تتبع مراحل هذا البرنامج بشكل كامل , حيث يجب على المبرمج أن يخضع البرنامج إلي اختبار يشابه الحقيقة من خلال ما يدخله من معطيات و مراجعة النتائج بعد المعالجة باستخدام الحاسوب .  
الاختبار و الصلاحية :-
لا يكفي أن يحصل المبرمج من برنامجه علة نتائج بل يجب أن نضمن أنه يعطي البرنامج نتائج صحيحة .
التوثيق : -
أن عملية التوثيق هي عملية مهمة و استمرارية و هي عبارة عن وصف تفصيلي لخوارزمية البرنامج و تصحيحه و طريقة كتابه و فحصه و كيفية استخدامه بالشكل الصحيح .
صيانة البرنامج :-
تأتي ضرورة صيانة البرنامج من حقيقة أن البرنامج ليس كمية  ثابتة بل قابل  للتحديث و التعديل كلما اكتشف أخطاء أو جدت مسائل جديدة تتطلب حلا أو حصلت على تجهيزات جديدة .  
أسس لغة البرمجة : -
كما هو الحال في إي لغة مثل اللغة العربية أو الانجليزية هنالك مجموعة من العناصر الأساسية نحتاجها وقت التعامل مع هذه اللغة ... و من هنا فأن لغة البرمجة أيضا تحتاج لمثل هذه العناصر و التي تتمثل في الأرقام و الحروف و الرموز و غيرها من الأمور    أنواع لغات البرمجة
صمم العلماء لغات تسمى لغات البرمجة :يمكن استخدامها لإيصال الأوامر للحاسوب وتقسم هذه اللغات إلى قسمين رئيسين:
1.لغات دنيا (Low Level Languages)
2.لغات عليا (High Level Languages)
اللغات الدنيا (المستوى المنخفض )
1.لغة الآلة(machine languages)
في هذه اللغة تكون الأوامر على شكل مجموعة من الأرقام الثنائية (الصفر والواحد )التي يمكن للحاسوب تنفيذها مباشرة ويصعب على الإنسان فهمها وتذكرها مما يجعل البرمجة بها عملية صعبه
2. لغة التجميع(Assembly Language)
نظرا لصعوبة لغة الآلة بدا العلماء باستخدام مقاطع من الأحرف الأبجدية ذات دلالة بدلا من الأرقام في البرمجة.
اللغات العليا(المستوى العالي)
لغات يسهل التعامل معها لقربها من لغة الإنسان تختصر خطوات البرمجة فتسهل مهمة المبرمج فيما يلي بعض لغات البرمجة ضمن الفئة العليا:
1.لغة الفورتران(FORTRAN)
2.لغة باسكال(PASCAL)
3.لغة جافا(JAVA)
4.لغة فيجول بيسك(Visual Basic)
5.لغة كوبول(COBOL)
6.لغة سي(C/c++)
7.لغة بيسك(BASIC)

عبدالله سيد محمد

عدد المساهمات : 1
تاريخ التسجيل : 10/03/2015

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: مفهوم البرمجة (عبدالله سيد محمد 1/1)

مُساهمة من طرف سعيد الزهراني في الأربعاء مارس 11, 2015 12:22 pm

شكرا يا عبدالله

و جميل جدا كلامك عن التوثيق و أهميته
تقبل تحياتي

سعيد الزهراني
معلم الحاسب

عدد المساهمات : 42
تاريخ التسجيل : 21/02/2015
الموقع : http://ts3edz.alafdal.net/

http://ts3edz.alafdal.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى