Header Ads

خوارزمية


خوارزمية هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم المسلم الطاشقندي الاصل أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في اللغات اللاتينية والأوروبية هي «algorithm» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: التسلسل والاختيار (selection) والتكرار. التسلسل: تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة، هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين. الاختيار: بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات، وقد تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة الاختبار، إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة، وإذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات. هذه الطريقة هي ما تسمى اتخاذ القرار أو الاختيار. التكرار: عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. وهذا ما يطلق عليه التكرار. و قد أثُبت أنه لاحاجة إلى تراكيب إضافية. استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية واكتشاف الأخطاء الواردة
فيها وتغييرها.
مثالــــ1: اكتب خوارزمية ايجاد قيمة y من المعادلة التالية y=?x 1) ابدأ 2) اقرأ قيمة x 3) جد قيمة y (جذر x) من العلاقة y=sqr (x) 4) اطبع قيمة y 5) انتهى
مثالــــ2: اكتب خوارزمية ايجاد قيمة m من المعادلة التالية 1) ابدأ 2) اقرأ قيمة r 3) اذا كانت قيمة r>=0 فأحسب قيمة m من العلاقة(( m=sin (r) وانتقل الى خطوة 5 4) احسب قيمة m من العلاقة (( m=abs(r) 5) اطبع قيمة m 6) انتهى
مثالــــ3: اكتب خوارزمية لمعرفة العدد زوجي ام فردي 1) ابدأ 2) اقرأ العدد x 3) قسم العدد على 2 4) اذا كان باقي القسمة =0 فاطبع العدد زوجي وانتقل الى خطوة 6 5) اطبع العدد فردي 6) انتهى
مثالــــ4: اكتب خوارزمية ايجاد اكبر عدد من بين 3 أعداد 1) ابدأ 2) اقرأ الاعداد الثلاثة x ,y ,z 3) اذا كان x>y فانتقل الى خطوة 6 4) اذا كان y> z فان max=y وانتقل الى خطوة 8 5) انتقل الى خطوة 7 6) اذا كان x> z فان max=x وانتقل الى خطوة 8 7) max=z 8) اطبع قيمة الـ max 9) انتهى
م/ يمكنك كتابة خوارزمية ايجاد اصغر عدد من بين 3 أعداد وذلك بتغيير اشارة الاكبر الى الاصغر في الخوارزمية السابقة.
مثالــــ5: اكتب خوارزمية لايجاد مجموع الاعداد من 0 الى 15 1) ابدأ 2) ضع القيمة الابتدائية للاعداد في العداد I=0 , I 3) صفر خزان الجمع S=0 4) اضف العدد الى خزان الجمع S=S+I 5) اذا كانت قيمة I=15 (اذا تم الوصول الى نهاية الاعداد) فانتقل الى خطوة 7 6) اضف للعداد I واحد I=I+1 (العدد لتالي) وانتقل الى خطوة 4 7) اطع قيمة S 8) انتهى
مثالــــ6: اكتب خوارزمية لايجاد مجموع الاعداد الفردية المحصورة بين200-10 1) ابدأ 2) ضع القيمة الابتدائية للاعداد الفردية في العداد I=11 , I (اول عدد فردي ضمن الفترة 10-200 هو 11) 3) صفر خزان الجمع S=0 4) اضف العدد الى خزان الجمع S=S+I 5) اذا كانت قيمة I< 199 (اذا لم يتم الوصول الى نهاية الاعداد) اضف للعداد I العدد 2 (العدد لتالي) I=I+2 وانتقل الى خطوة 4 6) اطع قيمة S 7) انتهى طريقة اخرى 1) ابدأ 2) ضع القيمة الابتدائية للاعداد الفردية في العداد I=9 , I : صفر خزان الجمع S=0 3) اضف للعداد I العدد 2 (العددلتالي) I=I+2 4) اذا كانت قيمة I> 200 (اذا تم الوصول الى نهاية الاعداد) انتقل الى خطوة 6 5) S=S+I وانتقل الى خطوة 3 6) اطع قيمة S 7) انتهى م / يمكن ايجاد مجموع الاعداد الزوجية باعادة نفس الخوارزمية السابقة مع الاخذ بنظر الاعتبار بداية الفترة (اول عدد زوجي ضمن الفترة المذكورة) ونهاية الفترة (اخر عدد للفترة )
مثالــــ7: اكتب خوارزمية ايجاد مفكوك اي عدد x!=1*2*3......*x 1) ابدأ 2) اقرأ العدد x 3) ضع القيمة الابتدائية للعداد I (يمثل الارقام من 1 الى العدد x) 4) M=1 ( يمثل خزان الضرب يجب ان يبدأ بالمحايد الضربي وهو 1) 5) M=M*I 6) اذا كانت قيمة I=x (اذا تم الوصول الى نهاية الاعداد) فانتقل الى خطوة 8 7) اضف للعداد 1 (العدد لتالي) أي I=I+1 وانتقل الى خطوة 5 8) اطع قيمة M 9) انتهى
مثالــــ8: اكتب خوارزمية ايجاد قيمة التسلسلة s حيث S=x/3+x2/5+x3/7+.xn/2n+1 1) ابدأ 2) اقرأ الاعداد n ,x 3) ضع القيمة الابتدائية للعداد I (يمثل اس البسط ويبدأ من 1 الى العدد n) 4) S=0 ( يمثل خزان الجمع ويجب ان يبدأ بالمحايد الجمعي وهو 0) 5) S=S+X^I/2I+1 6) اذا كانت قيمة I=n (اذا تم الوصول الى اخر حد من حدود المتسلسلة )
فانتقل الى خطوة 8 7) اضف للعداد 1 (العدد لتالي) I=I+1 وانتقل الى خطوة 5 8) اطع قيمة S 9) انتهى

ليست هناك تعليقات