Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

До розд. 7.4) Як вийти з циклу з умовою до його завершення



Використання оператора циклу з умовою таїть у собі одну небезпеку. Це небезпека потрапити в нескінченний цикл.

Нескінченний цикл — це такий повторюваний процес, у якому число повторень нічим не обмежено.

Якщо в нескінченний цикл потрапила робоча програма, говорять, що вона «зациклилася». Зупинити її може тільки втручання користувача.

Якщо «зациклення» програми відбувається на етапі проектування, нічого страшного в цьому немає. Для виходу з «зациклення» можна натиснути клавіші Ctrl + Break.

Якщо ж у нескінченний цикл попадає програма, що виконується, (exe файл), це може привести до неприємних наслідків, тому для виходу з циклу іноді необхідно навіть перезавантажити комп'ютер (натискання клавіш Ctrl + Alt + Del).

По якій же причині може виникнути «зациклення»?

Коли використовуються цикли з умовою, найпоширенішою причиною влучення в нескінченний цикл є така: через помилку програміста умова завершення циклу ніколи не стане істиною (чи умова продовження циклу ніколи не стане помилковою). Іноді помилково умова може бути взагалі пропущена.

На інших причинах ми зупинятися не будемо.

Приклад 7.13. У програмному коді 7.7 (підсумовування квадратів) замість команди i= i+ 1 помилково була записана команда j= i+ 1. Після запуску програма потрапить у нескінченний цикл!

Дійсно, змінна i не буде змінювати свого нульового значення, виходить, і змінна Sum теж не буде змінювати свого значення. Тому умова продовження циклу
Sum < Мах — i^ 2 ніколи не стане помилковою!

Про те, як шукати в програмі помилки подібного роду, розповідається: у Додатку (розд. ІІ4.2).

Є спеціальний оператор, що дозволяє перервати виконання циклу і перейти до виконання оператора, що йде за циклом. Він називається оператором переривання циклу. Синтаксис його дуже простий:

Exit Do

Оператор Exit Do може бути поміщений у будь-яке місце в межах циклу. (Аналогічний оператор є і для дострокового завершення циклу з лічильником. Його синтаксис виглядає так: Exit For

Приведемо приклад використання оператора Exit Do.

Приклад 7.14. Нехай у програмі приклада 7.9 (код 7.6) частка цукру, що вилучається з мішка, і умова закінчення циклу змінена

Маса = Маса - Маса /100 Loop Until Маса < 5

До чого це приведе? Відповідь на це питання така: число звертань Петра Петровича до мішка з цукром може виявитися нереально великим! Щоб цього не відбулося, встановимо обмеження — після рядка з ключовим словом Do поставимо рядок з такою умовою:

If i > 99 Then Exit Do

У цьому випадку незалежно від того, скільки цукру залишилося в мішку (а саме це є умовою закінчення циклу), цикл примусово завершиться, як тільки число звертань до мішка перевищить 99. І буде надрукований наступний результат:

Номер: Залишок:
100 18.30162

Якщо ж зазначений рядок з оператором Exit Do не вставити, результат буде таким:

Номер: Залишок:
230 4.955241

Нові поняття:





Дата публикования: 2014-12-28; Прочитано: 601 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...