السبت، 7 مايو 2016


البرمجة 

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

لغات البرمجة

تجدر الإشارة هنا إلى التذكير بمعنى كلمة لغة وهي طريقة الاتصال والتفاهم بين الأشخاص أو لنقل في حالة الحاسوب الطريقة التي يفهم بها الحاسوب طلب الإنسان. لذلك نجد في حياتنا مجموعة مصطلحات وكلمات يختلف استخدامها حسب الحاجة. لغات البرمجة المختلفة تتمتع بهذه الخاصية أيضا. فهناك الكثير من اللغات البرمجية الموجودة وهذه اللغات تختلف من ناحية عملها وهدفها ولكن في النهاية كل هذه اللغات تترجم إلى لغة الآلة 0 و1.
لذلك يجب على المبرمج أن يكون ملما ببعض لغات البرمجة وأن يعرف ما هي اللغة المناسبة لتطبيق هذا البرنامج. لغة البرمجة الوحيدة التي يفهمها الحاسوب ويستطيع أن يتعامل معها هي لغة الآلة -machine language-. في البداية عمل المبرمجون على تحليل شيفرة الحاسوب –machine code- والتعامل معها بشكلها الجامد وغير المفهوم وهو (0،1). ولكن هذه العملية معقدة جدا ويصعب التعامل معها لعدم فهمها الواضح للبشر ولغموضها لذلك تم ابتكار لغات راقية تعمل كوسيط بين لغة الإنسان ولغة الآلة وهي لغة التجميع اسمبلي Assembly ثم تطورت للغات عالية المستوى مثل لغة السي ولغة البيسيك. ثم يتم تشغيل البرامج المكتوبة بهذه اللغات عن طريق أحد البرامج المتخصصة مثلالمترجم والمصرف. هذه البرامج تعمل على ترجمة أسطر لغة البرمجة إلى لغة الحاسوب مما يسهل على الحاسوب تنفيذ هذه الأوامر وإخراج نتائج التنفيذ.

الأحد، 1 مايو 2016

الخوارزميات والمخططات الانسيابية



الخوارزميات والمخططات الانسيابية 
Algorithms and Flow charts



لحل أي مسالة حسابية او منطقية عبر استخدام الحاسبة لابد ان يتم تعريف المسالة ثم تحديد معالمها وتحليل عناصرها ، بالتالي يجب مراعاة ما يلي:
1- تحديد البيانات المعطاة.
2- توضيح الهدف او الغاية من حل المسالة.
3- تحديد النتائج المطلوبة.
4- وضع طريقة للحل على شكل مجموعة من الخطوات المتسلسلة والمتعاقبة.
ان مجموعة الخطوات المتسلسلة التي يتم وضعها لحل المسالة تدعى الخوارزمية Algorithm ويمكن تمثيل هذه الخطوات باستخدام اشكال رمزية لها معاني محددة ومترابطة فيما بينها بشكل مخطط وصفي تسلسلي يدعى المخطط الانسيابي (Flow Chart).






الخوارزميات (Algorithms)



ما هي الخوارزمية :
هي عبارة عن مجموعة من الخطوات التي تؤدي عند تنفيذها الى الحل المطلوب.
لماذا سميت الخوارزمية بهذا الاسم؟
سميت بهذا الاسم نسبة للعالم محمد بن موسى الخوارزمي الذي عاش في القرن التاسع ونبغ في علم الجبر.



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



8- قد نستخدم في الخوارزمية الرمز(*) كعلامة للضرب، والرمز (/) كعلامة للقسمة ، والرمز (+) للجمع ، والرمز(-) للطرح.
9- غالبا نستخدم في الخوارزمية الأمر (اطبع) لإخراج المطلوب حسابه.
10- تؤدي العمليات بمجملها إلى حل المسالة الحل الصحيح.
11- ليس من الضروري أن نستخدم كل الأوامر الموجودة في أعلاه لحل خوارزمية معينة (حيث أن الاستخدام يتحدد حسب طبيعة المسالة).