الانتقال إلى المحتوى الرئيسي

كيفية كسر حلقة لا نهائية في لغة البرمجة ج

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

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

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

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

  1. تعريف الحلقة اللانهائية في لغة البرمجة سي
  2. أسباب الدورة اللانهائية
  3. نتائج حلقة لا نهائية
  4. تحديد شروط الخروج من حلقة لا نهائية
  5. تقنيات مقاطعة دورة لا نهاية لها
  6. 1. استخدام العوامل الشرطية
  7. 2. باستخدام عامل الاستراحة
  8. 3. باستخدام العداد
  9. 4. باستخدام العلم
  10. 5. استخدام الاستثناءات
  11. فحص وتصحيح حلقة لا نهائية
  12. 1. التحقق من حالة الخروج
  13. 2. وضع حدود على عدد التكرارات
  14. 3. استخدام أدوات التصحيح
  15. 4. تطبيق وظائف الوقت القياسي
  16. كيفية تجنب حدوث حلقة لا نهائية
  17. سؤال وجواب
  18. كيف يمكن مقاطعة حلقة لا نهائية في ج?
  19. كيف يمكن أن تنقطع حلقة لا نهائية في ج بأمان?
  20. هل هناك طرق لكسر حلقة لا نهائية في ج دون استخدام عبارات كسر أو شروط خروج حلقة?

