Главная страница
Навигация по странице:

  • Basic

  • Continue

  • Лекции. Основные понятия и определения


    Скачать 1.94 Mb.
    НазваниеОсновные понятия и определения
    Дата27.03.2018
    Размер1.94 Mb.
    Формат файлаdocx
    Имя файлаЛекции.docx
    ТипКонтрольные вопросы
    #39570
    страница15 из 58
    1   ...   11   12   13   14   15   16   17   18   ...   58

    5.7. Управляемые переходы


    Предназначены для выхода из сложных инструкций управления, например, циклов.

    В языке C есть 2 инструкции управляемых переходов.

    5.7.1. Инструкция break


    Передает управление инструкции, непосредственно следующей за инструкцией цикла или switch (см. ниже).

    Формат:

    break;

    Эквивалентная схема:

    for(e1; e2; e3){ for(e1; e2; e3){

    ................................. ....................................

    if(<условие>)break; if(<условие>)goto exit;

    ................................. ...............................

    } }

    ......................... exit:..............................

    Пример. Дано {xi}, i=1...30. Найти длину первой подпоследовательности, состоящей только из положительных элементов.

    pr=false;

    for(kol=i=0; i<30; i++){

    if(x[ i ]>0){

    kol++; if(!pr)pr=true;

    }

    if(x[ i ]<=0 && pr)break;

    }

    Замечание. Почти всегда без инструкции break можно обойтись.

    Пример. Тот же.

    fl=true; pr=false;

    for(kol=i=0; i<30 && fl; i++){

    if(x[ i ]>0){

    kol++; if(!pr)pr=true;

    }

    if(x[ i ]<=0 && pr)fl=false;

    }

    5.7.2. Инструкция continue


    Вызывает переход в конец тела цикла (точнее, к вычислению выражения 3, затем к проверке условия выполнения цикла (выражение 2) в инструкции for или непосредственно к проверке условия в инструкциях while и do).

    Формат:

    continue;

    Эквивалентная схема:

    for(e1; e2; e3){ for(e1; e2; e3){

    ................................. ......................................

    if(<условие>)continue; if(<условие>)goto next;

    ................................. ......................................

    } next:;

    ...................................... }

    Пример. Обработка положительных элементов массива.

    for(i=0; ifor(i=0; i

    if(a[ i ]<=0)continue; if(a[ i ]>0){/* Обработка a[ i ]>0 */

    /*Обработка a[ i ]>0 */ ……….. ..................................................

    .................................. }

    } }

    5.7.3. Инструкции exit и continue


    В языке Basic имеется семейство инструкций exit, которые действуют аналогично инструкции break в языке C. Каждая инструкция должна находиться внутри соответствующей сложной инструкции и действует только на нее. В рассмотренном ниже примере используется инструкция exit for.

    Пример. Дано {xi}, i=1...30. Найти длину первой подпоследовательности, состоящей только из положительных элементов.

    pr=False : kol=0

    For i=0 To 29

    If x(i)>0 Then

    kol += 1 : If Not pr Then pr=True

    End If

    If x(i)<=0 And pr Then Exit For

    Next

    Замечание. Если используются вложенные циклы Do, For или While, а в теле самого внутреннего цикла инструкция Exit, то Exit Do действует только на цикл Do, Exit For – только на цикл For, Exit While – только на цикл While.

    Существуют также инструкции Exit Select, Exit Sub, Exit Function.

    Кроме того, есть инструкция перехода к концу тела цикла

    Continue {Do | For | While} ,

    действующая так же, как инструкция continue языка С, для ближайшей содержащей ее инструкции цикла.
    1   ...   11   12   13   14   15   16   17   18   ...   58


    написать администратору сайта