منتــدى البرمجــة العـــام يشتمل على جميع اللغات البرمجية الأخرى والتي ليس لها اقسام.

قديم 22-08-2008, 04:00 PM
  #1
MiMoO_Tz
مشرف سابق
 
تاريخ التسجيل: 24-06-2008
الدولة: جلالة وطن المحبـة
المشاركات: 197
MiMoO_Tz عضو يستحق التميز
افتراضي مفتاحك إلى دخول البرمجة ؟


السلام عليكم :

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

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 {
}



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

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






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


تقبلوا تحيات .......... MiMoO_Tz .............................. .........


MiMoO_Tz غير متواجد حالياً  
قديم 22-08-2008, 08:48 PM
  #2
شذى الروح
مشرفة سابقة
 الصورة الرمزية شذى الروح
 
La spécialité: Autres
جامعة العربي التبسي تبسة
تاريخ التسجيل: 15-07-2008
الدولة: اتمنى ان تكون الجنة
المشاركات: 3,501
شذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداعشذى الروح عضو محترف الابداع
افتراضي

شكرا لك دروس مفيدة ارجوا ان يستفاد منها

دمت متألقا اخي الكريم

دام نشاطك معنا
__________________





°°if we say we do°°
شذى الروح غير متواجد حالياً  
قديم 22-08-2008, 08:52 PM
  #3
mimik
 الصورة الرمزية mimik
 
La spécialité: Autres
جامعة عبد الحق بن حمودة جيجل
تاريخ التسجيل: 12-05-2008
الدولة: الجزائر
المشاركات: 1,609
mimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداع
افتراضي

شكرا اااااااااااااااااااااااااااااا ااااااااااااااااااا
mimik غير متواجد حالياً  
قديم 23-08-2008, 02:09 AM
  #4
fettah807
 
تاريخ التسجيل: 30-06-2008
المشاركات: 482
fettah807 عضو يستحق التميز
افتراضي

merci
fettah807 غير متواجد حالياً  
قديم 23-08-2008, 09:29 AM
  #5
mimik
 الصورة الرمزية mimik
 
La spécialité: Autres
جامعة عبد الحق بن حمودة جيجل
تاريخ التسجيل: 12-05-2008
الدولة: الجزائر
المشاركات: 1,609
mimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداعmimik عضو محترف الابداع
افتراضي

شكرا على الدرس ننتضر منك المزيد
mimik غير متواجد حالياً  
قديم 23-08-2008, 10:06 PM
  #6
MiMoO_Tz
مشرف سابق
 
تاريخ التسجيل: 24-06-2008
الدولة: جلالة وطن المحبـة
المشاركات: 197
MiMoO_Tz عضو يستحق التميز
افتراضي

مشكورين الإخوة الأكارم على المرور ....
MiMoO_Tz غير متواجد حالياً  
قديم 11-10-2008, 10:32 PM
  #7
شاوش2008
 
تاريخ التسجيل: 11-10-2008
المشاركات: 1
شاوش2008 عضو يستحق التميز
04

أريد بعض الدروس حول #C من فضلكم...
شاوش2008 غير متواجد حالياً  
قديم 12-10-2008, 11:59 AM
  #8
ercc
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية ercc
 
La spécialité: Hydraulique
جامعة المسيلة
تاريخ التسجيل: 09-04-2008
الدولة: الجزائر
المشاركات: 1,211
ercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداعercc عضو محترف الابداع
افتراضي

جزاك الله خيرا
__________________
ercc غير متواجد حالياً  
قديم 03-12-2008, 04:35 PM
  #9
monarque
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية monarque
 
تاريخ التسجيل: 01-12-2008
الدولة: بلد الله الواسع
المشاركات: 1,237
monarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداع
افتراضي

سلام الله عليكم



مشكور على المجهود المبذول ننتظر منك المزيد
ودمت ذخرا للمنتدى

monarque غير متواجد حالياً  
قديم 09-12-2008, 10:29 PM
  #10
fettah807
 
تاريخ التسجيل: 30-06-2008
المشاركات: 482
fettah807 عضو يستحق التميز
افتراضي

Merci
fettah807 غير متواجد حالياً  

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
من فضلكم دخول الاذكياء فقط jeentelman مسابقات مختلفة منظمة من طرف الاعضاء 12 16-10-2009 10:05 PM
قصه مرررررعبه ممنوع دخول تحت 15 عام امل الوطن قسم القصص والروايات 29 15-06-2009 07:19 PM
أحد أهم مفاهيم البرمجة : ( البرمجة تركز على المعنى والنتيجة ) !! عادل العاشق التنمية البشريه 1 12-09-2008 07:42 AM


الساعة الآن 09:55 AM.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. , TranZ By Almuhajir