تعريف الحلقة اللانهائية في لغة البرمجة سي

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

    باستخدام الكلمة الرئيسية "غوتو"

    وهناك طريقة أخرى لإنشاء حلقة لانهائية في ج هو استخدام الكلمة "غوتو". على سبيل المثال:

    ابدأ:

    // رمز الدورة

    • انتقل الى البداية;

    1. في هذا المثال ، يتم وضع علامة على تسمية " ابدأ "أمام جسم الحلقة ، وتقوم الكلمة الرئيسية" غوتو "بنقل تنفيذ البرنامج مرة أخرى إلى تسمية" ابدأ " ، وبالتالي إنشاء حلقة لا نهائية.
    2. يمكن أن تكون الحلقة اللانهائية مفيدة في بعض الحالات ، على سبيل المثال ، عندما يعمل البرنامج على جهاز بدون أجهزة استشعار أو طرق أخرى لتحديد نهاية الدورة. ومع ذلك ، في معظم الحالات ، تكون الحلقة اللانهائية خطأ في البرنامج ويمكن أن تؤدي إلى عواقب غير مرغوب فيها ، مثل تعليق الجهاز أو ارتفاع درجة الحرارة.
    3. أسباب الدورة اللانهائية

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

    حالة إكمال حلقة غير صحيحة: أحد الأسباب الرئيسية للدورة اللانهائية هو الصياغة غير الصحيحة للشرط الذي يجب أن تنتهي الدورة بموجبه. إذا لم تصبح الحالة خاطئة أبدا ، فسيتم تشغيل الحلقة إلى أجل غير مسمى.

    لا توجد تعليمات لتغيير الحالة: سبب آخر للحلقة اللانهائية هو عدم وجود تعليمات تغير الحالة داخل الحلقة. وبالتالي ، تظل الحالة ثابتة وتعمل الحلقة إلى أجل غير مسمى.

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

    من المهم معرفة هذه الأسباب لتجنب حدوث حلقات لا نهاية لها في البرنامج. واحدة من الاستراتيجيات الفعالة لمنع الدورات التي لا نهاية لها هي التحقق بعناية من ظروف الدورة والتأكد من أنها صحيحة وصحيحة.

    نتائج حلقة لا نهائية

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

    يمكن أن تؤدي الحلقة اللانهائية إلى النتائج التالية:

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

    فقدان البيانات: إذا تم تنفيذ أي عمليات بيانات في حلقة لا نهائية ، فقد يتم فقد هذه البيانات أو الكتابة فوقها.

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

    لذلك ، من المهم توخي الحذر عند العمل مع الحلقات والتأكد من أن لديك الشرط المناسب للخروج من الحلقة أو آلية لإيقاف تنفيذ الحلقة لتجنب تنفيذ البرنامج اللانهائي أو فقدان البيانات.

    تحديد شروط الخروج من حلقة لا نهائية

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

    في لغة البرمجة سي ، هناك عدة طرق لتحديد شروط الخروج من حلقة لا نهائية:

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

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

    كثافة العمليات العلم = 0;

    بينما (!علم) {

    // تنفيذ بعض الإجراءات

    إذا (خروج الشرط_) {

    العلم = 1 ؛ / / تغيير قيمة متغير العلم

    }

    }

    العودة 0;

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

    تقنيات مقاطعة دورة لا نهاية لها

    الحلقات اللانهائية هي مشكلة شائعة عند تطوير البرامج بلغة البرمجة سي. يمكن أن تتسبب هذه الدورات في تجميد البرنامج واستخدام كمية كبيرة من موارد الكمبيوتر. في هذا القسم ، سننظر في العديد من التقنيات التي يمكن استخدامها لمقاطعة حلقة لا نهائية.

    1. استخدام العوامل الشرطية

    واحدة من أسهل الطرق لكسر حلقة لا نهائية هي استخدام عبارات شرطية مثل

    إذا

    أو

    التبديل

    . يمكنك إدراج شيك لحالة معينة داخل الحلقة ومقاطعة تنفيذ الحلقة عند تنفيذها:

    بينما (1) {

    // رمز حلقة

    إذا (شرط) {

    كسر ؛ / / الخروج من الحلقة

    }

    }

    2. باستخدام عامل الاستراحة

    المشغل

    استراحة

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

    بينما (1) {

    // رمز حلقة

    إذا (شرط) {

    كسر ؛ / / الخروج من الحلقة

    }

    }

    3. باستخدام العداد

    إذا كان لديك القدرة على التنبؤ بعدد التكرارات للحلقة ، فيمكنك استخدام عداد سيزداد مع كل تكرار. عند الوصول إلى قيمة معينة ، يمكنك مقاطعة تنفيذ الحلقة:

    عداد كثافة العمليات = 0;

    بينما (1) {

    //

    }

    4. باستخدام العلم

    يمكنك استخدام متغير العلم الذي سيتغير داخل الحلقة. عند الوصول إلى قيمة معينة ، يمكنك مقاطعة تنفيذ الحلقة:

    كثافة العمليات العلم = 0;

    بينما (1) {

    // رمز حلقة

    إذا (شرط) {

    العلم = 1;

    }

    إذا (العلم == 1) {

    كسر ؛ / / الخروج من الحلقة

    }

    }

    5. استخدام الاستثناءات

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

    حاول

    و

    الصيد

     للتحقق والتعامل مع حالات استثنائية:

    محاولة {

    بينما (1) {

    // رمز حلقة

    إذا (شرط) {

    رمي "خطأ" ؛ / / جيل الاستثناء

    }

    }

    } قبض (كونست شار* رسالة) {

    // معالجة الاستثناء

    }

    هذه ليست قائمة شاملة لتقنيات مقاطعة حلقة لا نهائية في لغة البرمجة سي ، لكنها تعطي فكرة عن الأساليب الممكنة. يعتمد اختيار تقنية معينة على متطلبات وهيكل برنامجك.

    فحص وتصحيح حلقة لا نهائية

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

    1. التحقق من حالة الخروج

    الخطوة الأولى في تصحيح حلقة لا نهائية هي التحقق مما إذا كان هناك شرط خروج من الحلقة. تحتاج إلى التأكد من وجود حالة داخل الحلقة ستصبح خاطئة وتقطع تنفيذ الحلقة. تحقق من حالة الحلقة وتأكد من أنها يمكن أن تصبح خاطئة في ظل ظروف معينة.

    2. وضع حدود على عدد التكرارات

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

    1. # تشمل

      كثافة العمليات الرئيسية () {

    2. عداد كثافة العمليات = 0;

      بينما (عداد < 10) {

    3. برينتف ("التكرار: ٪ د

      "،عداد);

    4. counter++;

      3. استخدام أدوات التصحيح

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

      4. تطبيق وظائف الوقت القياسي

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

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

    كيفية تجنب حدوث حلقة لا نهائية

    الحلقات التي لا نهاية لها هي واحدة من الأخطاء الأكثر شيوعا عند كتابة برامج ج. يمكن أن تتسبب في تجميد البرنامج وتجعل من الصعب تصحيحه. لتجنب حدوث حلقة لا نهائية ، ينبغي النظر في العديد من التوصيات الأساسية.

    اضبط حالة إكمال الدورة.

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

    استخدم عداد التكرار.

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