منتديات اولاد الفاو

منتديات اولاد الفاو ترحب بالضيوف الكرام وتتمنى تمضية وقت ممتع معنا******** من صلى على رسول الله صلى الله عليه و سلم صلاه واحده، صلى الله بها عليه عشرا ********نرحب بجميع ابناء الفاو داخل وخارج السودان



انضم إلى المنتدى ، فالأمر سريع وسهل

منتديات اولاد الفاو

منتديات اولاد الفاو ترحب بالضيوف الكرام وتتمنى تمضية وقت ممتع معنا******** من صلى على رسول الله صلى الله عليه و سلم صلاه واحده، صلى الله بها عليه عشرا ********نرحب بجميع ابناء الفاو داخل وخارج السودان

منتديات اولاد الفاو

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

من ارض الفاو نحيكم

مكتبة الصور


شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Empty

المواضيع الأخيرة

» همسات دينية ..
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء مارس 03, 2015 1:12 am من طرف علي البرنس

» Definition of salmonella bacteria
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالجمعة مارس 14, 2014 12:08 am من طرف أحمدكزمه عين اللويقة

» تعريف بكتيريا السلمونيلا
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأربعاء فبراير 26, 2014 7:25 am من طرف ميسره احمد عثمان

» Enteric feve
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأربعاء فبراير 26, 2014 7:14 am من طرف ميسره احمد عثمان

» حمى التايفويد
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأربعاء فبراير 26, 2014 6:55 am من طرف ميسره احمد عثمان

» تحية طيبة
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأحد يناير 19, 2014 2:29 pm من طرف Admin

» حير2نا يا ناس البرير
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأربعاء يناير 08, 2014 9:28 am من طرف أحمدكزمه عين اللويقة

» من قصة المحلق وتاجوج
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء يناير 07, 2014 11:13 pm من طرف أحمدكزمه عين اللويقة

» هذا هو الاسلام
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالأربعاء ديسمبر 25, 2013 2:36 pm من طرف أحمدكزمه عين اللويقة

» ثورة الطين(احمد مطر)
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 5:22 pm من طرف أحمدكزمه عين اللويقة

» يلاكم ننم وندوبي
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 3:00 pm من طرف أحمدكزمه عين اللويقة

» معا من أجل موسوعة من الامثال السودانية الحديثة والمعاصرة
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 2:27 pm من طرف أحمدكزمه عين اللويقة

» عووووووووووووووووووووووك
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 12:47 am من طرف أحمدكزمه عين اللويقة

» الدوبيت السودانى
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 12:36 am من طرف أحمدكزمه عين اللويقة

» امثال شعبية
شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Emptyالثلاثاء ديسمبر 24, 2013 12:32 am من طرف أحمدكزمه عين اللويقة

المتواجدون الآن ؟

ككل هناك 22 عُضو متصل حالياً :: 0 عضو مُسجل, 0 عُضو مُختفي و 22 زائر

لا أحد


[ مُعاينة اللائحة بأكملها ]


أكبر عدد للأعضاء المتواجدين في هذا المنتدى في نفس الوقت كان 82 بتاريخ الخميس أكتوبر 10, 2024 11:53 am

احصائيات

أعضاؤنا قدموا 1411 مساهمة في هذا المنتدى في 1101 موضوع

هذا المنتدى يتوفر على 158 عُضو.

آخر عُضو مُسجل هو Alsadg19 فمرحباً به.


    شرح مفصل للخوارزميات مع تمارين ,,مدخلك الي عالم البرمجة

    ميسره احمد عثمان
    ميسره احمد عثمان
    Admin


    عدد المساهمات : 467
    نقاط : 1367
    السٌّمعَة : 5
    تاريخ التسجيل : 02/02/2011

    شرح مفصل للخوارزميات  مع تمارين ,,مدخلك الي عالم البرمجة Empty شرح مفصل للخوارزميات مع تمارين ,,مدخلك الي عالم البرمجة

    مُساهمة من طرف ميسره احمد عثمان السبت أكتوبر 15, 2011 12:59 pm

    انضم للكتّاب

    الخوارزميات، مدخلك إلى عالم البرمجة


    مدرج تحت قسم: دروس


    29 نوفمبر 2007


    كثيراً مانسمع في عالم البرمجة كلمة خوارزميات أو خوارزمية، ولكن ليس الكثير من يعرف معناها. كثيرٌ من المبرمجين لا يعلمون ماهي الخوارزميات نظرياً ولكن فعلياً يستخدمونها دون أن يعلموا (وأنا واحد منهم)! ، كيف ذلك؟

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

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


    خصائص الخوارزمية


    1- تحديد النهاية


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

    2- عدم الغموض


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

    3- الفعالية


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

    القضية الأولى


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

    01.set total to zero.
    02.set count to zero.
    03.Get num.
    04.while num not equal zerozero do
    05.{
    06.add num to total.
    07.increment count.
    08.}
    09.if num is zerozero {
    10.set average to total divided by count
    11.output average
    12.}



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

    view source
    print?

    1.While num not equal zerozero do



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

    1.{
    2.}



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


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


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

    1.If (num is zerozero)
    2.{
    3.set average to total divided by count.
    4.Output average
    5.}



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

    1.If
    2.
    3.{
    4.
    5.}



    يأتي بالصيغة هذه !!

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

    تمرين صغير


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

      الوقت/التاريخ الآن هو الأحد نوفمبر 24, 2024 11:05 pm