المتابعون للمدونة

الأحد، 5 نوفمبر 2017

حل آخر لمعرفة اكبر عدد من بين أربعة أعداد:



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

ك = ع1.
إذا كان ع2 > ك إذن: ك = ع2.
إذا كان ع3 > ك إذن: ك = ع3.
إذا كان ع4 > ك إذن: ك = ع4.
اطبع على الشاشة: أكبر عدد هو ك

بسيطة جدا، ومختصرة جدا.. أليس كذلك؟
تعال نجربها على الأعداد 14 و 5 و 20 و 9:
-      في البداية سنضع في ك العدد الأول، لهذا سيكون ك = 14.
-      سنقارن ك بالعدد الثاني فنجد ك أكبر من 5 لهذا لن نفعل شيئا.
-  سنقارن ك بالعدد الثالث فنجد ك أصغر من 20 لهذا سنجعل ك = 20 لأن هذا أكبر عدد وصلنا إليه حتى الآن.
-      سنقارن ك بالعدد الرابع فنجد ك أكبر من 9 لهذا لن نفعل شيئا.
-  انتهت عمليات المقارنة، والمتغير ك الآن يحتوي على أكبر عدد، وهو 20.. يمكننا أن نطبعه على الشاشة.
لاحظ أن هذه الطريقة سهلة التعميم.. فلو أردت مقارنة 5 أعداد فستضيف عملية مقارنة واحدة جديدة مع ك وهذا لا يحتوي على أي تعقيد.. ولو أردت مقارنة 6 أعداد فستصيف عملية مقارنة أخرى.. وهكذا...
وحينما نتعلم المصفوفات Arrays وجمل التكرار Loops في فيجيوال بيزيك ستجد أنك تستطيع تعميم هذه الطريقة لأية مجموعة من الأرقام، ولن يزيد طول الكود الذي ستكتبه عن أربعة أسطر، مهما كان عدد هذه الأرقام!
وخريطة التدفق توضح لك هذه الخوارزمية، مع ملاحظة أن المسار الأحمر السميك هو مسار مقارنة الأعداد 14 و 5 و 20 و 9. 

من كتاب المبرمج الصغير، للصف الثالث الإعدادي، للتنزيل مجانا:

 


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

إرسال تعليق

صفحة الشاعر