Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

До розд. 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-23; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.