كيفية العثور على حلقة ثابتة في هوار ثلاثة أضعاف
-
28-09-2020 - |
سؤال
يا أنا جديد لأرهيرة ثلاثية، ولا أستطيع أن أفهم على العثور على ثابتة حلقة في الفرضية.على سبيل المثال، هذا أثناء الحلقة
giveacodicetagpre.الثبات هو [2x + y> 5] لكنني لا أفهم كيفية العثور عليه.شرح خطوة بخطوة حول كيفية العثور على موضع تقدير كبير.
المحلول
فهم أولا معنى ثابتة حلقة. وهذا يعني حالة صحيحة في كل تكرار للبرنامج / الخوارزمية في البداية وكذلك في إنهاء الحلقة. برنامجك شيء مثل هذا.
$$ x> 1 \ text {and} y> 1 $$
text \ text {بينما} x> 0 $$
$$ \ hspace {4cm} \ text {do} x:= x - 1، y:= y + 2 $$
$ \ text {end}}
$$ X + Y> 5 $$
$ 2x + y> 5 $ هو ثابت كما وصفته. مرئي من البرنامج الذي $ x $ و $ y $ سيكون أكبر من $ 1 $ خلال أول iterataion of the loop. لذلك في التكرار الأول أثناء حلقة $ 2x + y> 5 $ (يمكنك إثبات ذلك). إشعار في كل تكرار من أثناء حلقة القيم $ x $ يحصل على انخفاض حسب القيمة $ 1 $ و تعزز قيمة Y زيادة من قبل اثنين من عدم المساواة $ 2x + y> 5 $ سوف تكون راضية. يمكنك إثبات ذلك. تأتي الآن إلى حالة الإنهاء، في هذه المرحلة ستكون $ X $ رقم سالب وأكثر ادعاءتي هي قيمة $ y $ ستكون على الأقل $ 5 $ . وبالتالي فإن Invariant $ 2x + y> 5 $ si true the تكرار الحلقة أثناء ذلك.
مثال:
دع $ x= 2 $ و $ y= 2 $ ، ثم $ 2 \ مرات 2 + 2= 6> 5 $ راضي. الآن في التكرار الثاني $ x= 1، y= 4 $ حتى $ 1 \ Times 2 + 4> 5 $ راضي. الآن $ x= 0، y= 6 $ ، loop تم إنهاءها، $ 2 \ مرات 0 + 6> 5 $ .