* حاسوبيات *
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

* حاسوبيات *

موقع مختص لجميع مستلزمات الحاسوب
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 ماهي الخوارزميات

اذهب الى الأسفل 
كاتب الموضوعرسالة
مصعب الخليفة




المساهمات : 14
تاريخ التسجيل : 27/04/2014

ماهي الخوارزميات Empty
مُساهمةموضوع: ماهي الخوارزميات   ماهي الخوارزميات Emptyالأحد مايو 04, 2014 1:02 pm

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

بعدما عرفنا ماهي الخوارزمية أحب أن اقول ان هذا المقال موجه للجميع سواءً من تعلم لغات البرمجة أو من لم يتعلم ويرغب في ذلك لأنها تُتيح لك امكانية تحليل الأخطاء بشكل منطقي ! وانا استخدم كلمة خطأ أو مشكلة ولكن لا أعني بها مشكلة أو خطأ بحد ذاته بل أقصد به القضية المطروحة أمامنا.
خصائص الخوارزمية
1- تحديد النهاية

ويعني أن الخوارزمية يجب ان تكون منتهية بعد عدد مُعين من الخطوات لا أن تمتد إلا اللانهاية ! بالعربي الفصيح ان يعرف المبرمج إلى أين يُريد الذهاب.
2- عدم الغموض

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

وبكل بساطة يُقصد التالي : “أيها المُبرمج حاول ان تصل لمُبتغاك بأقصر الطُرق “، يعني السطر أو الكود الذي لا عمل لها احذفه فوراً لكي يتم تنفيذ برنامجك بسرعة و مرونة وهما من شروط البرنامج الناجح . خواص سهلة ومفهومة أعتقد ذلك والآن سنبدأ بإذن الله بتحليل أول قضية أمامنا.
القضية الأولى

نُريد أن نكتب خوارزمية تُعطينا المتوسط الحسابي لمجموعة من الأرقام:

set total to zero.
set count to zero.
Get num.
while num not equal zerozero do
{
add num to total.
increment count.
}
if num is zerozero {
set average to total divided by count
output average
}

الآن سنشرح هذه الخوارزمية :
في السطرين الأول والثاني قلنا له أننا نُعطي المتغير Total & countقيمة الصفر لأنهما عبارة عن صندوقان و سيتم جمع قيم لهما، وفي السطر الثالث قلنا له أن يجلب لنا قيمة الرقم من خلال Get num. والآن في كل لغات البرمجة كلمة While تعني حلقة تكرار والآن نحن سنعمل له حلقة تكرار لماذا؟ بما أننا سندخل له أكثر من رقم فيجب علينا ان نعمل حلقة تكرار يتوقف البرنامج عن قبول الأرقام عندما يتحقق الشرط ! لم تفهم شي وانا كذلك سأشرح لك.

While num not equal zerozero do

قلنا له طالما الرقم (يعني الرقم الذي نقوم بإدخاله ) لا يساوي صفر صفر (00), قم بمجموعة من العمليات وهي موجودة ضمن القوسين..

{
}

والآن نأتي لشرح الموجود داخل القوسين أي داخل شرط التكرار:
قلنا له في أول سطر Add num to total، أول شي لو تذكرون عرفنا المتغير توتال يساوي الصفر وقلت لكم أنه عبارة عن صندوق يجمع له قيم صحيح ؟ والآن بدأنا بجمع الأرقام التي يتم ادخالها.

قلنا له Increment count، بمعنى ان اعمل زيادة للعداد كاونت الذي عرفناه أول خطوة بقيمة صفر.
والآن انتهت الحلقة ! أي رقم ستدخله له سيقوم بجمعه للعداد الأول ومن ثم زيادة واحد لعدد الأرقام لأن فكرة المتوسط الحسابي تقوم على فكرة جمع الأرقام وتقسيمهم على عددهم، فمثلاً لدنيا الأرقام 1,3,5,6,7,8 سيقوم بجمعهم والناتج سيكون : 30 أي قيمة total ستكون 30.
وقيمة العداد الثاني وهو كاونت ستكون 6
هل فهمت ذلك؟

الآن بعدما عرفنا للبرنامج كيف يعمل اضفنا شرط صغير بعدما انتهت حلقة التكرار، قلنا له:

If (num is zerozero)
{
set average to total divided by count.
Output average
}

الشرط بكل بساطة هو انه عندما يتم ادخال القيمة صفرصفر للبرنامج فأنه سيقوم بتقسيم مجموع الأرقام على عددهم وقام باسنادهم للمتغير average ومن ثم طلبنا طباعة المتغير average، وفي كل لغة برمجة الشرط

If

{

}
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
ماهي الخوارزميات
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» ماهي الخوارزميات
» الخوارزميات
» الخوارزميات
» الخوارزميات
» موضوع عن الخوارزميات

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
* حاسوبيات * :: الفئة الأولى :: المنتدى الأول :: الخوارزميات وبنية البيانات-
انتقل الى: