شبكة

الخوارزمي

مقدمة

بداية:

قد يتساءل البعض عن سبب استخدام لغة باسكال و ربما تمنّوا استخدام لغة أخرى أكثر شهرة مثل لغة الـC و لهؤلاء نقول أن السبب الرئيسي لإستخدامنا لغة باسكال أن مصمم هذه اللغة "نيكولاس ويرث" Niklaus Wirth كان قد وضع نصب عينيه استخدامها في تعليم برمجة الحاسوب فأضاف لها الكثير من القواعد و القيود التي تساعد المبرمجين المبتدئين على تعلم العادات البرمجية الصحيّة و التي سنحاول التطرق لها هنا. و هذا لا يعني أن ما سيذكر هنا لا يمكن تطبيقه إلا بلغة باسكال بل على العكس، سنحاول قدر الإمكان أن نهتم بكيفية تصميم البرامج بغض النظر عن اللغة البرمجية المستخدمة.


 مقدمة:

على الرغم من أن إختراع الحواسب الألكترونية جاء بهدف إجراء الحسابات المعقدة و الطويلة بسرعة، إلاّ إنه تحول مع الزمن إلى أداة لمعالجة المعلومات. و أصبحت قدرة الحاسب على الوصول إلى و حفظ كمية كبيرة من المعلومات عامل مهم بالنسبة للحاسب و أصبحت قدرة الحاسب على الحساب من أحد تطبيقات هذا الجهاز و ليس التطبيق الوحيد.

اذاً الحاسب الآلي هو بكل بساطة جهاز لمعالجة المعلومات، و لكن ما هي هذه المعلومات؟

باعتقادي لا توجد إجابة محددة على هذا السؤال فمعنى كلمة المعلومات تختلف من شخص لآخر و ما يُشكّل معلومة مفيدة لشخص قد لا يعني اي شئ لآخر. فالخطوط التي يرسمها جهاز تخطيط القلب مثلاً لا تعني لي أكثر مما تعنيه خطوط طفل صغير وقع القلم في يده في غفلة من أهله، أما لطبيب القلب فهي تحوي من المعلومات ما قد ينقذ حياة مريض. إذاً فالمعلومات المطلوب معالجتها من قِبل الحاسب تختلف في شكلها و معناها و أهميتها من شخص لآخر. و لكنها تشترك في كونها مأخوذة من عالمنا المادي و يمكن وصفها بأنها مجموعة مختارة من المعطيات و البيانات DATA و التي تُعتبر ضرورية لحل مشكلة المطروحة بين أيدينا
لهذا السبب فإن دراسة المعطيات و أنواعها من المواضيع الهامة في علم الحاسبات الآلية

و لكن هذا ليس كل شئ فلا يكفي أن نعرف معنى المعلومات و ماهيتها فطبيب القلب السابق قد يُخبرني بأن هذه الخطوط هي المعلومات التي من الممكن أن تنقذ حياة المريض و هنا يكون السؤال كيف؟
حتى يمكن حل المشكلة المطروحة (و هي إنقاذ مريض القلب في هذه الحالة) لابد لنا إضافة إلى فهم معنى المعطيات المقدمة ( و القدرة على التمييز بينها و بين خط الطفل ) أن نعرف كيف تستخدم هذه المعلومات و هذا ما يُطلق عليه بالخوارزميات نسبة إلى العالم الكبير أبو عبد الله محمد بن موسى الخوارزمي [1]
إذاُ هناك موضوعان أساسيان يجب أن يتم التطرق لهما عندما نتحدث على البرمجة:
1- بنى المعطيات
2- طرق معالجة المعلومات و الخوارزميات


[1] The Art Of Computer Programming Donald E. Knuth; v.1; p.1

شبكة الخوارزمي
الصفحة الأساسية
بحث مخصص